route_freebsd_64bit.go 738 B

12345678910111213141516171819
  1. // Copyright 2014 The Go Authors. All rights reserved.
  2. // Use of this source code is governed by a BSD-style
  3. // license that can be found in the LICENSE file.
  4. //go:build (freebsd && amd64) || (freebsd && arm64)
  5. package syscall
  6. import "unsafe"
  7. func (any *anyMessage) parseRouteMessage(b []byte) *RouteMessage {
  8. p := (*RouteMessage)(unsafe.Pointer(any))
  9. return &RouteMessage{Header: p.Header, Data: b[rsaAlignOf(int(unsafe.Offsetof(p.Header.Rmx))+SizeofRtMetrics):any.Msglen]}
  10. }
  11. func (any *anyMessage) parseInterfaceMessage(b []byte) *InterfaceMessage {
  12. p := (*InterfaceMessage)(unsafe.Pointer(any))
  13. return &InterfaceMessage{Header: p.Header, Data: b[int(unsafe.Offsetof(p.Header.Data))+int(p.Header.Data.Datalen) : any.Msglen]}
  14. }