diff --git a/hostid_darwin.go b/hostid_darwin.go index abd0684..08351ff 100644 --- a/hostid_darwin.go +++ b/hostid_darwin.go @@ -2,8 +2,8 @@ package xid -import "golang.org/x/sys/unix" +import "syscall" func readPlatformMachineID() (string, error) { - return unix.Sysctl("kern.uuid") + return syscall.Sysctl("kern.uuid") } diff --git a/hostid_freebsd.go b/hostid_freebsd.go index df2bd13..be25a03 100644 --- a/hostid_freebsd.go +++ b/hostid_freebsd.go @@ -2,8 +2,8 @@ package xid -import "golang.org/x/sys/unix" +import "syscall" func readPlatformMachineID() (string, error) { - return unix.Sysctl("kern.hostuuid") + return syscall.Sysctl("kern.hostuuid") } diff --git a/hostid_windows.go b/hostid_windows.go index b8e1c2c..ec2593e 100644 --- a/hostid_windows.go +++ b/hostid_windows.go @@ -4,32 +4,31 @@ package xid import ( "fmt" + "syscall" "unsafe" - - "golang.org/x/sys/windows" ) func readPlatformMachineID() (string, error) { - // source: https://github.com/shirou/gopsutil/blob/master/host/host_windows.go - var h windows.Handle - err := windows.RegOpenKeyEx(windows.HKEY_LOCAL_MACHINE, windows.StringToUTF16Ptr(`SOFTWARE\Microsoft\Cryptography`), 0, windows.KEY_READ|windows.KEY_WOW64_64KEY, &h) + // source: https://github.com/shirou/gopsutil/blob/master/host/host_syscall.go + var h syscall.Handle + err := syscall.RegOpenKeyEx(syscall.HKEY_LOCAL_MACHINE, syscall.StringToUTF16Ptr(`SOFTWARE\Microsoft\Cryptography`), 0, syscall.KEY_READ|syscall.KEY_WOW64_64KEY, &h) if err != nil { return "", err } - defer windows.RegCloseKey(h) + defer syscall.RegCloseKey(h) - const windowsRegBufLen = 74 // len(`{`) + len(`abcdefgh-1234-456789012-123345456671` * 2) + len(`}`) // 2 == bytes/UTF16 + const syscallRegBufLen = 74 // len(`{`) + len(`abcdefgh-1234-456789012-123345456671` * 2) + len(`}`) // 2 == bytes/UTF16 const uuidLen = 36 - var regBuf [windowsRegBufLen]uint16 - bufLen := uint32(windowsRegBufLen) + var regBuf [syscallRegBufLen]uint16 + bufLen := uint32(syscallRegBufLen) var valType uint32 - err = windows.RegQueryValueEx(h, windows.StringToUTF16Ptr(`MachineGuid`), nil, &valType, (*byte)(unsafe.Pointer(®Buf[0])), &bufLen) + err = syscall.RegQueryValueEx(h, syscall.StringToUTF16Ptr(`MachineGuid`), nil, &valType, (*byte)(unsafe.Pointer(®Buf[0])), &bufLen) if err != nil { return "", err } - hostID := windows.UTF16ToString(regBuf[:]) + hostID := syscall.UTF16ToString(regBuf[:]) hostIDLen := len(hostID) if hostIDLen != uuidLen { return "", fmt.Errorf("HostID incorrect: %q\n", hostID)