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)