github.com/shogo82148/std@v1.22.1-0.20240327122250-4e474527810c/net/interface.go (about)

     1  // Copyright 2011 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  package net
     6  
     7  // インターフェースはネットワークインタフェースの名前とインデックスのマッピングを表します。また、ネットワークインタフェースの機能情報も表します。
     8  type Interface struct {
     9  	Index        int
    10  	MTU          int
    11  	Name         string
    12  	HardwareAddr HardwareAddr
    13  	Flags        Flags
    14  }
    15  
    16  type Flags uint
    17  
    18  const (
    19  	FlagUp Flags = 1 << iota
    20  	FlagBroadcast
    21  	FlagLoopback
    22  	FlagPointToPoint
    23  	FlagMulticast
    24  	FlagRunning
    25  )
    26  
    27  func (f Flags) String() string
    28  
    29  // Addrsは特定のインターフェースのユニキャストインターフェースアドレスのリストを返します。
    30  func (ifi *Interface) Addrs() ([]Addr, error)
    31  
    32  // MulticastAddrsは特定のインターフェースに結合されたマルチキャストグループアドレスのリストを返します。
    33  func (ifi *Interface) MulticastAddrs() ([]Addr, error)
    34  
    35  // インタフェースはシステムのネットワークインタフェースのリストを返します。
    36  func Interfaces() ([]Interface, error)
    37  
    38  // InterfaceAddrsはシステムのユニキャストインターフェースのアドレスのリストを返します。
    39  //
    40  // 返されたリストは関連するインターフェースを識別しません。詳細についてはInterfacesと [Interface.Addrs] を使用してください。
    41  func InterfaceAddrs() ([]Addr, error)
    42  
    43  // InterfaceByIndex は、インデックスで指定されたインターフェースを返します。
    44  //
    45  // Solarisでは、論理データリンクを共有する論理ネットワークインターフェースのうちの1つを返しますが、より正確な情報が必要な場合は、
    46  // [InterfaceByName] を使用してください。
    47  func InterfaceByIndex(index int) (*Interface, error)
    48  
    49  // InterfaceByNameは、指定された名前で指定されたインターフェースを返します。
    50  func InterfaceByName(name string) (*Interface, error)