Google is committed to advancing racial equity for Black communities. See how.

এনএল :: ইনাইট :: RawEndPoint

#include <src/inet/RawEndPoint.h>

এই শ্রেণীর অবজেক্টগুলি কাঁচা আইপি নেটওয়ার্কের শেষ পয়েন্টগুলি উপস্থাপন করে।

সারসংক্ষেপ

নেস্ট ইনট লেয়ার আইপি নেটওয়ার্ক এন্ডপয়েন্টস (লিনাক্স এবং বিএসডি-উদ্ভূত সিস্টেমে SOCK_RAW সকেট) বা LwIP কাঁচা প্রোটোকল নিয়ন্ত্রণ ব্লকগুলির সাথে ইন্টারঅ্যাক্ট করার জন্য পদ্ধতিগুলি এনক্যাপসুলেট করে, কারণ সিস্টেমটি সেই অনুযায়ী কনফিগার করা হয়েছে।

উত্তরাধিকার

থেকে উত্তরাধিকারী nl এর :: Inet :: IPEndPointBasis

জনসাধারণের গুণাবলী

IPProto
IPProtocol
ইন্টারনেট কন্ট্রোল মেসেজ প্রোটোকল (আইসিএমপি) এর সংস্করণ
IPVer
IPVersion
ইন্টারনেট প্রোটোকলের সংস্করণ।

পাবলিক ফাংশন

Bind (IPAddressType addrType, IPAddress addr, InterfaceId intfId)
একটি ইন্টারফেসের আইপি ঠিকানার সাথে শেষ পয়েন্টটি বাঁধুন।
BindIPv6LinkLocal (InterfaceId intf, IPAddress addr)
নির্দিষ্ট ইন্টারফেস সূচীতে আইপিভি 6 লিঙ্ক-লোকাল স্কোপ ঠিকানার কাঁচা শেষ পয়েন্টটি বাঁধুন।
BindInterface (IPAddressType addrType, InterfaceId intf)
একটি নেটওয়ার্ক ইন্টারফেসে প্রান্তটি আবদ্ধ করুন।
Close (void)
void
সমাপ্তিটি বন্ধ করুন।
Free (void)
void
শেষের অবস্থানটি বন্ধ করুন এবং এর মেমরিটিকে পুনরায় ব্যবহার করুন।
GetBoundInterface (void)
InterfaceId
এই শেষ পয়েন্টে সীমাবদ্ধ ইন্টারফেস পান।
Listen (void)
আইসিএমপি বার্তাগুলি পেতে শেষ পয়েন্টটি প্রস্তুত করুন।
SendMsg (const IPPacketInfo *pktInfo, Weave::System::PacketBuffer *msg, uint16_t sendFlags)
নির্দিষ্ট গন্তব্যে একটি আইসিএমপি বার্তা প্রেরণ করুন।
SendTo ( IPAddress addr, Weave::System::PacketBuffer *msg, uint16_t sendFlags)
জন্য একটি প্রতিশব্দ SendTo(addr, INET_NULL_INTERFACEID, msg, sendFlags)
SendTo ( IPAddress addr, InterfaceId intfId, Weave::System::PacketBuffer *msg, uint16_t sendFlags)
নির্দিষ্ট গন্তব্য ঠিকানায় একটি আইসিএমপি বার্তা প্রেরণ করুন।
SetICMPFilter (uint8_t numICMPTypes, const uint8_t *aICMPTypes)
নেটওয়ার্ক স্ট্যাকের ICMP6 ফিল্টার পরামিতি সেট করুন Set

জনসাধারণের গুণাবলী

আইপিপ্রোটো

IPProtocol IPProto

ইন্টারনেট কন্ট্রোল মেসেজ প্রোটোকল (আইসিএমপি) এর সংস্করণ

যদিও এই ক্ষেত্রটি একটি পরিবর্তনীয় শ্রেণীর পরিবর্তনশীল, এটি শ্রেণীর একটি আক্রমণকারী এটি পরিবর্তিত হবে না।

আইপিভিয়ার

IPVersion IPVer

ইন্টারনেট প্রোটোকলের সংস্করণ।

যদিও এই ক্ষেত্রটি একটি পরিবর্তনীয় শ্রেণীর পরিবর্তনশীল, এটি শ্রেণীর একটি আক্রমণকারী এটি পরিবর্তিত হবে না।

পাবলিক ফাংশন

বাঁধাই করা

INET_ERROR Bind(
  IPAddressType addrType,
  IPAddress addr,
  InterfaceId intfId
)

একটি ইন্টারফেসের আইপি ঠিকানার সাথে শেষ পয়েন্টটি বাঁধুন।

