github.com/hxx258456/ccgo@v0.0.5-0.20230213014102-48b35f46f66f/net/route/interface.go (about)

     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  // +build darwin dragonfly freebsd netbsd openbsd
     7  
     8  package route
     9  
    10  // An InterfaceMessage represents an interface message.
    11  type InterfaceMessage struct {
    12  	Version int    // message version
    13  	Type    int    // message type
    14  	Flags   int    // interface flags
    15  	Index   int    // interface index
    16  	Name    string // interface name
    17  	Addrs   []Addr // addresses
    18  
    19  	extOff int    // offset of header extension
    20  	raw    []byte // raw message
    21  }
    22  
    23  // An InterfaceAddrMessage represents an interface address message.
    24  type InterfaceAddrMessage struct {
    25  	Version int    // message version
    26  	Type    int    // message type
    27  	Flags   int    // interface flags
    28  	Index   int    // interface index
    29  	Addrs   []Addr // addresses
    30  
    31  	raw []byte // raw message
    32  }
    33  
    34  // Sys implements the Sys method of Message interface.
    35  func (m *InterfaceAddrMessage) Sys() []Sys { return nil }
    36  
    37  // An InterfaceMulticastAddrMessage represents an interface multicast
    38  // address message.
    39  type InterfaceMulticastAddrMessage struct {
    40  	Version int    // message version
    41  	Type    int    // message type
    42  	Flags   int    // interface flags
    43  	Index   int    // interface index
    44  	Addrs   []Addr // addresses
    45  
    46  	raw []byte // raw message
    47  }
    48  
    49  // Sys implements the Sys method of Message interface.
    50  func (m *InterfaceMulticastAddrMessage) Sys() []Sys { return nil }
    51  
    52  // An InterfaceAnnounceMessage represents an interface announcement
    53  // message.
    54  type InterfaceAnnounceMessage struct {
    55  	Version int    // message version
    56  	Type    int    // message type
    57  	Index   int    // interface index
    58  	Name    string // interface name
    59  	What    int    // what type of announcement
    60  
    61  	raw []byte // raw message
    62  }
    63  
    64  // Sys implements the Sys method of Message interface.
    65  func (m *InterfaceAnnounceMessage) Sys() []Sys { return nil }