nl:: Inet:: InterfaceAddressIterator
#include <src/inet/InetInterface.h>
सिस्टम नेटवर्क इंटरफ़ेस के आईपी पतों की सूची के लिए इटरेटर.
खास जानकारी
सिस्टम नेटवर्क इंटरफ़ेस इंटरफ़ेस के आईपी पतों की सूची को फिर से दोहराने के लिए, इस क्लास के ऑब्जेक्ट का इस्तेमाल करें.
इस क्लास के किसी इंस्टेंस के तरीके, थ्रेड के लिए सुरक्षित नहीं हैं. हालांकि, एक साथ कई थ्रेड के लिए अलग-अलग इंस्टेंस इस्तेमाल किए जा सकते हैं.
मल्टी-थ्रेड LwIP सिस्टम में, इंस्टेंस, ग्लोबल LwIP स्थिति को ऐक्सेस करने वाले दूसरे थ्रेड के मुकाबले थ्रेड-सुरक्षित होते हैं. हालांकि, इसके लिए ज़रूरी है कि: 1) netif की सूची में बदलाव करते समय, अन्य थ्रेड LwIP कोर लॉक को होल्ड करके रखें; और 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)
के लिए इस्तेमाल नहीं किया जा सकने वाला उपनाम
GetInterface
InterfaceId GetInterface( void )
GetInterfaceId(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 ऑब्जेक्ट को बंद करता है.
कंस्ट्रक्टर के दिए गए सभी रिसॉर्स को रीसाइकल करता है.