จัดทุกอย่างให้เป็นระเบียบอยู่เสมอด้วยคอลเล็กชัน บันทึกและจัดหมวดหมู่เนื้อหาตามค่ากำหนดของคุณ

nl::Inet::InterfaceAddressIterator

#include <src/inet/InetInterface.h>

ตัวทําซ้ํารายการที่อยู่ IP ของอินเทอร์เฟซเครือข่าย

สรุป

ใช้ออบเจ็กต์ของคลาสนี้เพื่อทําซ้ํารายการที่อยู่ IP ของอินเทอร์เฟซเครือข่ายระบบ

เมธอดในอินสแตนซ์แต่ละรายการของคลาสนี้ไม่ปลอดภัยจากเทรด อย่างไรก็ตาม อินสแตนซ์หลายรายการอาจใช้ร่วมกับอินสแตนซ์หลายรายการพร้อมกันได้

ในระบบ LwIP ที่มีชุดข้อความหลายชุด อินสแตนซ์จะปลอดภัยจากชุดข้อความอื่นๆ ที่เข้าถึงสถานะ LwIP ทั่วโลก โดยมีเงื่อนไขดังนี้ 1) ชุดข้อความอื่นๆ จะล็อกล็อก LwIP ไว้หลักพร้อมกับเปลี่ยนรายการ Netift และ 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
ระบุว่าอินเทอร์เฟซเครือข่ายที่เชื่อมโยงกับที่อยู่อินเทอร์เฟซปัจจุบันรองรับมัลติแคสต์หรือไม่

ฟังก์ชันสาธารณะ

รับที่อยู่

IPAddress GetAddress(
  void
)

รับที่อยู่อินเทอร์เฟซปัจจุบัน

รายละเอียด
การคืนสินค้า
ที่อยู่อินเทอร์เฟซปัจจุบันหรือ IPAddress::Any หากตัวเอียงวางไว้เหนือส่วนท้ายของรายการที่อยู่

GetAddressWithPrefix

void GetAddressWithPrefix(
  IPPrefix & addrWithPrefix
)

แสดงผล IPPrefix ซึ่งประกอบด้วยที่อยู่และความยาวของคํานําหน้าสําหรับที่อยู่ปัจจุบัน

ความยาวของคํานําหน้า IPIP6

uint8_t GetIPv6PrefixLength(
  void
)

ชื่อแทนที่เลิกใช้งานสําหรับ GetPrefixLength(void)

GetInterface

InterfaceId GetInterface(
  void
)

ชื่อแทนที่เลิกใช้งานสําหรับ GetInterfaceId(void)

รหัส GetInterface

InterfaceId GetInterfaceId(
  void
)

แสดงรหัสอินเทอร์เฟซเครือข่ายที่เชื่อมโยงกับที่อยู่อินเทอร์เฟซปัจจุบัน

รายละเอียด
การคืนสินค้า
รหัสอินเทอร์เฟซหรือ INET_NULL_INTERFACEID หาก Iterer วางอยู่ในตําแหน่งท้ายรายการที่อยู่

ชื่อ GetInterface

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
ข้อผิดพลาดระบบหรือแพลตฟอร์มอื่น

ความยาวของ GetPrefix

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

รีไซเคิลทรัพยากรที่เครื่องมือสร้างสร้างขึ้น