nl:: Inet

Özet

numaralandırmalar

@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)
}
Sıralama
Inet katmanı olay türü tanımları.
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
}
Sıralama
IP adresi çözümlemesinin nasıl gerçekleştirildiğini kontrol eden seçenekler.
IPAddressType {
kIPAddressType_Unknown = 0,
kIPAddressType_IPv4 = 1,
kIPAddressType_IPv6 = 2,
kIPAddressType_Any = 3
}
Sıralama
İnternet protokolü adres ailesi.
IPProtocol {
kIPProtocol_ICMPv6 = 58,
kIPProtocol_ICMPv4 = 1
}
Sıralama
IP ailesindeki bazı protokollerin numaraları.
IPV6MulticastGroup {
kIPV6MulticastGroup_AllRouters = 2
}
Sıralama
İnternet protokolü çok noktaya yayın grubu tanımlayıcıları.
IPVersion {
kIPVersion_6 = 6,
kIPVersion_4 = 4
}
Sıralama
Kullanılan IP protokolünün sürümü.
IPv6MulticastFlag {
kIPv6MulticastFlag_Transient = 0x01,
kIPv6MulticastFlag_Prefix = 0x02
}
Sıralama
İnternet protokolü v6 çok noktaya yayın bayrakları.
IPv6MulticastScope {
kIPv6MulticastScope_Interface = 1,
kIPv6MulticastScope_Link = 2,
kIPv6MulticastScope_IPv4 = 3,
kIPv6MulticastScope_Admin = 4,
kIPv6MulticastScope_Site = 5,
kIPv6MulticastScope_Organization = 8,
kIPv6MulticastScope_Global = 14
}
Sıralama
İnternet protokolü çok noktaya yayın adresi kapsamı.

Typedef'ler

InterfaceId typedef
struct netif *
Sistem ağ arayüzleri için gösterge.

Değişkenler

sIOCTLSocket = -1
int

Fonksiyonlar

CheckMulticastGroupArgs (InterfaceId aInterfaceId, const IPAddress & aAddress)
CloseIOCTLSocket (void)
void
Yarattığı küresel soketi kapatın GetIOCTLSocket .
FormatInetLayerError (char *buf, uint16_t bufSize, int32_t err)
bool
Bir Inet Katmanı hatası verildiğinde, hatayı açıklayan, insan tarafından okunabilen, NULL ile sonlandırılmış bir C dizesi döndürür.
GetIOCTLSocket (void)
int
Belirli ağ IOCTL'lerini çağırmak için kullanışlı bir genel genel amaçlı yuva döndürür.
GetInterfaceName (InterfaceId intfId, char *nameBuf, size_t nameBufSize)
NL_DLL_EXPORT INET_ERROR
Bir ağ arayüzünün adını alın.
INET_IsInetEvent (Weave::System::EventType aType)
bool
System::EventType'ın geçerli bir Inet katmanı olay türü olup olmadığını doğrulamak için kontrol edin.
InterfaceNameToId (const char *intfName, InterfaceId & intfId)
NL_DLL_EXPORT INET_ERROR
Belirtilen ad için ağ arabirimleri listesinde arama yapın.
LwIPBindInterface (struct raw_pcb *aRaw, InterfaceId intfId)
LwIPBindInterface (struct udp_pcb *aUDP, InterfaceId intfId)
NetmaskToPrefixLength (const uint8_t *netmask, uint16_t netmaskLen)
uint8_t
Değişken uzunluklu bir ağ maskesinden bir önek uzunluğu hesaplayın.
ParseHostAndPort (const char *aString, uint16_t aStringLen, const char *& aHost, uint16_t & aHostLen, uint16_t & aPort)
Aşağıdaki biçimleri destekleyen, bir ana bilgisayar veya IP adresi ve isteğe bağlı bir bağlantı noktası numarası (':' ile ayrılmış) içeren, insan tarafından okunabilir bir dizeyi ayrıştırın:
ParseHostPortAndInterface (const char *aString, uint16_t aStringLen, const char *& aHost, uint16_t & aHostLen, uint16_t & aPort, const char *& aInterface, uint16_t & aInterfaceLen)
Aşağıdaki biçimleri destekleyen bir ana bilgisayar veya IP adresi, isteğe bağlı bir bağlantı noktası numarası (':' ile ayrılmış) ve isteğe bağlı bir arabirim adı (' ile ayrılmış) içeren insan tarafından okunabilir bir dize ayrıştırın:
RegisterInetLayerErrorFormatter (void)
void
Inet Katmanı hataları için bir metin hatası biçimlendirici kaydedin.
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)

