nl:: Inet
摘要
Typedefs |
|
---|---|
InterfaceId
|
typedefstruct netif *
系統網路介面的指標。 |
變數 |
|
---|---|
sIOCTLSocket = -1
|
int
|
函式 |
|
---|---|
CheckMulticastGroupArgs(InterfaceId aInterfaceId, const IPAddress & aAddress)
|
|
CloseIOCTLSocket(void)
|
void
關閉由
GetIOCTLSocket 建立的全域通訊端。 |
FormatInetLayerError(char *buf, uint16_t bufSize, int32_t err)
|
bool
如果發生 Inet Layer 錯誤,系統會傳回使用者可理解的 NULL 結尾 C 字串說明錯誤。
|
GetIOCTLSocket(void)
|
int
傳回適用於叫用特定網路 IOCTL 的全域一般用途通訊端。
|
GetInterfaceName(InterfaceId intfId, char *nameBuf, size_t nameBufSize)
|
NL_DLL_EXPORT INET_ERROR
取得網路介面的名稱。
|
INET_IsInetEvent(Weave::System::EventType aType)
|
bool
確認 System::EventType 是有效的 Inet 圖層事件類型。
|
InterfaceNameToId(const char *intfName, InterfaceId & intfId)
|
NL_DLL_EXPORT INET_ERROR
在網路介面清單中搜尋指定名稱。
|
LwIPBindInterface(struct raw_pcb *aRaw, InterfaceId intfId)
|
|
LwIPBindInterface(struct udp_pcb *aUDP, InterfaceId intfId)
|
|
NetmaskToPrefixLength(const uint8_t *netmask, uint16_t netmaskLen)
|
uint8_t
計算長度不定的網路遮罩的前置字串長度。
|
ParseHostAndPort(const char *aString, uint16_t aStringLen, const char *& aHost, uint16_t & aHostLen, uint16_t & aPort)
|
剖析使用者可理解的字串,其中包含主機或 IP 位址與選用的通訊埠號碼 (以「:」分隔),且支援下列格式:
|
ParseHostPortAndInterface(const char *aString, uint16_t aStringLen, const char *& aHost, uint16_t & aHostLen, uint16_t & aPort, const char *& aInterface, uint16_t & aInterfaceLen)
|
剖析使用者可理解的字串,其中包含主機或 IP 位址、選用通訊埠號碼 (以「:」分隔) 和選用的介面名稱 (以「'」分隔),並支援下列格式:
|
RegisterInetLayerErrorFormatter(void)
|
void
針對 Inet Layer 錯誤註冊文字錯誤格式設定工具。
|
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)
|
類別 |
|
---|---|
nl:: |
|
nl:: |
|
nl:: |
網際網路傳輸端點類別的基礎。 |
nl:: |
網際網路通訊協定位址。 |
nl:: |
這個類別的物件代表不穩定的 IP 通訊協定端點。 |
nl:: |
傳入/傳出訊息/連線的相關資訊。 |
nl:: |
網際網路通訊協定位址前置字串。 |
nl:: |
這樣就能透過單一執行緒使用網際網路服務,包括計時器、網域名稱系統 (DNS) 解析、TCP 網路傳輸、UDP 網路傳輸,以及原始網路傳輸等。 |
nl:: |
這是 InetLayer 物件管理的參照計數物件基礎類別。 |
nl:: |
系統網路介面 IP 位址清單的疊代器。 |
nl:: |
系統網路介面清單的疊代器。 |
nl:: |
這個類別的物件代表原始 IP 網路端點。 |
nl:: |
代表一組在通訊端要求/待處理的 I/O 事件。 |
nl:: |
這個類別的物件代表 TCP 傳輸端點。 |
nl:: |
這個類別的物件代表通道介面。 |
nl:: |
這個類別的物件代表 UDP 傳輸端點。 |
聯合工會 |
|
---|---|
nl:: |
命名空間 |
|
---|---|
nl:: |
列舉
7 次
@7
Inet 圖層事件類型定義。
屬性 | |
---|---|
kInetEvent_DNSResolveComplete
|
DNS 名稱解析完成的事件。 |
kInetEvent_RawDataReceived
|
透過 InetLayer 原始端點接收資料的事件。 |
kInetEvent_TCPConnectComplete
|
TCP 連線完成的事件。 |
kInetEvent_TCPConnectionReceived
|
TCP 連線接收的事件。 |
kInetEvent_TCPDataReceived
|
透過 TCP 連線接收資料的事件。 |
kInetEvent_TCPDataSent
|
透過 TCP 連線傳輸資料的事件。 |
kInetEvent_TCPError
|
TCP 連線發生錯誤的事件。 |
kInetEvent_TunDataReceived
|
在 Weave 隧道上接收資料的事件。 |
kInetEvent_UDPDataReceived
|
透過 UDP 接收資料的事件。 |
DNSOptions
DNSOptions
IP 位址解析執行方式的選項。
屬性 | |
---|---|
kDNSOption_AddrFamily_Any
|
請按照名稱伺服器傳回的順序,傳回 IPv4 和/或 IPv6 位址。 |
kDNSOption_AddrFamily_IPv4Only
|
僅傳回 IPv4 位址。 |
kDNSOption_AddrFamily_IPv4Preferred
|
傳回 IPv4 和/或 IPv6 位址,並優先列出 IPv4 位址。 |
kDNSOption_AddrFamily_IPv6Only
|
只會傳回 IPv6 位址, |
kDNSOption_AddrFamily_IPv6Preferred
|
傳回 IPv4 和/或 IPv6 位址,並優先列出 IPv6 位址。 |
kDNSOption_AddrFamily_Mask
|
位元在 DNSOptions 整數值內,代表所需位址系列。 |
kDNSOption_Flags_Mask
|
預留給標記的 DNSOptions 整數值內的位元。 |
kDNSOption_ValidFlags
|
所有有效的 DNSOption 旗標集。 |
IPAddressType
IPAddressType
網際網路通訊協定位址系列。
IPAddress::Type()
方法會傳回 IPAddressType
類型的值。可根據地址指出地址系列。
屬性 | |
---|---|
kIPAddressType_Any
|
未指定的網際網路位址 (與通訊協定版本無關) |
kIPAddressType_IPv4
|
網際網路通訊協定第 4 版。 |
kIPAddressType_IPv6
|
網際網路通訊協定第 6 版。 |
kIPAddressType_Unknown
|
未使用。 |
IPV6MulticastGroup
IPV6MulticastGroup
網際網路通訊協定多點傳播群組 ID。
IPV6MulticastGroup
類型的值用於呼叫 IPAddress::MakeIPv6Multicast()
方法。可用來指出 IETF 向 IANA 註冊的辨別群組 ID。
屬性 | |
---|---|
kIPV6MulticastGroup_AllRouters
|
RFC 4291 |
IPv6MulticastFlag
IPv6MulticastFlag
Internet Protocol v6 多點傳播標記,
IPv6MulticastFlag
類型的值會用來呼叫 IPAddress::MakeIPv6Multicast()
方法。用於指出要建立的 IPv6 多點傳播位址類型。這些號碼是由 IETF 向 IANA 註冊。
屬性 | |
---|---|
kIPv6MulticastFlag_Prefix
|
多點傳播位址 (1) 以網路前置字元為依據。 |
kIPv6MulticastFlag_Transient
|
多點傳播位址為 (1) 暫時 (即動態指派),而非 (0) 已知 (即 IANA 指派)。 |
IPv6MulticastScope
IPv6MulticastScope
網際網路通訊協定多點傳播位址範圍。
IPv6MulticastScope
類型的值用於呼叫 IPAddress::MakeIPv6Multicast()
方法。它們代表結果指定的多點傳播群組的可路由範圍。這些號碼是由 IETF 向 IANA 註冊。
屬性 | |
---|---|
kIPv6MulticastScope_Admin
|
運作範圍。 |
kIPv6MulticastScope_Global
|
全域範圍。 |
kIPv6MulticastScope_IPv4
|
運作範圍。 |
kIPv6MulticastScope_Interface
|
介面本機範圍。 |
kIPv6MulticastScope_Link
|
連結本機範圍。 |
kIPv6MulticastScope_Organization
|
機構-本機範圍。 |
kIPv6MulticastScope_Site
|
運作範圍。 |
Typedefs
InterfaceId
struct netif * InterfaceId
系統網路介面的指標。
可攜性取決於切勿使用這個別名。未來可能會替換為具體的不透明類別。
請注意:「介面 ID」一詞也通常在所有相關 IETF 標準文件中,通常都會參照「IID」縮寫中的 IPv6 位址較低 64 位元通常會用到在這段文字中,「介面指標」一詞參照這個類型別名的值。
變數
sIOCTLSocket
int sIOCTLSocket = -1
函式
CheckMulticastGroupArgs
INET_ERROR CheckMulticastGroupArgs( InterfaceId aInterfaceId, const IPAddress & aAddress )
CloseIOCTLSocket
void CloseIOCTLSocket( void )
關閉由 GetIOCTLSocket
建立的全域通訊端。
此函式適用於將全域 IOCTL 通訊端保持開啟的案例,會註冊為外洩。
注意:就 GetIOCTLSocket
而言,這個函式「不是」執行緒安全。
FormatInetLayerError
bool FormatInetLayerError( char *buf, uint16_t bufSize, int32_t err )
如果發生 Inet Layer 錯誤,系統會傳回使用者可理解的 NULL 結尾 C 字串說明錯誤。
詳細資料 | |||||||
---|---|---|---|---|---|---|---|
參數 |
|
||||||
傳回 |
如果說明字串寫入提供的緩衝區中,則為 true。
|
||||||
傳回 |
如果提供的錯誤不是 Inet Layer 錯誤,則為 false。
|
GetIOCTLSocket
int GetIOCTLSocket( void )
傳回適用於叫用特定網路 IOCTL 的全域一般用途通訊端。
這個函式在所有平台上都適用執行緒安全。
GetInterfaceName
NL_DLL_EXPORT INET_ERROR GetInterfaceName( InterfaceId intfId, char *nameBuf, size_t nameBufSize )
取得網路介面的名稱。
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.
詳細資料 | |||||||
---|---|---|---|---|---|---|---|
參數 |
|
||||||
傳回值 |
|
INET_IsInetEvent
bool INET_IsInetEvent( Weave::System::EventType aType )
確認 System::EventType 是有效的 Inet 圖層事件類型。
詳細資料 | |||
---|---|---|---|
參數 |
|
||
傳回 |
如果落在列舉範圍內為 true;否則為 false。
|
InterfaceNameToId
NL_DLL_EXPORT INET_ERROR InterfaceNameToId( const char *intfName, InterfaceId & intfId )
在網路介面清單中搜尋指定名稱。
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.
詳細資料 | |||||||
---|---|---|---|---|---|---|---|
參數 |
|
||||||
傳回值 |
|
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 )
計算長度不定的網路遮罩的前置字串長度。
ParseHostAndPort
INET_ERROR ParseHostAndPort( const char *aString, uint16_t aStringLen, const char *& aHost, uint16_t & aHostLen, uint16_t & aPort )
剖析使用者可理解的字串,其中包含主機或 IP 位址與選用的通訊埠號碼 (以「:」分隔),且支援下列格式:
: : - [
]:
詳細資料 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
參數 |
|
||||||||||
傳回 |
INET_ERROR_INVALID_HOST_NAME:如果要剖析的輸入內容長度為零或格式有誤。
|
||||||||||
傳回 |
INET_ERROR_HOST_NAME_TOO_LONG:如果主機名稱超過 253 個字元,
|
||||||||||
傳回 |
INET_NO_ERROR 即成功。
|
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 )
剖析使用者可理解的字串,其中包含主機或 IP 位址、選用通訊埠號碼 (以「:」分隔) 和選用的介面名稱 (以「'」分隔),並支援下列格式:
% : : % % : : % % - [
]: - [
]: %
詳細資料 | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
參數 |
|
||||||||||||||
傳回 |
INET_ERROR_INVALID_HOST_NAME:如果要剖析的輸入內容長度為零或格式有誤。
|
||||||||||||||
傳回 |
INET_ERROR_HOST_NAME_TOO_LONG:如果主機名稱超過 253 個字元,
|
||||||||||||||
傳回 |
INET_NO_ERROR 即成功。
|
RegisterInetLayerErrorFormatter
void RegisterInetLayerErrorFormatter( void )
針對 Inet Layer 錯誤註冊文字錯誤格式設定工具。
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 )