nl::Inet::RawEndPoint

#include <src/inet/RawEndPoint.h>

इस क्लास के ऑब्जेक्ट, रॉ आईपी नेटवर्क एंडपॉइंट दिखाते हैं.

खास जानकारी

Nest Inet लेयर, आईपी नेटवर्क एंडपॉइंट (Linux और BSD से मिलने वाले सिस्टम पर SOCK_RAW सॉकेट) या LwIP के रॉ प्रोटोकॉल कंट्रोल ब्लॉक से इंटरैक्ट करने के तरीकों को इनकैप्सुलेट करता है. ऐसा इसलिए होता है, क्योंकि सिस्टम को उसी हिसाब से कॉन्फ़िगर किया जाता है.

इनहेरिटेंस

यहां से इनहेरिट किया जाता है: nl::Inet::IPEndPointBasis

सार्वजनिक एट्रिब्यूट

IPProto
IPProtocol
इंटरनेट कंट्रोल मैसेज प्रोटोकॉल (आईसीएमपी) का वर्शन
IPVer
IPVersion
इंटरनेट प्रोटोकॉल का वर्शन.

सार्वजनिक फ़ंक्शन

Bind(IPAddressType addrType, IPAddress addr, InterfaceId intfId)
एंडपॉइंट को किसी इंटरफ़ेस आईपी पते से बाइंड करें.
BindIPv6LinkLocal(InterfaceId intf, IPAddress addr)
रॉ एंडपॉइंट को तय इंटरफ़ेस इंडेक्स पर, आईपीवी6 लिंक-लोकल स्कोप पते से बाइंड करें.
BindInterface(IPAddressType addrType, InterfaceId intf)
एंडपॉइंट को किसी नेटवर्क इंटरफ़ेस से बाइंड करें.
Close(void)
void
एंडपॉइंट बंद करें.
Free(void)
void
एंडपॉइंट को बंद करें और उसकी मेमोरी को रीसाइकल करें.
GetBoundInterface(void)
InterfaceId
इस एंडपॉइंट पर बाउंड इंटरफ़ेस पाएं.
Listen(void)
आईसीएमपी मैसेज पाने के लिए, एंडपॉइंट तैयार करें.
SendMsg(const IPPacketInfo *pktInfo, Weave::System::PacketBuffer *msg, uint16_t sendFlags)
तय किए गए डेस्टिनेशन पर आईसीएमपी मैसेज भेजें.
SendTo(IPAddress addr, Weave::System::PacketBuffer *msg, uint16_t sendFlags)
SendTo(addr, INET_NULL_INTERFACEID, msg, sendFlags) के लिए एक समानार्थी शब्द.
SendTo(IPAddress addr, InterfaceId intfId, Weave::System::PacketBuffer *msg, uint16_t sendFlags)
तय किए गए डेस्टिनेशन पते पर एक आईसीएमपी मैसेज भेजें.
SetICMPFilter(uint8_t numICMPTypes, const uint8_t *aICMPTypes)
नेटवर्क स्टैक में ICMP6 फ़िल्टर पैरामीटर सेट करें.

सार्वजनिक एट्रिब्यूट

IPProto

IPProtocol IPProto

इंटरनेट कंट्रोल मैसेज प्रोटोकॉल (आईसीएमपी) का वर्शन

यह फ़ील्ड, बदला जा सकने वाला क्लास वैरिएबल है. हालांकि, यह क्लास का एक वैरिएंट है. इसमें बदलाव नहीं किया जा सकता.

IPVer

IPVersion IPVer

इंटरनेट प्रोटोकॉल का वर्शन.

यह फ़ील्ड, बदला जा सकने वाला क्लास वैरिएबल है. हालांकि, यह क्लास का एक वैरिएंट है. इसमें बदलाव नहीं किया जा सकता.

सार्वजनिक फ़ंक्शन

बाइंड

INET_ERROR Bind(
  IPAddressType addrType,
  IPAddress addr,
  InterfaceId intfId
)

एंडपॉइंट को किसी इंटरफ़ेस आईपी पते से बाइंड करें.

एंडपॉइंट को बताए गए नेटवर्क इंटरफ़ेस के आईपी पते से बाइंड करता है.