নির্দিষ্ট নেটওয়ার্ক ইন্টারফেসের আইপি ঠিকানার শেষ প্রান্তকে আবদ্ধ করে।

বিশদ
পরামিতি
[in] addrType
আইপি ঠিকানার প্রোটোকল সংস্করণ
[in] addr
আইপি ঠিকানা (অবশ্যই একটি ইন্টারফেস ঠিকানা হতে হবে)
[in] intfId
একটি alচ্ছিক নেটওয়ার্ক ইন্টারফেস সূচক
রিটার্ন মান
INET_NO_ERROR
সাফল্য: ঠিকানা শেষ আবদ্ধ
INET_ERROR_INCORRECT_STATE
শেষ পয়েন্টটি আগে আবদ্ধ ছিল
INET_NO_MEMORY
শেষ পয়েন্টের জন্য অপর্যাপ্ত মেমরি
INET_ERROR_UNKNOWN_INTERFACE
কিছু প্ল্যাটফর্মে allyচ্ছিকভাবে নির্দিষ্ট ইন্টারফেস উপস্থিত নেই।
INET_ERROR_WRONG_PROTOCOL_TYPE
addrType মিলছে না IPVer
INET_ERROR_WRONG_ADDRESS_TYPE
addrType হয় kIPAddressType_Any , অথবা ধরণ addr সমান নয় addrType
other
অন্য সিস্টেম বা প্ল্যাটফর্ম ত্রুটি

LwIP- এ, ইতিমধ্যে অর্জিত LWIP স্ট্যাক লক দিয়ে এই পদ্ধতিটি কল করা উচিত নয়।

BindIPv6LinkLocal

INET_ERROR BindIPv6LinkLocal(
  InterfaceId intf,
  IPAddress addr
)

নির্দিষ্ট ইন্টারফেস সূচীতে আইপিভি 6 লিঙ্ক-লোকাল স্কোপ ঠিকানার কাঁচা শেষ পয়েন্টটি বাঁধুন।

অন-লিঙ্ক গন্তব্যগুলিতে এবং প্যাকেটগুলি প্রেরণের জন্য উপযুক্ত বিভিন্ন আইপিভি 6 সকেট বিকল্পগুলি সেট করে।

Binds IPv6, স্থানীয় লিঙ্ক ঠিকানায় শেষবিন্দু addr নেটওয়ার্ক ইন্টারফেস উপর দ্বারা নির্দেশিত intf

বিশদ
পরামিতি
[in] intf
ঠিকানার ব্যাপ্তি সনাক্ত করতে একটি ইন্টারফেসআইড।
[in] addr
একটি IPv6, স্থানীয় লিঙ্ক সুযোগ IPADDRESS অবজেক্ট।
পরামিতি
[in] intf
নেটওয়ার্ক ইন্টারফেসের সূচক
[in] addr
আইপি ঠিকানা (অবশ্যই একটি ইন্টারফেস ঠিকানা হতে হবে)
রিটার্ন মান
INET_NO_ERROR
সাফল্য: শেষ পয়েন্ট ঠিকানা
INET_ERROR_INCORRECT_STATE
শেষ পয়েন্টটি আগে আবদ্ধ ছিল
INET_NO_MEMORY
শেষ পয়েন্টের জন্য অপর্যাপ্ত মেমরি
INET_ERROR_WRONG_PROTOCOL_TYPE
addrType মিলছে না IPVer
INET_ERROR_WRONG_ADDRESS_TYPE
addr একটি IPv6, স্থানীয় লিঙ্ক ঠিকানা নয় বা intf হয় INET_NULL_INTERFACEID
other
অন্য সিস্টেম বা প্ল্যাটফর্ম ত্রুটি
ফিরে আসে
সাফল্যে INET_NO_ERROR, বা ব্যর্থ হওয়ার ক্ষেত্রে ম্যাপযুক্ত ওএস ত্রুটি। একটি অবৈধ প্যারামিটার তালিকা INET_ERROR_WRONG_ADDRESS_TYPE এর ফলস্বরূপ হতে পারে। যদি কাঁচা শেষ পয়েন্টটি ইতিমধ্যে আবদ্ধ বা শ্রবণ করা থাকে, তবে INET_ERROR_INCORRECT_STATE প্রত্যাবর্তন করবে। একটি ইন্টারফেস IPv6 লিঙ্ক-স্থানীয় ঠিকানায় শেষ পয়েন্টটি বেঁধে রাখুন।

LwIP- এ, ইতিমধ্যে অর্জিত LWIP স্ট্যাক লক দিয়ে এই পদ্ধতিটি কল করা উচিত নয়।

BindInterface

