unix: define IfMsghdr2, IfData64, and RtMsghdr2 on darwin

Change-Id: I6943f6b5bd9f7d0ef5bad24ed638b8cf5dd0353d
Reviewed-on: https://go-review.googlesource.com/c/sys/+/633077
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Auto-Submit: Ian Lance Taylor <iant@golang.org>
Reviewed-by: Damien Neil <dneil@google.com>
Reviewed-by: Michael Knyszek <mknyszek@google.com>
This commit is contained in:
Ian Lance Taylor
2024-12-03 18:44:20 +00:00
committed by Gopher Robot
parent 0a57dbcf35
commit fe16172d11
3 changed files with 129 additions and 0 deletions
+9
View File
@@ -256,18 +256,25 @@ type FdSet C.fd_set
const ( const (
SizeofIfMsghdr = C.sizeof_struct_if_msghdr SizeofIfMsghdr = C.sizeof_struct_if_msghdr
SizeofIfMsghdr2 = C.sizeof_struct_if_msghdr2
SizeofIfData = C.sizeof_struct_if_data SizeofIfData = C.sizeof_struct_if_data
SizeofIfData64 = C.sizeof_struct_if_data64
SizeofIfaMsghdr = C.sizeof_struct_ifa_msghdr SizeofIfaMsghdr = C.sizeof_struct_ifa_msghdr
SizeofIfmaMsghdr = C.sizeof_struct_ifma_msghdr SizeofIfmaMsghdr = C.sizeof_struct_ifma_msghdr
SizeofIfmaMsghdr2 = C.sizeof_struct_ifma_msghdr2 SizeofIfmaMsghdr2 = C.sizeof_struct_ifma_msghdr2
SizeofRtMsghdr = C.sizeof_struct_rt_msghdr SizeofRtMsghdr = C.sizeof_struct_rt_msghdr
SizeofRtMsghdr2 = C.sizeof_struct_rt_msghdr2
SizeofRtMetrics = C.sizeof_struct_rt_metrics SizeofRtMetrics = C.sizeof_struct_rt_metrics
) )
type IfMsghdr C.struct_if_msghdr type IfMsghdr C.struct_if_msghdr
type IfMsghdr2 C.struct_if_msghdr2
type IfData C.struct_if_data type IfData C.struct_if_data
type IfData64 C.struct_if_data64
type IfaMsghdr C.struct_ifa_msghdr type IfaMsghdr C.struct_ifa_msghdr
type IfmaMsghdr C.struct_ifma_msghdr type IfmaMsghdr C.struct_ifma_msghdr
@@ -276,6 +283,8 @@ type IfmaMsghdr2 C.struct_ifma_msghdr2
type RtMsghdr C.struct_rt_msghdr type RtMsghdr C.struct_rt_msghdr
type RtMsghdr2 C.struct_rt_msghdr2
type RtMetrics C.struct_rt_metrics type RtMetrics C.struct_rt_metrics
// Berkeley packet filter // Berkeley packet filter
+60
View File
@@ -462,11 +462,14 @@ type FdSet struct {
const ( const (
SizeofIfMsghdr = 0x70 SizeofIfMsghdr = 0x70
SizeofIfMsghdr2 = 0xa0
SizeofIfData = 0x60 SizeofIfData = 0x60
SizeofIfData64 = 0x80
SizeofIfaMsghdr = 0x14 SizeofIfaMsghdr = 0x14
SizeofIfmaMsghdr = 0x10 SizeofIfmaMsghdr = 0x10
SizeofIfmaMsghdr2 = 0x14 SizeofIfmaMsghdr2 = 0x14
SizeofRtMsghdr = 0x5c SizeofRtMsghdr = 0x5c
SizeofRtMsghdr2 = 0x5c
SizeofRtMetrics = 0x38 SizeofRtMetrics = 0x38
) )
@@ -480,6 +483,20 @@ type IfMsghdr struct {
Data IfData Data IfData
} }
type IfMsghdr2 struct {
Msglen uint16
Version uint8
Type uint8
Addrs int32
Flags int32
Index uint16
Snd_len int32
Snd_maxlen int32
Snd_drops int32
Timer int32
Data IfData64
}
type IfData struct { type IfData struct {
Type uint8 Type uint8
Typelen uint8 Typelen uint8
@@ -512,6 +529,34 @@ type IfData struct {
Reserved2 uint32 Reserved2 uint32
} }
type IfData64 struct {
Type uint8
Typelen uint8
Physical uint8
Addrlen uint8
Hdrlen uint8
Recvquota uint8
Xmitquota uint8
Unused1 uint8
Mtu uint32
Metric uint32
Baudrate uint64
Ipackets uint64
Ierrors uint64
Opackets uint64
Oerrors uint64
Collisions uint64
Ibytes uint64
Obytes uint64
Imcasts uint64
Omcasts uint64
Iqdrops uint64
Noproto uint64
Recvtiming uint32
Xmittiming uint32
Lastchange Timeval32
}
type IfaMsghdr struct { type IfaMsghdr struct {
Msglen uint16 Msglen uint16
Version uint8 Version uint8
@@ -557,6 +602,21 @@ type RtMsghdr struct {
Rmx RtMetrics Rmx RtMetrics
} }
type RtMsghdr2 struct {
Msglen uint16
Version uint8
Type uint8
Index uint16
Flags int32
Addrs int32
Refcnt int32
Parentflags int32
Reserved int32
Use int32
Inits uint32
Rmx RtMetrics
}
type RtMetrics struct { type RtMetrics struct {
Locks uint32 Locks uint32
Mtu uint32 Mtu uint32
+60
View File
@@ -462,11 +462,14 @@ type FdSet struct {
const ( const (
SizeofIfMsghdr = 0x70 SizeofIfMsghdr = 0x70
SizeofIfMsghdr2 = 0xa0
SizeofIfData = 0x60 SizeofIfData = 0x60
SizeofIfData64 = 0x80
SizeofIfaMsghdr = 0x14 SizeofIfaMsghdr = 0x14
SizeofIfmaMsghdr = 0x10 SizeofIfmaMsghdr = 0x10
SizeofIfmaMsghdr2 = 0x14 SizeofIfmaMsghdr2 = 0x14
SizeofRtMsghdr = 0x5c SizeofRtMsghdr = 0x5c
SizeofRtMsghdr2 = 0x5c
SizeofRtMetrics = 0x38 SizeofRtMetrics = 0x38
) )
@@ -480,6 +483,20 @@ type IfMsghdr struct {
Data IfData Data IfData
} }
type IfMsghdr2 struct {
Msglen uint16
Version uint8
Type uint8
Addrs int32
Flags int32
Index uint16
Snd_len int32
Snd_maxlen int32
Snd_drops int32
Timer int32
Data IfData64
}
type IfData struct { type IfData struct {
Type uint8 Type uint8
Typelen uint8 Typelen uint8
@@ -512,6 +529,34 @@ type IfData struct {
Reserved2 uint32 Reserved2 uint32
} }
type IfData64 struct {
Type uint8
Typelen uint8
Physical uint8
Addrlen uint8
Hdrlen uint8
Recvquota uint8
Xmitquota uint8
Unused1 uint8
Mtu uint32
Metric uint32
Baudrate uint64
Ipackets uint64
Ierrors uint64
Opackets uint64
Oerrors uint64
Collisions uint64
Ibytes uint64
Obytes uint64
Imcasts uint64
Omcasts uint64
Iqdrops uint64
Noproto uint64
Recvtiming uint32
Xmittiming uint32
Lastchange Timeval32
}
type IfaMsghdr struct { type IfaMsghdr struct {
Msglen uint16 Msglen uint16
Version uint8 Version uint8
@@ -557,6 +602,21 @@ type RtMsghdr struct {
Rmx RtMetrics Rmx RtMetrics
} }
type RtMsghdr2 struct {
Msglen uint16
Version uint8
Type uint8
Index uint16
Flags int32
Addrs int32
Refcnt int32
Parentflags int32
Reserved int32
Use int32
Inits uint32
Rmx RtMetrics
}
type RtMetrics struct { type RtMetrics struct {
Locks uint32 Locks uint32
Mtu uint32 Mtu uint32