нл:: Инет:: RawEndPoint
#include <src/inet/RawEndPoint.h>
Объекты этого класса представляют конечные точки необработанной IP-сети.
Краткое содержание
Nest Inet Layer инкапсулирует методы взаимодействия с конечными точками IP-сети (сокеты SOCK_RAW в системах на базе Linux и BSD) или блоки управления необработанным протоколом LwIP, если система настроена соответствующим образом.
Наследование
Наследуется от: nl::Inet::IPEndPointBasisПубличные атрибуты | |
---|---|
IPProto | IPProtocol версия протокола управляющих сообщений Интернета (ICMP) |
IPVer | IPVersion Версия интернет-протокола. |
Общественные функции | |
---|---|
Bind (IPAddressType addrType, IPAddress addr, InterfaceId intfId) | Привяжите конечную точку к IP-адресу интерфейса. |
BindIPv6LinkLocal (InterfaceId intf, IPAddress addr) | Привяжите необработанную конечную точку к адресу локальной области канала IPv6 по указанному индексу интерфейса. |
BindInterface (IPAddressType addrType, InterfaceId intf) | Привяжите конечную точку к сетевому интерфейсу. |
Close (void) | void Закройте конечную точку. |
Free (void) | void Закройте конечную точку и перезапустите ее память. |
GetBoundInterface (void) | InterfaceId Получите связанный интерфейс на этой конечной точке. |
Listen (void) | Подготовьте конечную точку для приема сообщений ICMP. |
SendMsg (const IPPacketInfo *pktInfo, Weave::System::PacketBuffer *msg, uint16_t sendFlags) | Отправьте ICMP-сообщение в указанный пункт назначения. |
SendTo ( IPAddress addr, Weave::System::PacketBuffer *msg, uint16_t sendFlags) | Синоним SendTo(addr, INET_NULL_INTERFACEID, msg, sendFlags) . |
SendTo ( IPAddress addr, InterfaceId intfId, Weave::System::PacketBuffer *msg, uint16_t sendFlags) | Отправьте ICMP-сообщение на указанный адрес назначения. |
SetICMPFilter (uint8_t numICMPTypes, const uint8_t *aICMPTypes) | Установите параметры фильтра ICMP6 в сетевом стеке. |
Публичные атрибуты
IPПрото
IPProtocol IPProto
версия протокола управляющих сообщений Интернета (ICMP)
Хотя это поле является изменяемой переменной класса, оно является инвариантом класса, который нельзя изменить.
IPVer
IPVersion IPVer
Версия интернет-протокола.
Хотя это поле является изменяемой переменной класса, оно является инвариантом класса, который нельзя изменить.
Общественные функции
Связывать
INET_ERROR Bind( IPAddressType addrType, IPAddress addr, InterfaceId intfId )
Привяжите конечную точку к IP-адресу интерфейса.
Привязывает конечную точку к указанному IP-адресу сетевого интерфейса.
Подробности | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Параметры |
| ||||||||||||||
Возвращаемые значения |
|
В LwIP этот метод нельзя вызывать с уже полученной блокировкой стека LwIP.
BindIPv6LinkLocal
INET_ERROR BindIPv6LinkLocal( InterfaceId intf, IPAddress addr )
Привяжите необработанную конечную точку к адресу локальной области канала IPv6 по указанному индексу интерфейса.
Также устанавливает различные параметры сокета IPv6, подходящие для передачи пакетов в пункты назначения и обратно.
Привязывает конечную точку к локальному адресу канала IPv6 addr
на сетевом интерфейсе, указанном intf
.
Подробности | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Параметры |
| ||||||||||||
Параметры |
| ||||||||||||
Возвращаемые значения |
| ||||||||||||
Возврат | INET_NO_ERROR в случае успеха или ошибка сопоставленной ОС в случае сбоя. Недопустимый список параметров может привести к INET_ERROR_WRONG_ADDRESS_TYPE. Если необработанная конечная точка уже привязана или прослушивается, возвращается INET_ERROR_INCORRECT_STATE. Привяжите конечную точку к локальному адресу канала IPv6 интерфейса. |
В LwIP этот метод нельзя вызывать с уже полученной блокировкой стека LwIP.
BindИнтерфейс
INET_ERROR BindInterface( IPAddressType addrType, InterfaceId intf )
Привяжите конечную точку к сетевому интерфейсу.
Привязывает конечную точку к указанному IP-адресу сетевого интерфейса.
Подробности | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Параметры |
| ||||||||||
Возвращаемые значения |
|
В LwIP этот метод нельзя вызывать с уже полученной блокировкой стека LwIP.
Закрывать
void Close( void )
Закройте конечную точку.
Если mState != kState_Closed
, то закрывает конечную точку, удаляя ее из набора конечных точек, имеющих право на события связи.
В системах LwIP этот метод нельзя вызывать с уже полученной блокировкой стека LwIP.
Бесплатно
void Free( void )
Закройте конечную точку и перезапустите ее память.
Вызывает метод Close
, затем вызывает метод InetLayerBasis::Release
, чтобы вернуть объект в его пул памяти.
В системах LwIP этот метод нельзя вызывать с уже полученной блокировкой стека LwIP.
GetBoundИнтерфейс
InterfaceId GetBoundInterface( void )
Получите связанный интерфейс на этой конечной точке.
Подробности | |
---|---|
Возврат | InterfaceId Идентификатор связанного интерфейса. |
Слушать
INET_ERROR Listen( void )
Подготовьте конечную точку для приема сообщений ICMP.
Если mState
уже имеет kState_Listening
, то никакая операция не выполняется, в противном случае mState
устанавливается kState_Listening
, и конечная точка готовится к приему сообщений ICMPv6 в соответствии с семантикой платформы.
Подробности | |||
---|---|---|---|
Возвращаемые значения |
|
В LwIP этот метод нельзя вызывать с уже полученной блокировкой стека LwIP.
ОтправитьСообщение
INET_ERROR SendMsg( const IPPacketInfo *pktInfo, Weave::System::PacketBuffer *msg, uint16_t sendFlags )
Отправьте ICMP-сообщение в указанный пункт назначения.
Send the ICMP message \c msg using the destination information given in \c addr. Where (sendFlags & kSendFlag_RetainBuffer) != 0, calls Weave::System::PacketBuffer::Free on behalf of the caller, otherwise this method deep-copies \c msg into a fresh object, and queues that for transmission, leaving the original \c msg available after return.
Подробности | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Параметры |
| ||||||||||||
Возвращаемые значения |
|
Отправить
INET_ERROR SendTo( IPAddress addr, Weave::System::PacketBuffer *msg, uint16_t sendFlags )
Синоним SendTo(addr, INET_NULL_INTERFACEID, msg, sendFlags)
.
Отправить
INET_ERROR SendTo( IPAddress addr, InterfaceId intfId, Weave::System::PacketBuffer *msg, uint16_t sendFlags )
Отправьте ICMP-сообщение на указанный адрес назначения.
Send the ICMP message in \c msg to the destination given in \c addr. Where (sendFlags & kSendFlag_RetainBuffer) != 0, calls Weave::System::PacketBuffer::Free on behalf of the caller, otherwise this method deep-copies \c msg into a fresh object, and queues that for transmission, leaving the original \c msg available after return.
Подробности | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Параметры |
| ||||||||||||
Возвращаемые значения |
|
УстановитьICMPFilter
INET_ERROR SetICMPFilter( uint8_t numICMPTypes, const uint8_t *aICMPTypes )
Установите параметры фильтра ICMP6 в сетевом стеке.
Примените параметры фильтрации ICMPv6 для кодов в aICMPTypes
к базовой конечной точке в системном сетевом стеке.
Подробности | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Параметры |
| ||||||||||
Возвращаемые значения |
|