واجهة البنية الأساسية

تتضمن هذه الوحدة تجريد النظام الأساسي لواجهة شبكة البنية التحتية المجاورة.

ملخّص

الدوال

otPlatInfraIfDiscoverNat64Prefix(uint32_t aInfraIfIndex)
يمكنك إرسال طلب لاكتشاف بادئة NAT64 على واجهة البنية الأساسية من خلال aInfraIfIndex.
otPlatInfraIfDiscoverNat64PrefixDone(otInstance *aInstance, uint32_t aInfraIfIndex, const otIp6Prefix *aIp6Prefix)
void
يستدعي برنامج تشغيل واجهة الأشعة تحت الحمراء هذه الطريقة لإشعار OpenThread بأن اكتشاف بادئة NAT64 قد تم.
otPlatInfraIfHasAddress(uint32_t aInfraIfIndex, const otIp6Address *aAddress)
bool
تخبر هذه العلامة ما إذا كانت واجهة الأشعة تحت الحمراء قد تم تعيين عنوان IPv6 لها أم لا.
otPlatInfraIfRecvIcmp6Nd(otInstance *aInstance, uint32_t aInfraIfIndex, const otIp6Address *aSrcAddress, const uint8_t *aBuffer, uint16_t aBufferLength)
void
يستدعي برنامج تشغيل واجهة الأشعة تحت الحمراء هذه الطريقة لإخطار OpenThread بتلقي رسالة ICMPv6 Neighbor Discovery.
otPlatInfraIfSendIcmp6Nd(uint32_t aInfraIfIndex, const otIp6Address *aDestAddress, const uint8_t *aBuffer, uint16_t aBufferLength)
لإرسال رسالة استكشاف الجار ICMPv6 الجار على واجهة بنية أساسية محددة.
otPlatInfraIfStateChanged(otInstance *aInstance, uint32_t aInfraIfIndex, bool aIsRunning)
يستدعي برنامج تشغيل واجهة الأشعة تحت الحمراء هذه الطريقة لإبلاغ OpenThread بتغييرات حالة الواجهة.

الدوال

otPlatInfraIfDiscoverNat64Prefix

otError otPlatInfraIfDiscoverNat64Prefix(
  uint32_t aInfraIfIndex
)

يمكنك إرسال طلب لاكتشاف بادئة NAT64 على واجهة البنية الأساسية من خلال aInfraIfIndex.

سيقوم OpenThread باستدعاء هذه الطريقة بشكل دوري لمراقبة وجود بادئة NAT64 أو تغييرها.

التفاصيل
المَعلمات
[in] aInfraIfIndex
فهرس واجهة البنية الأساسية لاكتشاف بادئة NAT64.
قيم الإرجاع
OT_ERROR_NONE
طلب اكتشاف بادئة NAT64 بنجاح.
OT_ERROR_FAILED
تعذّر طلب استكشاف بادئة NAT64.

otPlatInfraIfDiscoverNat64PrefixDone

void otPlatInfraIfDiscoverNat64PrefixDone(
  otInstance *aInstance,
  uint32_t aInfraIfIndex,
  const otIp6Prefix *aIp6Prefix
)

يستدعي برنامج تشغيل واجهة الأشعة تحت الحمراء هذه الطريقة لإشعار OpenThread بأن اكتشاف بادئة NAT64 قد تم.

يُتوقع استدعاءه بعد استدعاء otPlatInfraIfDiscoverNat64Prefix. في حال عدم اكتشاف بادئة NAT64، سيشير aIp6Prefix إلى بادئة فارغة بدون طول.

التفاصيل
المَعلمات
[in] aInstance
بنية النسخة الافتراضية OpenThread
[in] aInfraIfIndex
فهرس واجهة البنية الأساسية التي يتم اكتشاف بادئة NAT64 عليها.
[in] aIp6Prefix
مؤشر يشير إلى بادئة NAT64.

otPlatInfraIfHasAddress

bool otPlatInfraIfHasAddress(
  uint32_t aInfraIfIndex,
  const otIp6Address *aAddress
)

تخبر هذه العلامة ما إذا كانت واجهة الأشعة تحت الحمراء قد تم تعيين عنوان IPv6 لها أم لا.

