nl:: Inet:: RAWEndPoint
#include <src/inet/RawEndPoint.h>
Các đối tượng của lớp này đại diện cho các điểm cuối mạng IP thô.
Tóm tắt
Nest Inet Source đóng gói các phương thức để tương tác với các điểm cuối mạng IP (socket cắm SOCK_RAW trên hệ thống Linux và BSD) hoặc các khối kiểm soát giao thức thô LwIP, vì hệ thống được định cấu hình phù hợp.
Tính kế thừa
Kế thừa từ: nl::Inet::IPEndPointBasis
Thuộc tính công khai |
|
---|---|
IPProto
|
IPProtocol
phiên bản của Giao thức thông báo kiểm soát Internet (ICMP)
|
IPVer
|
IPVersion
Phiên bản của giao thức Internet.
|
Hàm công khai |
|
---|---|
Bind(IPAddressType addrType, IPAddress addr, InterfaceId intfId)
|
Liên kết điểm cuối với một địa chỉ IP giao diện.
|
BindIPv6LinkLocal(InterfaceId intf, IPAddress addr)
|
Liên kết điểm cuối thô với địa chỉ phạm vi đường liên kết cục bộ IPv6 tại chỉ mục giao diện đã chỉ định.
|
BindInterface(IPAddressType addrType, InterfaceId intf)
|
Liên kết điểm cuối với giao diện mạng.
|
Close(void)
|
void
Đóng điểm cuối.
|
Free(void)
|
void
Đóng điểm cuối và tái chế bộ nhớ.
|
GetBoundInterface(void)
|
InterfaceId
Lấy giao diện liên kết trên điểm cuối này.
|
Listen(void)
|
Chuẩn bị điểm cuối để nhận thông báo ICMP.
|
SendMsg(const IPPacketInfo *pktInfo, Weave::System::PacketBuffer *msg, uint16_t sendFlags)
|
Gửi thông báo ICMP đến đích đến đã chỉ định.
|
SendTo(IPAddress addr, Weave::System::PacketBuffer *msg, uint16_t sendFlags)
|
Từ đồng nghĩa với
SendTo(addr, INET_NULL_INTERFACEID, msg, sendFlags) . |
SendTo(IPAddress addr, InterfaceId intfId, Weave::System::PacketBuffer *msg, uint16_t sendFlags)
|
Gửi tin nhắn ICMP đến địa chỉ đích được chỉ định.
|
SetICMPFilter(uint8_t numICMPTypes, const uint8_t *aICMPTypes)
|
Đặt thông số bộ lọc ICMP6 trong ngăn xếp mạng.
|
Thuộc tính công khai
IPProto
IPProtocol IPProto
phiên bản của Giao thức thông báo kiểm soát Internet (ICMP)
Trường này là một biến lớp có thể thay đổi, nhưng đây là một biến thể của lớp mà không thể sửa đổi được.
IPVer (IPVer)
IPVersion IPVer
Phiên bản của giao thức Internet.
Trường này là một biến lớp có thể thay đổi, nhưng đây là một biến thể của lớp mà không thể sửa đổi được.
Hàm công khai
Liên kết
INET_ERROR Bind( IPAddressType addrType, IPAddress addr, InterfaceId intfId )
Liên kết điểm cuối với một địa chỉ IP giao diện.
Liên kết điểm cuối với địa chỉ IP giao diện mạng đã chỉ định.
Thông tin chi tiết | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Các thông số |
|
||||||||||||||
Giá trị trả về |
|
Trên LwIP, phương thức này không được gọi bằng phương thức khóa ngăn xếp LwIP đã có.
BindIPv6LinkLocal
INET_ERROR BindIPv6LinkLocal( InterfaceId intf, IPAddress addr )
Liên kết điểm cuối thô với địa chỉ phạm vi đường liên kết cục bộ IPv6 tại chỉ mục giao diện đã chỉ định.
Đồng thời đặt nhiều tùy chọn cổng IPv6 phù hợp cho việc truyền gói đến và đi từ các đích đến của đường liên kết.
Liên kết điểm cuối với địa chỉ liên kết cục bộ IPv6 addr
trên giao diện mạng được biểu thị bằng intf
.
Thông tin chi tiết | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Các thông số |
|
||||||||||||
Các thông số |
|
||||||||||||
Giá trị trả về |
|
||||||||||||
Trả về |
INET_NO_ERROR thành công hoặc lỗi hệ điều hành được liên kết khi không thành công. Danh sách thông số không hợp lệ có thể dẫn đến INET_ERROR_WRONG_ADDRESS_TYPE. Nếu điểm cuối thô đã bị ràng buộc hoặc đang nghe, thì sẽ trả về INET_ERROR_INcorrect_STATE. Liên kết điểm cuối với một địa chỉ giao thức cục bộ liên kết IPv6.
|
Trên LwIP, phương thức này không được gọi bằng phương thức khóa ngăn xếp LwIP đã có.
Giao diện người dùng liên kết
INET_ERROR BindInterface( IPAddressType addrType, InterfaceId intf )
Liên kết điểm cuối với giao diện mạng.
Liên kết điểm cuối với địa chỉ IP giao diện mạng đã chỉ định.
Thông tin chi tiết | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Các thông số |
|
||||||||||
Giá trị trả về |
|
Trên LwIP, phương thức này không được gọi bằng phương thức khóa ngăn xếp LwIP đã có.
Đóng
void Close( void )
Đóng điểm cuối.
Nếu mState != kState_Closed
, sau đó đóng điểm cuối, xóa điểm cuối đó khỏi tập hợp các điểm cuối đủ điều kiện cho sự kiện liên lạc.
Trên hệ thống LwIP, phương thức này không được gọi bằng phương thức khóa ngăn xếp LwIP đã có.
Miễn phí
void Free( void )
Đóng điểm cuối và tái chế bộ nhớ.
Gọi phương thức Close
, sau đó gọi phương thức InetLayerBasis::Release
để trả lại đối tượng về bộ nhớ.
Trên hệ thống LwIP, phương thức này không được gọi bằng phương thức khóa ngăn xếp LwIP đã có.
GetBoundInterface
InterfaceId GetBoundInterface( void )
Lấy giao diện liên kết trên điểm cuối này.
Thông tin chi tiết | |
---|---|
Trả về |
UIId của giao diện liên kết.
|
Nghe
INET_ERROR Listen( void )
Chuẩn bị điểm cuối để nhận thông báo ICMP.
Nếu mState
đã là kState_Listening
, thì sẽ không có thao tác nào được thực hiện, nếu không, mState
được đặt thành kState_Listening
và điểm cuối được chuẩn bị để nhận thông báo ICMPv6, theo ngữ nghĩa của nền tảng.
Thông tin chi tiết | |||
---|---|---|---|
Giá trị trả về |
|
Trên LwIP, phương thức này không được gọi bằng phương thức khóa ngăn xếp LwIP đã có
Gửi tin nhắn
INET_ERROR SendMsg( const IPPacketInfo *pktInfo, Weave::System::PacketBuffer *msg, uint16_t sendFlags )
Gửi thông báo ICMP đến đích đến đã chỉ định.
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.
Thông tin chi tiết | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Các thông số |
|
||||||||||||
Giá trị trả về |
|
Gửi đến
INET_ERROR SendTo( IPAddress addr, Weave::System::PacketBuffer *msg, uint16_t sendFlags )
Từ đồng nghĩa với SendTo(addr, INET_NULL_INTERFACEID, msg, sendFlags)
.
Gửi đến
INET_ERROR SendTo( IPAddress addr, InterfaceId intfId, Weave::System::PacketBuffer *msg, uint16_t sendFlags )
Gửi tin nhắn ICMP đến địa chỉ đích được chỉ định.
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.
Thông tin chi tiết | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Các thông số |
|
||||||||||||
Giá trị trả về |
|
Bộ lọc SetICMP
INET_ERROR SetICMPFilter( uint8_t numICMPTypes, const uint8_t *aICMPTypes )
Đặt thông số bộ lọc ICMP6 trong ngăn xếp mạng.
Áp dụng các thông số lọc ICMPv6 cho các mã trong aICMPTypes
cho điểm cuối cơ bản trong ngăn xếp nối mạng của hệ thống.
Thông tin chi tiết | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Các thông số |
|
||||||||||
Giá trị trả về |
|