...
Source file src/vendor/golang.org/x/net/route/sys.go
1
2
3
4
5
6
7 package route
8
9 import "unsafe"
10
11 var (
12 nativeEndian binaryByteOrder
13 kernelAlign int
14 wireFormats map[int]*wireFormat
15 )
16
17 func init() {
18 i := uint32(1)
19 b := (*[4]byte)(unsafe.Pointer(&i))
20 if b[0] == 1 {
21 nativeEndian = littleEndian
22 } else {
23 nativeEndian = bigEndian
24 }
25 kernelAlign, wireFormats = probeRoutingStack()
26 }
27
28 func roundup(l int) int {
29 if l == 0 {
30 return kernelAlign
31 }
32 return (l + kernelAlign - 1) &^ (kernelAlign - 1)
33 }
34
35 type wireFormat struct {
36 extOff int
37 bodyOff int
38 parse func(RIBType, []byte) (Message, error)
39 }
40
View as plain text