nl::Inet

Özet

Sıralamalar

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

Türdefler

InterfaceId typedef
struct netif *
Sistem ağ arayüzleri göstergesi.

Değişkenler

sIOCTLSocket = -1
int

İşlevler

CheckMulticastGroupArgs(InterfaceId aInterfaceId, const IPAddress & aAddress)
CloseIOCTLSocket(void)
void
GetIOCTLSocket tarafından oluşturulan genel yuvayı kapatın.
FormatInetLayerError(char *buf, uint16_t bufSize, int32_t err)
bool
Inet Katmanı hatası verildiğinde, hatayı açıklayan, kullanıcılar tarafından okunabilir NULL sonlandırılmış bir C dizesi döndürür.
GetIOCTLSocket(void)
int
Belirli ağ IOCTL'lerini çağırmak için yararlı olan genel amaçlı bir 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 etkinlik türü olup olmadığını kontrol edin.
InterfaceNameToId(const char *intfName, InterfaceId & intfId)
NL_DLL_EXPORT INET_ERROR
Ağ arayüzleri listesinde belirtilen adı arayı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 uzunlukta bir ağ maskesinden ön ek 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 makine veya IP adresi ve isteğe bağlı bir bağlantı noktası numarası (":" ile ayrılmış) içeren, kullanıcıların okuyabileceği bir dizeyi ayrıştırır:
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, ana makine veya IP adresi, isteğe bağlı bir bağlantı noktası numarası (":" ile ayrılmış) ve isteğe bağlı bir arayüz adı ("" ile ayrılmış) içeren, kullanıcıların okuyabileceği bir dizeyi ayrıştırır:
RegisterInetLayerErrorFormatter(void)
void
Inet Katmanı hataları için 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, InetLayer'deki eşzamansız Alan Adı Sistemi (DNS) çözümlemesi için yardımcı API'ler sağlayan, InetLayer dahili sınıfıdır.

nl::Inet::DNSResolver

Bu, InetLayer'da Alan Adı Sistemi (DNS) çözümlemesinin soyutlanmasını sağlayan InetLayer için dahili bir sınıftır.

nl::Inet::EndPointBasis

İnternet aktarımı uç nokta sınıflarının temeli.

nl::Inet::IPAddress

İnternet protokolü adresi.

nl::Inet::IPEndPointBasis

Bu sınıfın nesneleri, başlatılamayan IP protokolü uç noktalarını temsil eder.

nl::Inet::IPPacketInfo

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

nl::Inet::IPPrefix

İnternet protokolü adres öneki.

nl::Inet::InetLayer

Bu ayar, 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 internet hizmetlerine erişim sağlar.

nl::Inet::InetLayerBasis

Bu, bir InetLayer nesnesi tarafından yönetilen referans numaralı nesnelerin temel sınıfıdır.

nl::Inet::InterfaceAddressIterator

Sistem ağ arayüzü IP adresleri listesi için yineleyici.

nl::Inet::InterfaceIterator

Sistem ağ arayüzleri listesinin iterasyon öğesi.

nl::Inet::RawEndPoint

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

nl::Inet::SocketEvents

Bir yuvada istenen/bekleyen G/Ç etkinlikleri kümesini 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::Platform

Sıralamalar

@7

 @7

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

Özellikler
kInetEvent_DNSResolveComplete

DNS ad çözümlemesinin tamamlanması etkinliği.

kInetEvent_RawDataReceived

Bir InetLayer ham uç noktası üzerinden veri alma etkinliği.

kInetEvent_TCPConnectComplete

TCP bağlantısının tamamlanması etkinliği.

kInetEvent_TCPConnectionReceived

TCP bağlantısı alımı etkinliği.

kInetEvent_TCPDataReceived

TCP bağlantısı üzerinden veri alımı etkinliği.

kInetEvent_TCPDataSent

TCP bağlantısı üzerinden veri iletimi etkinliği.

kInetEvent_TCPError

TCP bağlantısındaki bir hatayla ilgili etkinlik.

kInetEvent_TunDataReceived

Weave tüneli üzerinden veri alma etkinliği.

kInetEvent_UDPDataReceived

UDP üzerinden veri alımı etkinliği.

DNSOptions

 DNSOptions

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

Özellikler
kDNSOption_AddrFamily_Any

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

kDNSOption_AddrFamily_IPv4Only

Yalnızca IPv4 adreslerini döndür.

kDNSOption_AddrFamily_IPv4Preferred

