mirror of https://github.com/golang/go.git
syscall: drop compatibility for FreeBSD < 10.0
Change-Id: Idd8cee84215e61817a86915160c91242670798af Reviewed-on: https://go-review.googlesource.com/c/go/+/431663 Reviewed-by: Yuval Pavel Zholkover <paulzhol@gmail.com> Reviewed-by: Dmitri Goutnik <dgoutnik@gmail.com> Reviewed-by: Cherry Mui <cherryyz@google.com> Reviewed-by: Ian Lance Taylor <iant@google.com> TryBot-Result: Gopher Robot <gobot@golang.org> Auto-Submit: Tobias Klauser <tobias.klauser@gmail.com> Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com>
This commit is contained in:
parent
b5fcb35b31
commit
1e96f42c2a
|
|
@ -22,12 +22,9 @@ func (any *anyMessage) parseInterfaceMessage(b []byte) *InterfaceMessage {
|
|||
// FreeBSD 10 and beyond have a restructured mbuf
|
||||
// packet header view.
|
||||
// See https://svnweb.freebsd.org/base?view=revision&revision=254804.
|
||||
if supportsABI(1000000) {
|
||||
m := (*ifMsghdr)(unsafe.Pointer(any))
|
||||
p.Header.Data.Hwassist = uint32(m.Data.Hwassist)
|
||||
p.Header.Data.Epoch = m.Data.Epoch
|
||||
p.Header.Data.Lastchange = m.Data.Lastchange
|
||||
return &InterfaceMessage{Header: p.Header, Data: b[int(unsafe.Offsetof(p.Header.Data))+int(p.Header.Data.Datalen) : any.Msglen]}
|
||||
}
|
||||
m := (*ifMsghdr)(unsafe.Pointer(any))
|
||||
p.Header.Data.Hwassist = uint32(m.Data.Hwassist)
|
||||
p.Header.Data.Epoch = m.Data.Epoch
|
||||
p.Header.Data.Lastchange = m.Data.Lastchange
|
||||
return &InterfaceMessage{Header: p.Header, Data: b[int(unsafe.Offsetof(p.Header.Data))+int(p.Header.Data.Datalen) : any.Msglen]}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -12,27 +12,13 @@
|
|||
|
||||
package syscall
|
||||
|
||||
import (
|
||||
"sync"
|
||||
"unsafe"
|
||||
)
|
||||
import "unsafe"
|
||||
|
||||
func Syscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err Errno)
|
||||
func Syscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err Errno)
|
||||
func RawSyscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err Errno)
|
||||
func RawSyscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err Errno)
|
||||
|
||||
// See https://www.freebsd.org/doc/en_US.ISO8859-1/books/porters-handbook/versions.html.
|
||||
var (
|
||||
osreldateOnce sync.Once
|
||||
osreldate uint32
|
||||
)
|
||||
|
||||
func supportsABI(ver uint32) bool {
|
||||
osreldateOnce.Do(func() { osreldate, _ = SysctlUint32("kern.osreldate") })
|
||||
return osreldate >= ver
|
||||
}
|
||||
|
||||
type SockaddrDatalink struct {
|
||||
Len uint8
|
||||
Family uint8
|
||||
|
|
|
|||
Loading…
Reference in New Issue