Google은 흑인 공동체를 위한 인종적 평등을 추구하기 위해 노력하고 있습니다. 자세히 알아보기

nl :: Inet

요약

열거 형

@7 {
kInetEvent_TCPConnectComplete = _INET_CONFIG_EVENT(0),
kInetEvent_TCPConnectionReceived = _INET_CONFIG_EVENT(1),
kInetEvent_TCPDataReceived = _INET_CONFIG_EVENT(2),
kInetEvent_TCPDataSent = _INET_CONFIG_EVENT(3),
kInetEvent_TCPError = _INET_CONFIG_EVENT(4),
kInetEvent_UDPDataReceived = _INET_CONFIG_EVENT(5),
kInetEvent_DNSResolveComplete = _INET_CONFIG_EVENT(6),
kInetEvent_TunDataReceived = _INET_CONFIG_EVENT(7),
kInetEvent_RawDataReceived = _INET_CONFIG_EVENT(8)
}
열거 형
Inet 계층 이벤트 유형 정의.
DNSOptions {
kDNSOption_AddrFamily_Mask = 0x07,
kDNSOption_Flags_Mask = 0xF8,
kDNSOption_AddrFamily_Any = 0x00,
kDNSOption_AddrFamily_IPv4Only = 0x01,
kDNSOption_AddrFamily_IPv4Preferred = 0x02,
kDNSOption_AddrFamily_IPv6Only = 0x03,
kDNSOption_AddrFamily_IPv6Preferred = 0x04,
kDNSOption_ValidFlags = 0
}
열거 형
IP 주소 확인이 수행되는 방법을 제어하는 ​​옵션입니다.
IPAddressType {
kIPAddressType_Unknown = 0,
kIPAddressType_IPv4 = 1,
kIPAddressType_IPv6 = 2,
kIPAddressType_Any = 3
}
열거 형
인터넷 프로토콜 주소 계열.
IPProtocol {
kIPProtocol_ICMPv6 = 58,
kIPProtocol_ICMPv4 = 1
}
열거 형
IP 계열에있는 일부 프로토콜의 수.
IPV6MulticastGroup {
kIPV6MulticastGroup_AllRouters = 2
}
열거 형
인터넷 프로토콜 멀티 캐스트 그룹 식별자.
IPVersion {
kIPVersion_6 = 6,
kIPVersion_4 = 4
}
열거 형
사용중인 IP 프로토콜의 버전입니다.
IPv6MulticastFlag {
kIPv6MulticastFlag_Transient = 0x01,
kIPv6MulticastFlag_Prefix = 0x02
}
열거 형
인터넷 프로토콜 v6 멀티 캐스트 플래그.
IPv6MulticastScope {
kIPv6MulticastScope_Interface = 1,
kIPv6MulticastScope_Link = 2,
kIPv6MulticastScope_IPv4 = 3,
kIPv6MulticastScope_Admin = 4,
kIPv6MulticastScope_Site = 5,
kIPv6MulticastScope_Organization = 8,
kIPv6MulticastScope_Global = 14
}
열거 형
인터넷 프로토콜 멀티 캐스트 주소 범위.

Typedef

InterfaceId typedef
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 오류가 주어지면 오류를 설명하는 사람이 읽을 수있는 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 :: INET :: AsyncDNSResolverSockets

이에 내부 클래스입니다 InetLayer 에서 비동기 도메인 이름 시스템 (DNS) 해상도 도우미 API를 제공 InetLayer을 .

NL :: INET :: DNSResolver

이에 내부 클래스입니다 InetLayer 의 도메인 이름 시스템 (DNS) 해상도의 추상화를 제공 InetLayer을 .

NL :: INET :: EndPointBasis

인터넷 전송 엔드 포인트 클래스의 기반.

NL :: INET ::하여 IPAddress

인터넷 프로토콜 주소.

NL :: INET :: IPEndPointBasis

이 클래스의 개체는 인스턴스화 할 수없는 IP 프로토콜 끝점을 나타냅니다.

NL :: INET :: IPPacketInfo

수신 / 발신 메시지 / 연결에 대한 정보입니다.

NL :: INET :: IPPrefix

인터넷 프로토콜 주소 접두사.

NL :: INET :: InetLayer

이를 통해 단일 스레드에 대해 타이머, DNS (Domain Name System) 확인, TCP 네트워크 전송, UDP 네트워크 전송 및 원시 네트워크 전송을 비롯한 인터넷 서비스에 액세스 할 수 있습니다.

NL :: INET :: InetLayerBasis

이것은 의해 관리되는 레퍼런스 카운트 된 객체의 기본 클래스 InetLayer의 개체.

