nl:: Inet
摘要
Typedefs |
|
---|---|
InterfaceId
|
typedefstruct netif *
系統網路介面的指標。 |
Variables |
|
---|---|
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:: |
這是 InetLayer 的內部類別,可提供 InetLayer 中的非同步網域名稱系統 (DNS) 解析輔助 API。 |
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
網際網路通訊協定位址系列。
IPAddressType
類型的值是由 IPAddress::Type()
方法傳回。它們表示與使用地址相關的地址所屬的系列。
屬性 | |
---|---|
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
網際網路通訊協定 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
|
領域本機 (「IPv4」) 範圍。 |
kIPv6MulticastScope_Interface
|
介面-本機範圍。 |
kIPv6MulticastScope_Link
|
連結本機範圍。 |
kIPv6MulticastScope_Organization
|
「機構-本機」範圍。 |
kIPv6MulticastScope_Site
|
領域本機範圍。 |
Typedefs
InterfaceId
struct netif * InterfaceId
系統網路介面的指標。
可攜性取決於從未見過這個別名。日後可能會以具體的不透明類別取代。
注意:在所有相關 IETF 標準文件中,「介面識別碼」通常是指 IPv6 位址的下限 64 位元,通常使用縮寫「IID」。在這段文字中,「介面指標」一詞是指這個類型別名的值。
Variables
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 )