जानकारी
पैरामीटर
[in] addrType
आईपी पते का प्रोटोकॉल वर्शन
[in] addr
आईपी पता (इंटरफ़ेस का पता होना चाहिए)
[in] intfId
एक वैकल्पिक नेटवर्क इंटरफ़ेस इंडिकेटर
रिटर्न वैल्यू
INET_NO_ERROR
सफल: एंडपॉइंट, पते से जुड़ा है
INET_ERROR_INCORRECT_STATE
एंडपॉइंट पहले से ही बाउंड है
INET_NO_MEMORY
एंडपॉइंट के लिए कम मेमोरी
INET_ERROR_UNKNOWN_INTERFACE
कुछ प्लैटफ़ॉर्म पर, वैकल्पिक रूप से बताया गया इंटरफ़ेस मौजूद नहीं होता.
INET_ERROR_WRONG_PROTOCOL_TYPE
addrType का मिलान IPVer से नहीं होता.
INET_ERROR_WRONG_ADDRESS_TYPE
addrType, kIPAddressType_Any है या addr का टाइप, addrType के बराबर नहीं है.
other
सिस्टम या प्लैटफ़ॉर्म में कोई दूसरी गड़बड़ी हुई है

LwIP पर, इस तरीके को पहले से हासिल किए गए LwIP स्टैक लॉक के साथ कॉल नहीं किया जाना चाहिए.

BindIPv6LinkLocal

INET_ERROR BindIPv6LinkLocal(
  InterfaceId intf,
  IPAddress addr
)

रॉ एंडपॉइंट को तय इंटरफ़ेस इंडेक्स पर, आईपीवी6 लिंक-लोकल स्कोप पते से बाइंड करें.

साथ ही, लिंक पर मौजूद डेस्टिनेशन से पैकेट ट्रांसमिट करने के लिए, अलग-अलग आईपीवी6 सॉकेट विकल्प सेट करता है.

यह एंडपॉइंट को intf के बताए गए नेटवर्क इंटरफ़ेस पर, आईपीवी6 लिंक-लोकल पते addr से बाइंड करता है.

जानकारी
पैरामीटर
[in] intf
पते के दायरे की पहचान करने के लिए InterfaceId.
[in] addr
IPv6 लिंक-लोकल स्कोप IPAddress ऑब्जेक्ट.
पैरामीटर
[in] intf
नेटवर्क इंटरफ़ेस का इंडिकेटर
[in] addr
आईपी पता (इंटरफ़ेस का पता होना चाहिए)
रिटर्न वैल्यू
INET_NO_ERROR
सफल: एंडपॉइंट, पते से जुड़ा है
INET_ERROR_INCORRECT_STATE
एंडपॉइंट पहले से ही बाउंड है
INET_NO_MEMORY
एंडपॉइंट के लिए कम मेमोरी
INET_ERROR_WRONG_PROTOCOL_TYPE
addrType का मिलान IPVer से नहीं होता.
INET_ERROR_WRONG_ADDRESS_TYPE
addr, IPv6 लिंक का लोकल पता नहीं है या intf, INET_NULL_INTERFACEID है.
other
सिस्टम या प्लैटफ़ॉर्म में कोई दूसरी गड़बड़ी हुई है
लौटाए गए सामान
सफल होने पर INET_NO_ERROR या मैप न होने पर मैप की गई ओएस गड़बड़ी. पैरामीटर की अमान्य सूची की वजह से, INET_ERROR_WRONG_ADDRESS_TYPE हो सकता है. अगर रॉ एंडपॉइंट पहले से ही बाउंड है या सुन रहा है, तो INET_ERROR_ININTERNAL_STATE दिखाता है. एंडपॉइंट को आईपीवी6 लिंक-लोकल पते वाले इंटरफ़ेस से बाइंड करें.

LwIP पर, इस तरीके को पहले से हासिल किए गए LwIP स्टैक लॉक के साथ कॉल नहीं किया जाना चाहिए.

BindInterface

INET_ERROR BindInterface(
  IPAddressType addrType,
  InterfaceId intf
)

एंडपॉइंट को किसी नेटवर्क इंटरफ़ेस से बाइंड करें.

एंडपॉइंट को बताए गए नेटवर्क इंटरफ़ेस के आईपी पते से बाइंड करता है.

