route

Imports

Imports #

"syscall"
"unsafe"
_ "unsafe"
"syscall"
"syscall"
"unsafe"
"syscall"
"unsafe"
"syscall"
"unsafe"
"syscall"
"runtime"
"syscall"
"runtime"
"syscall"
"runtime"
"syscall"
"syscall"
"syscall"
"syscall"
"errors"
"os"
"syscall"

Constants & Variables

RIBTypeInterface const #

const RIBTypeInterface RIBType = syscall.NET_RT_IFLIST

RIBTypeRoute const #

const RIBTypeRoute RIBType = syscall.NET_RT_DUMP

SysMetrics const #

const SysMetrics SysType = iota

SysStats const #

const SysStats

bigEndian var #

var bigEndian binaryBigEndian

compatFreeBSD32 var #

var compatFreeBSD32 bool

errInvalidAddr var #

var errInvalidAddr = *ast.CallExpr

errInvalidMessage var #

var errInvalidMessage = *ast.CallExpr

errMessageMismatch var #

var errMessageMismatch = *ast.CallExpr

errMessageTooShort var #

var errMessageTooShort = *ast.CallExpr

errShortBuffer var #

var errShortBuffer = *ast.CallExpr

errUnsupportedMessage var #

var errUnsupportedMessage = *ast.CallExpr

kernelAlign var #

var kernelAlign int

littleEndian var #

var littleEndian binaryLittleEndian

nativeEndian var #

var nativeEndian binaryByteOrder

rtmVersion var #

var rtmVersion byte

sizeofIfAnnouncemsghdrDragonFlyBSD4 const #

const sizeofIfAnnouncemsghdrDragonFlyBSD4 = 0x18

sizeofIfAnnouncemsghdrFreeBSD10 const #

const sizeofIfAnnouncemsghdrFreeBSD10 = 0x18

sizeofIfAnnouncemsghdrFreeBSD10 const #

const sizeofIfAnnouncemsghdrFreeBSD10 = 0x18

sizeofIfAnnouncemsghdrFreeBSD10 const #

const sizeofIfAnnouncemsghdrFreeBSD10 = 0x18

sizeofIfAnnouncemsghdrFreeBSD10 const #

const sizeofIfAnnouncemsghdrFreeBSD10 = 0x18

sizeofIfAnnouncemsghdrFreeBSD10 const #

const sizeofIfAnnouncemsghdrFreeBSD10 = 0x18

sizeofIfAnnouncemsghdrFreeBSD10Emu const #

const sizeofIfAnnouncemsghdrFreeBSD10Emu = 0x18

sizeofIfAnnouncemsghdrFreeBSD10Emu const #

const sizeofIfAnnouncemsghdrFreeBSD10Emu = 0x18

sizeofIfAnnouncemsghdrFreeBSD10Emu const #

const sizeofIfAnnouncemsghdrFreeBSD10Emu = 0x18

sizeofIfAnnouncemsghdrFreeBSD10Emu const #

const sizeofIfAnnouncemsghdrFreeBSD10Emu = 0x18

sizeofIfAnnouncemsghdrFreeBSD10Emu const #

const sizeofIfAnnouncemsghdrFreeBSD10Emu = 0x18

sizeofIfAnnouncemsghdrNetBSD7 const #

const sizeofIfAnnouncemsghdrNetBSD7 = 0x18

sizeofIfData64Darwin15 const #

const sizeofIfData64Darwin15 = 0x80

sizeofIfDataDarwin15 const #

const sizeofIfDataDarwin15 = 0x60

sizeofIfDataFreeBSD10 const #

const sizeofIfDataFreeBSD10 = 0x98

sizeofIfDataFreeBSD10 const #

const sizeofIfDataFreeBSD10 = 0x98

sizeofIfDataFreeBSD10 const #

const sizeofIfDataFreeBSD10 = 0x60

sizeofIfDataFreeBSD10 const #

const sizeofIfDataFreeBSD10 = 0x98

sizeofIfDataFreeBSD10 const #

const sizeofIfDataFreeBSD10 = 0x54

sizeofIfDataFreeBSD10Emu const #

const sizeofIfDataFreeBSD10Emu = 0x98

sizeofIfDataFreeBSD10Emu const #

const sizeofIfDataFreeBSD10Emu = 0x98

sizeofIfDataFreeBSD10Emu const #

const sizeofIfDataFreeBSD10Emu = 0x98

sizeofIfDataFreeBSD10Emu const #

const sizeofIfDataFreeBSD10Emu = 0x60

sizeofIfDataFreeBSD10Emu const #

const sizeofIfDataFreeBSD10Emu = 0x98

sizeofIfDataFreeBSD11 const #

const sizeofIfDataFreeBSD11 = 0x98

sizeofIfDataFreeBSD11 const #

const sizeofIfDataFreeBSD11 = 0x98

sizeofIfDataFreeBSD11 const #

const sizeofIfDataFreeBSD11 = 0x98

sizeofIfDataFreeBSD11 const #

const sizeofIfDataFreeBSD11 = 0x98

sizeofIfDataFreeBSD11 const #

const sizeofIfDataFreeBSD11 = 0x98

sizeofIfDataFreeBSD11Emu const #

const sizeofIfDataFreeBSD11Emu = 0x98

