// Copyright 2016 The Go Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. // +build darwin dragonfly freebsd netbsd openbsd package route import "unsafe" var ( nativeEndian binaryByteOrder kernelAlign int wireFormats map[int]*wireFormat ) func init() { i := uint32(1) b := (*[4]byte)(unsafe.Pointer(&i)) if b[0] == 1 { nativeEndian = littleEndian } else { nativeEndian = bigEndian } kernelAlign, wireFormats = probeRoutingStack() } func roundup(l int) int { if l == 0 { return kernelAlign } return (l + kernelAlign - 1) & ^(kernelAlign - 1) } type wireFormat struct { extOff int // offset of header extension bodyOff int // offset of message body parse func(RIBType, []byte) (Message, error) }