nl :: Inet

סיכום

ספירות

@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 multicast דגלים.
IPv6MulticastScope {
kIPv6MulticastScope_Interface = 1,
kIPv6MulticastScope_Link = 2,
kIPv6MulticastScope_IPv4 = 3,
kIPv6MulticastScope_Admin = 4,
kIPv6MulticastScope_Site = 5,
kIPv6MulticastScope_Organization = 8,
kIPv6MulticastScope_Global = 14
}
enum
פרוטוקול אינטרנט היקף כתובות שידור.

טיפוסים

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
בדוק כדי לוודא אם מערכת :: 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 Layer.
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 המספק APIs עוזר עבור אסינכרוני Domain Name System (DNS) ברזולוציה ב InetLayer .

NL :: Inet :: DNSResolver

זהו מעמד פנימי InetLayer המספק את ההפשטה של מערכת שמות התחומים (DNS) ברזולוציה ב InetLayer .

NL :: Inet :: EndPointBasis

בסיס שיעורי נקודות קצה של תחבורה באינטרנט.

NL :: Inet :: IPAddress

כתובת פרוטוקול אינטרנט.

NL :: Inet :: IPEndPointBasis

אובייקטים ממעמד זה מייצגים נקודות קצה של פרוטוקול IP שאינן ניתנות לאינסטנטימציה.

NL :: Inet :: IPPacketInfo

מידע על הודעה / חיבור נכנס / יוצא.

NL :: Inet :: IPPrefix

קידומת כתובת פרוטוקול אינטרנט.

NL :: Inet :: InetLayer

זה מספק גישה לשירותי אינטרנט, כולל טיימרים, רזולוציית מערכת שמות תחומים (DNS), הובלת רשת TCP, הובלת רשת UDP והובלת רשת גולמית, עבור חוט אחד.

NL :: Inet :: InetLayerBasis

זהו מעמד בסיס אובייקטים-ספר התייחסות מנוהלים על ידי InetLayer אובייקט.

NL :: Inet :: InterfaceAddressIterator

אינטרטר לרשימת כתובות ה- IP של ממשק רשת המערכת.

NL :: Inet :: InterfaceIterator

אינטרטר לרשימת ממשקי רשת המערכת.

NL :: Inet :: RawEndPoint

אובייקטים ממעמד זה מייצגים נקודות קצה גולמיות של רשת IP.

NL :: Inet :: SocketEvents

נציג קבוצה של אירועי קלט / פלט מבוקשים / בהמתנה על שקע.

NL :: Inet :: TCPEndPoint

אובייקטים ממעמד זה מייצגים נקודות קצה של תחבורה TCP.

NL :: Inet :: TunEndPoint

אובייקטים ממעמד זה מייצגים ממשקי מנהרה.

NL :: Inet :: UDPEndPoint

אובייקטים ממעמד זה מייצגים נקודות קצה של תחבורה UDP.

איגודים

NL :: Inet :: PeerSockAddr

מרחבי שמות

NL :: Inet :: פלטפורמה

ספירות

@ 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 התקפים.

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 multicast דגלים.

ערכים של IPv6MulticastFlag סוג משמשים להתקשר IPAddress::MakeIPv6Multicast() שיטות. הם מציינים את סוג כתובת ה- IPv6 המשולבת שיש ליצור. מספרים אלה רשומים על ידי IETF ב- IANA.

נכסים
kIPv6MulticastFlag_Prefix

כתובת ה- Multicast מבוססת (1) על קידומת רשת.

kIPv6MulticastFlag_Transient

כתובת ה- Multicast היא (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

היקף ממלכתי-מקומי.

טיפוסים

ממשק מזהה

struct netif * InterfaceId

מחוון לממשקי רשת מערכת.

ניידות תלויה בכך שמעולם לא תהיה עדה לכינוי זה. יתכן שהוא יוחלף במעמד אטום קונקרטי בעתיד.

שימו לב ובכן: המונח "מזהה ממשק" מתייחס באופן מקובל ל -64 סיביות נמוכות יותר של כתובת IPv6 בכל מסמכי התקנים הרלוונטיים של IETF, כאשר לעתים קרובות נעשה שימוש בקיצור "IID". בטקסט זה, המונח "מחוון ממשק" מתייחס לערכים מסוג כינוי זה.

משתנים

sIOCTLSocket

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, מחזירה מחרוזת C המופנית על ידי NULL עם קריאה המתארת ​​את השגיאה.

פרטים
פרמטרים
[in] buf
חוצץ שאליו ימוקם מחרוזת השגיאה.
[in] bufSize
גודל המאגר המסופק בתים.
[in] err
השגיאה שתתואר.
החזרות
true אם מחרוזת תיאור נכתבה במאגר שסופק.
החזרות
false אם השגיאה שסופקה לא הייתה שגיאת Inet Layer.

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
)

בדוק כדי לוודא אם מערכת :: 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
שגיאת מערכת או פלטפורמה אחרת

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
האורך, בתווים, של 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 Layer.

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
)