nl :: إنت

ملخص

التعداد

@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
}
تعداد
نطاق عنوان الإرسال المتعدد لبروتوكول الإنترنت.

النوع

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 ، يتم إرجاع سلسلة C قابلة للقراءة من قبل الإنسان منتهية من نوع NULL تصف الخطأ.
GetIOCTLSocket (void)
int
تُرجع مقبسًا عالميًا للأغراض العامة مفيدًا لاستدعاء شبكة IOCTLs معينة.
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
تسجيل منسق خطأ النص لأخطاء طبقة آينت.
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)

الطبقات

نيكولا لانغ :: :: آينت AsyncDNSResolverSockets

هذا هو الطبقة الداخلية ل InetLayer التي توفر واجهات برمجة التطبيقات المساعد للقرار غير متزامن نظام اسم المجال (DNS) في InetLayer .

نيكولا لانغ :: :: آينت DNSResolver

هذا هو الطبقة الداخلية ل InetLayer التي توفر التجريد من قرار نظام اسم المجال (DNS) في InetLayer .

نيكولا لانغ :: :: آينت EndPointBasis

أساس فئات نقاط نهاية النقل عبر الإنترنت.

نيكولا لانغ :: :: آينت IPADDRESS

عنوان بروتوكول الإنترنت.

نيكولا لانغ :: :: آينت IPEndPointBasis

تمثل كائنات هذه الفئة نقاط نهاية بروتوكول IP غير قابلة للتشغيل.

نيكولا لانغ :: :: آينت IPPacketInfo

معلومات حول رسالة / اتصال واردة / صادرة.

نيكولا لانغ :: :: آينت IPPrefix

بادئة عنوان بروتوكول الإنترنت.

نيكولا لانغ :: :: آينت InetLayer

يوفر هذا الوصول إلى خدمات الإنترنت ، بما في ذلك أجهزة ضبط الوقت ، ودقة نظام اسم المجال (DNS) ، ونقل شبكة TCP ، ونقل شبكة UDP ، ونقل الشبكة الأولية ، لمؤشر واحد.

نيكولا لانغ :: :: آينت InetLayerBasis

هذه هي الطبقة أساس الكائنات عد إشارة يديرها InetLayer الكائن.

نيكولا لانغ :: :: آينت InterfaceAddressIterator

المكرر لقائمة عناوين IP لواجهة شبكة النظام.

نيكولا لانغ :: :: آينت InterfaceIterator

المكرر لقائمة واجهات شبكة النظام.

نيكولا لانغ :: :: آينت RawEndPoint

تمثل كائنات هذه الفئة نقاط نهاية شبكة IP الأولية.

نيكولا لانغ :: :: آينت SocketEvents

تمثل مجموعة من أحداث الإدخال / الإخراج المطلوبة / المعلقة على المقبس.

نيكولا لانغ :: :: آينت TCPEndPoint

تمثل كائنات هذه الفئة نقاط نهاية نقل TCP.

نيكولا لانغ :: :: آينت TunEndPoint

تمثل كائنات هذه الفئة واجهات نفق.

نيكولا لانغ :: :: آينت UDPEndPoint

تمثل كائنات هذه الفئة نقاط نهاية نقل UDP.

النقابات

نيكولا لانغ :: :: آينت PeerSockAddr

مساحات الأسماء

نيكولا لانغ :: :: آينت منصة

التعداد

@ 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

حدث استقبال البيانات عبر نفق نسج.

kInetEvent_UDPDataReceived

حدث استقبال البيانات عبر UDP.

خيارات DNS

 DNSOptions

خيارات تتحكم في كيفية تنفيذ دقة عنوان IP.

الخصائص
kDNSOption_AddrFamily_Any

قم بإرجاع عناوين IPv4 و / أو IPv6 بالترتيب الذي تم إرجاعه بواسطة خادم الأسماء.

kDNSOption_AddrFamily_IPv4Only

قم بإرجاع عناوين IPv4 فقط.

