nl:: اینت:: RawEndPoint
#include <src/inet/RawEndPoint.h>
اشیاء این کلاس نشان دهنده نقاط پایانی شبکه IP خام هستند.
خلاصه
Nest Inet Layer روشهایی را برای تعامل با نقاط پایانی شبکه IP (سوکتهای SOCK_RAW در لینوکس و سیستمهای مشتقشده از BSD) یا بلوکهای کنترل پروتکل خام LwIP کپسوله میکند، همانطور که سیستم بر این اساس پیکربندی میشود.
ارث
از: nl::Inet::IPEndPointBasis ارث می بردصفات عمومی | |
---|---|
IPProto | IPProtocol نسخه پروتکل پیام کنترل اینترنت (ICMP) |
IPVer | IPVersion نسخه پروتکل اینترنت |
توابع عمومی | |
---|---|
Bind (IPAddressType addrType, IPAddress addr, InterfaceId intfId) | نقطه پایانی را به یک آدرس IP رابط متصل کنید. |
BindIPv6LinkLocal (InterfaceId intf, IPAddress addr) | نقطه پایانی خام را به یک آدرس دامنه پیوندی IPv6 در نمایه رابط مشخص شده متصل کنید. |
BindInterface (IPAddressType addrType, InterfaceId intf) | نقطه پایانی را به یک رابط شبکه متصل کنید. |
Close (void) | void نقطه پایانی را ببندید. |
Free (void) | void نقطه پایانی را ببندید و حافظه آن را بازیافت کنید. |
GetBoundInterface (void) | InterfaceId رابط محدود را در این نقطه پایانی دریافت کنید. |
Listen (void) | نقطه پایانی را برای دریافت پیام های ICMP آماده کنید. |
SendMsg (const IPPacketInfo *pktInfo, Weave::System::PacketBuffer *msg, uint16_t sendFlags) | یک پیام ICMP به مقصد مشخص شده ارسال کنید. |
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) | یک پیام ICMP به آدرس مقصد مشخص شده ارسال کنید. |
SetICMPFilter (uint8_t numICMPTypes, const uint8_t *aICMPTypes) | پارامترهای فیلتر ICMP6 را در پشته شبکه تنظیم کنید. |
صفات عمومی
IPProto
IPProtocol IPProto
نسخه پروتکل پیام کنترل اینترنت (ICMP)
در حالی که این فیلد یک متغیر کلاس قابل تغییر است، اما تغییر ناپذیر کلاس است.
IPVer
IPVersion IPVer
نسخه پروتکل اینترنت
در حالی که این فیلد یک متغیر کلاس قابل تغییر است، اما تغییر ناپذیر کلاس است.
توابع عمومی
ببندید
INET_ERROR Bind( IPAddressType addrType, IPAddress addr, InterfaceId intfId )
نقطه پایانی را به یک آدرس IP رابط متصل کنید.
نقطه پایانی را به آدرس IP رابط شبکه مشخص شده متصل می کند.
جزئیات | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
پارامترها |
| ||||||||||||||
ارزش های بازگشتی |
|
در LwIP، این روش نباید با قفل پشته LwIP از قبل به دست آمده فراخوانی شود.
BindIPv6LinkLocal
INET_ERROR BindIPv6LinkLocal( InterfaceId intf, IPAddress addr )
نقطه پایانی خام را به یک آدرس دامنه پیوندی IPv6 در نمایه رابط مشخص شده متصل کنید.
همچنین گزینههای مختلف سوکت IPv6 را برای انتقال بستهها به و از مقصدهای روی پیوند تنظیم میکند.
نقطه پایانی را به IPv6 addr
آدرس محلی در رابط شبکه که با intf
نشان داده شده است متصل می کند.
جزئیات | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
پارامترها |
| ||||||||||||
پارامترها |
| ||||||||||||
ارزش های بازگشتی |
| ||||||||||||
برمی گرداند | INET_NO_ERROR در مورد موفقیت، یا یک خطای نقشهبرداری شده سیستم عامل در هنگام شکست. لیست پارامترهای نامعتبر می تواند منجر به INET_ERROR_WRONG_ADDRESS_TYPE شود. اگر نقطه پایانی خام قبلاً محدود شده است یا در حال گوش دادن است، INET_ERROR_INCORRECT_STATE را برمیگرداند. نقطه پایانی را به یک رابط IPv6 پیوند آدرس محلی متصل کنید. |
در LwIP، این روش نباید با قفل پشته LwIP از قبل به دست آمده فراخوانی شود.
BindInterface
INET_ERROR BindInterface( IPAddressType addrType, InterfaceId intf )
نقطه پایانی را به یک رابط شبکه متصل کنید.
نقطه پایانی را به آدرس IP رابط شبکه مشخص شده متصل می کند.
جزئیات | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
پارامترها |
| ||||||||||
ارزش های بازگشتی |
|
در 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 )
نقطه پایانی را برای دریافت پیام های ICMP آماده کنید.
اگر mState
از قبل kState_Listening
باشد، هیچ عملیاتی انجام نمیشود، در غیر این صورت mState
روی kState_Listening
تنظیم میشود و نقطه پایانی برای دریافت پیامهای ICMPv6، با توجه به معنایی پلتفرم، آماده میشود.
جزئیات | |||
---|---|---|---|
ارزش های بازگشتی |
|
در LwIP، این روش نباید با قفل پشته LwIP از قبل به دست آمده فراخوانی شود
ارسال پیام
INET_ERROR SendMsg( const IPPacketInfo *pktInfo, Weave::System::PacketBuffer *msg, uint16_t sendFlags )
یک پیام ICMP به مقصد مشخص شده ارسال کنید.
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.
جزئیات | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
پارامترها |
| ||||||||||||
ارزش های بازگشتی |
|
ارسال به
INET_ERROR SendTo( IPAddress addr, Weave::System::PacketBuffer *msg, uint16_t sendFlags )
مترادف SendTo(addr, INET_NULL_INTERFACEID, msg, sendFlags)
.
ارسال به
INET_ERROR SendTo( IPAddress addr, InterfaceId intfId, Weave::System::PacketBuffer *msg, uint16_t sendFlags )
یک پیام ICMP به آدرس مقصد مشخص شده ارسال کنید.
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.
جزئیات | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
پارامترها |
| ||||||||||||
ارزش های بازگشتی |
|
SetICMPFilter
INET_ERROR SetICMPFilter( uint8_t numICMPTypes, const uint8_t *aICMPTypes )
پارامترهای فیلتر ICMP6 را در پشته شبکه تنظیم کنید.
پارامترهای فیلتر ICMPv6 را برای کدهای موجود در aICMPTypes
در نقطه پایانی در پشته شبکه سیستم اعمال کنید.
جزئیات | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
پارامترها |
| ||||||||||
ارزش های بازگشتی |
|