aboutsummaryrefslogtreecommitdiff
path: root/src/syscall/route_freebsd_64bit.go
diff options
context:
space:
mode:
Diffstat (limited to 'src/syscall/route_freebsd_64bit.go')
-rw-r--r--src/syscall/route_freebsd_64bit.go7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/syscall/route_freebsd_64bit.go b/src/syscall/route_freebsd_64bit.go
index 9377f2fedc..728837ebb5 100644
--- a/src/syscall/route_freebsd_64bit.go
+++ b/src/syscall/route_freebsd_64bit.go
@@ -8,7 +8,12 @@ package syscall
import "unsafe"
+func (any *anyMessage) parseRouteMessage(b []byte) *RouteMessage {
+ p := (*RouteMessage)(unsafe.Pointer(any))
+ return &RouteMessage{Header: p.Header, Data: b[rsaAlignOf(int(unsafe.Offsetof(p.Header.Rmx))+SizeofRtMetrics):any.Msglen]}
+}
+
func (any *anyMessage) parseInterfaceMessage(b []byte) *InterfaceMessage {
p := (*InterfaceMessage)(unsafe.Pointer(any))
- return &InterfaceMessage{Header: p.Header, Data: b[SizeofIfMsghdr:any.Msglen]}
+ return &InterfaceMessage{Header: p.Header, Data: b[int(unsafe.Offsetof(p.Header.Data))+int(p.Header.Data.Datalen) : any.Msglen]}
}