nl:: इनेट:: इंटरफ़ेसइटरेटर

#include <src/inet/InetInterface.h>

सिस्टम नेटवर्क इंटरफेस की सूची के लिए इटरेटर।

सारांश

सिस्टम नेटवर्क इंटरफेस की सूची को पुनरावृत्त करने के लिए इस वर्ग की वस्तुओं का उपयोग करें।

इस वर्ग के एक व्यक्ति उदाहरण पर तरीके धागा सुरक्षित नहीं हैं; हालांकि अलग-अलग उदाहरणों का एक साथ एकाधिक धागे द्वारा उपयोग किया जा सकता है।

बहु-थ्रेडेड एलडब्ल्यूआईपी सिस्टम पर, वैश्विक एलडब्ल्यूआईपी राज्य तक पहुंचने वाले अन्य धागे के सापेक्ष उदाहरण थ्रेड-सुरक्षित होते हैं, बशर्ते अन्य धागे नेटिफ की सूची को बदलते समय एलडब्ल्यूआईपी कोर लॉक रखते हैं, और नेटिफ ऑब्जेक्ट स्वयं कभी नष्ट नहीं होते हैं।

सॉकेट-आधारित सिस्टम पर, अंतर्निहित सिस्टम के इंटरफेस में परिवर्तन के सामने पुनरावृत्ति हमेशा स्थिर रहती है।

एलडब्ल्यूआईपी सिस्टम पर, पुनरावृत्ति स्थिर है, उस स्थिति को छोड़कर जहां वर्तमान में चयनित इंटरफ़ेस सूची से हटा दिया गया है, इस मामले में पुनरावृत्ति तुरंत समाप्त हो जाती है।

निर्माता और विनाशक De

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

एमक्यूरनेटिफ

struct netif * mCurNetif

mIntfArray

struct if_nameindex * mIntfArray

mIntfFlags

short mIntfFlags

mIntfFlags कैश्ड

bool mIntfFlagsCached

सार्वजनिक समारोह

गेटइंटरफ़ेस

InterfaceId GetInterface(
  void
)

के लिए पदावनत उर्फ GetInterfaceId(void)

GetInterfaceId

InterfaceId GetInterfaceId(
  void
)

वर्तमान पुनरावर्तक स्थिति पर नेटवर्क इंटरफ़ेस आईडी लौटाता है।

विवरण
वापसी मूल्य
INET_NULL_INTERFACEID
यदि सूची के अंत से आगे बढ़ गया है।
id
वर्तमान नेटवर्क इंटरफ़ेस आईडी।

गेटइंटरफेसनाम

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
अन्य सिस्टम या प्लेटफ़ॉर्म त्रुटि

हैसब्रॉडकास्टपता

bool HasBroadcastAddress(
  void
)

लौटाता है कि क्या वर्तमान नेटवर्क इंटरफ़ेस का प्रसारण पता है।

विवरण
रिटर्न
true है, तो मौजूदा नेटवर्क इंटरफेस एक प्रसारण पता, है false यदि नहीं, तो या इटरेटर सूची के अंत से परे रखा जाता है, तो।

हैवर्तमान

bool HasCurrent(
  void
)

परीक्षण करें कि क्या इटरेटर एक इंटरफ़ेस पर स्थित है।

परीक्षण करें कि इटरेटर एक इंटरफ़ेस पते पर स्थित है या नहीं।

विवरण
रिटर्न
true इटरेटर एक इंटरफेस पर तैनात किया जाता है; false अगर इंटरफ़ेस सूची के अंत से परे तैनात।
रिटर्न
true इटरेटर एक अंतरफलक पते पर तैनात किया जाता है; false अगर पता सूची के अंत से परे तैनात।

इंटरफ़ेसइटरेटर

 InterfaceIterator(
  void
)

एक निर्माणों InterfaceIterator वस्तु।

पहले नेटवर्क इंटरफेस पर इटरेटर शुरू करता है। कुछ प्लेटफार्मों पर, यह निर्माता विनाशक द्वारा पुनर्नवीनीकरण संसाधनों को आवंटित कर सकता है।

ऊपर है

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

मल्टीकास्ट का समर्थन करता है

bool SupportsMulticast(
  void
)

यह लौटाता है कि क्या वर्तमान नेटवर्क इंटरफ़ेस मल्टीकास्ट का समर्थन करता है।

विवरण
रिटर्न
true है, तो मौजूदा नेटवर्क इंटरफेस का समर्थन करता है बहुस्त्र्पीय, false यदि नहीं, तो या इटरेटर सूची के अंत से परे रखा जाता है, तो।

~इंटरफ़ेसइटरेटर

 ~InterfaceIterator(
  void
)

एक नष्ट कर देता है InterfaceIterator वस्तु।

कंस्ट्रक्टर द्वारा आवंटित किसी भी संसाधन को रीसायकल करता है।

संरक्षित कार्य

गेटफ्लैग्स

short GetFlags(
  void
)

वर्तमान इंटरफ़ेस के लिए ifr_flags मान लौटाता है।