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 lược
Nest Inet Layer đóng gói các phương thức tương tác với các điểm cuối mạng IP (ổ cắm SOCK_RAW trên hệ thống dẫn xuất Linux và BSD) hoặc các khối điều khiển giao thức thô LwIP, khi hệ thống được định cấu hình phù hợp.
Di sản
Kế thừa từ: nl :: Inet :: IPEndPointBasisThuộc tính công cộng | |
---|---|
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. |
Chức năng công cộng | |
---|---|
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 liên kết cục bộ IPv6 tại chỉ mục giao diện được 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ớ của nó. |
GetBoundInterface (void) | InterfaceId Nhận giao diện ràng buộc trên điểm cuối này. |
Listen (void) | Chuẩn bị điểm cuối để nhận tin nhắn ICMP. |
SendMsg (const IPPacketInfo *pktInfo, Weave::System::PacketBuffer *msg, uint16_t sendFlags) | Gửi tin nhắn ICMP đến điểm đến được 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 đã 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 cộng
IPProto
IPProtocol IPProto
phiên bản của Giao thức thông báo kiểm soát Internet (ICMP)
Trong khi trường này là một biến lớp có thể thay đổi, nó là một biến của lớp mà nó không được sửa đổi.
IPVer
IPVersion IPVer
Phiên bản của giao thức Internet.
Trong khi trường này là một biến lớp có thể thay đổi, nó là một biến của lớp mà nó không được sửa đổi.
Chức năng công cộng
Trói buộc
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 được chỉ định.
Chi tiết | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Thông số |
| ||||||||||||||
Giá trị trả lại |
|
Trên LwIP, phương thức này không được gọi với 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 liên kết cục bộ IPv6 tại chỉ mục giao diện được chỉ định.
Đồng thời đặt các tùy chọn ổ cắm IPv6 khác nhau thích hợp để truyền các gói đến và đi từ các điểm đến trên liên kết.
Liên kết với các thiết bị đầu cuối cho IPv6 link-local địa chỉ addr
trên giao diện mạng được chỉ định bởi intf
.
Chi tiết | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Thông số |
| ||||||||||||
Thông số |
| ||||||||||||
Giá trị trả lại |
| ||||||||||||
Lợi nhuận | INET_NO_ERROR nếu thành công hoặc lỗi hệ điều hành được ánh xạ khi thất bại. 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 lắng nghe, thì trả về INET_ERROR_INCORRECT_STATE. Liên kết điểm cuối với địa chỉ liên kết cục bộ IPv6 giao diện. |
Trên LwIP, phương thức này không được gọi với khóa ngăn xếp LwIP đã có.
BindInterface
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 được chỉ định.
Chi tiết | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Thông số |
| ||||||||||
Giá trị trả lại |
|
Trên LwIP, phương thức này không được gọi với khóa ngăn xếp LwIP đã có.
Đóng
void Close( void )
Đóng điểm cuối.
Nếu mState != kState_Closed
, thì đóng điểm cuối, xóa nó khỏi tập hợp các điểm cuối đủ điều kiện cho các sự kiện giao tiếp.
Trên hệ thống LwIP, phương thức này không được gọi với 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ớ của nó.
Gọi phương thức Close
, sau đó gọi phương thức InetLayerBasis::Release
để trả đối tượng về vùng nhớ của nó.
Trên hệ thống LwIP, phương thức này không được gọi với khóa ngăn xếp LwIP đã có.
GetBoundInterface
InterfaceId GetBoundInterface( void )
Nhận giao diện ràng buộc trên điểm cuối này.
Chi tiết | |
---|---|
Lợi nhuận | InterfaceId Id giao diện liên kết. |
Nghe
INET_ERROR Listen( void )
Chuẩn bị điểm cuối để nhận tin nhắn ICMP.
Nếu mState
đã là kState_Listening
thì không có thao tác nào được thực hiện, nếu không thì mState
được đặt thành kState_Listening
và điểm cuối được chuẩn bị để nhận các thông báo ICMPv6, theo ngữ nghĩa của nền tảng.
Chi tiết | |||
---|---|---|---|
Giá trị trả lại |
|
Trên LwIP, phương thức này không được gọi với khóa ngăn xếp LwIP đã có
SendMsg
INET_ERROR SendMsg( const IPPacketInfo *pktInfo, Weave::System::PacketBuffer *msg, uint16_t sendFlags )
Gửi tin nhắn ICMP đến điểm đến được 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.
Chi tiết | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Thông số |
| ||||||||||||
Giá trị trả lại |
|
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 đã 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.
Chi tiết | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Thông số |
| ||||||||||||
Giá trị trả lại |
|
SetICMPFilter
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 mạng hệ thống.
Chi tiết | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Thông số |
| ||||||||||
Giá trị trả lại |
|