nl:: Inet:: InterfaceAddressIterator
#include <src/inet/InetInterface.h>
Iterator สำหรับรายการที่อยู่ IP ของอินเทอร์เฟซเครือข่ายระบบ
สรุป
ใช้ออบเจ็กต์ของคลาสนี้เพื่อทำซ้ำรายการที่อยู่ IP ของอินเทอร์เฟซเครือข่ายระบบ
เมธอดในอินสแตนซ์แต่ละรายการของคลาสนี้ไม่ปลอดภัยของเทรด แต่เทรดหลายรายการอาจใช้อินสแตนซ์แยกกันพร้อมกันได้
ในระบบ LwIP แบบหลายเทรด อินสแตนซ์จะปลอดภัยเทรดเมื่อเทียบกับเทรดอื่นๆ ที่เข้าถึงสถานะ LwIP ส่วนกลาง โดยมีเงื่อนไขดังนี้ 1) เทรดอื่นจะมีล็อกหลัก LwIP ขณะเปลี่ยนแปลงรายการ Netifs และ 2) ตัววัตถุ netif จะไม่ถูกทำลาย
ในระบบที่ใช้ซ็อกเก็ต การทำซ้ำจะมีความเสถียรเสมอเมื่อมีการเปลี่ยนแปลงอินเทอร์เฟซและ/หรือที่อยู่ของระบบพื้นฐาน
การทำซ้ำนั้นเสถียรในระบบ 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
แสดงผลว่าอินเทอร์เฟซเครือข่ายที่เชื่อมโยงกับที่อยู่อินเทอร์เฟซปัจจุบันรองรับมัลติแคสต์หรือไม่
|
ฟังก์ชันสาธารณะ
GetAddress
IPAddress GetAddress( void )
รับที่อยู่อินเทอร์เฟซปัจจุบัน
รายละเอียด | |
---|---|
การคืนสินค้า |
ที่อยู่อินเทอร์เฟซปัจจุบันหรือ
IPAddress::Any หากตัววนซ้ำอยู่ในตำแหน่งท้ายรายการที่อยู่ |
GetAddressWithPrefix
void GetAddressWithPrefix( IPPrefix & addrWithPrefix )
แสดงผล IPPrefix ซึ่งประกอบด้วยที่อยู่และความยาวของคํานําหน้าสําหรับที่อยู่ปัจจุบัน
GetIPv6PrefixLength
uint8_t GetIPv6PrefixLength( void )
เลิกใช้งานชื่อแทนสำหรับ GetPrefixLength(void)
แล้ว
GetInterfaceId
InterfaceId GetInterfaceId( void )
แสดงผลรหัสอินเทอร์เฟซเครือข่ายที่เชื่อมโยงกับที่อยู่อินเทอร์เฟซปัจจุบัน
รายละเอียด | |
---|---|
การคืนสินค้า |
รหัสอินเทอร์เฟซหรือ
INET_NULL_INTERFACEID หากตัววนซ้ำอยู่ในตำแหน่งเกินส่วนท้ายของรายการที่อยู่ |
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.
รายละเอียด | |||||||||
---|---|---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
||||||||
ผลลัพธ์ |
|
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 หากตัวซ้ำอยู่ในตำแหน่งเกินจุดสิ้นสุดของรายการที่อยู่
|
HasBroadcastAddress
bool HasBroadcastAddress( void )
แสดงผลว่าอินเทอร์เฟซเครือข่ายที่เชื่อมโยงกับที่อยู่อินเทอร์เฟซปัจจุบันมีที่อยู่การออกอากาศ IPv4 หรือไม่
รายละเอียด | |
---|---|
การคืนสินค้า |
true หากอินเทอร์เฟซมีที่อยู่สำหรับบรอดแคสต์ false หากไม่มี หรือตัวดำเนินการไม่อยู่ในตำแหน่งอินเทอร์เฟซ |
HasCurrent
bool HasCurrent( void )
InterfaceAddressIterator
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 |
SupportsMulticast
bool SupportsMulticast( void )
แสดงผลว่าอินเทอร์เฟซเครือข่ายที่เชื่อมโยงกับที่อยู่อินเทอร์เฟซปัจจุบันรองรับมัลติแคสต์หรือไม่
รายละเอียด | |
---|---|
การคืนสินค้า |
true หากรองรับมัลติแคสต์ false หากไม่รองรับ หรือหากตัวทำซ้ำไม่ได้อยู่ในที่อยู่ของอินเทอร์เฟซ |
~InterfaceAddressIterator
~InterfaceAddressIterator( void )
ทำลายออบเจ็กต์ InterfaceAddressIterator
นำทรัพยากรที่เครื่องมือสร้างจัดสรรกลับมาใช้ใหม่