Commit 9de8e267 authored by WAKAYAMA Shirou's avatar WAKAYAMA Shirou

golint (not finished yet)

parent c0eb5158
......@@ -4,7 +4,7 @@ import (
"runtime"
)
type CPU_TimesStat struct {
type CPUTimesStat struct {
Cpu string `json:"cpu"`
User float32 `json:"user"`
System float32 `json:"system"`
......@@ -19,6 +19,6 @@ type CPU_TimesStat struct {
Stolen float32 `json:"stolen"`
}
func Cpu_counts(logical bool) (int, error) {
func CpuCounts(logical bool) (int, error) {
return runtime.NumCPU(), nil
}
......@@ -22,7 +22,7 @@ const (
)
// TODO: get per cpus
func Cpu_times(percpu bool) ([]CPU_TimesStat, error) {
func CPUTimes(percpu bool) ([]CPUTimesStat, error) {
ret := make([]CPU_TimesStat, 0)
cpu_time, err := do_sysctrl("kern.cp_time")
......
......@@ -5,7 +5,7 @@ import (
)
func TestCpu_times(t *testing.T) {
v, err := Cpu_times(false)
v, err := CPUTimes(false)
if err != nil {
t.Errorf("error %v", err)
}
......@@ -21,7 +21,7 @@ func TestCpu_times(t *testing.T) {
}
func TestCpu_counts(t *testing.T) {
v, err := Cpu_counts(true)
v, err := CpuCounts(true)
if err != nil {
t.Errorf("error %v", err)
}
......
......@@ -7,8 +7,8 @@ import (
"unsafe"
)
func Cpu_times(percpu bool) ([]CPU_TimesStat, error) {
ret := make([]CPU_TimesStat, 0)
func CPUTimes(percpu bool) ([]CPUTimesStat, error) {
var ret []CPUTimesStat
var lpIdleTime FILETIME
var lpKernelTime FILETIME
......@@ -21,14 +21,14 @@ func Cpu_times(percpu bool) ([]CPU_TimesStat, error) {
return ret, syscall.GetLastError()
}
LO_T := float64(0.0000001)
HI_T := (LO_T * 4294967296.0)
idle := ((HI_T * float64(lpIdleTime.DwHighDateTime)) + (LO_T * float64(lpIdleTime.DwLowDateTime)))
user := ((HI_T * float64(lpUserTime.DwHighDateTime)) + (LO_T * float64(lpUserTime.DwLowDateTime)))
kernel := ((HI_T * float64(lpKernelTime.DwHighDateTime)) + (LO_T * float64(lpKernelTime.DwLowDateTime)))
LOT := float64(0.0000001)
HIT := (LOT * 4294967296.0)
idle := ((HIT * float64(lpIdleTime.DwHighDateTime)) + (LOT * float64(lpIdleTime.DwLowDateTime)))
user := ((HIT * float64(lpUserTime.DwHighDateTime)) + (LOT * float64(lpUserTime.DwLowDateTime)))
kernel := ((HIT * float64(lpKernelTime.DwHighDateTime)) + (LOT * float64(lpKernelTime.DwLowDateTime)))
system := (kernel - idle)
ret = append(ret, CPU_TimesStat{
ret = append(ret, CPUTimesStat{
Idle: float32(idle),
User: float32(user),
System: float32(system),
......
package gopsutil
type Disk_usageStat struct {
type DiskUsageStat struct {
Path string `json:"path"`
Total uint64 `json:"total"`
Free uint64 `json:"free"`
......@@ -8,14 +8,14 @@ type Disk_usageStat struct {
UsedPercent float64 `json:"usedPercent"`
}
type Disk_partitionStat struct {
type DiskPartitionStat struct {
Device string `json:"device"`
Mountpoint string `json:"mountpoint"`
Fstype string `json:"fstype"`
Opts string `json:"opts"`
}
type Disk_IO_CountersStat struct {
type DiskIOCountersStat struct {
ReadCount uint64 `json:"readCount"`
WriteCount uint64 `json:"writeCount"`
ReadBytes uint64 `json:"readBytes"`
......
......@@ -8,7 +8,7 @@ import (
"unsafe"
)
func Disk_partitions(all bool) ([]Disk_partitionStat, error) {
func DiskPartitions(all bool) ([]DiskPartitionStat, error) {
ret := make([]Disk_partitionStat, 0)
// get length
......@@ -82,12 +82,12 @@ func Disk_partitions(all bool) ([]Disk_partitionStat, error) {
return ret, nil
}
func Disk_io_counters() (map[string]Disk_IO_CountersStat, error) {
func DiskIOCounters() (map[string]DiskIOCountersStat, error) {
ret := make(map[string]Disk_IO_CountersStat, 0)
return ret, errors.New("Not implemented yet")
return ret, errors.New("not implemented yet")
}
// This is borrowed from pkg/syscall/syscall_freebsd.go
// Getfsstat is borrowed from pkg/syscall/syscall_freebsd.go
// change Statfs_t to Statfs in order to get more information
func Getfsstat(buf []Statfs, flags int) (n int, err error) {
var _p0 unsafe.Pointer
......
......@@ -13,7 +13,7 @@ const (
// Get disk partitions.
// should use setmntent(3) but this implement use /etc/mtab file
func Disk_partitions(all bool) ([]Disk_partitionStat, error) {
func DiskPartitions(all bool) ([]DiskPartitionStat, error) {
ret := make([]Disk_partitionStat, 0)
filename := "/etc/mtab"
......@@ -35,7 +35,7 @@ func Disk_partitions(all bool) ([]Disk_partitionStat, error) {
return ret, nil
}
func Disk_io_counters() (map[string]Disk_IO_CountersStat, error) {
func DiskIOCounters() (map[string]DiskIOCountersStat, error) {
ret := make(map[string]Disk_IO_CountersStat, 0)
// determine partitions we want to look for
......
......@@ -11,7 +11,7 @@ func TestDisk_usage(t *testing.T) {
if runtime.GOOS == "windows" {
path = "C:"
}
_, err := Disk_usage(path)
_, err := DiskUsage(path)
if err != nil {
t.Errorf("error %v", err)
}
......@@ -20,14 +20,14 @@ func TestDisk_usage(t *testing.T) {
}
func TestDisk_partitions(t *testing.T) {
_, err := Disk_partitions(false)
_, err := DiskPartitions(false)
if err != nil {
t.Errorf("error %v", err)
}
}
func TestDisk_io_counters(t *testing.T) {
ret, err := Disk_io_counters()
ret, err := DiskIOCounters()
if err != nil {
t.Errorf("error %v", err)
}
......
......@@ -4,7 +4,7 @@ package gopsutil
import "syscall"
func Disk_usage(path string) (Disk_usageStat, error) {
func DiskUsage(path string) (DiskUsageStat, error) {
stat := syscall.Statfs_t{}
err := syscall.Statfs(path, &stat)
if err != nil {
......
......@@ -21,8 +21,8 @@ var (
FILE_READ_ONLY_VOLUME = int64(524288) // 0x00080000
)
func Disk_usage(path string) (Disk_usageStat, error) {
ret := Disk_usageStat{}
func DiskUsage(path string) (DiskUsageStat, error) {
ret := DiskUsageStat{}
ret.Path = path
lpFreeBytesAvailable := int64(0)
......@@ -45,8 +45,8 @@ func Disk_usage(path string) (Disk_usageStat, error) {
return ret, nil
}
func Disk_partitions(all bool) ([]Disk_partitionStat, error) {
ret := make([]Disk_partitionStat, 0)
func DiskPartitions(all bool) ([]DiskPartitionStat, error) {
ret := make([]DiskPartitionStat, 0)
lpBuffer := make([]byte, 254)
diskret, _, err := procGetLogicalDriveStringsW.Call(
uintptr(len(lpBuffer)),
......@@ -94,7 +94,7 @@ func Disk_partitions(all bool) ([]Disk_partitionStat, error) {
opts += ".compress"
}
d := Disk_partitionStat{
d := DiskPartitionStat{
Mountpoint: path,
Device: path,
Fstype: string(bytes.Replace(lpFileSystemNameBuffer, []byte("\x00"), []byte(""), -1)),
......@@ -107,7 +107,7 @@ func Disk_partitions(all bool) ([]Disk_partitionStat, error) {
return ret, nil
}
func Disk_io_counters() (map[string]Disk_IO_CountersStat, error) {
ret := make(map[string]Disk_IO_CountersStat, 0)
return ret, errors.New("Not implemented yet")
func DiskIOCounters() (map[string]DiskIOCountersStat, error) {
ret := make(map[string]DiskIOCountersStat, 0)
return ret, errors.New("not implemented yet")
}
......@@ -24,7 +24,7 @@ func HostInfo() (HostInfoStat, error) {
return ret, nil
}
func Boot_time() (int64, error) {
func BootTime() (int64, error) {
values, err := do_sysctrl("kern.boottime")
if err != nil {
return 0, err
......
......@@ -15,7 +15,7 @@ func TestHostInfo(t *testing.T) {
}
func TestBoot_time(t *testing.T) {
v, err := Boot_time()
v, err := BootTime()
if err != nil {
t.Errorf("error %v", err)
}
......
......@@ -39,7 +39,7 @@ func HostInfo() (HostInfoStat, error) {
return ret, nil
}
func Boot_time() (int64, error) {
func BootTime() (int64, error) {
var lpSystemTimeAsFileTime FILETIME
r, _, _ := procGetSystemTimeAsFileTime.Call(uintptr(unsafe.Pointer(&lpSystemTimeAsFileTime)))
......@@ -61,7 +61,7 @@ func Boot_time() (int64, error) {
}
func Users() ([]UserStat, error) {
ret := make([]UserStat, 0)
var ret []UserStat
return ret, nil
}
package gopsutil
type Virtual_memoryStat struct {
type VirtualMemoryStat struct {
Total uint64 `json:"total"`
Available uint64 `json:"available"`
Used uint64 `json:"used"`
......@@ -14,7 +14,7 @@ type Virtual_memoryStat struct {
Shared uint64 `json:"shared"`
}
type Swap_memoryStat struct {
type SwapMemoryStat struct {
Total uint64 `json:"total"`
Used uint64 `json:"used"`
Free uint64 `json:"free"`
......
......@@ -2,13 +2,13 @@
package gopsutil
func Virtual_memory() (Virtual_memoryStat, error) {
func VirtualMemory() (VirtualMemoryStat, error) {
ret := Virtual_memoryStat{}
return ret, nil
}
func Swap_memory() (Swap_memoryStat, error) {
func SwapMemory() (SwapMemoryStat, error) {
ret := Swap_memoryStat{}
return ret, nil
......
......@@ -6,7 +6,7 @@ import (
"syscall"
)
func Virtual_memory() (Virtual_memoryStat, error) {
func VirtualMemory() (VirtualMemoryStat, error) {
ret := Virtual_memoryStat{}
sysinfo := &syscall.Sysinfo_t{}
......@@ -35,7 +35,7 @@ func Virtual_memory() (Virtual_memoryStat, error) {
return ret, nil
}
func Swap_memory() (Swap_memoryStat, error) {
func SwapMemory() (SwapMemoryStat, error) {
ret := Swap_memoryStat{}
sysinfo := &syscall.Sysinfo_t{}
......
......@@ -7,7 +7,7 @@ import (
)
func TestVirtual_memory(t *testing.T) {
v, err := Virtual_memory()
v, err := VirtualMemory()
if err != nil {
t.Errorf("error %v", err)
}
......@@ -16,7 +16,7 @@ func TestVirtual_memory(t *testing.T) {
}
func TestSwap_memory(t *testing.T) {
v, err := Swap_memory()
v, err := SwapMemory()
if err != nil {
t.Errorf("error %v", err)
}
......
......@@ -23,8 +23,8 @@ type MEMORYSTATUSEX struct {
ullAvailExtendedVirtual uint64
}
func Virtual_memory() (Virtual_memoryStat, error) {
ret := Virtual_memoryStat{}
func VirtualMemory() (VirtualMemoryStat, error) {
ret := VirtualMemoryStat{}
var memInfo MEMORYSTATUSEX
memInfo.cbSize = uint32(unsafe.Sizeof(memInfo))
......@@ -40,8 +40,8 @@ func Virtual_memory() (Virtual_memoryStat, error) {
return ret, nil
}
func Swap_memory() (Swap_memoryStat, error) {
ret := Swap_memoryStat{}
func SwapMemory() (SwapMemoryStat, error) {
ret := SwapMemoryStat{}
return ret, nil
}
package gopsutil
type Net_io_countersStat struct {
Name string `json:"name""` // interface name
Bytes_sent uint64 `json:"bytes_sent""` // number of bytes sent
Bytes_recv uint64 `json:"bytes_recv"` // number of bytes received
Packets_sent uint64 `json:"packets_sent"` // number of packets sent
Packets_recv uint64 `json:"packets_recv"` // number of packets received
Errin uint64 `json:"errin"` // total number of errors while receiving
Errout uint64 `json:"errout"` // total number of errors while sending
Dropin uint64 `json:"dropin"` // total number of incoming packets which were dropped
Dropout uint64 `json:"dropout"` // total number of outgoing packets which were dropped (always 0 on OSX and BSD)
type NetIOCountersStat struct {
Name string `json:"name""` // interface name
BytesSent uint64 `json:"bytes_sent""` // number of bytes sent
BytesRecv uint64 `json:"bytes_recv"` // number of bytes received
PacketsSent uint64 `json:"packets_sent"` // number of packets sent
PacketsRecv uint64 `json:"packets_recv"` // number of packets received
Errin uint64 `json:"errin"` // total number of errors while receiving
Errout uint64 `json:"errout"` // total number of errors while sending
Dropin uint64 `json:"dropin"` // total number of incoming packets which were dropped
Dropout uint64 `json:"dropout"` // total number of outgoing packets which were dropped (always 0 on OSX and BSD)
}
type Addr struct {
......@@ -17,7 +17,7 @@ type Addr struct {
Port uint32 `json:"port""`
}
type Net_connectionStat struct {
type NetConnectionStat struct {
Fd uint32 `json:"fd""`
Family uint32 `json:"family""`
Type uint32 `json:"type""`
......
......@@ -6,7 +6,7 @@ import (
"strings"
)
func Net_io_counters() ([]Net_io_countersStat, error) {
func NetIOCounters() ([]NetIOCountersStat, error) {
filename := "/proc/net/dev"
lines, err := ReadLines(filename)
if err != nil {
......
......@@ -4,12 +4,12 @@ type Process struct {
Pid int32 `json:"pid"`
}
type Open_filesStat struct {
type OpenFilesStat struct {
Path string `json:"path"`
Fd uint64 `json:"fd"`
}
type Memory_infoStat struct {
type MemoryInfoStat struct {
RSS uint64 `json:"rss"` // bytes
VMS uint64 `json:"vms"` // bytes
}
......@@ -20,14 +20,14 @@ type RlimitStat struct {
Hard int32 `json:"hard"`
}
type Io_countersStat struct {
Read_count int32 `json:"read_count"`
Write_count int32 `json:"write_count"`
Read_bytes int32 `json:"read_bytes"`
Write_bytes int32 `json:"write_bytes"`
type IoCountersStat struct {
ReadCount int32 `json:"read_count"`
WriteCount int32 `json:"write_count"`
ReadBytes int32 `json:"read_bytes"`
WriteBytes int32 `json:"write_bytes"`
}
func Pid_exists(pid int32) (bool, error) {
func PidExists(pid int32) (bool, error) {
pids, err := Pids()
if err != nil {
return false, err
......
......@@ -10,15 +10,15 @@ import (
"unsafe"
)
// Memory_info_ex is different between OSes
type Memory_info_exStat struct {
// MemoryInfoExStat is different between OSes
type MemoryInfoExStat struct {
}
type Memory_mapsStat struct {
type MemoryMapsStat struct {
}
func Pids() ([]int32, error) {
ret := make([]int32, 0)
var ret []int32
procs, err := processes()
if err != nil {
return ret, nil
......@@ -32,107 +32,107 @@ func Pids() ([]int32, error) {
}
func (p *Process) Ppid() (int32, error) {
return 0, errors.New("Not implemented yet")
return 0, errors.New("not implemented yet")
}
func (p *Process) Name() (string, error) {
name := ""
return name, errors.New("Not implemented yet")
return name, errors.New("not implemented yet")
}
func (p *Process) Exe() (string, error) {
return "", errors.New("Not implemented yet")
return "", errors.New("not implemented yet")
}
func (p *Process) Cmdline() (string, error) {
return "", errors.New("Not implemented yet")
return "", errors.New("not implemented yet")
}
func (p *Process) Cwd() (string, error) {
return "", errors.New("Not implemented yet")
return "", errors.New("not implemented yet")
}
func (p *Process) Parent() (*Process, error) {
return p, errors.New("Not implemented yet")
return p, errors.New("not implemented yet")
}
func (p *Process) Status() (string, error) {
return "", errors.New("Not implemented yet")
return "", errors.New("not implemented yet")
}
func (p *Process) Username() (string, error) {
return "", errors.New("Not implemented yet")
return "", errors.New("not implemented yet")
}
func (p *Process) Uids() ([]int32, error) {
uids := make([]int32, 0)
return uids, errors.New("Not implemented yet")
var uids []int32
return uids, errors.New("not implemented yet")
}
func (p *Process) Gids() ([]int32, error) {
gids := make([]int32, 0)
return gids, errors.New("Not implemented yet")
var gids []int32
return gids, errors.New("not implemented yet")
}
func (p *Process) Terminal() (string, error) {
return "", errors.New("Not implemented yet")
return "", errors.New("not implemented yet")
}
func (p *Process) Nice() (int32, error) {
return 0, errors.New("Not implemented yet")
return 0, errors.New("not implemented yet")
}
func (p *Process) Ionice() (int32, error) {
return 0, errors.New("Not implemented yet")
return 0, errors.New("not implemented yet")
}
func (p *Process) Rlimit() ([]RlimitStat, error) {
rlimit := make([]RlimitStat, 0)
return rlimit, errors.New("Not implemented yet")
var rlimit []RlimitStat
return rlimit, errors.New("not implemented yet")
}
func (p *Process) Io_counters() (*Io_countersStat, error) {
return nil, errors.New("Not implemented yet")
func (p *Process) IOCounters() (*IOCountersStat, error) {
return nil, errors.New("not implemented yet")
}
func (p *Process) Num_ctx_switches() (int32, error) {
return 0, errors.New("Not implemented yet")
func (p *Process) NumCtxSwitches() (int32, error) {
return 0, errors.New("not implemented yet")
}
func (p *Process) Num_fds() (int32, error) {
return 0, errors.New("Not implemented yet")
func (p *Process) NumFDs() (int32, error) {
return 0, errors.New("not implemented yet")
}
func (p *Process) Num_Threads() (int32, error) {
return 0, errors.New("Not implemented yet")
func (p *Process) NumThreads() (int32, error) {
return 0, errors.New("not implemented yet")
}
func (p *Process) Threads() (map[string]string, error) {
ret := make(map[string]string, 0)
return ret, errors.New("Not implemented yet")
return ret, errors.New("not implemented yet")
}
func (p *Process) Cpu_times() (*CPU_TimesStat, error) {
return nil, errors.New("Not implemented yet")
func (p *Process) CPUTimes() (*CPUTimesStat, error) {
return nil, errors.New("not implemented yet")
}
func (p *Process) Cpu_percent() (int32, error) {
return 0, errors.New("Not implemented yet")
func (p *Process) CPUPercent() (int32, error) {
return 0, errors.New("not implemented yet")
}
func (p *Process) Cpu_affinity() ([]int32, error) {
return nil, errors.New("Not implemented yet")
func (p *Process) CPUAffinity() ([]int32, error) {
return nil, errors.New("not implemented yet")
}
func (p *Process) Memory_info() (*Memory_infoStat, error) {
return nil, errors.New("Not implemented yet")
func (p *Process) MemoryInfo() (*MemoryInfoStat, error) {
return nil, errors.New("not implemented yet")
}
func (p *Process) Memory_info_ex() (*Memory_info_exStat, error) {
return nil, errors.New("Not implemented yet")
func (p *Process) MemoryInfoEx() (*MemoryInfoExStat, error) {
return nil, errors.New("not implemented yet")
}
func (p *Process) Memory_percent() (float32, error) {
return 0, errors.New("Not implemented yet")
func (p *Process) MemoryPercent() (float32, error) {
return 0, errors.New("not implemented yet")
}
func (p *Process) Children() ([]*Process, error) {
return nil, errors.New("Not implemented yet")
return nil, errors.New("not implemented yet")
}
func (p *Process) Open_files() ([]Open_filesStat, error) {
return nil, errors.New("Not implemented yet")
func (p *Process) OpenFiles() ([]OpenFilesStat, error) {
return nil, errors.New("not implemented yet")
}
func (p *Process) Connections() ([]Net_connectionStat, error) {
return nil, errors.New("Not implemented yet")
func (p *Process) Connections() ([]NetConnectionStat, error) {
return nil, errors.New("not implemented yet")
}
func (p *Process) Is_running() (bool, error) {
return true, errors.New("Not implemented yet")
func (p *Process) IsRunning() (bool, error) {
return true, errors.New("not implemented yet")
}
func (p *Process) Memory_Maps(grouped bool) (*[]Memory_mapsStat, error) {
ret := make([]Memory_mapsStat, 0)
return &ret, errors.New("Not implemented yet")
func (p *Process) MemoryMaps(grouped bool) (*[]MemoryMapsStat, error) {
var ret []MemoryMapsStat
return &ret, errors.New("not implemented yet")
}
func copy_params(k *Kinfo_proc, p *Process) error {
func copyParams(k *Kinfo_proc, p *Process) error {
return nil
}
......@@ -141,20 +141,20 @@ func processes() ([]Process, error) {
results := make([]Process, 0, 50)
mib := []int32{CTL_KERN, KERN_PROC, KERN_PROC_PROC, 0}
buf, length, err := call_syscall(mib)
buf, length, err := callSyscall(mib)
if err != nil {
return results, err
}
// get kinfo_proc size
k := Kinfo_proc{}
procinfo_len := int(unsafe.Sizeof(k))
count := int(length / uint64(procinfo_len))
procinfoLen := int(unsafe.Sizeof(k))
count := int(length / uint64(procinfoLen))
// parse buf to procs
for i := 0; i < count; i++ {
b := buf[i*procinfo_len : i*procinfo_len+procinfo_len]
k, err := parse_kinfo_proc(b)
b := buf[i*procinfoLen : i*procinfoLen+procinfoLen]
k, err := parseKinfoProc(b)
if err != nil {
continue
}
......@@ -162,7 +162,7 @@ func processes() ([]Process, error) {
if err != nil {
continue
}
copy_params(&k, p)
copyParams(&k, p)
results = append(results, *p)
}
......@@ -170,8 +170,8 @@ func processes() ([]Process, error) {
return results, nil
}
func parse_kinfo_proc(buf []byte) (Kinfo_proc, error) {
var k Kinfo_proc
func parseKinfoProc(buf []byte) (KinfoProc, error) {
var k KinfoProc
br := bytes.NewReader(buf)
err := binary.Read(br, binary.LittleEndian, &k)
if err != nil {
......@@ -181,7 +181,7 @@ func parse_kinfo_proc(buf []byte) (Kinfo_proc, error) {
return k, nil
}
func call_syscall(mib []int32) ([]byte, uint64, error) {
func callSyscall(mib []int32) ([]byte, uint64, error) {
miblen := uint64(len(mib))
// get required buffer size
......@@ -195,11 +195,11 @@ func call_syscall(mib []int32) ([]byte, uint64, error) {
0,
0)
if err != 0 {
b := make([]byte, 0)
var b []byte
return b, length, err
}
if length == 0 {
b := make([]byte, 0)
var b []byte
return b, length, err
}
// get proc info itself
......@@ -227,16 +227,16 @@ func NewProcess(pid int32) (*Process, error) {
if err != nil {
return nil, err
}
proc_k := Kinfo_proc{}
if length != uint64(unsafe.Sizeof(proc_k)) {
procK := KinfoProc{}
if length != uint64(unsafe.Sizeof(procK)) {
return nil, err
}
k, err := parse_kinfo_proc(buf)
k, err := parseKinfoProc(buf)
if err != nil {
return nil, err
}
copy_params(&k, p)
copyParams(&k, p)
return p, nil
}
This diff is collapsed.
......@@ -24,7 +24,7 @@ func Test_Pid_exists(t *testing.T) {
check_pid = 0
}
ret, err := Pid_exists(int32(check_pid))
ret, err := PidExists(int32(check_pid))
if err != nil {
t.Errorf("error %v", err)
}
......@@ -57,7 +57,7 @@ func Test_Process_memory_maps(t *testing.T) {
return
ret, err := NewProcess(int32(check_pid))
mmaps, err := ret.Memory_Maps(false)
mmaps, err := ret.MemoryMaps(false)
if err != nil {
t.Errorf("memory map get error %v", err)
}
......
......@@ -19,7 +19,7 @@ type SYSTEM_PROCESS_INFORMATION struct {
NumberOfThreads uint64
Reserved1 [48]byte
Reserved2 [3]byte
UniqueProcessI