NL :: INET :: InterfaceAddressIterator

시스템 네트워크 인터페이스 IP 주소 목록의 반복자입니다.

NL :: INET :: InterfaceIterator

시스템 네트워크 인터페이스 목록의 반복자입니다.

NL :: INET :: RawEndPoint

이 클래스의 개체는 원시 IP 네트워크 끝점을 나타냅니다.

NL :: INET :: SocketEvents

소켓에서 요청 / 보류중인 I / O 이벤트 집합을 나타냅니다.

NL :: INET :: 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 주소 확인이 수행되는 방법을 제어하는 ​​옵션입니다.

속성
kDNSOption_AddrFamily_Any

네임 서버가 반환 한 순서대로 IPv4 및 / 또는 IPv6 주소를 반환합니다.

kDNSOption_AddrFamily_IPv4Only

IPv4 주소 만 반환합니다.

kDNSOption_AddrFamily_IPv4Preferred

먼저 나열된 IPv4 주소와 함께 IPv4 및 / 또는 IPv6 주소를 반환합니다.

kDNSOption_AddrFamily_IPv6Only

IPv6 주소 만 반환합니다.

kDNSOption_AddrFamily_IPv6Preferred

먼저 나열된 IPv6 주소와 함께 IPv4 및 / 또는 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

사용하지 않습니다.

IPProtocol

 IPProtocol

IP 계열에있는 일부 프로토콜의 수.

속성
kIPProtocol_ICMPv4

ICMPv4.

kIPProtocol_ICMPv6

ICMPv6.

IPV6MulticastGroup

 IPV6MulticastGroup

인터넷 프로토콜 멀티 캐스트 그룹 식별자.

의 값 IPV6MulticastGroup 유형은 전화를 사용 IPAddress::MakeIPv6Multicast() 메소드를. IETF에서 IANA에 등록한 고유 그룹 식별자를 나타냅니다.

속성
kIPV6MulticastGroup_AllRouters

RFC 4291.

IPVersion

 IPVersion

사용중인 IP 프로토콜의 버전입니다.

속성
kIPVersion_4

IPv4.

kIPVersion_6

IPv6.

IPv6MulticastFlag

 IPv6MulticastFlag

인터넷 프로토콜 v6 멀티 캐스트 플래그.

의 값 IPv6MulticastFlag 유형은 전화를 사용 IPAddress::MakeIPv6Multicast() 메소드. 생성 할 IPv6 멀티 캐스트 주소의 유형을 나타냅니다. 이 번호는 IETF에서 IANA에 등록합니다.

속성
kIPv6MulticastFlag_Prefix

멀티 캐스트 주소는 네트워크 접두사를 기반으로 한 (1)입니다.

kIPv6MulticastFlag_Transient

멀티 캐스트 주소는 (0) 잘 알려진 (즉, IANA 할당)이 아니라 (1) 일시적 (즉, 동적 할당)입니다.

IPv6MulticastScope

 IPv6MulticastScope

인터넷 프로토콜 멀티 캐스트 주소 범위.

의 값 IPv6MulticastScope 유형은 전화를 사용 IPAddress::MakeIPv6Multicast() 메소드를. 결과로 지정된 멀티 캐스트 그룹의 라우팅 가능한 범위를 나타냅니다. 이 번호는 IETF에서 IANA에 등록합니다.

속성
kIPv6MulticastScope_Admin

영역-로컬 범위.

kIPv6MulticastScope_Global

글로벌 범위.

kIPv6MulticastScope_IPv4

영역-로컬 ( "IPv4") 범위.

kIPv6MulticastScope_Interface

인터페이스-로컬 범위.

kIPv6MulticastScope_Link

링크-로컬 범위.

kIPv6MulticastScope_Organization

조직 로컬 범위.

kIPv6MulticastScope_Site

영역-로컬 범위.

Typedef

InterfaceId

struct netif * InterfaceId

시스템 네트워크 인터페이스 표시기.

이식성은이 별칭을 결코 목격하지 않는 데 달려 있습니다. 향후 구체적인 불투명 클래스로 대체 될 수 있습니다.

참고 : "인터페이스 식별자"라는 용어는 일반적으로 "IID"라는 약어가 자주 사용되는 모든 관련 IETF 표준 문서에서 IPv6 주소의 하위 64 비트를 나타냅니다. 이 텍스트에서 "인터페이스 표시기"라는 용어는이 유형 별칭의 값을 나타냅니다.

변수

sIOCTLS 소켓

int sIOCTLSocket = -1

기능

CheckMulticastGroupArgs

INET_ERROR CheckMulticastGroupArgs(
  InterfaceId aInterfaceId,
  const IPAddress & aAddress
)