sınıflar

nl :: Inet :: AsyncDNSResolverSockets

Bu dahili bir sınıftır InetLayer içinde uyumsuz Alan Adı Sistemi (DNS) çözümlemesi için yardımcı API'ler sağlar InetLayer .

nl :: Inet :: DNSResolver

Bu dahili bir sınıftır InetLayer Alan Adı Sistemi (DNS) çözünürlük soyutlama sağlayan InetLayer .

nl :: Inet :: EndPointBasis

İnternet taşıma uç noktası sınıflarının temeli.

nl :: Inet :: ıpadresi

İnternet protokolü adresi.

nl :: Inet :: IPEndPointBasis

Bu sınıfın nesneleri, somut olmayan IP protokolü uç noktalarını temsil eder.

nl :: Inet :: IPPacketInfo

Gelen/giden mesaj/bağlantı hakkında bilgi.

nl :: Inet :: IPPrefix

İnternet protokolü adres öneki.

nl :: Inet :: InetLayer

Bu, tek bir iş parçacığı için zamanlayıcılar, Alan Adı Sistemi (DNS) çözünürlüğü, TCP ağ aktarımı, UDP ağ aktarımı ve ham ağ aktarımı dahil olmak üzere İnternet hizmetlerine erişim sağlar.

nl :: Inet :: InetLayerBasis

Bu tarafından yönetilen bir referans sayılan nesne temeli sınıfıdır InetLayer nesne.

nl :: Inet :: InterfaceAddressIterator

Sistem ağ arabirimi IP adresleri listesi için yineleyici.

nl :: Inet :: InterfaceIterator

Sistem ağ arabirimlerinin listesi için yineleyici.

nl :: Inet :: RawEndPoint

Bu sınıfın nesneleri, ham IP ağ uç noktalarını temsil eder.

nl :: Inet :: SocketEvents

Bir sokette istenen/bekleyen bir dizi G/Ç olayını temsil eder.

nl :: Inet :: TCPEndPoint

Bu sınıfın nesneleri, TCP aktarım uç noktalarını temsil eder.

nl :: Inet :: TunEndPoint

Bu sınıfın nesneleri tünel arayüzlerini temsil eder.

nl :: Inet :: UDPEndPoint

Bu sınıfın nesneleri, UDP aktarım uç noktalarını temsil eder.

Birlikler

nl :: Inet :: PeerSockAddr

Ad alanları

nl :: Inet :: Platformu

numaralandırmalar

@7

 @7

Inet katmanı olay türü tanımları.

Özellikleri
kInetEvent_DNSResolveComplete

DNS ad çözümlemesi tamamlama olayı.

kInetEvent_RawDataReceived

Aşırı veri alımı için olay InetLayer ham son nokta.

kInetEvent_TCPConnectComplete

TCP bağlantısı tamamlama olayı.

kInetEvent_TCPConnectionReceived

TCP bağlantı alımı olayı.

kInetEvent_TCPDataReceived

Bir TCP bağlantısı üzerinden veri alımı olayı.

kInetEvent_TCPDataSent

Bir TCP bağlantısı üzerinden veri iletimi olayı.

kInetEvent_TCPError

TCP bağlantısında bir hata olayı.

kInetEvent_TunDataReceived

Bir Örgü tüneli üzerinden veri alımı olayı.

kInetEvent_UDPDataReceived

UDP üzerinden veri alımı olayı.

DNSSeçenekleri

 DNSOptions

IP adresi çözümlemesinin nasıl gerçekleştirildiğini kontrol eden seçenekler.

