透過集合功能整理內容 你可以依據偏好儲存及分類內容。

nl::Inet::InterfaceAddressIterator

#include <src/inet/InetInterface.h>

系統網路介面 IP 位址清單的疊代器。

總結

請使用這個類別的物件疊代系統網路介面介面 IP 位址清單。

此類別的個別執行個體使用方法無法用於執行緒;不過,不同的執行緒可以同時用於多個執行個體。

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

基於對通訊端系統而言,在基礎系統介面和/或位址的變更時,疊代則一律保持穩定。

在 LwIP 系統上,除非移除與目前位址相關的介面,否則疊代可能會提早結束,否則穩定度很穩定。

建構函式和解構程式

InterfaceAddressIterator(void)
建構 InterfaceAddressIterator 物件。
~InterfaceAddressIterator(void)
解析 InterfaceAddressIterator 物件。

公開函式

GetAddress(void)
取得目前的介面位址。
GetAddressWithPrefix(IPPrefix & addrWithPrefix)
void
傳回 IPPrefix,其中包含目前地址的地址和前置字元長度。
GetIPv6PrefixLength(void)
uint8_t
GetPrefixLength(void) 的別名已淘汰
GetInterface(void)
InterfaceId
GetInterfaceId(void) 的別名已淘汰
GetInterfaceId(void)
InterfaceId
傳回與目前介面位址相關聯的網路介面編號。
GetInterfaceName(char *nameBuf, size_t nameBufSize)
取得與目前介面位址相關聯的網路介面名稱。
GetPrefixLength(void)
uint8_t
取得與目前介面位址相關聯的網路前置字串。
HasBroadcastAddress(void)
bool
傳回與目前介面位址相關聯的網路介面是否包含 IPv4 廣播位址。
HasCurrent(void)
bool
IsUp(void)
bool
傳回與目前介面位址相關的網路介面是否已啟用。
Next(void)
bool
將疊代器移至下一個介面位址。
SupportsMulticast(void)
bool
傳回與目前介面位址相關聯的網路介面是否支援多播。

公開函式

取得地址

IPAddress GetAddress(
  void
)

取得目前的介面位址。

詳細資料
傳回
目前的介面位址;如果疊代器位於地址清單的末端,則會使用 IPAddress::Any

GetAddressWithPrefix

void GetAddressWithPrefix(
  IPPrefix & addrWithPrefix
)

傳回 IPPrefix,其中包含目前地址的地址和前置字元長度。

GetIPv6PrefixLength

uint8_t GetIPv6PrefixLength(
  void
)

GetPrefixLength(void) 的別名已淘汰

取得介面

InterfaceId GetInterface(
  void
)

GetInterfaceId(void) 的別名已淘汰

取得介面 ID

InterfaceId GetInterfaceId(
  void
)

傳回與目前介面位址相關聯的網路介面編號。

詳細資料
傳回
介面 ID 或 INET_NULL_INTERFACEID

取得介面名稱

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_NO_MEMORY
名稱過大,無法寫入緩衝區中
INET_ERROR_INCORRECT_STATE
疊代器目前不在介面位址上
other
其他系統或平台錯誤

GetPrefixLength

uint8_t GetPrefixLength(
  void
)

取得與目前介面位址相關聯的網路前置字串。

On LwIP, this method simply returns the hard-coded constant 64.

Note Well: the standard subnet prefix on all links other than PPP
links is 64 bits. On PPP links and some non-broadcast multipoint access
links, the convention is either 127 bits or 128 bits, but it might be
something else. On most platforms, the system's interface address
structure can represent arbitrary prefix lengths between 0 and 128.

詳細資料
傳回
網路前置字串 (以位元為單位);如果疊代器位於地址清單的結尾,則傳回 0。

海外廣播地址

bool HasBroadcastAddress(
  void
)

傳回與目前介面位址相關聯的網路介面是否包含 IPv4 廣播位址。

詳細資料
傳回
true 如果接口有數據地址,false 否,或者如果斜體未位於接口地址上。

哈當

bool HasCurrent(
  void
)

介面位址疊代器

 InterfaceAddressIterator(
  void
)

建構 InterfaceAddressIterator 物件。

在第一個網路位址啟動疊代器。在某些平台上,這個建構函式可以分配由回收器回收的資源。

IsUp

bool IsUp(
  void
)

傳回與目前介面位址相關的網路介面是否已啟用。

詳細資料
傳回
true如果電動網絡接口上路,false 如果沒有,或者斜體未位於接口地址上。

下一步

bool Next(
  void
)

將疊代器移至下一個介面位址。

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

On LwIP, this method is thread-safe provided that: 1) other threads hold
the LwIP core lock while mutating the netif list; and 2) netif objects
themselves are never destroyed.  Additionally, iteration on LwIP systems
will terminate early if the current interface is removed from the list.

詳細資料
傳回
false如果超過進階,則true

支援多播

bool SupportsMulticast(
  void
)

傳回與目前介面位址相關聯的網路介面是否支援多播。

詳細資料
傳回
true 如果支持多播,false 如果支持不支持,或者斜體未位於接口地址上。

~InterfaceAddressIterator

 ~InterfaceAddressIterator(
  void
)

解析 InterfaceAddressIterator 物件。

使用建構函式分配的任何資源。