معيار N64

تتضمّن هذه الوحدة وظائف وبنيات لدالة NAT64 على جهاز توجيه الحدود.

ملخّص

لا تتوفر هذه الدوال إلا عند تفعيل OPENTHREAD_CONFIG_NAT64_BORDER_ROUTING_ENABLE.

التعدادات

otNat64DropReason{
  OT_NAT64_DROP_REASON_UNKNOWN = 0,
  OT_NAT64_DROP_REASON_ILLEGAL_PACKET,
  OT_NAT64_DROP_REASON_UNSUPPORTED_PROTO,
  OT_NAT64_DROP_REASON_NO_MAPPING
}
تعداد
أسباب إسقاط الحزمة.
otNat64State{
  OT_NAT64_STATE_DISABLED = 0,
  OT_NAT64_STATE_NOT_RUNNING,
  OT_NAT64_STATE_IDLE,
  OT_NAT64_STATE_ACTIVE
}
تعداد
الولايات التي تفرض هيئة حماية البيئة (N64).

أنواع المحددات

otIp4Address typedef
struct otIp4Address
يمثّل عنوان IPv4.
otIp4Cidr typedef
struct otIp4Cidr
otNat64AddressMapping typedef
يمثّل سجلّ ربط العناوين لجهاز NAT64.
otNat64AddressMappingIterator typedef
يُستخدم للتكرار من خلال عمليات ربط العناوين عبر NAT64.
otNat64Counters typedef
يمثّل العدادات في NAT64.
otNat64DropReason typedef
أسباب إسقاط الحزمة.
otNat64ErrorCounters typedef
يقدم عدادات حِزم البيانات التي تم إسقاطها بسبب أخطاء عند التعامل مع حِزم NAT64.
otNat64ProtocolCounters typedef
تمثل عدادات البروتوكولات المتوافقة مع NAT64.
otNat64ReceiveIp4Callback)(otMessage *aMessage, void *aContext) typedef
void(*
يتم طلب المؤشر عند تلقّي مخطّط بيانات IPv4 (المترجم من خلال الترجمة من خلال NAT64).

المتغيّرات

OT_TOOL_PACKED_END

الدوال

otIp4AddressFromString(const char *aString, otIp4Address *aAddress)
تحوِّل سلسلة عنوان IPv4 يمكن للمستخدم قراءتها إلى تمثيل ثنائي.
otIp4AddressToString(const otIp4Address *aAddress, char *aBuffer, uint16_t aSize)
void
لتحويل العنوان إلى سلسلة.
otIp4CidrFromString(const char *aString, otIp4Cidr *aCidr)
تحوِّل سلسلة IPv4 CIDR سهلة القراءة للمستخدم إلى تمثيل ثنائي.
otIp4CidrToString(const otIp4Cidr *aCidr, char *aBuffer, uint16_t aSize)
void
لتحويل معرّف CIDR لبروتوكول IPv4 إلى سلسلة.
otIp4ExtractFromIp6Address(uint8_t aPrefixLength, const otIp6Address *aIp6Address, otIp4Address *aIp4Address)
void
يمكنك ضبط aIp4Address من خلال إجراء ترجمة لعناوين NAT64 من aIp6Address كما هو محدَّد في معيار RFC 6052.
otIp4IsAddressEqual(const otIp4Address *aFirst, const otIp4Address *aSecond)
bool
اختبِر ما إذا كان عنوانَا IPv4 متطابقَين.
otIp4NewMessage(otInstance *aInstance, const otMessageSettings *aSettings)
خصِّص ذاكرة تخزين مؤقت جديدة للرسائل لإرسال رسالة IPv4 إلى مترجِم الترجمة عبر NAT64.
otNat64GetCidr(otInstance *aInstance, otIp4Cidr *aCidr)
الحصول على معرّف CIDR لبروتوكول IPv4 الذي تم إعداده في أداة الترجمة بمعيار NAT64
otNat64GetCounters(otInstance *aInstance, otNat64ProtocolCounters *aCounters)
void
الحصول على عدّادات المترجمين في NAT64
otNat64GetErrorCounters(otInstance *aInstance, otNat64ErrorCounters *aCounters)
void
يتم عرض عدّادات أخطاء المترجم لدى NAT64.
otNat64GetNextAddressMapping(otInstance *aInstance, otNat64AddressMappingIterator *aIterator, otNat64AddressMapping *aMapping)
الحصول على معلومات AddressMapping التالية (باستخدام مكرر)
otNat64GetPrefixManagerState(otInstance *aInstance)
الحصول على حالة مدير بادئة NAT64
otNat64GetTranslatorState(otInstance *aInstance)
الحصول على حالة مترجم NAT64.
otNat64InitAddressMappingIterator(otInstance *aInstance, otNat64AddressMappingIterator *aIterator)
void
otNat64Send(otInstance *aInstance, otMessage *aMessage)
ترجمة مخطط بيانات IPv4 إلى مخطط بيانات IPv6 وإرساله عبر واجهة Thread.
otNat64SetEnabled(otInstance *aInstance, bool aEnable)
void
تفعيل دوال NAT64 أو إيقافها
otNat64SetIp4Cidr(otInstance *aInstance, const otIp4Cidr *aCidr)
لضبط CIDR المستخدم عند إعداد عنوان المصدر لحِزم IPv4 المترجمة.
otNat64SetReceiveIp4Callback(otInstance *aInstance, otNat64ReceiveIp4Callback aCallback, void *aContext)
void
تسجّل معاودة الاتصال لتقديم مخططات بيانات IPv4 مُستلَمة.
otNat64SynthesizeIp6Address(otInstance *aInstance, const otIp4Address *aIp4Address, otIp6Address *aIp6Address)
تضبط عنوان IPv6 من خلال إجراء ترجمة لعنوان NAT64 من بادئة NAT64 المفضّلة وعنوان IPv4 المحدّد، كما هو محدّد في RFC 6052.

هياكل

otIp4Address

يمثّل عنوان IPv4.

otIp4Cidr

يمثّل حظر CIDR لبروتوكول IPv4.

otNat64AddressMapping

يمثّل سجلّ ربط العناوين لجهاز NAT64.

otNat64AddressMappingIterator

يُستخدم للتكرار من خلال عمليات ربط العناوين عبر NAT64.

otNat64عدّادات

يمثّل العدادات في NAT64.

otNat64ErrorCounters

يقدم عدادات حِزم البيانات التي تم إسقاطها بسبب أخطاء عند التعامل مع حِزم NAT64.

otNat64ProtocolCounters

تمثل عدادات البروتوكولات المتوافقة مع NAT64.

الاتحادات

otIp4العنوان::OT_TOOL_PACKED_FIELD

التعدادات

otNat64إفلات السبب

 otNat64DropReason

أسباب إسقاط الحزمة.

أماكن إقامة
OT_NAT64_DROP_REASON_ILLEGAL_PACKET

انخفاض حِزمة البيانات بسبب تعذُّر تحليل مخطط البيانات.

OT_NAT64_DROP_REASON_NO_MAPPING

انخفاض حِزمة البيانات بسبب عدم العثور على عمليات ربط أو بسبب نفاد مجموعة الخرائط.

OT_NAT64_DROP_REASON_UNKNOWN

انخفاض في حزمة الحزمة لأسباب غير معروفة.

OT_NAT64_DROP_REASON_UNSUPPORTED_PROTO

انخفاض حِزمة البيانات بسبب بروتوكول IP غير متوافق.

otNat64State

 otNat64State

الولايات التي تفرض هيئة حماية البيئة (N64).

أماكن إقامة
OT_NAT64_STATE_ACTIVE

تنشر البرازيل بادئة NAT64 و/أو تُترجم الحِزم.

OT_NAT64_STATE_DISABLED

تم إيقاف NAT64.

OT_NAT64_STATE_IDLE

تم تفعيل NAT64، ولكن قيمة BR هذه ليست نشطة في NAT64.

OT_NAT64_STATE_NOT_RUNNING

تم تفعيل NAT64، ولكن لا تعمل واحدة أو أكثر من اعتماديات NAT64.

أنواع المحددات

otIp4العنوان

struct otIp4Address otIp4Address

يمثّل عنوان IPv4.

OtIp4Cidr

struct otIp4Cidr otIp4Cidr

otNat64AddressMapping

struct otNat64AddressMapping otNat64AddressMapping

يمثّل سجلّ ربط العناوين لجهاز NAT64.

otNat64AddressMappingIterator

struct otNat64AddressMappingIterator otNat64AddressMappingIterator

يُستخدم للتكرار من خلال عمليات ربط العناوين عبر NAT64.

الحقول من هذا النوع مبهمة (عن طريق الاستخدام عبر نواة OpenThread فقط)، وبالتالي يجب ألا يتم الوصول إليها أو استخدامها من قِبل المتّصل.

قبل استخدام مكرّر، يجب إعداده باستخدام otNat64AddressMappingIteratorInit().

عدادات otNat64

struct otNat64Counters otNat64Counters

يمثّل العدادات في NAT64.

otNat64إفلات السبب

enum otNat64DropReason otNat64DropReason

أسباب إسقاط الحزمة.

otNat64خطأCountCounts

struct otNat64ErrorCounters otNat64ErrorCounters

يقدم عدادات حِزم البيانات التي تم إسقاطها بسبب أخطاء عند التعامل مع حِزم NAT64.

otNat64ProtocolCounts

struct otNat64ProtocolCounters otNat64ProtocolCounters

تمثل عدادات البروتوكولات المتوافقة مع NAT64.

otNat64تلقي المكالمات{3}

void(* otNat64ReceiveIp4Callback)(otMessage *aMessage, void *aContext)

يتم طلب المؤشر عند تلقّي مخطّط بيانات IPv4 (المترجم من خلال الترجمة من خلال NAT64).

التفاصيل
المَعلمات
[in] aMessage
مؤشر إلى المخزن المؤقت للرسائل الذي يحتوي على مخطط بيانات IPv6 المستلَم. تنقل هذه الدالة ملكية aMessage إلى مستقبِل معاودة الاتصال. يجب أن يتمكن المُستلِم من تحرير الرسالة بعد معالجتها.
[in] aContext
مؤشر للسياق الخاص بالتطبيق.

المتغيّرات

OT_TOOL_PACKED_END

OT_TOOL_PACKED_BEGIN struct otIp4Address OT_TOOL_PACKED_END

الدوال

otIp4AddressFromString

otError otIp4AddressFromString(
  const char *aString,
  otIp4Address *aAddress
)

تحوِّل سلسلة عنوان IPv4 يمكن للمستخدم قراءتها إلى تمثيل ثنائي.

التفاصيل
المَعلمات
[in] aString
مؤشر إلى سلسلة يتم إنهاؤها NULL.
[out] aAddress
مؤشر إلى عنوان IPv4.
قيم الإرجاع
OT_ERROR_NONE
تم تحليل السلسلة بنجاح.
OT_ERROR_INVALID_ARGS
تعذّر تحليل السلسلة.

otIp4AddressToString

void otIp4AddressToString(
  const otIp4Address *aAddress,
  char *aBuffer,
  uint16_t aSize
)

لتحويل العنوان إلى سلسلة.

يستخدم تنسيق السلسلة ترميزًا رباعي التربيع لأربعة بايت في العنوان (على سبيل المثال، "127.0.0.1".

إذا كانت السلسلة الناتجة لا تناسب aBuffer (خلال aSize من الأحرف)، سيتم اقتطاع السلسلة ولكن يتم دائمًا إنهاء السلسلة التي يتم إخراجها.

التفاصيل
المَعلمات
[in] aAddress
مؤشر إلى عنوان IPv4 (يجب ألا يكون فارغًا).
[out] aBuffer
مؤشر إلى مصفوفة حرف خرج (يجب ألا تكون القيمة nullptr)
[in] aSize
حجم aBuffer (بالبايت)

otIp4CidrFromString

otError otIp4CidrFromString(
  const char *aString,
  otIp4Cidr *aCidr
)

تحوِّل سلسلة IPv4 CIDR سهلة القراءة للمستخدم إلى تمثيل ثنائي.

التفاصيل
المَعلمات
[in] aString
مؤشر إلى سلسلة يتم إنهاؤها NULL.
[out] aCidr
مؤشر إلى رقم تعريف CIDR لبروتوكول IPv4.
قيم الإرجاع
OT_ERROR_NONE
تم تحليل السلسلة بنجاح.
OT_ERROR_INVALID_ARGS
تعذّر تحليل السلسلة.

otIp4CidrToString

void otIp4CidrToString(
  const otIp4Cidr *aCidr,
  char *aBuffer,
  uint16_t aSize
)

لتحويل معرّف CIDR لبروتوكول IPv4 إلى سلسلة.

يستخدم تنسيق السلسلة ترميزًا رباعي التربيع لأربعة بايت في العنوان مع طول البادئة (على سبيل المثال، "127.0.0.1/32".

إذا كانت السلسلة الناتجة لا تناسب aBuffer (خلال aSize من الأحرف)، سيتم اقتطاع السلسلة ولكن يتم دائمًا إنهاء السلسلة التي يتم إخراجها.

التفاصيل
المَعلمات
[in] aCidr
مؤشر إلى معرّف CIDR لبروتوكول IPv4 (يجب ألا يكون فارغًا).
[out] aBuffer
مؤشر إلى مصفوفة حرف خرج (يجب ألا تكون القيمة nullptr)
[in] aSize
حجم aBuffer (بالبايت)

otIp4استخراج من العنوانp6

void otIp4ExtractFromIp6Address(
  uint8_t aPrefixLength,
  const otIp6Address *aIp6Address,
  otIp4Address *aIp4Address
)

يمكنك ضبط aIp4Address من خلال إجراء ترجمة لعناوين NAT64 من aIp6Address كما هو محدَّد في معيار RFC 6052.

يجب أن تكون قيمة NAT64 aPrefixLength إحدى القيم التالية: 32 أو 40 أو 48 أو 56 أو 64 أو 96، وإلا لن يكون سلوك هذه الطريقة محدّدًا.

التفاصيل
المَعلمات
[in] aPrefixLength
طول البادئة المطلوب استخدامها لترجمة IPv4/IPv6.
[in] aIp6Address
مؤشر إلى عنوان IPv6.
[out] aIp4Address
مؤشر لإخراج عنوان IPv4.

otIp4IsAddressEqual

bool otIp4IsAddressEqual(
  const otIp4Address *aFirst,
  const otIp4Address *aSecond
)

اختبِر ما إذا كان عنوانَا IPv4 متطابقَين.

التفاصيل
المَعلمات
[in] aFirst
مؤشر إلى أول عنوان IPv4 لمقارنته.
[in] aSecond
مؤشر إلى عنوان IPv4 الثاني للمقارنة.
قيم الإرجاع
TRUE
عنوانا IPv4 متطابقان.
FALSE
عنوانا IPv4 غير متطابقين.

otIp4رسالة جديدة

otMessage * otIp4NewMessage(
  otInstance *aInstance,
  const otMessageSettings *aSettings
)

خصِّص ذاكرة تخزين مؤقت جديدة للرسائل لإرسال رسالة IPv4 إلى مترجِم الترجمة عبر NAT64.

ستكون للمخازن المؤقتة للرسائل التي خصصتها هذه الدالة 20 بايت (الفرق بين حجم رؤوس IPv6 وأحجام عناوين IPv4).

متاحة عند تفعيل OPENTHREAD_CONFIG_NAT64_TRANSLATOR_ENABLE.

التفاصيل
المَعلمات
[in] aInstance
مؤشر إلى مثيل OpenThread.
[in] aSettings
مؤشر للإعدادات أو الرسالة NULL لضبط الإعدادات التلقائية.
المرتجعات
إشارة إلى المخزن المؤقت للرسائل أو إلى NULL إذا لم تتوفر أي مخازن رسائل مؤقتة أو كانت المعلمات غير صالحة.
يُرجى الاطّلاع أيضًا على:
otNat64Send

otNat64GetCidr

otError otNat64GetCidr(
  otInstance *aInstance,
  otIp4Cidr *aCidr
)

الحصول على معرّف CIDR لبروتوكول IPv4 الذي تم إعداده في أداة الترجمة بمعيار NAT64

متاحة عند تفعيل OPENTHREAD_CONFIG_NAT64_TRANSLATOR_ENABLE.

التفاصيل
المَعلمات
[in] aInstance
مؤشر إلى مثيل OpenThread.
[out] aCidr
مؤشر إلى otIp4Cidr. مكان ملء معرّف CIDR

otNat64GetCounters

void otNat64GetCounters(
  otInstance *aInstance,
  otNat64ProtocolCounters *aCounters
)

الحصول على عدّادات المترجمين في NAT64

يتم احتساب العدّاد منذ بدء المثيل.

متاحة عند تفعيل OPENTHREAD_CONFIG_NAT64_TRANSLATOR_ENABLE.

التفاصيل
المَعلمات
[in] aInstance
مؤشر إلى مثيل OpenThread.
[out] aCounters
مؤشّر إلى otNat64Counters سيتم وضع عدّاده مع مترجم NAT64.

otNat64GetErrorCounters

void otNat64GetErrorCounters(
  otInstance *aInstance,
  otNat64ErrorCounters *aCounters
)

يتم عرض عدّادات أخطاء المترجم لدى NAT64.

يتم إعداد العدّادات على صفر عند إعداد مثيل OpenThread.

التفاصيل
المَعلمات
[in] aInstance
مؤشر إلى مثيل OpenThread.
[out] aCounters
مؤشّر إلى otNat64Counters سيتم وضع عدّاده مع مترجم NAT64.

otNat64GetNextAddressMapping

otError otNat64GetNextAddressMapping(
  otInstance *aInstance,
  otNat64AddressMappingIterator *aIterator,
  otNat64AddressMapping *aMapping
)

الحصول على معلومات AddressMapping التالية (باستخدام مكرر)

متاحة عند تفعيل OPENTHREAD_CONFIG_NAT64_TRANSLATOR_ENABLE.

التفاصيل
المَعلمات
[in] aInstance
مؤشر إلى مثيل OpenThread.
[in,out] aIterator
مؤشر للمكرر. وسيتم بنجاح تكرار التكرار ليشير إلى سجل ربط عنوان NAT64 التالي. للحصول على الإدخال الأول، يجب ضبط التكرار على OT_NAT64_ADDRESS_MAPPING_ITERATOR_INIT.
[out] aMapping
مؤشر إلى otNat64AddressMapping حيث يتم وضع معلومات سجل تعيين عنوان NAT64 (بنجاح).
قيم الإرجاع
OT_ERROR_NONE
تم العثور على معلومات ربط عنوان NAT64 التالية بنجاح (تم تعديل aMapping بنجاح).
OT_ERROR_NOT_FOUND
لم يتم العثور على معلومات تعيين عنوان NAT64 لاحقة.

otNat64GetGetManagerManager

otNat64State otNat64GetPrefixManagerState(
  otInstance *aInstance
)

الحصول على حالة مدير بادئة NAT64

متاحة عند تفعيل OPENTHREAD_CONFIG_NAT64_BORDER_ROUTING_ENABLE.

التفاصيل
المَعلمات
[in] aInstance
مؤشر إلى مثيل OpenThread.
قيم الإرجاع
OT_NAT64_STATE_DISABLED
تم إيقاف مدير بادئة NAT64.
OT_NAT64_STATE_NOT_RUNNING
تم تفعيل مدير بادئة NAT64، ولكنه لا يعمل (لأن مدير التوجيه لا يعمل).
OT_NAT64_STATE_IDLE
تم تفعيل مدير بادئة NAT64، ولكنه لا ينشر بادئة NAT64. وعادةً ما يكون هناك جهاز توجيه حدودي آخر ينشر بادئة NAT64 بأولوية أعلى.
OT_NAT64_STATE_ACTIVE
تم تفعيل مدير بادئة NAT64 وينشر بادئة NAT64 على شبكة Thread.

otNat64GetTranslatorState

otNat64State otNat64GetTranslatorState(
  otInstance *aInstance
)

الحصول على حالة مترجم NAT64.

متاحة عند تفعيل OPENTHREAD_CONFIG_NAT64_TRANSLATOR_ENABLE.

التفاصيل
المَعلمات
[in] aInstance
مؤشر إلى مثيل OpenThread.
قيم الإرجاع
OT_NAT64_STATE_DISABLED
مترجم NAT64 غير مفعّل.
OT_NAT64_STATE_NOT_RUNNING
تم تفعيل مترجم NAT64، ولكن لم يتم إعداد المترجم باستخدام بادئة NAT64 ومعرّف CIDR صالح.
OT_NAT64_STATE_ACTIVE
مترجِم إلى محوّات NAT64، وهو يترجم الحِزم.

otNat64InitAddressMappingIterator

void otNat64InitAddressMappingIterator(
  otInstance *aInstance,
  otNat64AddressMappingIterator *aIterator
)

لإعداد otNat64AddressMappingIterator.

يجب إعداد المكرِّر قبل استخدامه.

يمكن إعداد المكرِّر مرة أخرى لإعادة التشغيل من بداية معلومات الربط.

التفاصيل
المَعلمات
[in] aInstance
مثيل OpenThread.
[out] aIterator
مؤشر للمكرر لإعداده.

إرسال otNat64

otError otNat64Send(
  otInstance *aInstance,
  otMessage *aMessage
)

ترجمة مخطط بيانات IPv4 إلى مخطط بيانات IPv6 وإرساله عبر واجهة Thread.

المتّصل ينقل ملكية aMessage عند إجراء هذه المكالمة. سيفتح OpenThread aMessage عند اكتمال المعالجة، بما في ذلك عند عرض قيمة أخرى غير OT_ERROR_NONE.

التفاصيل
المَعلمات
[in] aInstance
مؤشر إلى مثيل OpenThread.
[in] aMessage
مؤشر إلى المخزن المؤقت للرسائل الذي يحتوي على مخطط بيانات IPv4.
قيم الإرجاع
OT_ERROR_NONE
تمت معالجة الرسالة بنجاح.
OT_ERROR_DROP
تم إعداد الرسالة بشكلٍ جيد ولكن لم تتم معالجتها بالكامل بسبب قواعد معالجة الحزمة.
OT_ERROR_NO_BUFS
تعذّر تخصيص مخازن الرسائل الضرورية عند معالجة مخطّط البيانات.
OT_ERROR_NO_ROUTE
لا يتوفّر مسار للاستضافة.
OT_ERROR_INVALID_SOURCE_ADDRESS
عنوان المصدر غير صالح، على سبيل المثال عنوان أي بث أو عنوان بث متعدد.
OT_ERROR_PARSE
حدث خطأ في عنوان أثناء معالجة الرسالة.

otNat64SetEnabled

void otNat64SetEnabled(
  otInstance *aInstance,
  bool aEnable
)

تفعيل دوال NAT64 أو إيقافها

ملاحظة: يتضمن ذلك مترجم NAT64 (عند تفعيل OPENTHREAD_CONFIG_NAT64_TRANSLATOR_ENABLE) ومدير البادئة NAT64 (عند تفعيل OPENTHREAD_CONFIG_NAT64_BORDER_ROUTING_ENABLE).

عند تفعيل OPENTHREAD_CONFIG_NAT64_TRANSLATOR_ENABLE، يؤدي ضبط السياسة على "صحيح" إلى إعادة ضبط جدول الخرائط في المترجم.

متاحة عند تفعيل السياسة OPENTHREAD_CONFIG_NAT64_TRANSLATOR_ENABLE أو OPENTHREAD_CONFIG_NAT64_BORDER_ROUTING_ENABLE

التفاصيل
المَعلمات
[in] aInstance
مؤشر إلى مثيل OpenThread.
[in] aEnabled
قيمة منطقية لتفعيل/إيقاف دوال NAT64
يمكنك أيضًا الاطّلاع على ما يلي:
otNat64GetTranslatorState
otNat64GetPrefixManagerState

otNat64SetIp4Cidr

otError otNat64SetIp4Cidr(
  otInstance *aInstance,
  const otIp4Cidr *aCidr
)

لضبط CIDR المستخدم عند إعداد عنوان المصدر لحِزم IPv4 المترجمة.

متاح فقط عند تفعيل OPENThread_CONFIG_NAT64_TRANSLATOR_ENABLE.

التفاصيل
المَعلمات
[in] aInstance
مؤشر إلى مثيل OpenThread.
[in] aCidr
مؤشر إلى otIp4Cidr لحظر CIDR لنظام IPv4 في NAT64.
قيم الإرجاع
OT_ERROR_INVALID_ARGS
معرّف CIDR المحدّد ليس رقم CIDR صالحًا لبروتوكول IPv4 لجهاز NAT64.
OT_ERROR_NONE
تم إعداد نظام CIDR بنجاح لنظام NAT64.
يمكنك الاطّلاع أيضًا على:
otBorderrouterSend
otBorderrouterSetSetCallback

otNat64SetSetIp4Callback

void otNat64SetReceiveIp4Callback(
  otInstance *aInstance,
  otNat64ReceiveIp4Callback aCallback,
  void *aContext
)

تسجّل معاودة الاتصال لتقديم مخططات بيانات IPv4 مُستلَمة.

التفاصيل
المَعلمات
[in] aInstance
مؤشر إلى مثيل OpenThread.
[in] aCallback
مؤشر إلى دالة تُسمى عند تلقّي مخطط بيانات IPv4 أو القيمة NULL لإيقاف معاودة الاتصال.
[in] aCallbackContext
مؤشر للسياق الخاص بالتطبيق.

otNat64SynthesizeIp6Address

otError otNat64SynthesizeIp6Address(
  otInstance *aInstance,
  const otIp4Address *aIp4Address,
  otIp6Address *aIp6Address
)

تضبط عنوان IPv6 من خلال إجراء ترجمة لعنوان NAT64 من بادئة NAT64 المفضّلة وعنوان IPv4 المحدّد، كما هو محدّد في RFC 6052.

التفاصيل
المَعلمات
[in] aInstance
مؤشر إلى مثيل OpenThread.
[in] aIp4Address
مؤشر إلى عنوان IPv4 للترجمة إلى IPv6.
[out] aIp6Address
مؤشر إلى عنوان IPv6 المُركَّب.
المرتجعات
تم تجميع عنوان IPv6 من بادئة NAT64 وعنوان IPv4.
المرتجعات
OT_ERROR_INVALID_STATE لا تتوفر بادئة NAT64 صالحة في بيانات الشبكة.

وحدات ماكرو

OT_IP4_ADDRESS_SIZE

 OT_IP4_ADDRESS_SIZE 4

حجم عنوان IPv4 (بالبايت)

OT_IP4_ADDRESS_STRING_SIZE

 OT_IP4_ADDRESS_STRING_SIZE 17

طول 000.000.000.000 بالإضافة إلى لاحقة NUL.

OT_IP4_CIDR_STRING_SIZE

 OT_IP4_CIDR_STRING_SIZE 20

طول 000.000.000.000/00 بالإضافة إلى لاحقة NUL.

الموارد

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