IPv4 ve/veya IPv6 adreslerini döndürün. IPv4 adresleri başta listelenir.

kDNSOption_AddrFamily_IPv6Only

Yalnızca IPv6 adreslerini döndür.

kDNSOption_AddrFamily_IPv6Preferred

IPv4 ve/veya IPv6 adreslerini döndürün. IPv6 adresleri başta listelenir.

kDNSOption_AddrFamily_Mask

DNSOptions tam sayı değerindeki, istenen adres ailesini temsil eden bitler.

kDNSOption_Flags_Mask

Bir DNSOptions tam sayı değerindeki, işaretler için ayrılmış bitler.

kDNSOption_ValidFlags

Geçerli tüm DNSOption işaretlerinin kümesi.

IPAddressType

 IPAddressType

İnternet protokol adres ailesi.

IPAddressType türünün değerleri, IPAddress::Type() yöntemi tarafından döndürülür. Adres kullanımıyla ilişkili adres ailesini belirtir.

Özellikler
kIPAddressType_Any

Belirtilmemiş internet adresi (protokol sürümünden bağımsız)

kIPAddressType_IPv4

İnternet protokolü sürüm 4

kIPAddressType_IPv6

İnternet protokolü sürüm 6.

kIPAddressType_Unknown

Kullanılmıyor.

IPProtocol

 IPProtocol

IP ailesindeki bazı protokollerin sayısı.

Özellikler
kIPProtocol_ICMPv4

ICMPv4.

kIPProtocol_ICMPv6

ICMPv6.

IPV6MulticastGroup

 IPV6MulticastGroup

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

IPV6MulticastGroup türünün değerleri, IPAddress::MakeIPv6Multicast() yöntemini çağırmak için kullanılır. IETF tarafından IANA'ya kayıtlı ayırt edici grup tanımlayıcılarını gösterir.

Özellikler
kIPV6MulticastGroup_AllRouters

RFC 4291

IPVersion

 IPVersion

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

Özellikler
kIPVersion_4

IPv4.

kIPVersion_6

IPv6.

IPv6MulticastFlag

 IPv6MulticastFlag

İnternet protokolü v6 çoklu yayın işaretleri.

IPv6MulticastFlag türünün değerleri, IPAddress::MakeIPv6Multicast() yöntemlerini çağırmak için kullanılır. Oluşturulacak IPv6 çoklu yayın adresinin türünü belirtir. Bu numaralar IETF tarafından IANA'ya kayıtlıdır.

Özellikler
kIPv6MulticastFlag_Prefix

Çoklu yayın adresi (1) ağ ön ekine dayanır.

kIPv6MulticastFlag_Transient

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

IPv6MulticastScope

 IPv6MulticastScope

İnternet protokolü çoklu yayın adresi kapsamı.

IPv6MulticastScope türünün değerleri, IPAddress::MakeIPv6Multicast() yöntemini çağırmak için kullanılır. Sonuç tarafından belirlenen çoklu yayın grubunun yönlendirilebilir kapsamını gösterir. Bu numaralar IETF tarafından IANA'ya kayıtlıdır.

Özellikler
kIPv6MulticastScope_Admin

Erişim alanı-yerel kapsam.

kIPv6MulticastScope_Global

Global kapsam.

kIPv6MulticastScope_IPv4

Realm-local ("IPv4") kapsamı.

kIPv6MulticastScope_Interface

Arayüz-yerel kapsam.

kIPv6MulticastScope_Link

Bağlantı yerel kapsamı.

kIPv6MulticastScope_Organization

Kuruluş-yerel kapsam.

kIPv6MulticastScope_Site

Erişim alanı-yerel kapsam.

Türdefler

InterfaceId

struct netif * InterfaceId

Sistem ağ arayüzleri göstergesi.

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

Not: "Arayüz tanımlayıcı" terimi, genel olarak ilgili tüm IETF standart belgelerinde "IID" kısaltması olarak kullanılan bir IPv6 adresinin alt 64 bitini ifade eder. Bu metinde, "arayüz göstergesi" terimi, bu takma ad türünün değerlerini ifade eder.

Değişkenler

sIOCTLSocket

int sIOCTLSocket = -1

İşlevler

CheckMulticastGroupArgs

INET_ERROR CheckMulticastGroupArgs(
  InterfaceId aInterfaceId,
  const IPAddress & aAddress
)

CloseIOCTLSocket

void CloseIOCTLSocket(
  void
)

