interface.mx raw

   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