INET_ERROR BindInterface(
  IPAddressType addrType,
  InterfaceId intf
)

একটি নেটওয়ার্ক ইন্টারফেসে প্রান্তটি আবদ্ধ করুন।

নির্দিষ্ট নেটওয়ার্ক ইন্টারফেসের আইপি ঠিকানার শেষ প্রান্তকে আবদ্ধ করে।

বিশদ
পরামিতি
[in] addrType
আইপি ঠিকানার প্রোটোকল সংস্করণ।
[in] intf
নেটওয়ার্ক ইন্টারফেসের সূচক।
রিটার্ন মান
INET_NO_ERROR
সাফল্য: শেষ পয়েন্ট ঠিকানা
INET_NO_MEMORY
শেষ পয়েন্টের জন্য অপর্যাপ্ত মেমরি
INET_ERROR_NOT_IMPLEMENTED
সিস্টেম বাস্তবায়ন সম্পূর্ণ নয়।
INET_ERROR_UNKNOWN_INTERFACE
কিছু প্ল্যাটফর্মে, ইন্টারফেস উপস্থিত নেই।
other
অন্য সিস্টেম বা প্ল্যাটফর্ম ত্রুটি

LwIP- এ, ইতিমধ্যে অর্জিত LWIP স্ট্যাক লক দিয়ে এই পদ্ধতিটি কল করা উচিত নয়।

বন্ধ

void Close(
  void
)

সমাপ্তিটি বন্ধ করুন।

তাহলে mState != kState_Closed , তারপর শেষবিন্দু বন্ধ, যোগাযোগ ইভেন্টের জন্য যোগ্য এন্ড পয়েন্ট সেট থেকে এটি সরানোর।

LwIP সিস্টেমে, ইতিমধ্যে অর্জিত LWIP স্ট্যাক লক দিয়ে এই পদ্ধতিটি কল করা উচিত নয়।

ফ্রি

void Free(
  void
)

শেষের অবস্থানটি বন্ধ করুন এবং এর মেমরিটিকে পুনর্ব্যবহার করুন।

ডাকে Close পদ্ধতি, তারপর এমন কিছুকে ডাকে, InetLayerBasis::Release তার মেমরির পুল বস্তুর ফিরে যাওয়ার পদ্ধতি।

LwIP সিস্টেমে, ইতিমধ্যে অর্জিত LWIP স্ট্যাক লক দিয়ে এই পদ্ধতিটি কল করা উচিত নয়।

গেটবাউন্ডইন্টারফেস

InterfaceId GetBoundInterface(
  void
)

এই শেষ পয়েন্টে সীমাবদ্ধ ইন্টারফেস পান।

বিশদ
ফিরে আসে
ইন্টারফেসআইড বাউন্ড ইন্টারফেস আইডি।

শোনো

INET_ERROR Listen(
  void
)

আইসিএমপি বার্তাগুলি পেতে শেষ পয়েন্টটি প্রস্তুত করুন।

তাহলে mState আগে থেকেই kState_Listening , তারপর কোনো রকমে সঞ্চালিত হয়, অন্যথায় mState সেট করা হয় kState_Listening এবং শেষবিন্দু পেয়েছি ICMPv6 বার্তাগুলি প্রস্তুত করা হয়, প্ল্যাটফর্ম শব্দার্থবিদ্যা অনুযায়ী।

বিশদ
রিটার্ন মান
INET_NO_ERROR
সর্বদা ফিরে।

LwIP- এ, ইতিমধ্যে অর্জিত LWIP স্ট্যাক লক দিয়ে এই পদ্ধতিটি কল করা উচিত নয়

সেন্ডএমএসজি

INET_ERROR SendMsg(
  const IPPacketInfo *pktInfo,
  Weave::System::PacketBuffer *msg,
  uint16_t sendFlags
)

নির্দিষ্ট গন্তব্যে একটি আইসিএমপি বার্তা প্রেরণ করুন।

 Send the ICMP message \c msg using the destination information given in \c addr.

 Where (sendFlags & kSendFlag_RetainBuffer) != 0, calls
 Weave::System::PacketBuffer::Free on behalf of the caller, otherwise this
 method deep-copies \c msg into a fresh object, and queues that for
 transmission, leaving the original \c msg available after return.

