Google は、黒人コミュニティのための人種的公平の促進に取り組んでいます。詳細をご覧ください。

nl :: Inet :: InterfaceIterator

#include <src/inet/InetInterface.h>

システムネットワークインターフェイスのリストのイテレータ。

概要

このクラスのオブジェクトを使用して、システムネットワークインターフェイスのリストを繰り返します。

このクラスの個々のインスタンス上のメソッドは、スレッドセーフではありません。ただし、複数のスレッドが別々のインスタンスを同時に使用する場合があります。

マルチスレッドLwIPシステムでは、他のスレッドがnetifのリストを変更している間LwIPコアロックを保持し、netifオブジェクト自体が破棄されない限り、インスタンスはグローバルLwIP状態にアクセスする他のスレッドに対してスレッドセーフです。

ソケットベースのシステムでは、基盤となるシステムのインターフェイスが変更されても、反復は常に安定しています。

LwIPシステムでは、現在選択されているインターフェイスがリストから削除された場合を除いて、反復は安定しています。この場合、反復はすぐに終了します。

コンストラクタとデストラクタ

InterfaceIterator (void)
構築InterfaceIteratorのオブジェクトを。
~InterfaceIterator (void)
破棄InterfaceIteratorのオブジェクトを。

保護された属性

mCurIntf
size_t
mCurNetif
struct netif *
mIntfArray
struct if_nameindex *
mIntfFlags
short
mIntfFlagsCached
bool

公共機能

GetInterface (void)
InterfaceId
以下のための非推奨別名GetInterfaceId(void)
GetInterfaceId (void)
InterfaceId
現在のイテレータ位置にあるネットワークインターフェイスIDを返します。
GetInterfaceName (char *nameBuf, size_t nameBufSize)
現在のネットワークインターフェイスの名前を取得します。
HasBroadcastAddress (void)
bool
現在のネットワークインターフェイスにブロードキャストアドレスがあるかどうかを返します。
HasCurrent (void)
bool
イテレータがインターフェイスに配置されているかどうかをテストします。
IsUp (void)
bool
現在のネットワークインターフェイスが稼働しているかどうかを返します。
Next (void)
bool
イテレータを次のネットワーク インターフェイスに進めます。
SupportsMulticast (void)
bool
現在のネットワークインターフェイスがマルチキャストをサポートしているかどうかを返します。

保護された機能

GetFlags (void)
short
現在のインターフェースのifr_flags値を返します。

保護された属性

mCurIntf

size_t mCurIntf

mCurNetif

struct netif * mCurNetif

mIntfArray

struct if_nameindex * mIntfArray

mIntfFlags

short mIntfFlags

mIntfFlagsCached

bool mIntfFlagsCached

公共機能

GetInterface

InterfaceId GetInterface(
  void
)

以下のための非推奨別名GetInterfaceId(void)

GetInterfaceId

InterfaceId GetInterfaceId(
  void
)

現在のイテレータ位置にあるネットワークインターフェイスIDを返します。

詳細
戻り値
INET_NULL_INTERFACEID
リストの終わりを超えて進んだ場合。
id
現在のネットワークインターフェイスID。

GetInterfaceName

INET_ERROR GetInterfaceName(
  char *nameBuf,
  size_t nameBufSize
)

現在のネットワーク インターフェイスの名前を取得します。

Writes the name of the network interface as \c NUL terminated text string
at \c nameBuf.

詳細
パラメーター
[in] nameBuf
インターフェイス名を書き込むメモリの領域
[in] nameBufSize
で示される領域の大きさnameBuf
戻り値
INET_NO_ERROR
成功した結果、書かれたインターフェース名
INET_ERROR_INCORRECT_STATE
イテレータがリストの最後を超えて配置されている
INET_ERROR_NO_MEMORY
名前が大きすぎてバッファに書き込めません
other
別のシステムまたはプラットフォームのエラー

HasBroadcastAddress

bool HasBroadcastAddress(
  void
)

現在のネットワークインターフェイスにブロードキャストアドレスがあるかどうかを返します。

詳細
戻り値
true現在のネットワーク・インタフェースは、ブロードキャストアドレス、持っている場合falseそうでない場合、または反復子がリストの末尾を超えて配置されている場合。

HasCurrent

bool HasCurrent(
  void
)

イテレータがインターフェイスに配置されているかどうかをテストします。

イテレータがインターフェイスアドレスに配置されているかどうかをテストします。

詳細
戻り値
true反復子は、インターフェイス上に配置されている場合、 falseインタフェースリストの終わりを超えて配置されている場合。
戻り値
true反復子は、インタフェースアドレスに配置されている場合、 falseアドレスリストの終わりを超えて配置されている場合。

InterfaceIterator

 InterfaceIterator(
  void
)

構築InterfaceIteratorのオブジェクトを。

最初のネットワークインターフェイスでイテレータを開始します。一部のプラットフォームでは、このコンストラクターは、デストラクタによってリサイクルされたリソースを割り当てる場合があります。

IsUp

bool IsUp(
  void
)

現在のネットワークインターフェイスが稼働しているかどうかを返します。

詳細
戻り値
true現在のネットワーク・インタフェースは、アップしている場合false反復子は、リストの終わりを超えて配置されていない場合、または場合。

bool Next(
  void
)

イテレータを次のネットワークインターフェイスに進めます。

Advances the internal iterator to the next network interface or to a position
beyond the end of the interface list.

On multi-threaded LwIP systems, this method is thread-safe relative to other
threads accessing the global LwIP state provided that: 1) the other threads
hold the LwIP core lock while mutating the list of netifs; and 2) netif objects
themselves are never destroyed.

Iteration is stable in the face of changes to the underlying system's
interfaces, *except* in the case of LwIP systems when the currently selected
interface is removed from the list, which causes iteration to end immediately.

詳細
戻り値
false終わりを超えた高度な、そうでない場合はtrue

マルチキャストをサポート

bool SupportsMulticast(
  void
)

現在のネットワークインターフェイスがマルチキャストをサポートしているかどうかを返します。

詳細
戻り値
true場合、現在のネットワーク・インタフェース・マルチキャストサポート、 falseでない場合、またはイテレータは、リストの終わりを超えて配置されている場合。

〜InterfaceIterator

 ~InterfaceIterator(
  void
)

破棄InterfaceIteratorのオブジェクトを。

コンストラクターによって割り当てられたリソースをリサイクルします。

保護された機能

GetFlags

short GetFlags(
  void
)

現在のインターフェースのifr_flags値を返します。