Özellikleri
kDNSOption_AddrFamily_Any

IPv4 ve/veya IPv6 adreslerini ad sunucusu tarafından döndürülen sırayla döndürün.

kDNSOption_AddrFamily_IPv4Only

Yalnızca IPv4 adreslerini döndürün.

kDNSOption_AddrFamily_IPv4Preferred

IPv4 ve/veya IPv6 adreslerini, IPv4 adresleri ilk sırada olacak şekilde döndürün.

kDNSOption_AddrFamily_IPv6Only

Yalnızca IPv6 adreslerini döndürün.

kDNSOption_AddrFamily_IPv6Preferred

IPv4 ve/veya IPv6 adreslerini önce IPv6 adresleri listelenecek şekilde döndürün.

kDNSOption_AddrFamily_Mask

İstenen adres ailesini temsil eden bir DNSOptions tamsayı değeri içindeki bitler.

kDNSOption_Flags_Mask

Bayraklar için ayrılmış bir DNSOptions tamsayı değeri içindeki bitler.

kDNSOption_ValidFlags

Tüm geçerli DNSOption bayrakları kümesi.

IPAdresiTürü

 IPAddressType

İnternet protokolü adres ailesi.

Değerleri IPAddressType türü tarafından döndürülen IPAddress::Type() yöntemiyle. Adres kullanımının gerektirdiği adres ailesini belirtirler.

Özellikleri
kIPAddressType_Any

Belirtilmemiş internet adresi (protokol versiyonundan bağımsız)

kIPAddressType_IPv4

İnternet protokolü sürüm 4.

kIPAddressType_IPv6

İnternet protokolü sürüm 6.

kIPAddressType_Unknown

Kullanılmamış.

IPProtokol

 IPProtocol

IP ailesindeki bazı protokollerin numaraları.

Özellikleri
kIPProtocol_ICMPv4

ICMPv4.

kIPProtocol_ICMPv6

ICMPv6.

IPV6Çoklu Yayın Grubu

 IPV6MulticastGroup

İnternet protokolü çok noktaya yayın grubu tanımlayıcıları.

Değerleri IPV6MulticastGroup tip çağırmak için kullanılan IPAddress::MakeIPv6Multicast() yöntemini. IETF tarafından IANA ile kaydedilen seçkin grup tanımlayıcılarını belirtirler.

Özellikleri
kIPV6MulticastGroup_AllRouters

RFC 4291.

IP Sürümü

 IPVersion

Kullanılan IP protokolünün sürümü.

Özellikleri
kIPVersion_4

IPv4.

kIPVersion_6

IPv6.

IPv6MulticastBayrak

 IPv6MulticastFlag

İnternet protokolü v6 çok noktaya yayın bayrakları.

Değerleri IPv6MulticastFlag tip çağırmak için kullanılan IPAddress::MakeIPv6Multicast() yöntemleri. Oluşturulacak IPv6 çok noktaya yayın adresinin türünü belirtirler. Bu numaralar IETF tarafından IANA'ya kayıtlıdır.

Özellikleri
kIPv6MulticastFlag_Prefix

Çok noktaya yayın adresi, bir ağ önekine dayalıdır (1).

kIPv6MulticastFlag_Transient

Çok noktaya yayın adresi, iyi bilinen (0) (yani, IANA tarafından atanan) yerine (1) geçicidir (yani dinamik olarak atanmıştır).

IPv6MulticastScope

 IPv6MulticastScope

İnternet protokolü çok noktaya yayın adresi kapsamı.

Değerleri IPv6MulticastScope tip çağırmak için kullanılan IPAddress::MakeIPv6Multicast() yöntemini. Sonuç tarafından belirlenen çok noktaya yayın grubunun yönlendirilebilir kapsamını gösterirler. Bu numaralar IETF tarafından IANA'ya kayıtlıdır.

Özellikleri
kIPv6MulticastScope_Admin

Bölge-yerel kapsam.

kIPv6MulticastScope_Global

Küresel kapsam.

kIPv6MulticastScope_IPv4

