nl:: Inet
Tóm tắt
Typedef |
|
---|---|
InterfaceId
|
typedefstruct netif *
Chỉ báo cho giao diện mạng của hệ thống. |
Biến |
|
---|---|
sIOCTLSocket = -1
|
int
|
Hàm |
|
---|---|
CheckMulticastGroupArgs(InterfaceId aInterfaceId, const IPAddress & aAddress)
|
|
CloseIOCTLSocket(void)
|
void
Đóng ổ cắm chung do
GetIOCTLSocket tạo. |
FormatInetLayerError(char *buf, uint16_t bufSize, int32_t err)
|
bool
Với lỗi Lớp Inet, hàm sẽ trả về một chuỗi C kết thúc bằng NULL (Rỗng) mà con người có thể đọc được, trong đó mô tả lỗi.
|
GetIOCTLSocket(void)
|
int
Trả về một ổ cắm chung dùng cho mục đích chung, hữu ích để gọi một số IOCL mạng nhất định.
|
GetInterfaceName(InterfaceId intfId, char *nameBuf, size_t nameBufSize)
|
NL_DLL_EXPORT INET_ERROR
Lấy tên của giao diện mạng.
|
INET_IsInetEvent(Weave::System::EventType aType)
|
bool
Kiểm tra để xác minh xem System::EventType có phải là loại sự kiện lớp Inet hợp lệ hay không.
|
InterfaceNameToId(const char *intfName, InterfaceId & intfId)
|
NL_DLL_EXPORT INET_ERROR
Tìm kiếm trong danh sách giao diện mạng cho tên được chỉ định.
|
LwIPBindInterface(struct raw_pcb *aRaw, InterfaceId intfId)
|
|
LwIPBindInterface(struct udp_pcb *aUDP, InterfaceId intfId)
|
|
NetmaskToPrefixLength(const uint8_t *netmask, uint16_t netmaskLen)
|
uint8_t
Tính độ dài tiền tố từ mặt nạ mạng có độ dài biến đổi.
|
ParseHostAndPort(const char *aString, uint16_t aStringLen, const char *& aHost, uint16_t & aHostLen, uint16_t & aPort)
|
Phân tích cú pháp một chuỗi mà con người đọc được chứa địa chỉ máy chủ lưu trữ hoặc IP và số cổng không bắt buộc (phân tách bằng dấu ":"), hỗ trợ các định dạng sau:
|
ParseHostPortAndInterface(const char *aString, uint16_t aStringLen, const char *& aHost, uint16_t & aHostLen, uint16_t & aPort, const char *& aInterface, uint16_t & aInterfaceLen)
|
Phân tích cú pháp chuỗi mà con người có thể đọc được chứa địa chỉ máy chủ lưu trữ hoặc IP, số cổng không bắt buộc (phân tách bằng dấu ":") và tên giao diện không bắt buộc (phân tách bằng dấu ":"), hỗ trợ các định dạng sau:
|
RegisterInetLayerErrorFormatter(void)
|
void
Đăng ký trình định dạng lỗi văn bản cho các lỗi Lớp Inet.
|
SocketsIPv4JoinLeaveMulticastGroup(int aSocket, InterfaceId aInterfaceId, const IPAddress & aAddress, int aCommand)
|
|
SocketsIPv6JoinLeaveMulticastGroup(int aSocket, InterfaceId aInterfaceId, const IPAddress & aAddress, int aCommand)
|
|
SocketsSetMulticastLoopback(int aSocket, bool aLoopback, int aProtocol, int aOption)
|
|
SocketsSetMulticastLoopback(int aSocket, IPVersion aIPVersion, bool aLoopback)
|
Lớp |
|
---|---|
nl:: |
Đây là một lớp nội bộ cho InetLayer cung cấp API trợ giúp để phân giải Hệ thống tên miền (DNS) không đồng bộ trong InetLayer. |
nl:: |
Đây là một lớp nội bộ của InetLayer cung cấp bản tóm tắt của hoạt động phân giải Hệ thống tên miền (DNS) trong InetLayer. |
nl:: |
Cơ sở của các lớp thiết bị đầu cuối truyền tải Internet. |
nl:: |
Địa chỉ giao thức Internet. |
nl:: |
Các đối tượng của lớp này đại diện cho các điểm cuối của giao thức IP không thể tạo thực thể. |
nl:: |
Thông tin về kết nối/tin nhắn đến/đi. |
nl:: |
Tiền tố địa chỉ giao thức Internet. |
nl:: |
Nhờ vậy, bạn có thể truy cập vào các dịch vụ Internet, trong đó có bộ tính giờ, hoạt động phân giải Hệ thống tên miền (DNS), truyền tải mạng TCP, truyền tải mạng UDP và truyền tải mạng thô, cho một luồng đơn. |
nl:: |
Đây là lớp cơ sở của các đối tượng được tính tham chiếu do đối tượng InetLayer quản lý. |
nl:: |
Biến lặp cho danh sách địa chỉ IP giao diện mạng của hệ thống. |
nl:: |
Biến lặp cho danh sách giao diện mạng của hệ thống. |
nl:: |
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ô. |
nl:: |
Biểu thị một tập hợp các sự kiện I/O được yêu cầu/đang chờ xử lý trên một ổ cắm. |
nl:: |
Các đối tượng của lớp này đại diện cho các điểm cuối truyền tải TCP. |
nl:: |
Các đối tượng của lớp này đại diện cho giao diện đường hầm. |
nl:: |
Các đối tượng của lớp này đại diện cho các điểm cuối truyền tải UDP. |
Liên đoàn |
|
---|---|
nl:: |
Không gian tên |
|
---|---|
nl:: |
Liệt kê
@7
@7
Định nghĩa các loại sự kiện của lớp Inet.
Thuộc tính | |
---|---|
kInetEvent_DNSResolveComplete
|
Sự kiện hoàn tất quá trình phân giải tên DNS. |
kInetEvent_RawDataReceived
|
Sự kiện nhận dữ liệu qua điểm cuối thô InetLayer. |
kInetEvent_TCPConnectComplete
|
Sự kiện để hoàn tất kết nối TCP. |
kInetEvent_TCPConnectionReceived
|
Sự kiện để nhận kết nối TCP. |
kInetEvent_TCPDataReceived
|
Sự kiện nhận dữ liệu qua kết nối TCP. |
kInetEvent_TCPDataSent
|
Sự kiện truyền dữ liệu qua kết nối TCP. |
kInetEvent_TCPError
|
Sự kiện cho một lỗi khi kết nối TCP. |
kInetEvent_TunDataReceived
|
Sự kiện nhận dữ liệu qua đường hầm Weave. |
kInetEvent_UDPDataReceived
|
Sự kiện nhận dữ liệu qua UDP. |
DNSOptions
DNSOptions
Các tuỳ chọn kiểm soát cách thực hiện quá trình phân giải địa chỉ IP.
Thuộc tính | |
---|---|
kDNSOption_AddrFamily_Any
|
Trả về địa chỉ IPv4 và/hoặc IPv6 theo thứ tự do máy chủ định danh trả về. |
kDNSOption_AddrFamily_IPv4Only
|
Chỉ trả về địa chỉ IPv4. |
kDNSOption_AddrFamily_IPv4Preferred
|
Trả về địa chỉ IPv4 và/hoặc IPv6, trong đó địa chỉ IPv4 được liệt kê đầu tiên. |
kDNSOption_AddrFamily_IPv6Only
|
Chỉ trả về địa chỉ IPv6. |
kDNSOption_AddrFamily_IPv6Preferred
|
Trả về địa chỉ IPv4 và/hoặc IPv6, trong đó địa chỉ IPv6 được liệt kê đầu tiên. |
kDNSOption_AddrFamily_Mask
|
Các bit trong một giá trị số nguyên DNSOptions đại diện cho nhóm địa chỉ mong muốn. |
kDNSOption_Flags_Mask
|
Các bit trong một giá trị số nguyên DNSOptions dành riêng cho cờ. |
kDNSOption_ValidFlags
|
Bộ tất cả cờ DNSOption hợp lệ. |
IPAddressType
IPAddressType
Họ địa chỉ giao thức Internet.
Phương thức IPAddress::Type()
trả về các giá trị của loại IPAddressType
. Các phần tử này cho biết nhóm địa chỉ đòi hỏi theo việc sử dụng địa chỉ.
Thuộc tính | |
---|---|
kIPAddressType_Any
|
Địa chỉ Internet không xác định (độc lập với phiên bản giao thức) |
kIPAddressType_IPv4
|
Giao thức Internet phiên bản 4. |
kIPAddressType_IPv6
|
Giao thức Internet phiên bản 6. |
kIPAddressType_Unknown
|
Không được sử dụng. |
IPProtocol
IPProtocol
Số lượng của một số giao thức trong nhóm IP.
Thuộc tính | |
---|---|
kIPProtocol_ICMPv4
|
ICMPv4. |
kIPProtocol_ICMPv6
|
ICMPv6. |
IPV6MulticastGroup
IPV6MulticastGroup
Giá trị nhận dạng nhóm truyền đa hướng của giao thức Internet.
Các giá trị của loại IPV6MulticastGroup
được dùng để gọi phương thức IPAddress::MakeIPv6Multicast()
. Chúng biểu thị các giá trị nhận dạng nhóm phân biệt do IETF đăng ký với IANA.
Thuộc tính | |
---|---|
kIPV6MulticastGroup_AllRouters
|
RFC 4291. |
IPVersion
IPVersion
Phiên bản của giao thức IP đang được sử dụng.
Thuộc tính | |
---|---|
kIPVersion_4
|
IPv4. |
kIPVersion_6
|
IPv6. |
IPv6MulticastFlag
IPv6MulticastFlag
Cờ đa hướng của giao thức Internet v6.
Giá trị của loại IPv6MulticastFlag
được dùng để gọi các phương thức IPAddress::MakeIPv6Multicast()
. Chúng cho biết loại địa chỉ đa hướng IPv6 cần tạo. Các số này do IETF đăng ký với IANA.
Thuộc tính | |
---|---|
kIPv6MulticastFlag_Prefix
|
Địa chỉ phát đa hướng là (1) dựa trên tiền tố mạng. |
kIPv6MulticastFlag_Transient
|
Địa chỉ đa hướng là (1) tạm thời (nghĩa là được gán động) thay vì (0) phổ biến (nghĩa là do IANA chỉ định). |
IPv6MulticastScope
IPv6MulticastScope
Phạm vi địa chỉ đa hướng của giao thức Internet.
Các giá trị của loại IPv6MulticastScope
được dùng để gọi phương thức IPAddress::MakeIPv6Multicast()
. Các tham số này cho biết phạm vi có thể định tuyến của nhóm truyền đa hướng được chỉ định trong kết quả. Các số này do IETF đăng ký với IANA.
Thuộc tính | |
---|---|
kIPv6MulticastScope_Admin
|
Phạm vi cục bộ. |
kIPv6MulticastScope_Global
|
Phạm vi trên toàn cầu. |
kIPv6MulticastScope_IPv4
|
Phạm vi vùng cục bộ ("IPv4"). |
kIPv6MulticastScope_Interface
|
Phạm vi giao diện cục bộ. |
kIPv6MulticastScope_Link
|
Phạm vi cục bộ của đường liên kết. |
kIPv6MulticastScope_Organization
|
Phạm vi tổ chức tại địa phương. |
kIPv6MulticastScope_Site
|
Phạm vi cục bộ. |
Typedef
InterfaceId
struct netif * InterfaceId
Chỉ báo cho giao diện mạng của hệ thống.
Khả năng có thể di chuyển phụ thuộc vào việc không bao giờ chứng kiến bí danh này. Trong tương lai, hệ thống có thể thay thế lớp này bằng một lớp mờ cụ thể.
Lưu ý: Cụm từ "giá trị nhận dạng giao diện" cũng thường đề cập đến 64 bit thấp hơn của địa chỉ IPv6 trong tất cả các tài liệu tiêu chuẩn IETF có liên quan, trong đó chữ viết tắt "IID" thường được sử dụng. Trong văn bản này, thuật ngữ "chỉ báo giao diện" tham chiếu đến các giá trị của loại bí danh này.
Biến
sIOCTLSocket
int sIOCTLSocket = -1
Hàm
CheckMulticastGroupArgs
INET_ERROR CheckMulticastGroupArgs( InterfaceId aInterfaceId, const IPAddress & aAddress )
CloseIOCTLSocket
void CloseIOCTLSocket( void )
Đóng ổ cắm chung do GetIOCTLSocket
tạo.
Hàm này được cung cấp cho các trường hợp để ổ cắm Ioctal chung mở sẽ được ghi lại là một sự cố rò rỉ.
Lưu ý: Hàm này KHÔNG an toàn cho luồng đối với GetIOCTLSocket
.
FormatInetLayerError
bool FormatInetLayerError( char *buf, uint16_t bufSize, int32_t err )
Với lỗi Lớp Inet, hàm sẽ trả về một chuỗi C kết thúc bằng NULL (Rỗng) mà con người có thể đọc được, trong đó mô tả lỗi.
Thông tin chi tiết | |||||||
---|---|---|---|---|---|---|---|
Tham số |
|
||||||
Trả về |
true Nếu một chuỗi mô tả được ghi vào vùng đệm đã cung cấp.
|
||||||
Trả về |
false Nếu lỗi đã cung cấp không phải là lỗi Lớp Inet.
|
GetIOCTLSocket
int GetIOCTLSocket( void )
Trả về một ổ cắm chung dùng cho mục đích chung, hữu ích để gọi một số IOCL mạng nhất định.
Hàm này an toàn cho luồng trên tất cả nền tảng.
GetInterfaceName
NL_DLL_EXPORT INET_ERROR GetInterfaceName( InterfaceId intfId, char *nameBuf, size_t nameBufSize )
Lấy tên của giao diện mạng.
Writes the name of the network interface as \c NUL terminated text string at \c nameBuf. The name of the unspecified network interface is the empty string.
Thông tin chi tiết | |||||||
---|---|---|---|---|---|---|---|
Tham số |
|
||||||
Giá trị trả về |
|
INET_IsInetEvent
bool INET_IsInetEvent( Weave::System::EventType aType )
Kiểm tra để xác minh xem System::EventType có phải là loại sự kiện lớp Inet hợp lệ hay không.
Thông tin chi tiết | |||
---|---|---|---|
Tham số |
|
||
Trả về |
true nếu thuộc phạm vi được liệt kê; ngược lại sẽ là false.
|
InterfaceNameToId
NL_DLL_EXPORT INET_ERROR InterfaceNameToId( const char *intfName, InterfaceId & intfId )
Tìm kiếm trong danh sách giao diện mạng cho tên được chỉ định.
On LwIP, this function must be called with the LwIP stack lock acquired. The \c intfId parameter is not updated unless the value returned is \c INET_NO_ERROR. It should be initialized with \c INET_NULL_INTERFACEID before calling this function.
Thông tin chi tiết | |||||||
---|---|---|---|---|---|---|---|
Tham số |
|
||||||
Giá trị trả về |
|
LwIPBindInterface
INET_ERROR LwIPBindInterface( struct raw_pcb *aRaw, InterfaceId intfId )
LwIPBindInterface
INET_ERROR LwIPBindInterface( struct udp_pcb *aUDP, InterfaceId intfId )
NetmaskToPrefixLength
uint8_t NetmaskToPrefixLength( const uint8_t *netmask, uint16_t netmaskLen )
Tính độ dài tiền tố từ mặt nạ mạng có độ dài biến đổi.
ParseHostAndPort
INET_ERROR ParseHostAndPort( const char *aString, uint16_t aStringLen, const char *& aHost, uint16_t & aHostLen, uint16_t & aPort )
Phân tích cú pháp một chuỗi mà con người đọc được chứa địa chỉ máy chủ lưu trữ hoặc IP và số cổng không bắt buộc (phân tách bằng dấu ":"), hỗ trợ các định dạng sau:
: : - [
]:
Thông tin chi tiết | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Tham số |
|
||||||||||
Trả về |
INET_ERROR_INVALID_HOST_NAME Nếu dữ liệu nhập cần được phân tích cú pháp có độ dài bằng 0 hoặc không đúng định dạng.
|
||||||||||
Trả về |
INET_ERROR_HOST_NAME_TOO_LONG Nếu tên máy chủ lưu trữ vượt quá 253 ký tự.
|
||||||||||
Trả về |
INET_NO_ERROR Khi thành công.
|
ParseHostPortAndInterface
INET_ERROR ParseHostPortAndInterface( const char *aString, uint16_t aStringLen, const char *& aHost, uint16_t & aHostLen, uint16_t & aPort, const char *& aInterface, uint16_t & aInterfaceLen )
Phân tích cú pháp chuỗi mà con người có thể đọc được chứa địa chỉ máy chủ lưu trữ hoặc IP, số cổng không bắt buộc (phân tách bằng dấu ":") và tên giao diện không bắt buộc (phân tách bằng dấu ":"), hỗ trợ các định dạng sau:
% : : % % : : % % - [
]: - [
]: %
Thông tin chi tiết | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Tham số |
|
||||||||||||||
Trả về |
INET_ERROR_INVALID_HOST_NAME Nếu dữ liệu nhập cần được phân tích cú pháp có độ dài bằng 0 hoặc không đúng định dạng.
|
||||||||||||||
Trả về |
INET_ERROR_HOST_NAME_TOO_LONG Nếu tên máy chủ lưu trữ vượt quá 253 ký tự.
|
||||||||||||||
Trả về |
INET_NO_ERROR Khi thành công.
|
RegisterInetLayerErrorFormatter
void RegisterInetLayerErrorFormatter( void )
Đăng ký trình định dạng lỗi văn bản cho các lỗi Lớp Inet.
SocketsIPv4JoinLeaveMulticastGroup
INET_ERROR SocketsIPv4JoinLeaveMulticastGroup( int aSocket, InterfaceId aInterfaceId, const IPAddress & aAddress, int aCommand )
SocketsIPv6JoinLeaveMulticastGroup
INET_ERROR SocketsIPv6JoinLeaveMulticastGroup( int aSocket, InterfaceId aInterfaceId, const IPAddress & aAddress, int aCommand )
SocketsSetMulticastLoopback
INET_ERROR SocketsSetMulticastLoopback( int aSocket, bool aLoopback, int aProtocol, int aOption )
SocketsSetMulticastLoopback
INET_ERROR SocketsSetMulticastLoopback( int aSocket, IPVersion aIPVersion, bool aLoopback )