sizeofIfDataFreeBSD11Emu const #

const sizeofIfDataFreeBSD11Emu = 0x98

sizeofIfDataFreeBSD11Emu const #

const sizeofIfDataFreeBSD11Emu = 0x98

sizeofIfDataFreeBSD11Emu const #

const sizeofIfDataFreeBSD11Emu = 0x98

sizeofIfDataFreeBSD11Emu const #

const sizeofIfDataFreeBSD11Emu = 0x98

sizeofIfDataFreeBSD7 const #

const sizeofIfDataFreeBSD7 = 0x98

sizeofIfDataFreeBSD7 const #

const sizeofIfDataFreeBSD7 = 0x50

sizeofIfDataFreeBSD7 const #

const sizeofIfDataFreeBSD7 = 0x60

sizeofIfDataFreeBSD7 const #

const sizeofIfDataFreeBSD7 = 0x98

sizeofIfDataFreeBSD7 const #

const sizeofIfDataFreeBSD7 = 0x98

sizeofIfDataFreeBSD7Emu const #

const sizeofIfDataFreeBSD7Emu = 0x98

sizeofIfDataFreeBSD7Emu const #

const sizeofIfDataFreeBSD7Emu = 0x98

sizeofIfDataFreeBSD7Emu const #

const sizeofIfDataFreeBSD7Emu = 0x98

sizeofIfDataFreeBSD7Emu const #

const sizeofIfDataFreeBSD7Emu = 0x98

sizeofIfDataFreeBSD7Emu const #

const sizeofIfDataFreeBSD7Emu = 0x60

sizeofIfDataFreeBSD8 const #

const sizeofIfDataFreeBSD8 = 0x98

sizeofIfDataFreeBSD8 const #

const sizeofIfDataFreeBSD8 = 0x98

sizeofIfDataFreeBSD8 const #

const sizeofIfDataFreeBSD8 = 0x50

sizeofIfDataFreeBSD8 const #

const sizeofIfDataFreeBSD8 = 0x98

sizeofIfDataFreeBSD8 const #

const sizeofIfDataFreeBSD8 = 0x60

sizeofIfDataFreeBSD8Emu const #

const sizeofIfDataFreeBSD8Emu = 0x98

sizeofIfDataFreeBSD8Emu const #

const sizeofIfDataFreeBSD8Emu = 0x98

sizeofIfDataFreeBSD8Emu const #

const sizeofIfDataFreeBSD8Emu = 0x60

sizeofIfDataFreeBSD8Emu const #

const sizeofIfDataFreeBSD8Emu = 0x98

sizeofIfDataFreeBSD8Emu const #

const sizeofIfDataFreeBSD8Emu = 0x98

sizeofIfDataFreeBSD9 const #

const sizeofIfDataFreeBSD9 = 0x98

sizeofIfDataFreeBSD9 const #

const sizeofIfDataFreeBSD9 = 0x60

sizeofIfDataFreeBSD9 const #

const sizeofIfDataFreeBSD9 = 0x98

sizeofIfDataFreeBSD9 const #

const sizeofIfDataFreeBSD9 = 0x50

sizeofIfDataFreeBSD9 const #

const sizeofIfDataFreeBSD9 = 0x98

sizeofIfDataFreeBSD9Emu const #

const sizeofIfDataFreeBSD9Emu = 0x98

sizeofIfDataFreeBSD9Emu const #

const sizeofIfDataFreeBSD9Emu = 0x98

sizeofIfDataFreeBSD9Emu const #

const sizeofIfDataFreeBSD9Emu = 0x98

sizeofIfDataFreeBSD9Emu const #

const sizeofIfDataFreeBSD9Emu = 0x98

sizeofIfDataFreeBSD9Emu const #

const sizeofIfDataFreeBSD9Emu = 0x60

sizeofIfMsghdr2Darwin15 const #

const sizeofIfMsghdr2Darwin15 = 0xa0

sizeofIfMsghdrDarwin15 const #

const sizeofIfMsghdrDarwin15 = 0x70

sizeofIfMsghdrDragonFlyBSD4 const #

const sizeofIfMsghdrDragonFlyBSD4 = 0xb0

sizeofIfMsghdrFreeBSD10 const #

const sizeofIfMsghdrFreeBSD10 = 0x70

sizeofIfMsghdrFreeBSD10 const #

const sizeofIfMsghdrFreeBSD10 = 0xa8

sizeofIfMsghdrFreeBSD10 const #

const sizeofIfMsghdrFreeBSD10 = 0xa8

sizeofIfMsghdrFreeBSD10 const #

const sizeofIfMsghdrFreeBSD10 = 0x64

sizeofIfMsghdrFreeBSD10 const #

const sizeofIfMsghdrFreeBSD10 = 0xa8

sizeofIfMsghdrFreeBSD10Emu const #

const sizeofIfMsghdrFreeBSD10Emu = 0xa8

sizeofIfMsghdrFreeBSD10Emu const #

const sizeofIfMsghdrFreeBSD10Emu = 0x70

sizeofIfMsghdrFreeBSD10Emu const #

const sizeofIfMsghdrFreeBSD10Emu = 0xa8

sizeofIfMsghdrFreeBSD10Emu const #

