нл:: инет
Резюме
Определения типов | |
---|---|
InterfaceId | определение типаstruct 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 возвращает удобочитаемую строку 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::Inet::AsyncDNSResolverSockets | Это внутренний класс для InetLayer , предоставляющий вспомогательные API для разрешения асинхронной системы доменных имен (DNS) в InetLayer . |
nl::Inet::DNSResolver | Это внутренний класс для InetLayer , который обеспечивает абстракцию разрешения системы доменных имен (DNS) в InetLayer . |
nl::Inet::EndPointBasis | Основа классов конечных точек транспорта Интернета. |
nl:: Inet:: IP-адрес | Адрес интернет-протокола. |
nl::Inet::IPEndPointBasis | Объекты этого класса представляют конечные точки IP-протокола без создания экземпляров. |
nl::Inet::IPPacketInfo | Информация о входящем/исходящем сообщении/соединении. |
nl::Inet::IPPrefix | Префикс адреса интернет-протокола. |
nl::Inet::InetLayer | Это обеспечивает доступ к интернет-службам, включая таймеры, разрешение системы доменных имен (DNS), сетевой транспорт TCP, сетевой транспорт UDP и необработанный сетевой транспорт для одного потока. |
nl::Inet::InetLayerBasis | Это базовый класс объектов с подсчетом ссылок, управляемых объектом InetLayer . |
nl:: Inet:: InterfaceAddressIterator | Итератор для списка IP-адресов сетевого интерфейса системы. |
nl::Inet::InterfaceIterator | Итератор для списка сетевых интерфейсов системы. |
nl::Inet::RawEndPoint | Объекты этого класса представляют необработанные конечные точки IP-сети. |
nl::Inet::SocketEvents | Представляют набор событий ввода-вывода, запрошенных/ожидающих обработки на сокете. |
нл:: Инет:: TCPEndPoint | Объекты этого класса представляют конечные точки транспорта TCP. |
nl::Inet::TunEndPoint | Объекты этого класса представляют туннельные интерфейсы. |
nl::Inet::UDPEndPoint | Объекты этого класса представляют конечные точки транспорта UDP. |
Союзы | |
---|---|
nl::Inet::PeerSockAddr |
Пространства имен | |
---|---|
nl::Inet::Платформа |
Перечисления
@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-адресов.
IP-адрестипе
IPAddressType
Семейство адресов интернет-протокола.
Значения типа IPAddressType
возвращаются методом IPAddress::Type()
. Они указывают семейство адресов, связанное с использованием адреса.
IP-протокол
IPProtocol
IPV6MulticastGroup
IPV6MulticastGroup
Идентификаторы группы многоадресной рассылки интернет-протокола.
Значения типа IPV6MulticastGroup
используются для вызова метода IPAddress::MakeIPv6Multicast()
. Они обозначают выделенные идентификаторы групп, зарегистрированные IETF в IANA.
Характеристики | |
---|---|
kIPV6MulticastGroup_AllRouters | RFC 4291. |
IP-версия
IPVersion
Флаг многоадресной рассылки IPv6
IPv6MulticastFlag
Многоадресные флаги интернет-протокола v6.
Значения типа IPv6MulticastFlag
используются для вызова методов IPAddress::MakeIPv6Multicast()
. Они указывают тип создаваемого многоадресного IPv6-адреса. Эти номера зарегистрированы IETF в IANA.
IPv6MulticastScope
IPv6MulticastScope
Область адресов многоадресной рассылки интернет-протокола.
Значения типа IPv6MulticastScope
используются для вызова метода IPAddress::MakeIPv6Multicast()
. Они указывают маршрутизируемую область группы многоадресной рассылки, обозначенную результатом. Эти номера зарегистрированы IETF в IANA.
Определения типов
идентификатор интерфейса
struct netif * InterfaceId
Индикатор сетевых интерфейсов системы.
Переносимость зависит от того, чтобы никогда не видеть этот псевдоним. В будущем он может быть заменен конкретным непрозрачным классом.
Примечание. Термин «идентификатор интерфейса» также обычно относится к младшим 64 битам адреса IPv6 во всех соответствующих документах стандартов IETF, где часто используется аббревиатура «IID». В этом тексте термин «индикатор интерфейса» относится к значениям псевдонима этого типа.
Переменные
sIOCTLSокет
int sIOCTLSocket = -1
Функции
CheckMulticastGroupArgs
INET_ERROR CheckMulticastGroupArgs( InterfaceId aInterfaceId, const IPAddress & aAddress )
Закрыть IOCTLSocket
void CloseIOCTLSocket( void )
Закройте глобальный сокет, созданный GetIOCTLSocket
.
Эта функция предназначена для случаев, когда открытый глобальный сокет IOCTL регистрируется как утечка.
NB: эта функция НЕ является потокобезопасной по отношению к GetIOCTLSocket
.
FormatInetLayerError
bool FormatInetLayerError( char *buf, uint16_t bufSize, int32_t err )
При ошибке Inet Layer возвращает удобочитаемую строку C с завершающим нулем, описывающую ошибку.
Подробности | |||||||
---|---|---|---|---|---|---|---|
Параметры |
| ||||||
Возвращает | true Если строка описания была записана в предоставленный буфер. | ||||||
Возвращает | false Если предоставленная ошибка не была ошибкой Inet Layer. |
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.
Подробности | |||
---|---|---|---|
Параметры |
| ||
Возвращает | истина, если она попадает в перечисленный диапазон; в противном случае ложно. |
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 В случае успеха. |
Регистринетлайеррорформаттер
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 )