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