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
|
// FreeBSD 10 and beyond have a restructured mbuf
|
||||||
// packet header view.
|
// packet header view.
|
||||||
// See https://svnweb.freebsd.org/base?view=revision&revision=254804.
|
// See https://svnweb.freebsd.org/base?view=revision&revision=254804.
|
||||||
if supportsABI(1000000) {
|
|
||||||
m := (*ifMsghdr)(unsafe.Pointer(any))
|
m := (*ifMsghdr)(unsafe.Pointer(any))
|
||||||
p.Header.Data.Hwassist = uint32(m.Data.Hwassist)
|
p.Header.Data.Hwassist = uint32(m.Data.Hwassist)
|
||||||
p.Header.Data.Epoch = m.Data.Epoch
|
p.Header.Data.Epoch = m.Data.Epoch
|
||||||
p.Header.Data.Lastchange = m.Data.Lastchange
|
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]}
|
return &InterfaceMessage{Header: p.Header, Data: b[int(unsafe.Offsetof(p.Header.Data))+int(p.Header.Data.Datalen) : any.Msglen]}
|
||||||
}
|
}
|
||||||
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
|
package syscall
|
||||||
|
|
||||||
import (
|
import "unsafe"
|
||||||
"sync"
|
|
||||||
"unsafe"
|
|
||||||
)
|
|
||||||
|
|
||||||
func Syscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err Errno)
|
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 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 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)
|
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 {
|
type SockaddrDatalink struct {
|
||||||
Len uint8
|
Len uint8
|
||||||
Family uint8
|
Family uint8
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue