nl:: Inet:: InterfaceAddressIterator
#include <src/inet/InetInterface.h>
Iterator สำหรับรายการที่อยู่ IP ของอินเทอร์เฟซเครือข่ายของระบบ
สรุป
ใช้ออบเจ็กต์ของคลาสนี้เพื่อทำซ้ำรายการที่อยู่ IP ของอินเทอร์เฟซเครือข่ายของระบบ
เมธอดในแต่ละอินสแตนซ์ของคลาสนี้ไม่ปลอดภัยเทรด อย่างไรก็ตาม เทรดหลายรายการอาจใช้อินสแตนซ์ที่แยกต่างหากพร้อมกันได้
ในระบบ LwIP แบบหลายเทรด อินสแตนซ์จะปลอดภัยของเทรดเมื่อเทียบกับเทรดอื่นๆ ที่เข้าถึงสถานะ LwIP ส่วนกลาง โดยมีเงื่อนไขว่า 1) เทรดอื่นๆ จะล็อกแกน LwIP ไว้ขณะเปลี่ยนแปลงรายการ netif และ 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
รีไซเคิลทรัพยากรที่ผู้สร้างจัดสรร