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)
}
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 numaraları.
IPV6MulticastGroup{
  kIPV6MulticastGroup_AllRouters = 2
}
enum
İnternet protokolü çoklu yayın grup 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 adres kapsamı.

Typedef'ler

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 soketi kapatın.
FormatInetLayerError(char *buf, uint16_t bufSize, int32_t err)
bool
Bir Inet Katmanı hatası verildiğinde, hatayı açıklayan, kullanıcıların okuyabileceği NULL sonlu bir C dizesi döndürür.
GetIOCTLSocket(void)
int
Belirli ağ IOCTL'lerinin çağrılması için yararlı 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 değerinin 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 uzunluktaki ağ maskesinden önek uzunluğunu 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 tarafından okunabilen 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)
Bir ana bilgisayar 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, aşağıdaki biçimleri destekleyen, kullanıcılar tarafından okunabilen bir dizeyi ayrıştırın:
RegisterInetLayerErrorFormatter(void)
void
Inet Katmanı hataları için bir metin hatası biçimlendiricisi 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'da Eşzamansız Alan Adı Sistemi (DNS) çözümlemesi için yardımcı API'ler sağlayan dahili bir InetLayer sınıfıdır.

nl::Inet::DNSResolver

Bu, InetLayer'da Alan Adı Sistemi (DNS) çözümlemesini sağlayan, dahili bir InetLayer sınıfıdı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, anlaşılamayan IP protokolü uç noktalarını temsil eder.

nl::Inet::IPPacketInfo

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

nl::Inet::IPPrefix

İnternet protokolü adresi öneki.

nl::Inet::InetLayer

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

nl::Inet::InetLayerBasis

Bu, InetLayer nesnesi tarafından yönetilen referansla sayılan nesnelerin temel sınıfıdır.

nl::Inet::InterfaceAddressIterator

Sistem ağ arayüzü IP adresleri listesinin iterasyonu.

nl::Inet::InterfaceIterator

Sistem ağ arayüzleri listesinin iteratörü.

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 grubunu 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

Numaralandırmalar

@7

 @7

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

Özellikler
kInetEvent_DNSResolveComplete

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

kInetEvent_RawDataReceived

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

kInetEvent_TCPConnectComplete

TCP bağlantısı tamamlama etkinliği.

kInetEvent_TCPConnectionReceived

TCP bağlantısı alma etkinliği.

kInetEvent_TCPDataReceived

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

kInetEvent_TCPDataSent

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

kInetEvent_TCPError

TCP bağlantısındaki hata etkinliği.

kInetEvent_TunDataReceived

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

kInetEvent_UDPDataReceived

UDP üzerinden veri alma 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ı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 listenin başında 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, IPv6 adresleri listenin en üstünde olacak şekilde döndürün.

kDNSOption_AddrFamily_Mask

İstenen adres ailesini temsil eden DNSOptions tam sayı değerinde bitler.

kDNSOption_Flags_Mask

İşaretler için ayrılmış DNSOptions tam sayı değeri içindeki bitler.

kDNSOption_ValidFlags

Geçerli tüm DNSOption işaretleri grubu.

IPAddressType

 IPAddressType

İnternet protokolü adres ailesi.

IPAddressType türündeki değerler, IPAddress::Type() yöntemi tarafından döndürülür. Adresin kullanımının gerektirdiği 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 numaraları.

Özellikler
kIPProtocol_ICMPv4

iCMPv4.

kIPProtocol_ICMPv6

iCMPv6.

IPV6MulticastGroup

 IPV6MulticastGroup

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

IPV6MulticastGroup türündeki değerler, IPAddress::MakeIPv6Multicast() yöntemini çağırmak için kullanılır. IETF tarafından IANA'ya kaydedilen 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ündeki değerler, IPAddress::MakeIPv6Multicast() yöntemlerini çağırmak için kullanılır. Bunlar, oluşturulacak IPv6 çoklu yayın adresinin türünü belirtir. Bu numaralar IETF tarafından IANA tarafından tescil edilmiştir.

Özellikler
kIPv6MulticastFlag_Prefix

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

kIPv6MulticastFlag_Transient

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

IPv6MulticastScope

 IPv6MulticastScope

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

IPv6MulticastScope türündeki değerler, IPAddress::MakeIPv6Multicast() yöntemini çağırmak için kullanılır. Bunlar, sonuç tarafından belirlenen çoklu yayın grubunun yönlendirilebilir kapsamını gösterir. Bu numaralar IETF tarafından IANA tarafından tescil edilmiştir.

Özellikler
kIPv6MulticastScope_Admin