닫기 IOCTLSocket

void CloseIOCTLSocket(
  void
)

만든 글로벌 소켓을 닫습니다 GetIOCTLSocket .

이 기능은 전역 IOCTL 소켓을 열어두면 누수로 등록되는 경우에 제공됩니다.

주의 :이 기능은 스레드로부터 안전하지 않습니다에 대한 GetIOCTLSocket .

FormatInetLayerError

bool FormatInetLayerError(
  char *buf,
  uint16_t bufSize,
  int32_t err
)

Inet Layer 오류가 주어지면 오류를 설명하는 사람이 읽을 수있는 NULL 종료 C 문자열을 반환합니다.

세부
매개 변수
[in] buf
오류 문자열이 위치 할 버퍼입니다.
[in] bufSize
제공된 버퍼의 크기 (바이트)입니다.
[in] err
설명 할 오류입니다.
보고
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.

세부
매개 변수
[in] intfId
네트워크 인터페이스
[in] nameBuf
인터페이스 이름을 쓸 메모리 영역
[in] nameBufSize
로 표시된 영역의 크기 nameBuf
반환 값
INET_NO_ERROR
성공적인 결과, 작성된 인터페이스 이름
INET_ERROR_NO_MEMORY
이름이 너무 커서 버퍼에 기록 할 수 없습니다.
other
다른 시스템 또는 플랫폼 오류

INET_IsInetEvent

bool INET_IsInetEvent(
  Weave::System::EventType aType
)

System :: EventType이 유효한 Inet 계층 이벤트 유형인지 확인하십시오.

세부
매개 변수
[in] aType
Weave 시스템 레이어 이벤트 유형.
보고
열거 된 범위 내에 있으면 true이고; 그렇지 않으면 거짓입니다.

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.

세부
매개 변수
[in] intfName
찾을 네트워크 인터페이스의 이름
[out] intfId
할당 할 네트워크 인터페이스 표시기
반환 값
INET_NO_ERROR
성공, 네트워크 인터페이스 표시
INET_ERROR_UNKNOWN_INTERFACE
네트워크 인터페이스가 없습니다.
other
다른 시스템 또는 플랫폼 오류

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 주소와 선택적 포트 번호 ( ':'로 구분)가 포함 된 사람이 읽을 수있는 문자열을 구문 분석합니다.

  • :
  • :
  • [ ] :

세부
매개 변수
[in] aString
파싱 ​​할 사람이 읽을 수있는 문자열입니다.
[in] aStringLen
aString의 길이 (문자)입니다.
[out] aHost
구문 분석 된 문자열의 호스트 이름 부분에 대한 포인터.
[out] aHostLen
aHost의 길이 (문자)입니다.
[out] aPort
포트 번호 (존재하고 성공적으로 구문 분석 된 경우) 그렇지 않으면 0입니다.
보고
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 주소, 선택적 포트 번호 ( ':'로 구분) 및 선택적 인터페이스 이름 ( ''로 구분)을 포함하는 사람이 읽을 수있는 문자열을 구문 분석합니다.

  • %
  • :
  • : %
  • %
  • :
  • : %
  • %
  • [ ] :
  • [ ] : %

세부
매개 변수
[in] aString
파싱 ​​할 사람이 읽을 수있는 문자열입니다.
[in] aStringLen
aString의 길이 (문자)입니다.
[out] aHost
구문 분석 된 문자열의 호스트 이름 부분에 대한 포인터.
[out] aHostLen
aHost의 길이 (문자)입니다.
[out] aPort
포트 번호 (존재하고 성공적으로 구문 분석 된 경우) 그렇지 않으면 0입니다.
[out] aInterface
구문 분석 된 문자열의 인터페이스 부분에 대한 포인터입니다.
[out] aInterfaceLen
인터페이스의 길이 (문자)입니다.
보고
INET_ERROR_INVALID_HOST_NAME 입력을 해석 할 경우 길이 제로하거나, 부정이다.
보고
INET_ERROR_HOST_NAME_TOO_LONG 호스트 이름이 253자를 초과합니다.
보고
INET_NO_ERROR 에 성공.

RegisterInetLayerErrorFormatter

void RegisterInetLayerErrorFormatter(
  void
)

Inet Layer 오류에 대한 텍스트 오류 포맷터를 등록합니다.

소켓 IPv4JoinLeaveMulticastGroup

INET_ERROR SocketsIPv4JoinLeaveMulticastGroup(
  int aSocket,
  InterfaceId aInterfaceId,
  const IPAddress & aAddress,
  int aCommand
)

소켓 IPv6JoinLeaveMulticastGroup

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
)