const sizeofIfMsghdrFreeBSD10Emu = 0xa8

sizeofIfMsghdrFreeBSD10Emu const #

const sizeofIfMsghdrFreeBSD10Emu = 0xa8

sizeofIfMsghdrFreeBSD11 const #

const sizeofIfMsghdrFreeBSD11 = 0xa8

sizeofIfMsghdrFreeBSD11 const #

const sizeofIfMsghdrFreeBSD11 = 0xa8

sizeofIfMsghdrFreeBSD11 const #

const sizeofIfMsghdrFreeBSD11 = 0xa8

sizeofIfMsghdrFreeBSD11 const #

const sizeofIfMsghdrFreeBSD11 = 0xa8

sizeofIfMsghdrFreeBSD11 const #

const sizeofIfMsghdrFreeBSD11 = 0xa8

sizeofIfMsghdrFreeBSD11Emu const #

const sizeofIfMsghdrFreeBSD11Emu = 0xa8

sizeofIfMsghdrFreeBSD11Emu const #

const sizeofIfMsghdrFreeBSD11Emu = 0xa8

sizeofIfMsghdrFreeBSD11Emu const #

const sizeofIfMsghdrFreeBSD11Emu = 0xa8

sizeofIfMsghdrFreeBSD11Emu const #

const sizeofIfMsghdrFreeBSD11Emu = 0xa8

sizeofIfMsghdrFreeBSD11Emu const #

const sizeofIfMsghdrFreeBSD11Emu = 0xa8

sizeofIfMsghdrFreeBSD7 const #

const sizeofIfMsghdrFreeBSD7 = 0xa8

sizeofIfMsghdrFreeBSD7 const #

const sizeofIfMsghdrFreeBSD7 = 0xa8

sizeofIfMsghdrFreeBSD7 const #

const sizeofIfMsghdrFreeBSD7 = 0xa8

sizeofIfMsghdrFreeBSD7 const #

const sizeofIfMsghdrFreeBSD7 = 0x70

sizeofIfMsghdrFreeBSD7 const #

const sizeofIfMsghdrFreeBSD7 = 0x60

sizeofIfMsghdrFreeBSD7Emu const #

const sizeofIfMsghdrFreeBSD7Emu = 0xa8

sizeofIfMsghdrFreeBSD7Emu const #

const sizeofIfMsghdrFreeBSD7Emu = 0x70

sizeofIfMsghdrFreeBSD7Emu const #

const sizeofIfMsghdrFreeBSD7Emu = 0xa8

sizeofIfMsghdrFreeBSD7Emu const #

const sizeofIfMsghdrFreeBSD7Emu = 0xa8

sizeofIfMsghdrFreeBSD7Emu const #

const sizeofIfMsghdrFreeBSD7Emu = 0xa8

sizeofIfMsghdrFreeBSD8 const #

const sizeofIfMsghdrFreeBSD8 = 0x70

sizeofIfMsghdrFreeBSD8 const #

const sizeofIfMsghdrFreeBSD8 = 0xa8

sizeofIfMsghdrFreeBSD8 const #

const sizeofIfMsghdrFreeBSD8 = 0xa8

sizeofIfMsghdrFreeBSD8 const #

const sizeofIfMsghdrFreeBSD8 = 0xa8

sizeofIfMsghdrFreeBSD8 const #

const sizeofIfMsghdrFreeBSD8 = 0x60

sizeofIfMsghdrFreeBSD8Emu const #

const sizeofIfMsghdrFreeBSD8Emu = 0xa8

sizeofIfMsghdrFreeBSD8Emu const #

const sizeofIfMsghdrFreeBSD8Emu = 0xa8

sizeofIfMsghdrFreeBSD8Emu const #

const sizeofIfMsghdrFreeBSD8Emu = 0x70

sizeofIfMsghdrFreeBSD8Emu const #

const sizeofIfMsghdrFreeBSD8Emu = 0xa8

sizeofIfMsghdrFreeBSD8Emu const #

const sizeofIfMsghdrFreeBSD8Emu = 0xa8

sizeofIfMsghdrFreeBSD9 const #

const sizeofIfMsghdrFreeBSD9 = 0xa8

sizeofIfMsghdrFreeBSD9 const #

const sizeofIfMsghdrFreeBSD9 = 0x60

sizeofIfMsghdrFreeBSD9 const #

const sizeofIfMsghdrFreeBSD9 = 0x70

sizeofIfMsghdrFreeBSD9 const #

const sizeofIfMsghdrFreeBSD9 = 0xa8

sizeofIfMsghdrFreeBSD9 const #

const sizeofIfMsghdrFreeBSD9 = 0xa8

sizeofIfMsghdrFreeBSD9Emu const #

const sizeofIfMsghdrFreeBSD9Emu = 0x70

sizeofIfMsghdrFreeBSD9Emu const #

const sizeofIfMsghdrFreeBSD9Emu = 0xa8

sizeofIfMsghdrFreeBSD9Emu const #

const sizeofIfMsghdrFreeBSD9Emu = 0xa8

sizeofIfMsghdrFreeBSD9Emu const #

const sizeofIfMsghdrFreeBSD9Emu = 0xa8

sizeofIfMsghdrFreeBSD9Emu const #

const sizeofIfMsghdrFreeBSD9Emu = 0xa8

