nl:: Inet:: RawEndPoint
#include <src/inet/RawEndPoint.h>
ออบเจ็กต์ของคลาสนี้แสดงถึงปลายทางเครือข่าย IP ดิบ
สรุป
Nest Inet Layer สรุปวิธีการในการโต้ตอบกับปลายทางเครือข่าย IP (ซ็อกเก็ต SOCK_RAW ในระบบที่ได้รับ Linux และ BSD) หรือบล็อกการควบคุมโปรโตคอลดิบ LwIP เนื่องจากมีการกำหนดค่าของระบบให้สอดคล้องกัน
การสืบทอด
รับค่าจาก: nl::Inet::IPEndPointBasis
แอตทริบิวต์สาธารณะ |
|
|---|---|
IPProto
|
IPProtocol
เวอร์ชันของ Internet Control Message Protocol (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
เวอร์ชันของ Internet Control Message Protocol (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 แล้ว
SendMsg
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.
| รายละเอียด | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| พารามิเตอร์ |
|
||||||||||||
| ผลลัพธ์ |
|
||||||||||||
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 )
ส่งข้อความ 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 กับปลายทางเบื้องหลังในสแต็กเครือข่ายของระบบ
| รายละเอียด | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| พารามิเตอร์ |
|
||||||||||
| ผลลัพธ์ |
|
||||||||||