nl:: Inet:: RawEndPoint

#include <src/inet/RawEndPoint.h>

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

সারসংক্ষেপ

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

উত্তরাধিকার

থেকে উত্তরাধিকারসূত্রে পাওয়া যায়: nl::Inet::IPendPointBasis

পাবলিক বৈশিষ্ট্য

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

পাবলিক ফাংশন

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

পাবলিক বৈশিষ্ট্য

আইপিপ্রোটো

IPProtocol IPProto

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

যদিও এই ক্ষেত্রটি একটি পরিবর্তনযোগ্য শ্রেণী পরিবর্তনশীল, এটি ক্লাসের একটি অপরিবর্তনীয় যে এটি সংশোধন করা যাবে না।

IPVer

IPVersion IPVer

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

যদিও এই ক্ষেত্রটি একটি পরিবর্তনযোগ্য শ্রেণী পরিবর্তনশীল, এটি ক্লাসের একটি অপরিবর্তনীয় যে এটি সংশোধন করা যাবে না।

পাবলিক ফাংশন

বাঁধাই করা

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

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

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

বিস্তারিত
পরামিতি
[in] addrType
IP ঠিকানার প্রোটোকল সংস্করণ
[in] addr
IP ঠিকানা (একটি ইন্টারফেস ঠিকানা হতে হবে)
[in] intfId
একটি ঐচ্ছিক নেটওয়ার্ক ইন্টারফেস সূচক
রিটার্ন মান
INET_NO_ERROR
সাফল্য: শেষ বিন্দু ঠিকানায় আবদ্ধ
INET_ERROR_INCORRECT_STATE
শেষ বিন্দু আগে আবদ্ধ করা হয়েছে
INET_NO_MEMORY
এন্ডপয়েন্টের জন্য অপর্যাপ্ত মেমরি
INET_ERROR_UNKNOWN_INTERFACE
কিছু প্ল্যাটফর্মে, ঐচ্ছিকভাবে নির্দিষ্ট ইন্টারফেস উপস্থিত নেই।
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
)

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

এছাড়াও অন-লিংক গন্তব্যে এবং থেকে প্যাকেট প্রেরণের জন্য উপযুক্ত বিভিন্ন IPv6 সকেট বিকল্প সেট করে।

intf দ্বারা নির্দেশিত নেটওয়ার্ক ইন্টারফেসে IPv6 লিঙ্ক-স্থানীয় ঠিকানা addr সাথে শেষ বিন্দুকে আবদ্ধ করে।

বিস্তারিত
পরামিতি
[in] intf
ঠিকানার সুযোগ সনাক্ত করার জন্য একটি ইন্টারফেসআইডি।
[in] addr
একটি IPv6 লিঙ্ক-স্থানীয় সুযোগ IPAddress অবজেক্ট।
পরামিতি
[in] intf
নেটওয়ার্ক ইন্টারফেসের সূচক
[in] addr
IP ঠিকানা (একটি ইন্টারফেস ঠিকানা হতে হবে)
রিটার্ন মান
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, অথবা ব্যর্থতার ক্ষেত্রে একটি ম্যাপ করা OS ত্রুটি৷ একটি অবৈধ প্যারামিটার তালিকার ফলে INET_ERROR_WRONG_ADDRESS_TYPE হতে পারে৷ যদি কাঁচা এন্ডপয়েন্ট ইতিমধ্যেই আবদ্ধ থাকে বা শুনছে, তাহলে INET_ERROR_INCORRECT_STATE ফেরত দেয়। একটি ইন্টারফেস IPv6 লিঙ্ক-স্থানীয় ঠিকানায় এন্ডপয়েন্ট আবদ্ধ করুন।

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

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

INET_ERROR BindInterface(
  IPAddressType addrType,
  InterfaceId intf
)

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

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

বিস্তারিত
পরামিতি
[in] addrType
IP ঠিকানার প্রোটোকল সংস্করণ।
[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 স্ট্যাক লকের সাথে কল করা উচিত নয়।

GetBoundInterface

InterfaceId GetBoundInterface(
  void
)

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

বিস্তারিত
রিটার্নস
ইন্টারফেসআইডি আবদ্ধ ইন্টারফেস আইডি।

শুনুন

INET_ERROR Listen(
  void
)

ICMP বার্তাগুলি পাওয়ার জন্য শেষ পয়েন্ট প্রস্তুত করুন।

যদি mState ইতিমধ্যেই kState_Listening হয়, তাহলে কোনো অপারেশন করা হয় না, অন্যথায় mState kState_Listening এ সেট করা হয় এবং প্ল্যাটফর্মের শব্দার্থবিদ্যা অনুযায়ী, ICMPv6 বার্তা পাওয়ার জন্য এন্ডপয়েন্ট প্রস্তুত করা হয়।

বিস্তারিত
রিটার্ন মান
INET_NO_ERROR
সবসময় ফিরে.

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

SendMsg

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

নির্দিষ্ট গন্তব্যে একটি ICMP বার্তা পাঠান।

 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
UDP বার্তা ধারণকারী প্যাকেট বাফার
[in] sendFlags
ঐচ্ছিক ট্রান্সমিট বিকল্প পতাকা
রিটার্ন মান
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
)

নির্দিষ্ট গন্তব্য ঠিকানায় একটি ICMP বার্তা পাঠান।

 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
একটি ঐচ্ছিক নেটওয়ার্ক ইন্টারফেস সূচক
[in] msg
UDP বার্তা ধারণকারী প্যাকেট বাফার
[in] sendFlags
ঐচ্ছিক ট্রান্সমিট বিকল্প পতাকা
রিটার্ন মান
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 ফিল্টার পরামিতি সেট করুন।

সিস্টেম নেটওয়ার্কিং স্ট্যাকের অন্তর্নিহিত শেষ পয়েন্টে aICMPTypes এ কোডগুলির জন্য ICMPv6 ফিল্টারিং পরামিতি প্রয়োগ করুন।

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