sizeofIfMsghdrNetBSD7 const #

const sizeofIfMsghdrNetBSD7 = 0x98

sizeofIfMsghdrlFreeBSD10 const #

const sizeofIfMsghdrlFreeBSD10 = 0xb0

sizeofIfMsghdrlFreeBSD10 const #

const sizeofIfMsghdrlFreeBSD10 = 0xb0

sizeofIfMsghdrlFreeBSD10 const #

const sizeofIfMsghdrlFreeBSD10 = 0x68

sizeofIfMsghdrlFreeBSD10 const #

const sizeofIfMsghdrlFreeBSD10 = 0x68

sizeofIfMsghdrlFreeBSD10 const #

const sizeofIfMsghdrlFreeBSD10 = 0xb0

sizeofIfMsghdrlFreeBSD10Emu const #

const sizeofIfMsghdrlFreeBSD10Emu = 0xb0

sizeofIfMsghdrlFreeBSD10Emu const #

const sizeofIfMsghdrlFreeBSD10Emu = 0xb0

sizeofIfMsghdrlFreeBSD10Emu const #

const sizeofIfMsghdrlFreeBSD10Emu = 0x68

sizeofIfMsghdrlFreeBSD10Emu const #

const sizeofIfMsghdrlFreeBSD10Emu = 0xb0

sizeofIfMsghdrlFreeBSD10Emu const #

const sizeofIfMsghdrlFreeBSD10Emu = 0xb0

sizeofIfaMsghdrDarwin15 const #

const sizeofIfaMsghdrDarwin15 = 0x14

sizeofIfaMsghdrDragonFlyBSD4 const #

const sizeofIfaMsghdrDragonFlyBSD4 = 0x14

sizeofIfaMsghdrDragonFlyBSD58 const #

const sizeofIfaMsghdrDragonFlyBSD58 = 0x18

sizeofIfaMsghdrFreeBSD10 const #

const sizeofIfaMsghdrFreeBSD10 = 0x14

sizeofIfaMsghdrFreeBSD10 const #

const sizeofIfaMsghdrFreeBSD10 = 0x14

sizeofIfaMsghdrFreeBSD10 const #

const sizeofIfaMsghdrFreeBSD10 = 0x14

sizeofIfaMsghdrFreeBSD10 const #

const sizeofIfaMsghdrFreeBSD10 = 0x14

sizeofIfaMsghdrFreeBSD10 const #

const sizeofIfaMsghdrFreeBSD10 = 0x14

sizeofIfaMsghdrFreeBSD10Emu const #

const sizeofIfaMsghdrFreeBSD10Emu = 0x14

sizeofIfaMsghdrFreeBSD10Emu const #

const sizeofIfaMsghdrFreeBSD10Emu = 0x14

sizeofIfaMsghdrFreeBSD10Emu const #

const sizeofIfaMsghdrFreeBSD10Emu = 0x14

sizeofIfaMsghdrFreeBSD10Emu const #

const sizeofIfaMsghdrFreeBSD10Emu = 0x14

sizeofIfaMsghdrFreeBSD10Emu const #

const sizeofIfaMsghdrFreeBSD10Emu = 0x14

sizeofIfaMsghdrNetBSD7 const #

const sizeofIfaMsghdrNetBSD7 = 0x18

sizeofIfaMsghdrlFreeBSD10 const #

const sizeofIfaMsghdrlFreeBSD10 = 0xb0

sizeofIfaMsghdrlFreeBSD10 const #

const sizeofIfaMsghdrlFreeBSD10 = 0x6c

sizeofIfaMsghdrlFreeBSD10 const #

const sizeofIfaMsghdrlFreeBSD10 = 0x6c

sizeofIfaMsghdrlFreeBSD10 const #

const sizeofIfaMsghdrlFreeBSD10 = 0xb0

sizeofIfaMsghdrlFreeBSD10 const #

const sizeofIfaMsghdrlFreeBSD10 = 0xb0

sizeofIfaMsghdrlFreeBSD10Emu const #

const sizeofIfaMsghdrlFreeBSD10Emu = 0xb0

sizeofIfaMsghdrlFreeBSD10Emu const #

const sizeofIfaMsghdrlFreeBSD10Emu = 0xb0

sizeofIfaMsghdrlFreeBSD10Emu const #

const sizeofIfaMsghdrlFreeBSD10Emu = 0xb0

sizeofIfaMsghdrlFreeBSD10Emu const #

const sizeofIfaMsghdrlFreeBSD10Emu = 0x6c

sizeofIfaMsghdrlFreeBSD10Emu const #

const sizeofIfaMsghdrlFreeBSD10Emu = 0xb0

sizeofIfmaMsghdr2Darwin15 const #

const sizeofIfmaMsghdr2Darwin15 = 0x14

sizeofIfmaMsghdrDarwin15 const #

const sizeofIfmaMsghdrDarwin15 = 0x10

sizeofIfmaMsghdrDragonFlyBSD4 const #

const sizeofIfmaMsghdrDragonFlyBSD4 = 0x10

sizeofIfmaMsghdrFreeBSD10 const #

const sizeofIfmaMsghdrFreeBSD10 = 0x10

sizeofIfmaMsghdrFreeBSD10 const #