Bölge-yerel ("IPv4") kapsamı.

kIPv6MulticastScope_Interface

Arayüz-yerel kapsam.

kIPv6MulticastScope_Link

Bağlantı yerel kapsamı.

kIPv6MulticastScope_Organization

Kuruluş-yerel kapsam.

kIPv6MulticastScope_Site

Bölge-yerel kapsam.

Typedef'ler

Arayüz Kimliği

struct netif * InterfaceId

Sistem ağ arayüzleri için gösterge.

Taşınabilirlik, bu takma ada asla tanık olmamaya bağlıdır. Gelecekte somut bir opak sınıfla değiştirilebilir.

Not: "Arayüz tanımlayıcısı" terimi ayrıca geleneksel olarak, "IID" kısaltmasının sıklıkla kullanıldığı tüm ilgili IETF standartları belgelerinde bir IPv6 adresinin alt 64 bitini ifade eder. Bu metinde, "arayüz göstergesi" terimi, bu tür diğer adın değerlerine atıfta bulunmaktadır.

Değişkenler

SIOCTLSocket

int sIOCTLSocket = -1

Fonksiyonlar

CheckMulticastGroupArgs

INET_ERROR CheckMulticastGroupArgs(
  InterfaceId aInterfaceId,
  const IPAddress & aAddress
)

KapatIOCTLSocket

void CloseIOCTLSocket(
  void
)

Yarattığı küresel soketi kapatın GetIOCTLSocket .

Bu işlev, global IOCTL soketinin açık bırakıldığı durumlarda bir sızıntı olarak kaydedileceği durumlar için sağlanmıştır.

Not: Bu fonksiyon evresel DEĞİLDİR göre GetIOCTLSocket .

FormatInetLayerError

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

Bir Inet Katmanı hatası verildiğinde, hatayı açıklayan, insan tarafından okunabilen, NULL ile sonlandırılmış bir C dizesi döndürür.

Ayrıntılar
parametreler
[in] buf
Hata dizesinin yerleştirileceği arabellek.
[in] bufSize
Sağlanan arabelleğin bayt cinsinden boyutu.
[in] err
Açıklanacak hata.
İadeler
true Sağlanan arabelleğe bir açıklama dizesi yazılmışsa.
İadeler
false Sağlanan hata bir Inet Katmanı hatası değilse.

GetIOCTLSocket

int GetIOCTLSocket(
  void
)

Belirli ağ IOCTL'lerini çağırmak için kullanışlı bir genel genel amaçlı yuva döndürür.

Bu işlev, tüm platformlarda iş parçacığı için güvenlidir.

GetInterfaceName

NL_DLL_EXPORT INET_ERROR GetInterfaceName(
  InterfaceId intfId,
  char *nameBuf,
  size_t nameBufSize
)

Bir ağ arayüzünün adını alın.

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.

Ayrıntılar
parametreler
[in] intfId
bir ağ arayüzü
[in] nameBuf
arayüz adını yazmak için bellek bölgesi
[in] nameBufSize
ile gösterilen bölgenin boyutu nameBuf
Dönüş Değerleri
INET_NO_ERROR
başarılı sonuç, arayüz adı yazıldı
INET_ERROR_NO_MEMORY
ad arabelleğe yazılamayacak kadar büyük
other
başka bir sistem veya platform hatası

INET_IsInetEvent

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

System::EventType'ın geçerli bir Inet katmanı olay türü olup olmadığını doğrulamak için kontrol edin.

Ayrıntılar
parametreler
[in] aType
Bir Örgü Sistem Katmanı olay türü.
İadeler
numaralandırılmış aralığa denk geliyorsa true ; aksi halde yanlış.

ArayüzAdıKimliği

NL_DLL_EXPORT INET_ERROR InterfaceNameToId(
  const char *intfName,
  InterfaceId & intfId
)

Belirtilen ad için ağ arabirimleri listesinde arama yapın.

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.

