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.
5 // +build darwin dragonfly freebsd netbsd openbsd
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
18 extOff int // offset of header extension
19 raw []byte // raw message
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
30 raw []byte // raw message
33 // Sys implements the Sys method of Message interface.
34 func (m *InterfaceAddrMessage) Sys() []Sys { return nil }
36 // An InterfaceMulticastAddrMessage represents an interface multicast
38 type InterfaceMulticastAddrMessage struct {
39 Version int // message version
40 Type int // messsage type
41 Flags int // interface flags
42 Index int // interface index
43 Addrs []Addr // addresses
45 raw []byte // raw message
48 // Sys implements the Sys method of Message interface.
49 func (m *InterfaceMulticastAddrMessage) Sys() []Sys { return nil }
51 // An InterfaceAnnounceMessage represents an interface announcement
53 type InterfaceAnnounceMessage struct {
54 Version int // message version
55 Type int // message type
56 Index int // interface index
57 Name string // interface name
58 What int // what type of announcement
60 raw []byte // raw message
63 // Sys implements the Sys method of Message interface.
64 func (m *InterfaceAnnounceMessage) Sys() []Sys { return nil }