जानकारी
पैरामीटर
[in] addrType
आईपी पते का प्रोटोकॉल वर्शन.
[in] intf
नेटवर्क इंटरफ़ेस का इंडिकेटर.
रिटर्न वैल्यू
INET_NO_ERROR
सफल: एंडपॉइंट, पते से जुड़ा है
INET_NO_MEMORY
एंडपॉइंट के लिए कम मेमोरी
INET_ERROR_NOT_IMPLEMENTED
सिस्टम पर लागू करने की प्रक्रिया पूरी नहीं हुई है.
INET_ERROR_UNKNOWN_INTERFACE
कुछ प्लैटफ़ॉर्म पर, इंटरफ़ेस मौजूद नहीं होता.
other
सिस्टम या प्लैटफ़ॉर्म में कोई दूसरी गड़बड़ी हुई है

LwIP पर, इस तरीके को पहले से हासिल किए गए LwIP स्टैक लॉक के साथ कॉल नहीं किया जाना चाहिए.

बंद करें

void Close(
  void
)

एंडपॉइंट बंद करें.

अगर mState != kState_Closed, फिर एंडपॉइंट को बंद करता है, तो इसे कम्यूनिकेशन इवेंट के लिए ज़रूरी शर्तों को पूरा करने वाले एंडपॉइंट के सेट से हटा दिया जाता है.

LwIP सिस्टम पर, इस तरीके को पहले से हासिल किए गए LwIP स्टैक लॉक के साथ कॉल नहीं किया जाना चाहिए.

बिना किसी शुल्क के आज़माएं

void Free(
  void
)

एंडपॉइंट को बंद करें और उसकी मेमोरी को रीसाइकल करें.

ऑब्जेक्ट को उसके मेमोरी पूल में लौटाने के लिए, Close तरीके को शुरू करता है, फिर InetLayerBasis::Release तरीके को शुरू करता है.

LwIP सिस्टम पर, इस तरीके को पहले से हासिल किए गए LwIP स्टैक लॉक के साथ कॉल नहीं किया जाना चाहिए.

GetBoundInterface

InterfaceId GetBoundInterface(
  void
)

इस एंडपॉइंट पर बाउंड इंटरफ़ेस पाएं.

जानकारी
लौटाए गए सामान
InterfaceId बाउंड इंटरफ़ेस आईडी.

सुनें

INET_ERROR Listen(
  void
)

आईसीएमपी मैसेज पाने के लिए, एंडपॉइंट तैयार करें.

अगर mState पहले से kState_Listening है, तो कोई कार्रवाई नहीं की जाती. ऐसा न होने पर, mState को kState_Listening पर सेट किया जाता है और एंडपॉइंट को प्लैटफ़ॉर्म के सिमेंटिक के हिसाब से, ICMPv6 मैसेज पाने के लिए तैयार किया जाता है.

जानकारी
रिटर्न वैल्यू
INET_NO_ERROR
हमेशा वापस लौटे.

LwIP पर, इस तरीके को पहले से हासिल किए गए LwIP स्टैक लॉक के साथ कॉल नहीं किया जाना चाहिए

SendMsg

INET_ERROR SendMsg(
  const IPPacketInfo *pktInfo,
  Weave::System::PacketBuffer *msg,
  uint16_t sendFlags
)

तय किए गए डेस्टिनेशन पर आईसीएमपी मैसेज भेजें.

 Send the ICMP message \c msg using the destination information given in \c addr.

 Where (sendFlags & kSendFlag_RetainBuffer) != 0, calls
 Weave::System::PacketBuffer::Free on behalf of the caller, otherwise this
 method deep-copies \c msg into a fresh object, and queues that for
 transmission, leaving the original \c msg available after return.

