nl::इंटरनेट::InterfaceAddressItator

#include <src/inet/InetInterface.h>

सिस्टम नेटवर्क इंटरफ़ेस के आईपी पतों की सूची के लिए इटरेटर.

खास जानकारी

सिस्टम नेटवर्क इंटरफ़ेस के इंटरफ़ेस आईपी पतों की सूची को दोहराने के लिए, इस क्लास के ऑब्जेक्ट का इस्तेमाल करें.

इस क्लास के किसी व्यक्तिगत इंस्टेंस के तरीके, थ्रेड-सुरक्षित नहीं हैं. हालांकि, कई थ्रेड एक साथ अलग-अलग इंस्टेंस का इस्तेमाल कर सकते हैं.

कई थ्रेड वाले LwIP सिस्टम पर, ग्लोबल LwIP स्थिति ऐक्सेस करने वाले अन्य थ्रेड के मुकाबले थ्रेड सुरक्षित होते हैं, बशर्ते: 1) अन्य थ्रेड, netif की सूची को बदलते समय LwIP कोर लॉक को पकड़ते हैं; और 2) netif ऑब्जेक्ट खुद को कभी भी खत्म नहीं करता.

सॉकेट पर आधारित सिस्टम में, मूल सिस्टम और #39; इंटरफ़ेस और/या पतों में होने वाले बदलावों की वजह से यह हमेशा स्थिर रहता है.

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 दिखाता है.

GetIPv6प्रीफ़िक्स की लंबाई

uint8_t GetIPv6PrefixLength(
  void
)

GetPrefixLength(void) के लिए बहिष्कृत उपनाम

पाएं इंटरफ़ेस

InterfaceId GetInterface(
  void
)

GetInterfaceId(void) के लिए बहिष्कृत उपनाम

पाएं इंटरफ़ेस आईडी

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.

ब्यौरा
पैरामीटर
[in] nameBuf
इंटरफ़ेस का नाम लिखने के लिए मेमोरी का इलाका
[in] nameBufSize
उस इलाके का साइज़ जिसे nameBuf ने दिखाया है
सामान लौटाने की वैल्यू
INET_NO_ERROR
सफल नतीजा, इंटरफ़ेस का नाम लिखा गया
INET_ERROR_NO_MEMORY
नाम बहुत बड़ा है और बफ़र में लिखा नहीं जा सकता
INET_ERROR_INCORRECT_STATE
वर्तमान में पुनरावर्तक किसी इंटरफ़ेस पते पर स्थित नहीं है
other
अन्य सिस्टम या प्लैटफ़ॉर्म की गड़बड़ी

प्रीफ़िक्स लंबाई पाएं

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 अगर इटरेटर को पता सूची के खत्म होने के बाद रखा जाता है.

हैBroadcastAddress

bool HasBroadcastAddress(
  void
)

यह दिखाता है कि मौजूदा इंटरफ़ेस पते से जुड़े नेटवर्क इंटरफ़ेस में कोई IPv4 ब्रॉडकास्ट पता है या नहीं.

ब्यौरा
लौटाए गए सामान
true अगर इंटरफ़ेस पर ब्रॉडकास्ट पता है, तो false पर नहीं, या इंटरफ़ेस पर ईमेल भेजने वाले की जगह नहीं है.

हैसरेट

bool HasCurrent(
  void
)

इंटरफ़ेस पता पहचानकर्ता

 InterfaceAddressIterator(
  void
)

InterfaceAddressIterator ऑब्जेक्ट बनाता है.

यात्रा करने वाले व्यक्ति को पहले नेटवर्क के पते पर शुरू करता है. कुछ प्लैटफ़ॉर्म पर, यह कंस्ट्रक्टर, संसाधन को रीसाइकल करने वाले संसाधनों को बांट सकता है.

इसअप

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 ऑब्जेक्ट को बंद कर देता है.

कंस्ट्रक्टर के दिए गए रिसॉर्स को रीसाइकल करता है.