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)
}
enum
تعاریف نوع رویداد لایه 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
}
enum
گزینه هایی که نحوه انجام وضوح آدرس IP را کنترل می کنند.
IPAddressType {
kIPAddressType_Unknown = 0,
kIPAddressType_IPv4 = 1,
kIPAddressType_IPv6 = 2,
kIPAddressType_Any = 3
}
enum
خانواده آدرس پروتکل اینترنت
IPProtocol {
kIPProtocol_ICMPv6 = 58,
kIPProtocol_ICMPv4 = 1
}
enum
شماره برخی از پروتکل های خانواده IP.
IPV6MulticastGroup {
kIPV6MulticastGroup_AllRouters = 2
}
enum
شناسه های گروه چندپخشی پروتکل اینترنت.
IPVersion {
kIPVersion_6 = 6,
kIPVersion_4 = 4
}
enum
نسخه پروتکل IP در حال استفاده.
IPv6MulticastFlag {
kIPv6MulticastFlag_Transient = 0x01,
kIPv6MulticastFlag_Prefix = 0x02
}
enum
پروتکل اینترنت v6 پرچم های چندپخشی.
IPv6MulticastScope {
kIPv6MulticastScope_Interface = 1,
kIPv6MulticastScope_Link = 2,
kIPv6MulticastScope_IPv4 = 3,
kIPv6MulticastScope_Admin = 4,
kIPv6MulticastScope_Site = 5,
kIPv6MulticastScope_Organization = 8,
kIPv6MulticastScope_Global = 14
}
enum
محدوده آدرس چندپخشی پروتکل اینترنت.

Typedefs

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، یک رشته C پایان‌پذیر NULL قابل خواندن برای انسان را برمی‌گرداند که خطا را توصیف می‌کند.
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 یک فرمت دهنده خطای متنی ثبت کنید.
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 است که API های کمکی را برای وضوح سیستم نام دامنه ناهمزمان (DNS) در InetLayer ارائه می دهد.

nl:: Inet:: DNSResolver

این یک کلاس داخلی برای InetLayer است که انتزاع وضوح سیستم نام دامنه (DNS) را در InetLayer ارائه می‌کند.

nl:: Inet:: EndPointBasis

اساس کلاس های پایانی حمل و نقل اینترنتی.

nl:: اینت:: آدرس IP

آدرس پروتکل اینترنت

nl:: Inet:: IPEndPointBasis

اشیاء این کلاس نشان دهنده نقاط پایانی پروتکل IP غیرقابل اثبات هستند.

nl:: Inet:: IPPacketInfo

اطلاعاتی در مورد پیام/اتصال ورودی/خروجی.

nl:: Inet:: IPPrefix

پیشوند آدرس پروتکل اینترنت.

nl:: Inet:: InetLayer

این امکان دسترسی به خدمات اینترنت، از جمله تایمر، وضوح سیستم نام دامنه (DNS)، انتقال شبکه TCP، انتقال شبکه UDP و انتقال شبکه خام را برای یک رشته فراهم می‌کند.

nl:: Inet:: InetLayerBasis

این کلاس پایه از اشیاء شمارش مرجع است که توسط یک شی InetLayer مدیریت می شود.

nl:: Inet:: InterfaceAddressIterator

Iterator برای لیست آدرس های IP رابط شبکه سیستم.

nl:: Inet:: InterfaceIterator

Iterator برای لیست رابط های شبکه سیستم.

nl:: Inet:: RawEndPoint

اشیاء این کلاس نشان دهنده نقاط پایانی شبکه IP خام هستند.

nl:: Inet:: SocketEvents

مجموعه ای از رویدادهای ورودی/خروجی درخواست شده/در انتظار در یک سوکت را نشان می دهد.

nl:: Inet:: TCPEndPoint

اشیاء این کلاس نشان دهنده نقاط پایانی انتقال TCP هستند.

nl:: Inet:: TunEndPoint

اشیاء این کلاس رابط های تونل را نشان می دهند.

nl:: Inet:: UDPEndPoint

اشیاء این کلاس نشان دهنده نقاط پایانی انتقال UDP هستند.

اتحادیه ها

nl:: Inet:: PeerSockAddr

فضاهای نام

nl:: اینت:: پلتفرم

شمارش ها

@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.

گزینه های 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.

نوع آدرس IP

 IPAddressType

خانواده آدرس پروتکل اینترنت

مقادیر نوع IPAddressType با روش IPAddress::Type() برگردانده می شود. آنها خانواده آدرسی را نشان می دهند که استفاده از آدرس مستلزم آن است.

خواص
kIPAddressType_Any

آدرس اینترنتی نامشخص (مستقل از نسخه پروتکل)

kIPAddressType_IPv4

پروتکل اینترنت نسخه 4.

kIPAddressType_IPv6

پروتکل اینترنت نسخه 6.

kIPAddressType_Unknown

استفاده نشده است.

پروتکل IP

 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

قلمرو-محدوده محلی.

Typedefs

شناسه رابط

struct netif * InterfaceId

نشانگر رابط های شبکه سیستم.

قابل حمل بودن بستگی به این دارد که هرگز شاهد این نام مستعار نباشیم. ممکن است در آینده با کلاس مات بتنی جایگزین شود.

خوب توجه داشته باشید: اصطلاح "شناسه رابط" نیز به طور معمول به 64 بیت پایین یک آدرس IPv6 در تمام اسناد استانداردهای مربوطه IETF اشاره می کند، جایی که اغلب از اختصار "IID" استفاده می شود. در این متن، عبارت "شاخص رابط" به مقادیری از این نوع نام مستعار اشاره دارد.

متغیرها

sIOCTLSocket

int sIOCTLSocket = -1

توابع

MulticastGroupArgs را بررسی کنید

INET_ERROR CheckMulticastGroupArgs(
  InterfaceId aInterfaceId,
  const IPAddress & aAddress
)

CloseIOCTLSocket

void CloseIOCTLSocket(
  void
)

سوکت جهانی ایجاد شده توسط GetIOCTLSocket را ببندید.

این عملکرد برای مواردی ارائه شده است که سوکت جهانی IOCTL را باز می‌گذارند و به عنوان نشتی ثبت می‌شوند.

توجه: این تابع با توجه به GetIOCTLSocket ایمن نیست.

خطای FormatInetLayer

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

با توجه به یک خطای لایه Inet، یک رشته C پایان‌پذیر NULL قابل خواندن برای انسان را برمی‌گرداند که خطا را توصیف می‌کند.

جزئیات
پارامترها
[in] buf
بافری که رشته خطا در آن قرار می گیرد.
[in] bufSize
اندازه بافر ارائه شده بر حسب بایت.
[in] err
خطایی که باید توضیح داده شود.
برمی گرداند
true اگر یک رشته توضیحات در بافر ارائه شده نوشته شده باشد.
برمی گرداند
false اگر خطای ارائه شده یک خطای لایه Inet نبود.

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
یک نوع رویداد لایه سیستم بافت.
برمی گرداند
درست است اگر در محدوده شمارش شده قرار گیرد. در غیر این صورت، نادرست

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
یک خطای سیستم یا پلتفرم دیگر

رابط LwIPBind

INET_ERROR LwIPBindInterface(
  struct raw_pcb *aRaw,
  InterfaceId intfId
)

رابط LwIPBind

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 یک فرمت دهنده خطای متنی ثبت کنید.

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
)