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
)

यह फ़ंक्शन, इटरेटर की मौजूदा स्थिति पर नेटवर्क इंटरफ़ेस आईडी दिखाता है.

ब्यौरा
रिटर्न वैल्यू
INET_NULL_INTERFACEID
अन्य आइटम जोड़ें.
id
मौजूदा नेटवर्क इंटरफ़ेस आईडी.

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_INCORRECT_STATE
इटरेटर को सूची के आखिर में रखा गया है
INET_ERROR_NO_MEMORY
बफ़र में लिखने के लिहाज़ से नाम बहुत बड़ा है
other
सिस्टम या प्लैटफ़ॉर्म की कोई दूसरी गड़बड़ी

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 वैल्यू दिखाता है.