nl:: Inet:: InterfaceIterator
#include <src/inet/InetInterface.h>
सिस्टम नेटवर्क इंटरफ़ेस की सूची के लिए इटरेटर.
खास जानकारी
सिस्टम नेटवर्क इंटरफ़ेस की सूची दोहराने के लिए इस क्लास के ऑब्जेक्ट का इस्तेमाल करें.
इस क्लास के किसी इंस्टेंस के तरीके, थ्रेड के लिए सुरक्षित नहीं हैं. हालांकि, एक साथ कई थ्रेड के लिए अलग-अलग इंस्टेंस इस्तेमाल किए जा सकते हैं.
मल्टी-थ्रेड LwIP सिस्टम में, इंस्टेंस, ग्लोबल LwIP स्थिति को ऐक्सेस करने वाले दूसरे थ्रेड के मुकाबले थ्रेड-सुरक्षित होते हैं. हालांकि, यह ज़रूरी है कि दूसरे थ्रेड, नेतिफ़ की सूची को म्यूट करते समय LwIP कोर लॉक को होल्ड पर रखें और उस netif ऑब्जेक्ट को कभी खत्म न किया जाए.
सॉकेट-आधारित सिस्टम में, सिस्टम के इंटरफ़ेस में बदलाव होने पर, उसका दोहराव हमेशा स्थिर होता है.
LwIP सिस्टम में, इटरेशन तब स्थिर होता है, जब सूची से मौजूदा चुने गए इंटरफ़ेस को हटा दिया जाता है. ऐसे मामले में, इटरेशन तुरंत खत्म हो जाता है.
कंस्ट्रक्टर और डिस्ट्रक्टर |
|
---|---|
InterfaceIterator(void)
InterfaceIterator ऑब्जेक्ट बनाता है.
|
|
~InterfaceIterator(void)
InterfaceIterator ऑब्जेक्ट को बंद करता है.
|
सुरक्षित एट्रिब्यूट |
|
---|---|
mCurIntf
|
size_t
|
mCurNetif
|
struct netif *
|
mIntfArray
|
struct if_nameindex *
|
mIntfFlags
|
short
|
mIntfFlagsCached
|
bool
|
सार्वजनिक फ़ंक्शन |
|
---|---|
GetInterface(void)
|
InterfaceId
GetInterfaceId(void) के लिए इस्तेमाल नहीं किया जा सकने वाला उपनाम |
GetInterfaceId(void)
|
InterfaceId
नेटवर्क इंटरफ़ेस आईडी को इटरेटर की मौजूदा पोज़िशन पर दिखाता है.
|
GetInterfaceName(char *nameBuf, size_t nameBufSize)
|
मौजूदा नेटवर्क इंटरफ़ेस का नाम पाएं.
|
HasBroadcastAddress(void)
|
bool
यह दिखाता है कि मौजूदा नेटवर्क इंटरफ़ेस में ब्रॉडकास्ट का पता है या नहीं.
|
HasCurrent(void)
|
bool
जांच करें कि इटरेटर को इंटरफ़ेस पर रखा गया है या नहीं.
|
IsUp(void)
|
bool
यह दिखाता है कि मौजूदा नेटवर्क इंटरफ़ेस चालू है या नहीं.
|
Next(void)
|
bool
इटरेटर को अगले नेटवर्क इंटरफ़ेस पर ले जाएं.
|
SupportsMulticast(void)
|
bool
यह दिखाता है कि मौजूदा नेटवर्क इंटरफ़ेस, मल्टीकास्ट के साथ काम करता है या नहीं.
|
सुरक्षित किए गए फ़ंक्शन |
|
---|---|
GetFlags(void)
|
short
मौजूदा इंटरफ़ेस के लिए ifr_flags की वैल्यू दिखाता है.
|
सुरक्षित एट्रिब्यूट
mCurIntf
size_t mCurIntf
mCurNetif
struct netif * mCurNetif
mIntfArray
struct if_nameindex * mIntfArray
mIntfFlags
short mIntfFlags
mIntfFlagsCached
bool mIntfFlagsCached
सार्वजनिक फ़ंक्शन
GetInterface
InterfaceId GetInterface( void )
GetInterfaceId(void)
के लिए इस्तेमाल नहीं किया जा सकने वाला उपनाम
GetInterfaceId
InterfaceId GetInterfaceId( void )
नेटवर्क इंटरफ़ेस आईडी को इटरेटर की मौजूदा पोज़िशन पर दिखाता है.
जानकारी | |||||
---|---|---|---|---|---|
रिटर्न वैल्यू |
|
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.
जानकारी | |||||||||
---|---|---|---|---|---|---|---|---|---|
पैरामीटर |
|
||||||||
रिटर्न वैल्यू |
|
HasBroadcastAddress
bool HasBroadcastAddress( void )
यह दिखाता है कि मौजूदा नेटवर्क इंटरफ़ेस में ब्रॉडकास्ट का पता है या नहीं.
जानकारी | |
---|---|
लौटाए गए सामान |
true अगर मौजूदा नेटवर्क इंटरफ़ेस में ब्रॉडकास्ट का पता है, तो false अगर मौजूद नहीं है, या फिर इटरेटर सूची के आखिर में मौजूद है, तो. |
HasCurrent
bool HasCurrent( void )
जांच करें कि इटरेटर को इंटरफ़ेस पर रखा गया है या नहीं.
जांच करें कि इटरेटर को किसी इंटरफ़ेस पते पर रखा गया है या नहीं.
जानकारी | |
---|---|
लौटाए गए सामान |
true अगर इटरेटर को किसी इंटरफ़ेस पर रखा गया है, तो false अगर वह इंटरफ़ेस सूची के आखिर में मौजूद हो. |
लौटाए गए सामान |
true अगर इटरेटर को किसी इंटरफ़ेस पते पर रखा गया है, तो false अगर पता सूची के आखिर में मौजूद हो. |
InterfaceIterator
InterfaceIterator( void )
InterfaceIterator ऑब्जेक्ट बनाता है.
पहले नेटवर्क इंटरफ़ेस पर इटरेटर को शुरू करता है. कुछ प्लैटफ़ॉर्म पर, यह कंस्ट्रक्टर, उन संसाधनों को बांट सकता है जिन्हें तोड़ने वाले ने रीसाइकल किया है.
IsUp
bool IsUp( void )
यह दिखाता है कि मौजूदा नेटवर्क इंटरफ़ेस चालू है या नहीं.
जानकारी | |
---|---|
लौटाए गए सामान |
true अगर मौजूदा नेटवर्क इंटरफ़ेस चालू है, तो false अगर नहीं है या इटरेटर सूची के आखिर में मौजूद है, तो. |
आगे बढ़ें
bool Next( void )
इटरेटर को अगले नेटवर्क इंटरफ़ेस पर ले जाएं.
Advances the internal iterator to the next network interface or to a position beyond the end of the interface list. On multi-threaded LwIP systems, this method is thread-safe relative to other threads accessing the global LwIP state provided that: 1) the other threads hold the LwIP core lock while mutating the list of netifs; and 2) netif objects themselves are never destroyed. Iteration is stable in the face of changes to the underlying system's interfaces, *except* in the case of LwIP systems when the currently selected interface is removed from the list, which causes iteration to end immediately.
जानकारी | |
---|---|
लौटाए गए सामान |
शुरुआत में ज़्यादा बेहतर काम करने पर आपको
false मिलेंगे, नहीं तो true . |
SupportsMulticast
bool SupportsMulticast( void )
यह दिखाता है कि मौजूदा नेटवर्क इंटरफ़ेस, मल्टीकास्ट के साथ काम करता है या नहीं.
जानकारी | |
---|---|
लौटाए गए सामान |
true अगर मौजूदा नेटवर्क इंटरफ़ेस मल्टीकास्ट के साथ काम करता है, तो false अगर नहीं है या फिर इटरेटर सूची के आखिर में मौजूद है, तो. |
~InterfaceIterator
~InterfaceIterator( void )
InterfaceIterator ऑब्जेक्ट को बंद करता है.
कंस्ट्रक्टर के दिए गए सभी रिसॉर्स को रीसाइकल करता है.
सुरक्षित किए गए फ़ंक्शन
GetFlags
short GetFlags( void )
मौजूदा इंटरफ़ेस के लिए ifr_flags की वैल्यू दिखाता है.