kDNSOption_AddrFamily_IPv4Preferred

قم بإرجاع عناوين IPv4 و / أو IPv6 ، مع إدراج عناوين IPv4 أولاً.

kDNSOption_AddrFamily_IPv6Only

قم بإرجاع عناوين IPv6 فقط.

kDNSOption_AddrFamily_IPv6Preferred

قم بإعادة عناوين IPv4 و / أو IPv6 ، مع إدراج عناوين 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

عنوان الإرسال المتعدد هو (1) عابر (أي مخصص ديناميكيًا) بدلاً من (0) معروف جيدًا (أي مخصص من IANA).

IPv6MulticastScope

 IPv6MulticastScope

نطاق عنوان الإرسال المتعدد لبروتوكول الإنترنت.

قيم IPv6MulticastScope تستخدم نوع لاستدعاء IPAddress::MakeIPv6Multicast() الأسلوب. تشير إلى النطاق القابل للتوجيه لمجموعة الإرسال المتعدد المعينة بالنتيجة. تم تسجيل هذه الأرقام بواسطة IETF مع IANA.

الخصائص
kIPv6MulticastScope_Admin

النطاق المحلي للعالم.

kIPv6MulticastScope_Global

النطاق العالمي.

kIPv6MulticastScope_IPv4

النطاق المحلي ("IPv4").

kIPv6MulticastScope_Interface

نطاق الواجهة المحلية.

kIPv6MulticastScope_Link

نطاق الارتباط المحلي.

kIPv6MulticastScope_Organization

نطاق المنظمة المحلية.

kIPv6MulticastScope_Site

النطاق المحلي للعالم.

النوع

InterfaceId

struct netif * InterfaceId

مؤشر واجهات شبكة النظام.

تعتمد إمكانية النقل على عدم مشاهدة هذا الاسم المستعار مطلقًا. يمكن استبداله بفئة خرسانية معتمة في المستقبل.

ملاحظة حسنًا: يشير مصطلح "معرف الواجهة" أيضًا بشكل تقليدي إلى أقل 64 بت لعنوان IPv6 في جميع مستندات معايير IETF ذات الصلة ، حيث غالبًا ما يتم استخدام الاختصار "IID". في هذا النص ، يشير المصطلح "مؤشر الواجهة" إلى قيم هذا النوع من الاسم المستعار.

المتغيرات

مقبس

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 ، يتم إرجاع سلسلة C قابلة للقراءة من قبل الإنسان منتهية من نوع NULL تصف الخطأ.

تفاصيل
المعلمات
[in] buf
المخزن المؤقت الذي سيتم وضع سلسلة الخطأ فيه.
[in] bufSize
حجم المخزن المؤقت الموفر بالبايت.
[in] err
الخطأ المراد وصفه.
عائدات
صواب إذا تمت كتابة سلسلة وصف في المخزن المؤقت المزود.
عائدات
خطأ إذا لم يكن الخطأ المقدم خطأ طبقة آينت.

GetIOCTLSocket

int GetIOCTLSocket(
  void
)

تُرجع مقبسًا عالميًا للأغراض العامة مفيدًا لاستدعاء شبكة IOCTLs معينة.

هذه الوظيفة هي خيط آمن على جميع المنصات.

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 System Layer.
عائدات
صحيح إذا كان ضمن النطاق المعدود ؛ خلاف ذلك ، خطأ.

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
الطول ، بالأحرف ، لسلسلة.
[out] aHost
مؤشر لجزء اسم المضيف من السلسلة التي تم تحليلها.
[out] aHostLen
طول المضيف بالأحرف.
[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
الطول ، بالأحرف ، لسلسلة.
[out] aHost
مؤشر لجزء اسم المضيف من السلسلة التي تم تحليلها.
[out] aHostLen
طول المضيف بالأحرف.
[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
)

تسجيل منسق خطأ النص لأخطاء طبقة آينت.

مآخذ 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
)