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 []byte // 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