const sizeofIfmaMsghdrFreeBSD10 = 0x10

sizeofIfmaMsghdrFreeBSD10 const #

const sizeofIfmaMsghdrFreeBSD10 = 0x10

sizeofIfmaMsghdrFreeBSD10 const #

const sizeofIfmaMsghdrFreeBSD10 = 0x10

sizeofIfmaMsghdrFreeBSD10 const #

const sizeofIfmaMsghdrFreeBSD10 = 0x10

sizeofIfmaMsghdrFreeBSD10Emu const #

const sizeofIfmaMsghdrFreeBSD10Emu = 0x10

sizeofIfmaMsghdrFreeBSD10Emu const #

const sizeofIfmaMsghdrFreeBSD10Emu = 0x10

sizeofIfmaMsghdrFreeBSD10Emu const #

const sizeofIfmaMsghdrFreeBSD10Emu = 0x10

sizeofIfmaMsghdrFreeBSD10Emu const #

const sizeofIfmaMsghdrFreeBSD10Emu = 0x10

sizeofIfmaMsghdrFreeBSD10Emu const #

const sizeofIfmaMsghdrFreeBSD10Emu = 0x10

sizeofRtMetricsDarwin15 const #

const sizeofRtMetricsDarwin15 = 0x38

sizeofRtMetricsDragonFlyBSD4 const #

const sizeofRtMetricsDragonFlyBSD4 = 0x70

sizeofRtMetricsFreeBSD10 const #

const sizeofRtMetricsFreeBSD10 = 0x70

sizeofRtMetricsFreeBSD10 const #

const sizeofRtMetricsFreeBSD10 = 0x38

sizeofRtMetricsFreeBSD10 const #

const sizeofRtMetricsFreeBSD10 = 0x70

sizeofRtMetricsFreeBSD10 const #

const sizeofRtMetricsFreeBSD10 = 0x38

sizeofRtMetricsFreeBSD10 const #

const sizeofRtMetricsFreeBSD10 = 0x70

sizeofRtMetricsFreeBSD10Emu const #

const sizeofRtMetricsFreeBSD10Emu = 0x70

sizeofRtMetricsFreeBSD10Emu const #

const sizeofRtMetricsFreeBSD10Emu = 0x70

sizeofRtMetricsFreeBSD10Emu const #

const sizeofRtMetricsFreeBSD10Emu = 0x70

sizeofRtMetricsFreeBSD10Emu const #

const sizeofRtMetricsFreeBSD10Emu = 0x38

sizeofRtMetricsFreeBSD10Emu const #

const sizeofRtMetricsFreeBSD10Emu = 0x70

sizeofRtMetricsNetBSD7 const #

const sizeofRtMetricsNetBSD7 = 0x50

sizeofRtMsghdr const #

const sizeofRtMsghdr = 0x60

sizeofRtMsghdr2Darwin15 const #

const sizeofRtMsghdr2Darwin15 = 0x5c

sizeofRtMsghdrDarwin15 const #

const sizeofRtMsghdrDarwin15 = 0x5c

sizeofRtMsghdrDragonFlyBSD4 const #

const sizeofRtMsghdrDragonFlyBSD4 = 0x98

sizeofRtMsghdrFreeBSD10 const #

const sizeofRtMsghdrFreeBSD10 = 0x5c

sizeofRtMsghdrFreeBSD10 const #

const sizeofRtMsghdrFreeBSD10 = 0x98

sizeofRtMsghdrFreeBSD10 const #

const sizeofRtMsghdrFreeBSD10 = 0x98

sizeofRtMsghdrFreeBSD10 const #

const sizeofRtMsghdrFreeBSD10 = 0x98

sizeofRtMsghdrFreeBSD10 const #

const sizeofRtMsghdrFreeBSD10 = 0x5c

sizeofRtMsghdrFreeBSD10Emu const #

const sizeofRtMsghdrFreeBSD10Emu = 0x98

sizeofRtMsghdrFreeBSD10Emu const #

const sizeofRtMsghdrFreeBSD10Emu = 0x5c

sizeofRtMsghdrFreeBSD10Emu const #

const sizeofRtMsghdrFreeBSD10Emu = 0x98

sizeofRtMsghdrFreeBSD10Emu const #

const sizeofRtMsghdrFreeBSD10Emu = 0x98

sizeofRtMsghdrFreeBSD10Emu const #

const sizeofRtMsghdrFreeBSD10Emu = 0x98

sizeofRtMsghdrNetBSD7 const #

const sizeofRtMsghdrNetBSD7 = 0x78

sizeofSockaddrInet const #

const sizeofSockaddrInet = 0x10

sizeofSockaddrInet const #

const sizeofSockaddrInet = 0x10

sizeofSockaddrInet const #

const sizeofSockaddrInet = 0x10

sizeofSockaddrInet const #

const sizeofSockaddrInet = 0x10

sizeofSockaddrInet const #

const sizeofSockaddrInet = 0x10

sizeofSockaddrInet const #

const sizeofSockaddrInet = 0x10

sizeofSockaddrInet const #

const sizeofSockaddrInet = 0x10

sizeofSockaddrInet const #

const sizeofSockaddrInet = 0x10

sizeofSockaddrInet const #

const sizeofSockaddrInet = 0x10

