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

এনএল :: ইনাইট :: ইন্টারফেসআইটারেটর

#include <src/inet/InetInterface.h>

সিস্টেম নেটওয়ার্ক ইন্টারফেসের তালিকার জন্য আইট্রেটার।

সারসংক্ষেপ

সিস্টেম নেটওয়ার্ক ইন্টারফেসগুলির তালিকা পুনরাবৃত্তি করতে এই শ্রেণীর অবজেক্টগুলি ব্যবহার করুন।

এই শ্রেণীর একটি পৃথক উদাহরণস্বরূপ উপর পদ্ধতি থ্রেড-নিরাপদ নয়; তবে পৃথক দৃষ্টান্ত একসাথে একাধিক থ্রেড ব্যবহার করা যেতে পারে।

মাল্টি-থ্রেড এলডব্লিউআইপি সিস্টেমগুলিতে, বিশ্বব্যাপী এলডব্লিউআইপি স্থিতিতে অ্যাক্সেস করা অন্যান্য থ্রেডের তুলনায় উদাহরণগুলি থ্রেড-নিরাপদ থাকে যদি অন্য থ্রেডগুলি নেতিফদের তালিকার পরিবর্তনের সময় LwIP কোর লকটি ধরে রাখে এবং সেই নেটিফ অবজেক্ট নিজেই বিনষ্ট হয় না।

সকেট-ভিত্তিক সিস্টেমে অন্তর্নিহিত সিস্টেমের ইন্টারফেসগুলির পরিবর্তনের ক্ষেত্রে পুনরাবৃত্তি সর্বদা স্থিতিশীল থাকে।

LwIP সিস্টেমে, বর্তমানে নির্বাচিত ইন্টারফেসটি তালিকা থেকে সরানো হয়েছে এমন ক্ষেত্রে বাদ দিয়ে পুনরাবৃত্তি স্থিতিশীল, যেখানে পুনরাবৃত্তি অবিলম্বে শেষ হয়।

নির্মাণকারী এবং ধ্বংসকারী

InterfaceIterator (void)
একটি নির্মান InterfaceIterator অবজেক্ট।
~InterfaceIterator (void)
একটি ধ্বংস InterfaceIterator অবজেক্ট।

সুরক্ষিত গুণাবলী

mCurIntf
size_t
mCurNetif
struct netif *
mIntfArray
struct if_nameindex *
mIntfFlags
short
mIntfFlagsCached
bool

পাবলিক ফাংশন

GetInterface (void)
InterfaceId
জন্য অসমর্থিত ওরফে GetInterfaceId(void)
GetInterfaceId (void)
InterfaceId
বর্তমান পুনরাবৃত্তির অবস্থানে নেটওয়ার্ক ইন্টারফেস আইডি প্রদান করে।
GetInterfaceName (char *nameBuf, size_t nameBufSize)
বর্তমান নেটওয়ার্ক ইন্টারফেসের নাম পান।
HasBroadcastAddress (void)
bool
বর্তমান নেটওয়ার্ক ইন্টারফেসের একটি সম্প্রচারের ঠিকানা রয়েছে কিনা তা ফেরত দেয়।
HasCurrent (void)
bool
ইন্টারফেসে পুনরুক্তি স্থিত কিনা তা পরীক্ষা করুন।
IsUp (void)
bool
বর্তমান নেটওয়ার্ক ইন্টারফেস শেষ কিনা তা ফেরত দেয়।
Next (void)
bool
পুনরাবৃত্তিকে পরবর্তী নেটওয়ার্ক ইন্টারফেসে অগ্রসর করুন।
SupportsMulticast (void)
bool
বর্তমান নেটওয়ার্ক ইন্টারফেস মাল্টিকাস্ট সমর্থন করে কিনা তা ফেরত দেয়।

সুরক্ষিত ফাংশন

GetFlags (void)
short
বর্তমান ইন্টারফেসের জন্য ifr_flags মান প্রদান করে।

সুরক্ষিত গুণাবলী

এমকিউরআইএনটিএফ

size_t mCurIntf

মিউরিকেট

struct netif * mCurNetif

mIntfArray

struct if_nameindex * mIntfArray

mIntfFlags

short mIntfFlags

mIntfFlagsCached

bool mIntfFlagsCached

পাবলিক ফাংশন

গেটইন্টারফেস

InterfaceId GetInterface(
  void
)

জন্য অসমর্থিত ওরফে GetInterfaceId(void)

গেটইন্টারফেসআইডি

InterfaceId GetInterfaceId(
  void
)

বর্তমান পুনরাবৃত্তির অবস্থানে নেটওয়ার্ক ইন্টারফেস আইডি প্রদান করে।

বিশদ
রিটার্ন মান
INET_NULL_INTERFACEID
তালিকার শেষের বাইরে অগ্রসর হলে।
id
বর্তমান নেটওয়ার্ক ইন্টারফেস আইডি।