বিশদ
পরামিতি
[in] pktInfo
বার্তার জন্য গন্তব্য তথ্য
[in] msg
প্যাকেট বাফারটিতে ইউডিপি বার্তা রয়েছে
[in] sendFlags
alচ্ছিক সংক্রমণ বিকল্প পতাকা
রিটার্ন মান
INET_NO_ERROR
সাফল্য: msg প্রেরণ জন্য সারিবদ্ধ করা হয়।
INET_ERROR_NOT_SUPPORTED
সিস্টেমটি অনুরোধ করা ক্রিয়াকলাপ সমর্থন করে না।
INET_ERROR_WRONG_ADDRESS_TYPE
গন্তব্য ঠিকানা এবং বাউন্ড ইন্টারফেস ঠিকানায় মেলে প্রোটোকল সংস্করণ বা ঠিকানার ধরণ নেই।
INET_ERROR_MESSAGE_TOO_LONG
msg পুরো সরাসরি ICMP বার্তা ধারণ করে না।
INET_ERROR_OUTBOUND_MESSAGE_TRUNCATED
কিছু প্ল্যাটফর্মে শুধুমাত্র একটি ছেঁটে ফেলা অংশ msg প্রেরণ জন্য সারিবদ্ধ করা হয়।
other
অন্য সিস্টেম বা প্ল্যাটফর্ম ত্রুটি

পাঠানো

INET_ERROR SendTo(
  IPAddress addr,
  Weave::System::PacketBuffer *msg,
  uint16_t sendFlags
)

জন্য একটি প্রতিশব্দ SendTo(addr, INET_NULL_INTERFACEID, msg, sendFlags)

পাঠানো

INET_ERROR SendTo(
  IPAddress addr,
  InterfaceId intfId,
  Weave::System::PacketBuffer *msg,
  uint16_t sendFlags
)

নির্দিষ্ট গন্তব্য ঠিকানায় একটি আইসিএমপি বার্তা প্রেরণ করুন।

 Send the ICMP message in \c msg to the destination given in \c addr.

 Where (sendFlags & kSendFlag_RetainBuffer) != 0, calls
 Weave::System::PacketBuffer::Free on behalf of the caller, otherwise this
 method deep-copies \c msg into a fresh object, and queues that for
 transmission, leaving the original \c msg available after return.

বিশদ
পরামিতি
[in] addr
গন্তব্য আইপি ঠিকানা
[in] intfId
একটি alচ্ছিক নেটওয়ার্ক ইন্টারফেস সূচক
[in] msg
প্যাকেট বাফারটিতে ইউডিপি বার্তা রয়েছে
[in] sendFlags
alচ্ছিক সংক্রমণ বিকল্প পতাকা
রিটার্ন মান
INET_NO_ERROR
সাফল্য: msg প্রেরণ জন্য সারিবদ্ধ করা হয়।
INET_ERROR_NOT_SUPPORTED
সিস্টেমটি অনুরোধ করা ক্রিয়াকলাপ সমর্থন করে না।
INET_ERROR_WRONG_ADDRESS_TYPE
গন্তব্য ঠিকানা এবং বাউন্ড ইন্টারফেস ঠিকানায় মেলে প্রোটোকল সংস্করণ বা ঠিকানার ধরণ নেই।
INET_ERROR_MESSAGE_TOO_LONG
msg পুরো সরাসরি ICMP বার্তা ধারণ করে না।
INET_ERROR_OUTBOUND_MESSAGE_TRUNCATED
কিছু প্ল্যাটফর্মে শুধুমাত্র একটি ছেঁটে ফেলা অংশ msg প্রেরণ জন্য সারিবদ্ধ করা হয়।
other
অন্য সিস্টেম বা প্ল্যাটফর্ম ত্রুটি

সেটিকএমপিফিল্টার

INET_ERROR SetICMPFilter(
  uint8_t numICMPTypes,
  const uint8_t *aICMPTypes
)

নেটওয়ার্ক স্ট্যাকের ICMP6 ফিল্টার পরামিতি সেট করুন Set

মধ্যে কোডগুলি ICMPv6 ফিল্টারিং পরামিতি প্রয়োগ করুন aICMPTypes সিস্টেম নেটওয়ার্কিং স্ট্যাকের মূলগত শেষবিন্দু করতে।

বিশদ
পরামিতি
[in] numICMPTypes
এ অ্যারের দৈর্ঘ্য aICMPTypes
[in] aICMPTypes
ফিল্টার করতে ICMPv6 টাইপ কোডের সেট।
রিটার্ন মান
INET_NO_ERROR
সাফল্য: ফিল্টার পরামিতি সেট
INET_ERROR_NOT_IMPLEMENTED
সিস্টেম প্রয়োগ করে না
INET_ERROR_WRONG_ADDRESS_TYPE
শেষ পয়েন্ট আইপিভি 6 টাইপ নয়
INET_ERROR_WRONG_PROTOCOL_TYPE
শেষ পয়েন্ট আইসিএমপি 6 নয়
other
অন্য সিস্টেম বা প্ল্যাটফর্ম ত্রুটি