sizeofSockaddrInet6 const #

const sizeofSockaddrInet6 = 0x1c

sizeofSockaddrInet6 const #

const sizeofSockaddrInet6 = 0x1c

sizeofSockaddrInet6 const #

const sizeofSockaddrInet6 = 0x1c

sizeofSockaddrInet6 const #

const sizeofSockaddrInet6 = 0x1c

sizeofSockaddrInet6 const #

const sizeofSockaddrInet6 = 0x1c

sizeofSockaddrInet6 const #

const sizeofSockaddrInet6 = 0x1c

sizeofSockaddrInet6 const #

const sizeofSockaddrInet6 = 0x1c

sizeofSockaddrInet6 const #

const sizeofSockaddrInet6 = 0x1c

sizeofSockaddrInet6 const #

const sizeofSockaddrInet6 = 0x1c

sizeofSockaddrStorage const #

const sizeofSockaddrStorage = 0x80

sizeofSockaddrStorage const #

const sizeofSockaddrStorage = 0x80

sizeofSockaddrStorage const #

const sizeofSockaddrStorage = 0x80

sizeofSockaddrStorage const #

const sizeofSockaddrStorage = 0x80

sizeofSockaddrStorage const #

const sizeofSockaddrStorage = 0x80

sizeofSockaddrStorage const #

const sizeofSockaddrStorage = 0x80

sizeofSockaddrStorage const #

const sizeofSockaddrStorage = 0x80

sizeofSockaddrStorage const #

const sizeofSockaddrStorage = 0x100

sizeofSockaddrStorage const #

const sizeofSockaddrStorage = 0x80

wireFormats var #

var wireFormats map[int]*wireFormat

Type Aliases

RIBType type #

A RIBType represents a type of routing information base.

type RIBType int

SysType type #

A SysType represents a type of operating system-specific information.

type SysType int

Interfaces

Addr interface #

An Addr represents an address associated with packet routing.

type Addr interface {
Family() int
}

Message interface #

A Message represents a routing message.

type Message interface {
Sys() []Sys
}

Sys interface #

A Sys reprensents operating system-specific information.

type Sys interface {
SysType() SysType
}

binaryByteOrder interface #

type binaryByteOrder interface {
Uint16([]byte) uint16
Uint32([]byte) uint32
PutUint16([]byte, uint16)
PutUint32([]byte, uint32)
Uint64([]byte) uint64
}

Structs

DefaultAddr struct #

A DefaultAddr represents an address of various operating system-specific features.

type DefaultAddr struct {
af int
Raw []byte
}

Inet4Addr struct #

An Inet4Addr represents an internet address for IPv4.

type Inet4Addr struct {
IP [4]byte
}

Inet6Addr struct #

An Inet6Addr represents an internet address for IPv6.

type Inet6Addr struct {
IP [16]byte
ZoneID int
}

InterfaceAddrMessage struct #

An InterfaceAddrMessage represents an interface address message.

type InterfaceAddrMessage struct {
Version int
Type int
Flags int
Index int
Addrs []Addr
raw []byte
}

InterfaceAnnounceMessage struct #

An InterfaceAnnounceMessage represents an interface announcement message.

type InterfaceAnnounceMessage struct {
Version int
Type int
Index int
Name string
What int
raw []byte
}

InterfaceMessage struct #

An InterfaceMessage represents an interface message.

type InterfaceMessage struct {
Version int
Type int
Flags int
Index int
Name string
Addrs []Addr
extOff int
raw []byte
}

InterfaceMetrics struct #

InterfaceMetrics represents interface metrics.

type InterfaceMetrics struct {
Type int
MTU int
}

InterfaceMetrics struct #

InterfaceMetrics represents interface metrics.

type InterfaceMetrics struct {
Type int
MTU int
}

InterfaceMetrics struct #

InterfaceMetrics represents interface metrics.

type InterfaceMetrics struct {
Type int
MTU int
}

InterfaceMetrics struct #

RouteMetrics represents route metrics.

type InterfaceMetrics struct {
Type int
MTU int
}

InterfaceMetrics struct #

InterfaceMetrics represents interface metrics.

type InterfaceMetrics struct {
Type int
MTU int
}

InterfaceMulticastAddrMessage struct #

An InterfaceMulticastAddrMessage represents an interface multicast address message.

type InterfaceMulticastAddrMessage struct {
Version int
Type int
Flags int
Index int
Addrs []Addr
raw []byte
}

LinkAddr struct #

A LinkAddr represents a link-layer address.

type LinkAddr struct {
Index int
Name string
Addr []byte
}

RouteMessage struct #

A RouteMessage represents a message conveying an address prefix, a nexthop address and an output interface. Unlike other messages, this message can be used to query adjacency information for the given address prefix, to add a new route, and to delete or modify the existing route from the routing information base inside the kernel by writing and reading route messages on a routing socket. For the manipulation of routing information, the route message must contain appropriate fields that include: Version = Type = Flags = Index = ID = Seq = Addrs = The Type field specifies a type of manipulation, the Flags field specifies a class of target information and the Addrs field specifies target information like the following: route.RouteMessage{ Version: RTM_VERSION, Type: RTM_GET, Flags: RTF_UP | RTF_HOST, ID: uintptr(os.Getpid()), Seq: 1, Addrs: []route.Addrs{ RTAX_DST: &route.Inet4Addr{ ... }, RTAX_IFP: &route.LinkAddr{ ... }, RTAX_BRD: &route.Inet4Addr{ ... }, }, } The values for the above fields depend on the implementation of each operating system. The Err field on a response message contains an error value on the requested operation. If non-nil, the requested operation is failed.

