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  

View as plain text