Ayrıntılar
parametreler
[in] intfName
bulunacak ağ arayüzünün adı
[out] intfId
atanacak ağ arayüzünün göstergesi
Dönüş Değerleri
INET_NO_ERROR
başarı, ağ arayüzü belirtildi
INET_ERROR_UNKNOWN_INTERFACE
ağ arayüzü bulunamadı
other
başka bir sistem veya platform hatası

LwIPBindArayüzü

INET_ERROR LwIPBindInterface(
  struct raw_pcb *aRaw,
  InterfaceId intfId
)

LwIPBindArayüzü

INET_ERROR LwIPBindInterface(
  struct udp_pcb *aUDP,
  InterfaceId intfId
)

Ağ MaskesiÖnekUzunluk

uint8_t NetmaskToPrefixLength(
  const uint8_t *netmask,
  uint16_t netmaskLen
)

Değişken uzunluklu bir ağ maskesinden bir önek uzunluğu hesaplayın.

AyrıştırmaHostAndPort

INET_ERROR ParseHostAndPort(
  const char *aString,
  uint16_t aStringLen,
  const char *& aHost,
  uint16_t & aHostLen,
  uint16_t & aPort
)

Aşağıdaki biçimleri destekleyen, bir ana bilgisayar veya IP adresi ve isteğe bağlı bir bağlantı noktası numarası (':' ile ayrılmış) içeren, insan tarafından okunabilir bir dizeyi ayrıştırın:

  • :
  • :
  • [ ]:

Ayrıntılar
parametreler
[in] aString
Ayrıştırılacak insan tarafından okunabilen dize.
[in] aStringLen
aString'in karakter cinsinden uzunluğu.
[out] aHost
Ayrıştırılan dizenin ana bilgisayar adı bölümüne bir işaretçi.
[out] aHostLen
aHost'un karakter cinsinden uzunluğu.
[out] aPort
Varsa ve başarıyla ayrıştırılmışsa bağlantı noktası numarası; aksi halde 0.
İadeler
INET_ERROR_INVALID_HOST_NAME giriş ayrıştırılmasına ise sıfır uzunluk ya da başka şekil bozukluğuna sahiptir.
İadeler
INET_ERROR_HOST_NAME_TOO_LONG ana bilgisayar adı 253 karakteri aşarsa.
İadeler
INET_NO_ERROR Açık başarısı.

AyrıştırmaHostPortAndInterface

INET_ERROR ParseHostPortAndInterface(
  const char *aString,
  uint16_t aStringLen,
  const char *& aHost,
  uint16_t & aHostLen,
  uint16_t & aPort,
  const char *& aInterface,
  uint16_t & aInterfaceLen
)

Aşağıdaki biçimleri destekleyen bir ana bilgisayar veya IP adresi, isteğe bağlı bir bağlantı noktası numarası (':' ile ayrılmış) ve isteğe bağlı bir arabirim adı (' ile ayrılmış) içeren insan tarafından okunabilir bir dize ayrıştırın:

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

Ayrıntılar
parametreler
[in] aString
Ayrıştırılacak insan tarafından okunabilen dize.
[in] aStringLen
aString'in karakter cinsinden uzunluğu.
[out] aHost
Ayrıştırılan dizenin ana bilgisayar adı bölümüne bir işaretçi.
[out] aHostLen
aHost'un karakter cinsinden uzunluğu.
[out] aPort
Varsa ve başarıyla ayrıştırılmışsa bağlantı noktası numarası; aksi halde 0.
[out] aInterface
Ayrıştırılan dizenin arabirim bölümüne yönelik bir işaretçi.
[out] aInterfaceLen
aInterface'in karakter cinsinden uzunluğu.
İadeler
INET_ERROR_INVALID_HOST_NAME giriş ayrıştırılmasına ise sıfır uzunluk ya da başka şekil bozukluğuna sahiptir.
İadeler
INET_ERROR_HOST_NAME_TOO_LONG ana bilgisayar adı 253 karakteri aşarsa.
İadeler
INET_NO_ERROR Açık başarısı.

RegisterInetLayerErrorFormatter

void RegisterInetLayerErrorFormatter(
  void
)

Inet Katmanı hataları için bir metin hatası biçimlendirici kaydedin.

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
)