Alan-yerel kapsamı.

kIPv6MulticastScope_Global

Global kapsam.

kIPv6MulticastScope_IPv4

Realm-local ("IPv4") kapsamı.

kIPv6MulticastScope_Interface

Arayüz-yerel kapsam.

kIPv6MulticastScope_Link

Yerel bağlantı kapsamı.

kIPv6MulticastScope_Organization

Kuruluş-yerel kapsam.

kIPv6MulticastScope_Site

Alan-yerel kapsamı.

Typedef'ler

InterfaceId

struct netif * InterfaceId

Sistem ağ arayüzleri göstergesi.

Taşınabilirlik, bu takma ada asla şahit olmamanıza bağlıdır. Gelecekte beton bir opak sınıf ile değiştirilebilir.

Not: "Arayüz tanımlayıcı" terimi Ayrıca, geleneksel olarak ilgili tüm IETF standart belgelerinde bir IPv6 adresinin alt 64 bitini ifade eder. Burada "IID" kısaltması sıklıkla kullanılır. Bu metinde, "arayüz göstergesi" terimi bu tür takma adları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 soketi kapatın.

Bu işlev, genel IOCTL soketinin açık kaldığı durumlar için sızıntı olarak kaydedilecek durumlar için sağlanır.

Not: Bu işlev, GetIOCTLSocket ile ilgili olarak ileti dizisi açısından güvenli DEĞİLDİR.

FormatInetLayerError

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

Bir Inet Katmanı hatası verildiğinde, hatayı açıklayan, kullanıcıların okuyabileceği NULL sonlu 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ıldıysa.
İadeler
false Sağlanan hata bir Inet Katmanı hatası değilse.

GetIOCTLSocket

int GetIOCTLSocket(
  void
)

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

Bu işlev, tüm platformlarda iş parçacığı 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
ağ arayüzü
[in] nameBuf
arayüz adını yazmak için kullanılacak bellek bölgesi
[in] nameBufSize
nameBuf ile belirtilen bölgenin boyutu
Değerleri Döndür
INET_NO_ERROR
başarılı sonuç, arayüz adı yazılmış
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 değerinin geçerli bir Inet katmanı etkinlik türü olup olmadığını kontrol edin.

Ayrıntılar
Parametreler
[in] aType
Weave System Katman etkinlik türü.
İadeler
Numaralanmış aralıkta yer alıyorsa true; Aksi takdirde, false'tur.

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
Atanacak ağ arayüzünün göstergesi
Değerleri Döndür
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 uzunluktaki ağ maskesinden önek uzunluğunu 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 tarafından okunabilen bir dizeyi ayrıştırın:

  • :
  • :
  • []:

Ayrıntılar
Parametreler
[in] aString
Ayrıştırılacak, kullanıcıların gerçekleştirebileceği dize.
[in] aStringLen
aString öğesinin karakter olarak uzunluğu.
[out] aHost
Ayrıştırılmış dizenin ana makine adı bölümüne yönlendiren bir işaretçi.
[out] aHostLen
aHost öğesinin karakter cinsinden uzunluğu.
[out] aPort
Bağlantı noktası numarası (varsa ve başarıyla ayrıştırıldıysa); Aksi takdirde, 0 değerini alır.
İadeler
INET_ERROR_INVALID_HOST_NAME Ayrıştırılacak giriş sıfır uzunluktaysa veya hatalı biçimlendirilmişse.
İ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
)

Bir ana bilgisayar 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, aşağıdaki biçimleri destekleyen, kullanıcılar tarafından okunabilen bir dizeyi ayrıştırın:

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

Ayrıntılar
Parametreler
[in] aString
Ayrıştırılacak, kullanıcıların gerçekleştirebileceği dize.
[in] aStringLen
aString öğesinin karakter olarak uzunluğu.
[out] aHost
Ayrıştırılmış dizenin ana makine adı bölümüne yönlendiren bir işaretçi.
[out] aHostLen
aHost öğesinin karakter cinsinden uzunluğu.
[out] aPort
Bağlantı noktası numarası (varsa ve başarıyla ayrıştırıldıysa); Aksi takdirde, 0 değerini alır.
[out] aInterface
Ayrıştırılmış dizenin arayüz bölümüne yönlendiren bir işaretçi.
[out] aInterfaceLen
Bir arayüzün karakter olarak uzunluğu.
İadeler
INET_ERROR_INVALID_HOST_NAME Ayrıştırılacak giriş sıfır uzunluktaysa veya hatalı biçimlendirilmişse.
İ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 bir metin hatası biçimlendiricisi 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
)