GetIOCTLSocket tarafından oluşturulan genel yuvayı kapatın.

Bu işlev, global IOCTL soketinin açık bırakılmasının sızıntı olarak kaydedileceği durumlar için sağlanır.

Not: Bu işlev, GetIOCTLSocket açısından iş parçacığı açısından güvenli DEĞİLDİR.

FormatInetLayerError

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

Inet Katmanı hatası verildiğinde, hatayı açıklayan, kullanıcılar tarafından okunabilir NULL 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
Sağlanan arabelleğe bir açıklama dizesi yazılmışsa true (doğru).
İadeler
false Sağlanan hata Inet Katmanı hatası değilse.

GetIOCTLSocket

int GetIOCTLSocket(
  void
)

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

Bu işlev, tüm platformlarda ileti dizisi açısından 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ı yazılacak bellek bölgesi
[in] nameBufSize
nameBuf ile belirtilen bölgenin büyüklüğü
Döndürülen Değerler
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 etkinlik türü olup olmadığını kontrol edin.

Ayrıntılar
Parametreler
[in] aType
Weave Sistem Katmanı etkinlik türü.
İadeler
Numaralı aralıktaysa true (doğru), aksi takdirde false (yanlış) değerini alır.

InterfaceNameToId

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

Ağ arayüzleri listesinde belirtilen adı arayı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
ağ arayüzünün adını
[out] intfId
ağ arayüzü göstergesi
Döndürülen Değerler
INET_NO_ERROR
başarılı, ağ arayüzü belirtildi
INET_ERROR_UNKNOWN_INTERFACE
ağ arayüzü bulunamadı
other
başka bir sistem veya platform hatası

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
)

Değişken uzunlukta bir ağ maskesinden ön ek uzunluğu hesaplayın.

ParseHostAndPort

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 makine veya IP adresi ve isteğe bağlı bir bağlantı noktası numarası (":" ile ayrılmış) içeren, kullanıcıların okuyabileceği bir dizeyi ayrıştırır:

  • :
  • :
  • []:

Ayrıntılar
Parametreler
[in] aString
Ayrıştırılacak, insan tarafından kullanılabilen dize.
[in] aStringLen
aString öğesinin karakter cinsinden uzunluğu.
[out] aHost
Ayrıştırılmış dizenin ana makine adı bölümüne işaret eden bir işarettir.
[out] aHostLen
aHost'un karakter cinsinden uzunluğu.
[out] aPort
Bağlantı noktası numarası (varsa ve başarıyla ayrıştırılırsa). Aksi takdirde 0.
İadeler
INET_ERROR_INVALID_HOST_NAME Ayrıştırılacak giriş sıfır uzunlukta veya başka bir şekilde hatalıysa.
İadeler
INET_ERROR_HOST_NAME_TOO_LONG: Ana makine adı 253 karakteri aşıyorsa.
İadeler
INET_NO_ERROR Başarılı olduğunda.

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
)

Aşağıdaki biçimleri destekleyen, ana makine veya IP adresi, isteğe bağlı bir bağlantı noktası numarası (":" ile ayrılmış) ve isteğe bağlı bir arayüz adı ("" ile ayrılmış) içeren, kullanıcıların okuyabileceği bir dizeyi ayrıştırır:

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

Ayrıntılar
Parametreler
[in] aString
Ayrıştırılacak, insan tarafından kullanılabilen dize.
[in] aStringLen
aString öğesinin karakter cinsinden uzunluğu.
[out] aHost
Ayrıştırılmış dizenin ana makine adı bölümüne işaret eden bir işarettir.
[out] aHostLen
aHost'un karakter cinsinden uzunluğu.
[out] aPort
Bağlantı noktası numarası (varsa ve başarıyla ayrıştırılırsa). Aksi takdirde 0.
[out] aInterface
Ayrıştırılan dizenin arayüz bölümüne işaret eden bir işarettir.
[out] aInterfaceLen
BirArayüz'ün karakter cinsinden uzunluğu.
İadeler
INET_ERROR_INVALID_HOST_NAME Ayrıştırılacak giriş sıfır uzunlukta veya başka bir şekilde hatalıysa.
İadeler
INET_ERROR_HOST_NAME_TOO_LONG: Ana makine adı 253 karakteri aşıyorsa.
İadeler
INET_NO_ERROR Başarılı olduğunda.

RegisterInetLayerErrorFormatter

void RegisterInetLayerErrorFormatter(
  void
)

Inet Katmanı hataları için 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
)