जानकारी
पैरामीटर
[in] pktInfo
मैसेज के लिए डेस्टिनेशन की जानकारी
[in] msg
पैकेट बफ़र में यूडीपी मैसेज है
[in] sendFlags
वैकल्पिक ट्रांसमिट करने वाले विकल्प के फ़्लैग
रिटर्न वैल्यू
INET_NO_ERROR
सफल: msg ट्रांसमिट के लिए कतार में है.
INET_ERROR_NOT_SUPPORTED
सिस्टम अनुरोध की गई कार्रवाई का समर्थन नहीं करता.
INET_ERROR_WRONG_ADDRESS_TYPE
डेस्टिनेशन पते और बाउंड इंटरफ़ेस पते में मेल खाने वाले प्रोटोकॉल वर्शन या पता टाइप नहीं हैं.
INET_ERROR_MESSAGE_TOO_LONG
msg में पूरा आईसीएमपी मैसेज शामिल नहीं है.
INET_ERROR_OUTBOUND_MESSAGE_TRUNCATED
कुछ प्लैटफ़ॉर्म पर, msg का सिर्फ़ एक छोटा हिस्सा शेयर करने की सूची में मौजूद था.
other
सिस्टम या प्लैटफ़ॉर्म में कोई दूसरी गड़बड़ी हुई है

SendTo

INET_ERROR SendTo(
  IPAddress addr,
  Weave::System::PacketBuffer *msg,
  uint16_t sendFlags
)

SendTo(addr, INET_NULL_INTERFACEID, msg, sendFlags) के लिए एक समानार्थी शब्द.

SendTo

INET_ERROR SendTo(
  IPAddress addr,
  InterfaceId intfId,
  Weave::System::PacketBuffer *msg,
  uint16_t sendFlags
)

तय किए गए डेस्टिनेशन पते पर एक आईसीएमपी मैसेज भेजें.

 Send the ICMP message in \c msg to the destination given in \c addr.

 Where (sendFlags & kSendFlag_RetainBuffer) != 0, calls
 Weave::System::PacketBuffer::Free on behalf of the caller, otherwise this
 method deep-copies \c msg into a fresh object, and queues that for
 transmission, leaving the original \c msg available after return.

जानकारी
पैरामीटर
[in] addr
डेस्टिनेशन का आईपी पता
[in] intfId
एक वैकल्पिक नेटवर्क इंटरफ़ेस इंडिकेटर
[in] msg
पैकेट बफ़र में यूडीपी मैसेज है
[in] sendFlags
वैकल्पिक ट्रांसमिट करने वाले विकल्प के फ़्लैग
रिटर्न वैल्यू
INET_NO_ERROR
सफल: msg ट्रांसमिट के लिए कतार में है.
INET_ERROR_NOT_SUPPORTED
सिस्टम अनुरोध की गई कार्रवाई का समर्थन नहीं करता.
INET_ERROR_WRONG_ADDRESS_TYPE
डेस्टिनेशन पते और बाउंड इंटरफ़ेस पते में मेल खाने वाले प्रोटोकॉल वर्शन या पता टाइप नहीं हैं.
INET_ERROR_MESSAGE_TOO_LONG
msg में पूरा आईसीएमपी मैसेज शामिल नहीं है.
INET_ERROR_OUTBOUND_MESSAGE_TRUNCATED
कुछ प्लैटफ़ॉर्म पर, msg का सिर्फ़ एक छोटा हिस्सा शेयर करने की सूची में मौजूद था.
other
सिस्टम या प्लैटफ़ॉर्म में कोई दूसरी गड़बड़ी हुई है

SetICMPFilter

INET_ERROR SetICMPFilter(
  uint8_t numICMPTypes,
  const uint8_t *aICMPTypes
)

नेटवर्क स्टैक में ICMP6 फ़िल्टर पैरामीटर सेट करें.

aICMPTypes में मौजूद कोड के लिए, ICMPv6 फ़िल्टर करने वाले पैरामीटर को सिस्टम नेटवर्किंग स्टैक में मौजूद एंडपॉइंट पर लागू करें.

जानकारी
पैरामीटर
[in] numICMPTypes
aICMPTypes पर कलेक्शन की लंबाई
[in] aICMPTypes
फ़िल्टर करने के लिए, ICMPv6 टाइप कोड का सेट.
रिटर्न वैल्यू
INET_NO_ERROR
सफल: फ़िल्टर पैरामीटर सेट किया गया
INET_ERROR_NOT_IMPLEMENTED
तो सिस्टम,
INET_ERROR_WRONG_ADDRESS_TYPE
एंडपॉइंट, आईपीवी6 टाइप नहीं है
INET_ERROR_WRONG_PROTOCOL_TYPE
एंडपॉइंट, ICMP6 टाइप नहीं है
other
सिस्टम या प्लैटफ़ॉर्म में कोई दूसरी गड़बड़ी हुई है