التفاصيل
المَعلمات
[in] aInfraIfIndex
فهرس واجهة الأشعة تحت الحمراء
[in] aAddress
عنوان IPv6.
المرتجعات
TRUE إذا أعطت واجهة البنية التحتية عنوان IPv6 المعين، وFALSE إذا لم تفعل ذلك.

otPlatInfraIfRecvIcmp6Nd

void otPlatInfraIfRecvIcmp6Nd(
  otInstance *aInstance,
  uint32_t aInfraIfIndex,
  const otIp6Address *aSrcAddress,
  const uint8_t *aBuffer,
  uint16_t aBufferLength
)

يستدعي برنامج تشغيل واجهة الأشعة تحت الحمراء هذه الطريقة لإخطار OpenThread بتلقي رسالة ICMPv6 Neighbor Discovery.

يمكنك الاطّلاع على RFC 4861: https://tools.ietf.org/html/rfc4861.

التفاصيل
المَعلمات
[in] aInstance
بنية النسخة الافتراضية OpenThread
[in] aInfraIfIndex
فهرس واجهة البنية الأساسية التي يتم عليها استلام رسالة ICMPv6.
[in] aSrcAddress
عنوان المصدر الذي تم تلقّي هذه الرسالة منه.
[in] aBuffer
المخزن المؤقت للرسائل ICMPv6.
[in] aBufferLength
طول المخزن المؤقت للرسائل ICMPv6.

otPlatInfraIfSendIcmp6Nd

otError otPlatInfraIfSendIcmp6Nd(
  uint32_t aInfraIfIndex,
  const otIp6Address *aDestAddress,
  const uint8_t *aBuffer,
  uint16_t aBufferLength
)

لإرسال رسالة استكشاف الجار ICMPv6 الجار على واجهة بنية أساسية محددة.

يمكنك الاطّلاع على RFC 4861: https://tools.ietf.org/html/rfc4861.

التفاصيل
المَعلمات
[in] aInfraIfIndex
فهرس واجهة البنية الأساسية التي يتم إرسال هذه الرسالة إليها.
[in] aDestAddress
عنوان الوجهة الذي يتم إرسال هذه الرسالة إليه.
[in] aBuffer
المخزن المؤقت للرسائل ICMPv6. فيكون المجموع الاختباري لـ ICMPv6 تساوي صفرًا وينبغي أن تقوم المنصة بحساب المجموع الاختباري.
[in] aBufferLength
طول المخزن المؤقت للرسالة.
قيم الإرجاع
OT_ERROR_NONE
تم إرسال رسالة ICMPv6 بنجاح.
OT_ERROR_FAILED
تعذَّر إرسال رسالة ICMPv6.

otPlatInfraIfStateChanged

otError otPlatInfraIfStateChanged(
  otInstance *aInstance,
  uint32_t aInfraIfIndex,
  bool aIsRunning
)

يستدعي برنامج تشغيل واجهة الأشعة تحت الحمراء هذه الطريقة لإبلاغ OpenThread بتغييرات حالة الواجهة.

لا بأس في استدعاء النظام الأساسي لطريقة الطلب حتى إذا لم تتغير حالة تشغيل الواجهة. وفي هذه الحالة، لا تتأثر حالة "مدير التوجيه".

التفاصيل
المَعلمات
[in] aInstance
بنية النسخة الافتراضية OpenThread
[in] aInfraIfIndex
فهرس واجهة البنية الأساسية.
[in] aIsRunning
يشير هذا المصطلح إلى قيمة منطقية تشير إلى ما إذا كانت واجهة البنية الأساسية قيد التشغيل.
قيم الإرجاع
OT_ERROR_NONE
تم تحديث حالة واجهة الأشعة تحت الحمراء بنجاح.
OT_ERROR_INVALID_STATE
لم يتم إعداد "مدير التوجيه".
OT_ERROR_INVALID_ARGS
لا يتطابق aInfraIfIndex مع الواجهة الفرعية التي يتم إعداد مدير التوجيه بها.

المراجِع

تنشأ المواضيع المرجعية لواجهة برمجة تطبيقات OpenThread من رمز المصدر المتاح على GitHub. للحصول على مزيد من المعلومات أو للمساهمة في مستنداتنا، يمكنك الاطّلاع على المراجع.