Source file src/internal/routebsd/interface.go
1 // Copyright 2016 The Go Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style 3 // license that can be found in the LICENSE file. 4 5 //go:build darwin || dragonfly || freebsd || netbsd || openbsd 6 7 package routebsd 8 9 // An InterfaceMessage represents an interface message. 10 type InterfaceMessage struct { 11 Version int // message version 12 Type int // message type 13 Flags int // interface flags 14 Index int // interface index 15 Name string // interface name 16 Addrs []Addr // addresses 17 18 extOff int // offset of header extension 19 raw []byte // raw message 20 } 21 22 // An InterfaceAddrMessage represents an interface address message. 23 type InterfaceAddrMessage struct { 24 Version int // message version 25 Type int // message type 26 Flags int // interface flags 27 Index int // interface index 28 Addrs []Addr // addresses 29 30 raw []byte // raw message 31 } 32 33 // An InterfaceMulticastAddrMessage represents an interface multicast 34 // address message. 35 type InterfaceMulticastAddrMessage struct { 36 Version int // message version 37 Type int // message type 38 Flags int // interface flags 39 Index int // interface index 40 Addrs []Addr // addresses 41 42 raw []byte // raw message 43 } 44 45 // Implement the Message interface. 46 47 func (InterfaceMessage) message() {} 48 func (InterfaceAddrMessage) message() {} 49 func (InterfaceMulticastAddrMessage) message() {} 50