গেটইন্টারফেসনাম

INET_ERROR GetInterfaceName(
  char *nameBuf,
  size_t nameBufSize
)

বর্তমান নেটওয়ার্ক ইন্টারফেসের নাম পান।

Writes the name of the network interface as \c NUL terminated text string
at \c nameBuf.

বিশদ
পরামিতি
[in] nameBuf
ইন্টারফেসের নাম লিখতে মেমরির অঞ্চল
[in] nameBufSize
অঞ্চল দ্বারা প্রকাশ আকার nameBuf
রিটার্ন মান
INET_NO_ERROR
সফল ফলাফল, ইন্টারফেস নাম লিখিত
INET_ERROR_INCORRECT_STATE
পুনরুক্তি তালিকার শেষের বাইরে অবস্থিত
INET_ERROR_NO_MEMORY
নামটি বড় আকারে বাফারে লেখা যায় না
other
অন্য সিস্টেম বা প্ল্যাটফর্ম ত্রুটি

হাসব্রোডকাস্টএড্রেস

bool HasBroadcastAddress(
  void
)

বর্তমান নেটওয়ার্ক ইন্টারফেসের একটি সম্প্রচারের ঠিকানা রয়েছে কিনা তা ফেরত দেয়।

বিশদ
ফিরে আসে
true যদি বর্তমান নেটওয়ার্ক ইন্টারফেস একটি সম্প্রচার ঠিকানা হয়েছে false যদি না হয়, বা পুনরুক্তিকারীর তালিকার শেষে পরলোক অবস্থিত পারেন।

হ্যাসকারেন্ট

bool HasCurrent(
  void
)

ইন্টারফেসে পুনরুক্তি স্থিত কিনা তা পরীক্ষা করুন।

একটি ইন্টারফেস ঠিকানায় পুনরুক্তি স্থিত কিনা তা পরীক্ষা করুন।

বিশদ
ফিরে আসে
true পুনরুক্তিকারীর একটি ইন্টারফেস পাশে অবস্থিত রয়েছে যদি; false যদি ইন্টারফেস তালিকাটির শেষে পরলোক স্থান।
ফিরে আসে
true পুনরুক্তিকারীর একটি ইন্টারফেস ঠিকানার উপর অবস্থিত যদি; false যদি ঠিকানা তালিকা শেষে পরলোক স্থান।

ইন্টারফেসআইটারেটর

 InterfaceIterator(
  void
)

একটি নির্মান InterfaceIterator অবজেক্ট।

প্রথম নেটওয়ার্ক ইন্টারফেসে পুনরুক্তি শুরু করে। কিছু প্ল্যাটফর্মে, এই নির্মাণকারী ডেস্ট্রাক্টর দ্বারা পুনর্ব্যবহৃত সংস্থানগুলি বরাদ্দ করতে পারে।

ইসআপ

bool IsUp(
  void
)

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

বিশদ
ফিরে আসে
true যদি বর্তমান নেটওয়ার্ক ইন্টারফেস, আপ false যদি না অথবা যদি পুনরুক্তিকারীর তালিকার শেষে পরলোক অবস্থিত।

পরবর্তী

bool Next(
  void
)

পুনরাবৃত্তিকে পরবর্তী নেটওয়ার্ক ইন্টারফেসে অগ্রসর করুন।

Advances the internal iterator to the next network interface or to a position
beyond the end of the interface list.

On multi-threaded LwIP systems, this method is thread-safe relative to other
threads accessing the global LwIP state provided that: 1) the other threads
hold the LwIP core lock while mutating the list of netifs; and 2) netif objects
themselves are never destroyed.

Iteration is stable in the face of changes to the underlying system's
interfaces, *except* in the case of LwIP systems when the currently selected
interface is removed from the list, which causes iteration to end immediately.

বিশদ
ফিরে আসে
false যদি শেষ পরলোক উন্নত, অন্য true

মাল্টিকাস্ট সমর্থন করে

bool SupportsMulticast(
  void
)

বর্তমান নেটওয়ার্ক ইন্টারফেস মাল্টিকাস্ট সমর্থন করে কিনা তা ফেরত দেয়।

বিশদ
ফিরে আসে
true যদি বর্তমান নেটওয়ার্ক ইন্টারফেস সমর্থন মাল্টিকাস্ট, false যদি না হয়, বা পুনরুক্তিকারীর তালিকার শেষে পরলোক অবস্থিত পারেন।

~ ইন্টারফেসআইটারেটর

 ~InterfaceIterator(
  void
)

একটি ধ্বংস InterfaceIterator অবজেক্ট।

কনস্ট্রাক্টর কর্তৃক বরাদ্দকৃত কোনও সংস্থান পুনর্বার করে।

সুরক্ষিত ফাংশন

গেটফ্ল্যাগস

short GetFlags(
  void
)

বর্তমান ইন্টারফেসের জন্য ifr_flags মান প্রদান করে।