Merge pull request #308 from sean-/host-no-cgo

Add Go-native structs for Darwin/386 and FreeBSD/arm
This commit is contained in:
shirou 2017-02-01 21:49:02 +09:00 committed by GitHub
commit 3b18639664
3 changed files with 65 additions and 2 deletions

View File

@ -44,10 +44,10 @@ Taged at every end of month, but there are only a few commits, it can be skipped
Available Architectures
------------------------------------
- FreeBSD i386/amd64
- FreeBSD i386/amd64/arm
- Linux i386/amd64/arm(raspberry pi)
- Windows/amd64
- Darwin/amd64
- Darwin i386/amd64
- OpenBDS amd64 (Thank you @mpfz0r!)
All works are implemented without cgo by porting c struct to golang struct.

19
host/host_darwin_386.go Normal file
View File

@ -0,0 +1,19 @@
// Created by cgo -godefs - DO NOT EDIT
// cgo -godefs types_darwin.go
package host
type Utmpx struct {
User [256]int8
ID [4]int8
Line [32]int8
Pid int32
Type int16
Pad_cgo_0 [6]byte
Tv Timeval
Host [256]int8
Pad [16]uint32
}
type Timeval struct {
Sec int32
}

44
host/host_freebsd_arm.go Normal file
View File

@ -0,0 +1,44 @@
// Created by cgo -godefs - DO NOT EDIT
// cgo -godefs types_freebsd.go
package host
const (
sizeofPtr = 0x4
sizeofShort = 0x2
sizeofInt = 0x4
sizeofLong = 0x8
sizeofLongLong = 0x8
sizeOfUtmpx = 197 // TODO: why should 197, not 0x118
)
type (
_C_short int16
_C_int int32
_C_long int32
_C_long_long int64
)
type Utmp struct {
Line [8]int8
Name [16]int8
Host [16]int8
Time int32
}
type Utmpx struct {
Type int16
Tv Timeval
Id [8]int8
Pid int32
User [32]int8
Line [16]int8
Host [125]int8
// Host [128]int8
// X__ut_spare [64]int8
}
type Timeval struct {
Sec [4]byte
Usec [3]byte
}