type RouteMessage struct {
Version int
Type int
Flags int
Index int
ID uintptr
Seq int
Err error
Addrs []Addr
extOff int
raw []byte
}

RouteMetrics struct #

RouteMetrics represents route metrics.

type RouteMetrics struct {
PathMTU int
}

RouteMetrics struct #

RouteMetrics represents route metrics.

type RouteMetrics struct {
PathMTU int
}

RouteMetrics struct #

RouteMetrics represents route metrics.

type RouteMetrics struct {
PathMTU int
}

RouteMetrics struct #

RouteMetrics represents route metrics.

type RouteMetrics struct {
PathMTU int
}

RouteMetrics struct #

RouteMetrics represents route metrics.

type RouteMetrics struct {
PathMTU int
}

binaryBigEndian struct #

type binaryBigEndian struct {

}

binaryLittleEndian struct #

type binaryLittleEndian struct {

}

wireFormat struct #

type wireFormat struct {
extOff int
bodyOff int
parse func(RIBType, []byte) (Message, error)
}

Functions

Family method #

Family implements the Family method of Addr interface.

func (a *LinkAddr) Family() int

Family method #

Family implements the Family method of Addr interface.

func (a *Inet4Addr) Family() int

Family method #

Family implements the Family method of Addr interface.

func (a *Inet6Addr) Family() int

Family method #

Family implements the Family method of Addr interface.

func (a *DefaultAddr) Family() int

FetchRIB function #

FetchRIB fetches a routing information base from the operating system. The provided af must be an address family. The provided arg must be a RIBType-specific argument. When RIBType is related to routes, arg might be a set of route flags. When RIBType is related to network interfaces, arg might be an interface index or a set of interface flags. In most cases, zero means a wildcard.

func FetchRIB(af int, typ RIBType, arg int) ([]byte, error)

Marshal method #

Marshal returns the binary encoding of m.

func (m *RouteMessage) Marshal() ([]byte, error)

ParseRIB function #

ParseRIB parses b as a routing information base and returns a list of routing messages.

func ParseRIB(typ RIBType, b []byte) ([]Message, error)

PutUint16 method #

func (binaryLittleEndian) PutUint16(b []byte, v uint16)

PutUint16 method #

func (binaryBigEndian) PutUint16(b []byte, v uint16)

PutUint32 method #

func (binaryLittleEndian) PutUint32(b []byte, v uint32)

PutUint32 method #

func (binaryBigEndian) PutUint32(b []byte, v uint32)

Sys method #

Sys implements the Sys method of Message interface.

func (m *RouteMessage) Sys() []Sys

Sys method #

Sys implements the Sys method of Message interface.

func (m *RouteMessage) Sys() []Sys

Sys method #

Sys implements the Sys method of Message interface.

func (m *RouteMessage) Sys() []Sys

Sys method #

Sys implements the Sys method of Message interface.

func (m *InterfaceMulticastAddrMessage) Sys() []Sys

Sys method #

Sys implements the Sys method of Message interface.

func (m *InterfaceMessage) Sys() []Sys

Sys method #

Sys implements the Sys method of Message interface.

func (m *InterfaceMessage) Sys() []Sys

Sys method #

Sys implements the Sys method of Message interface.

func (m *InterfaceMessage) Sys() []Sys

Sys method #

Sys implements the Sys method of Message interface.

func (m *RouteMessage) Sys() []Sys

Sys method #

Sys implements the Sys method of Message interface.

func (m *InterfaceMessage) Sys() []Sys

Sys method #

Sys implements the Sys method of Message interface.

func (m *RouteMessage) Sys() []Sys

Sys method #

Sys implements the Sys method of Message interface.

func (m *InterfaceMessage) Sys() []Sys

Sys method #

Sys implements the Sys method of Message interface.

func (m *InterfaceAnnounceMessage) Sys() []Sys

Sys method #

Sys implements the Sys method of Message interface.

func (m *InterfaceAddrMessage) Sys() []Sys

SysType method #

SysType implements the SysType method of Sys interface.

func (rmx *RouteMetrics) SysType() SysType

SysType method #

SysType implements the SysType method of Sys interface.

func (imx *InterfaceMetrics) SysType() SysType

SysType method #

SysType implements the SysType method of Sys interface.

func (imx *InterfaceMetrics) SysType() SysType

SysType method #

SysType implements the SysType method of Sys interface.

func (rmx *RouteMetrics) SysType() SysType

SysType method #

SysType implements the SysType method of Sys interface.

func (rmx *RouteMetrics) SysType() SysType

SysType method #

SysType implements the SysType method of Sys interface.

func (imx *InterfaceMetrics) SysType() SysType

SysType method #

SysType implements the SysType method of Sys interface.

func (rmx *RouteMetrics) SysType() SysType

SysType method #

SysType implements the SysType method of Sys interface.

