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
เวอร์ชันของ Internet Protocol
|
ฟังก์ชันสาธารณะ |
|
---|---|
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
เวอร์ชันของ Internet Protocol
แม้ว่าช่องนี้จะเป็นตัวแปรคลาสที่เปลี่ยนแปลงได้ แต่ค่าจะเป็นค่าคงที่ของคลาสซึ่งจะไม่ได้รับการแก้ไข
ฟังก์ชันสาธารณะ
เชื่อมโยง
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 หากปลายทางแบบ Raw ถูกเชื่อมโยงอยู่แล้วหรือกำลังฟังอยู่ ระบบจะแสดงผล 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
กับปลายทางที่สำคัญในสแต็กเครือข่ายของระบบ
รายละเอียด | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
||||||||||
แสดงผลค่า |
|