func (imx *InterfaceMetrics) SysType() SysType

SysType method #

SysType implements the SysType method of Sys interface.

func (imx *InterfaceMetrics) SysType() SysType

SysType method #

SysType implements the SysType method of Sys interface.

func (rmx *RouteMetrics) SysType() SysType

Uint16 method #

func (binaryLittleEndian) Uint16(b []byte) uint16

Uint16 method #

func (binaryBigEndian) Uint16(b []byte) uint16

Uint32 method #

func (binaryLittleEndian) Uint32(b []byte) uint32

Uint32 method #

func (binaryBigEndian) Uint32(b []byte) uint32

Uint64 method #

func (binaryLittleEndian) Uint64(b []byte) uint64

Uint64 method #

func (binaryBigEndian) Uint64(b []byte) uint64

addrsSpace function #

func addrsSpace(as []Addr) int

init function #

func init()

lenAndSpace method #

func (a *Inet6Addr) lenAndSpace() (int, int)

lenAndSpace method #

func (a *LinkAddr) lenAndSpace() (int, int)

lenAndSpace method #

func (a *DefaultAddr) lenAndSpace() (int, int)

lenAndSpace method #

func (a *Inet4Addr) lenAndSpace() (int, int)

marshal method #

func (a *Inet4Addr) marshal(b []byte) (int, error)

marshal method #

func (m *RouteMessage) marshal() ([]byte, error)

marshal method #

func (a *DefaultAddr) marshal(b []byte) (int, error)

marshal method #

func (a *LinkAddr) marshal(b []byte) (int, error)

marshal method #

func (m *RouteMessage) marshal() ([]byte, error)

marshal method #

func (a *Inet6Addr) marshal(b []byte) (int, error)

marshalAddrs function #

marshalAddrs marshals as and returns a bitmap indicating which address is stored in b.

func marshalAddrs(b []byte, as []Addr) (uint, error)

parseAddrs function #

func parseAddrs(attrs uint, fn func(int, []byte) (int, Addr, error), b []byte) ([]Addr, error)

parseDefaultAddr function #

func parseDefaultAddr(b []byte) (Addr, error)

parseInetAddr function #

parseInetAddr parses b as an internet address for IPv4 or IPv6.

func parseInetAddr(af int, b []byte) (Addr, error)

parseInterfaceAddrMessage method #

func (w *wireFormat) parseInterfaceAddrMessage(_ RIBType, b []byte) (Message, error)

parseInterfaceAddrMessage method #

func (*wireFormat) parseInterfaceAddrMessage(_ RIBType, b []byte) (Message, error)

parseInterfaceAddrMessage method #

func (w *wireFormat) parseInterfaceAddrMessage(typ RIBType, b []byte) (Message, error)

parseInterfaceAnnounceMessage method #

func (*wireFormat) parseInterfaceAnnounceMessage(_ RIBType, b []byte) (Message, error)

parseInterfaceAnnounceMessage method #

func (w *wireFormat) parseInterfaceAnnounceMessage(_ RIBType, b []byte) (Message, error)

parseInterfaceMessage method #

func (*wireFormat) parseInterfaceMessage(_ RIBType, b []byte) (Message, error)

parseInterfaceMessage method #

func (w *wireFormat) parseInterfaceMessage(_ RIBType, b []byte) (Message, error)

parseInterfaceMessage method #

func (w *wireFormat) parseInterfaceMessage(typ RIBType, b []byte) (Message, error)

parseInterfaceMulticastAddrMessage method #

func (w *wireFormat) parseInterfaceMulticastAddrMessage(_ RIBType, b []byte) (Message, error)

parseKernelInetAddr function #

parseKernelInetAddr parses b as an internet address in conventional BSD kernel form.

func parseKernelInetAddr(af int, b []byte) (int, Addr, error)

parseKernelLinkAddr function #

parseKernelLinkAddr parses b as a link-layer address in conventional BSD kernel form.

func parseKernelLinkAddr(_ int, b []byte) (int, Addr, error)

parseLinkAddr function #

func parseLinkAddr(b []byte) (Addr, error)

parseRouteMessage method #

func (*wireFormat) parseRouteMessage(_ RIBType, b []byte) (Message, error)

parseRouteMessage method #

func (w *wireFormat) parseRouteMessage(typ RIBType, b []byte) (Message, error)

parseable method #

func (typ RIBType) parseable() bool

parseable method #

func (typ RIBType) parseable() bool

parseable method #

func (typ RIBType) parseable() bool

parseable method #

func (typ RIBType) parseable() bool

parseable method #

func (typ RIBType) parseable() bool

probeRoutingStack function #

func probeRoutingStack() (int, map[int]*wireFormat)

probeRoutingStack function #

func probeRoutingStack() (int, map[int]*wireFormat)

probeRoutingStack function #

func probeRoutingStack() (int, map[int]*wireFormat)

probeRoutingStack function #

func probeRoutingStack() (int, map[int]*wireFormat)

probeRoutingStack function #

func probeRoutingStack() (int, map[int]*wireFormat)

roundup function #

func roundup(l int) int

sysctl function #

go:linkname sysctl syscall.sysctl

func sysctl(mib []int32, old *byte, oldlen *uintptr, new *byte, newlen uintptr) error

Generated with Arrow