IPv6

โมดูลนี้ประกอบด้วยฟังก์ชันที่ควบคุมการสื่อสาร IPv6

สรุป

การแจกแจง

anonymous enum{
  OT_ADDRESS_ORIGIN_THREAD = 0,
  OT_ADDRESS_ORIGIN_SLAAC = 1,
  OT_ADDRESS_ORIGIN_DHCPV6 = 2,
  OT_ADDRESS_ORIGIN_MANUAL = 3
}
enum
ต้นทางของที่อยู่ IPv6
anonymous enum{
  OT_ECN_NOT_CAPABLE = 0x0,
  OT_ECN_CAPABLE_0 = 0x2,
  OT_ECN_CAPABLE_1 = 0x1,
  OT_ECN_MARKED = 0x3
}
enum
สถานะ ECN ซึ่งแสดงในส่วนหัว IP
anonymous enum{
  OT_IP6_PROTO_HOP_OPTS = 0,
  OT_IP6_PROTO_TCP = 6,
  OT_IP6_PROTO_UDP = 17,
  OT_IP6_PROTO_IP6 = 41,
  OT_IP6_PROTO_ROUTING = 43,
  OT_IP6_PROTO_FRAGMENT = 44,
  OT_IP6_PROTO_ICMP6 = 58,
  OT_IP6_PROTO_NONE = 59,
  OT_IP6_PROTO_DST_OPTS = 60
}
enum
หมายเลขโปรโตคอลอินเทอร์เน็ต

ประเภทคําจํากัดความ

otIp6Address Typedef
struct otIp6Address
โครงสร้างนี้แสดงที่อยู่ IPv6
otIp6AddressCallback)(const otIp6AddressInfo *aAddressInfo, bool aIsAdded, void *aContext) Typedef
void(*
ระบบจะเรียกใช้ตัวชี้ฟังก์ชันนี้เมื่อมีการเพิ่มหรือนําที่อยู่ IPv6 ภายในออก
otIp6AddressComponents Typedef
โครงสร้างนี้แสดงองค์ประกอบของที่อยู่ IPv6
otIp6AddressInfo Typedef
otIp6InterfaceIdentifier Typedef
โครงสร้างนี้เป็นตัวแทนของตัวระบุอินเทอร์เฟซของที่อยู่ IPv6
otIp6NetworkPrefix Typedef
โครงสร้างนี้แสดงคํานําหน้าเครือข่ายของที่อยู่ IPv6 (ที่อยู่ 64 บิตที่สําคัญที่สุด)
otIp6Prefix Typedef
struct otIp6Prefix
โครงสร้างนี้แสดงคํานําหน้า IPv6
otIp6ReceiveCallback)(otMessage *aMessage, void *aContext) Typedef
void(*
ระบบจะเรียกใช้ตัวชี้ฟังก์ชันนี้เมื่อได้รับ Datagram data IPv6
otIp6RegisterMulticastListenersCallback)(void *aContext, otError aError, uint8_t aMlrStatus, const otIp6Address *aFailedAddresses, uint8_t aFailedAddressNum) Typedef
void(*
ตัวชี้ฟังก์ชันนี้เรียกใช้ด้วยผลลัพธ์ของ otIp6RegisterMulticastListeners
otIp6SlaacPrefixFilter)(otInstance *aInstance, const otIp6Prefix *aPrefix) Typedef
bool(*
ตัวชี้ฟังก์ชันนี้อนุญาตให้ผู้ใช้กรองคํานําหน้าและไม่อนุญาตที่อยู่ SLAAC ที่เพิ่มคํานําหน้า
otMessageInfo Typedef
struct otMessageInfo
โครงสร้างนี้แสดงที่อยู่ของซ็อกเก็ต IPv6 ในพื้นที่และเพียร์
otNetifAddress Typedef
โครงสร้างนี้แสดงที่อยู่ Unicast อินเทอร์เฟซเครือข่าย IPv6
otNetifMulticastAddress Typedef
โครงสร้างนี้แสดงที่อยู่ของมัลติแคสต์อินเทอร์เฟซเครือข่าย IPv6
otSockAddr Typedef
struct otSockAddr
โครงสร้างนี้แสดงที่อยู่ซ็อกเก็ต IPv6

ตัวแปร

OT_TOOL_PACKED_END

ฟังก์ชัน

otIp6AddUnicastAddress(otInstance *aInstance, const otNetifAddress *aAddress)
เพิ่มที่อยู่อินเทอร์เฟซเครือข่ายในอินเทอร์เฟซชุดข้อความ
otIp6AddUnsecurePort(otInstance *aInstance, uint16_t aPort)
ฟังก์ชันนี้จะเพิ่มพอร์ตลงในรายการพอร์ตที่ไม่มีการรักษาความปลอดภัยที่อนุญาต
otIp6AddressFromString(const char *aString, otIp6Address *aAddress)
ฟังก์ชันนี้จะแปลงสตริงที่อยู่ IPv6 ที่มนุษย์อ่านได้ในรูปแบบไบนารี
otIp6AddressToString(const otIp6Address *aAddress, char *aBuffer, uint16_t aSize)
void
ฟังก์ชันนี้จะแปลงที่อยู่ IPv6 ที่ระบุเป็นสตริงที่มนุษย์อ่านได้
otIp6ArePrefixesEqual(const otIp6Prefix *aFirst, const otIp6Prefix *aSecond)
bool
ทดสอบว่าคํานําหน้า IPv6 จํานวน 2 รายการนําหน้าเดียวกันหรือไม่
otIp6GetMulticastAddresses(otInstance *aInstance)
รับข้อมูลที่อยู่มัลติแคสต์ของ IPv6 ที่สมัครใช้บริการอินเทอร์เฟซของชุดข้อความ
otIp6GetUnicastAddresses(otInstance *aInstance)
const otNetifAddress *
เรียกดูรายการที่อยู่ IPv6 ให้กับอินเทอร์เฟซของชุดข้อความ
otIp6GetUnsecurePorts(otInstance *aInstance, uint8_t *aNumEntries)
const uint16_t *
ฟังก์ชันนี้จะส่งตัวชี้กลับไปยังรายการพอร์ตที่ไม่ปลอดภัย
otIp6IsAddressEqual(const otIp6Address *aFirst, const otIp6Address *aSecond)
bool
ทดสอบหากที่อยู่ IPv6 ทั้ง 2 แห่งเหมือนกัน
otIp6IsAddressUnspecified(const otIp6Address *aAddress)
bool
ฟังก์ชันนี้จะระบุว่าที่อยู่ IPv6 ที่ระบุเป็นที่อยู่ที่ไม่ระบุหรือไม่
otIp6IsEnabled(otInstance *aInstance)
bool
ฟังก์ชันนี้จะระบุว่าอินเทอร์เฟซ IPv6 เริ่มทํางานหรือไม่
otIp6IsMulticastPromiscuousEnabled(otInstance *aInstance)
bool
ตรวจสอบว่าเปิดใช้โหมดหลายแคสต์พร้อมกันในอินเทอร์เฟซชุดข้อความแล้ว
otIp6IsReceiveFilterEnabled(otInstance *aInstance)
bool
ฟังก์ชันนี้ระบุว่าจะกรองการรับส่งข้อมูลของการควบคุมชุดข้อความออกหรือไม่เมื่อนําส่งข้อมูล IPv6 ผ่านโค้ดเรียกกลับที่ระบุไว้ใน otIp6SetReceiveCallback()
otIp6IsSlaacEnabled(otInstance *aInstance)
bool
ฟังก์ชันนี้จะบ่งบอกว่าเปิดใช้โมดูล SLAAC อยู่หรือไม่
otIp6NewMessage(otInstance *aInstance, const otMessageSettings *aSettings)
จัดสรรบัฟเฟอร์ข้อความใหม่เพื่อส่งข้อความ IPv6
otIp6NewMessageFromBuffer(otInstance *aInstance, const uint8_t *aData, uint16_t aDataLength, const otMessageSettings *aSettings)
จัดสรรบัฟเฟอร์ข้อความใหม่ และเขียนไวยากรณ์ IPv6 ไปยังบัฟเฟอร์ข้อความเพื่อส่งข้อความ IPv6
otIp6PrefixMatch(const otIp6Address *aFirst, const otIp6Address *aSecond)
uint8_t
ฟังก์ชันนี้จะแสดงผลความยาวการจับคู่คํานําหน้า (บิต) สําหรับที่อยู่ IPv6 สองที่อยู่
otIp6PrefixToString(const otIp6Prefix *aPrefix, char *aBuffer, uint16_t aSize)
void
ฟังก์ชันนี้จะแปลงคํานําหน้า IPv6 ที่ระบุเป็นสตริงที่มนุษย์อ่านได้
otIp6ProtoToString(uint8_t aIpProto)
const char *
ฟังก์ชันนี้แปลงหมายเลขโปรโตคอล IP ที่ระบุเป็นสตริงที่มนุษย์อ่านได้
otIp6RegisterMulticastListeners(otInstance *aInstance, const otIp6Address *aAddresses, uint8_t aAddressNum, const uint32_t *aTimeout, otIp6RegisterMulticastListenersCallback aCallback, void *aContext)
ฟังก์ชันนี้ลงทะเบียน Listener ของมัลติแคสต์ไปยังเราเตอร์ Backbone หลัก
otIp6RemoveAllUnsecurePorts(otInstance *aInstance)
void
ฟังก์ชันนี้จะนําพอร์ตทั้งหมดออกจากรายการพอร์ตที่ไม่ปลอดภัยซึ่งได้รับอนุญาต
otIp6RemoveUnicastAddress(otInstance *aInstance, const otIp6Address *aAddress)
นําที่อยู่อินเทอร์เฟซเครือข่ายออกจากอินเทอร์เฟซชุดข้อความ
otIp6RemoveUnsecurePort(otInstance *aInstance, uint16_t aPort)
ฟังก์ชันนี้จะนําพอร์ตออกจากรายการพอร์ตที่ไม่ปลอดภัยที่อนุญาต
otIp6SelectSourceAddress(otInstance *aInstance, otMessageInfo *aMessageInfo)
ฟังก์ชันนี้จะเลือกที่อยู่ต้นทางของ OpenThread
otIp6Send(otInstance *aInstance, otMessage *aMessage)
ฟังก์ชันนี้จะส่ง Datagram IPv6 ผ่านอินเทอร์เฟซอินเทอร์เฟซชุดข้อความ
otIp6SetAddressCallback(otInstance *aInstance, otIp6AddressCallback aCallback, void *aCallbackContext)
void
ฟังก์ชันนี้จะบันทึกการติดต่อกลับเพื่อแจ้งให้มีการเปลี่ยนแปลงที่อยู่ IPv6 ภายใน
otIp6SetEnabled(otInstance *aInstance, bool aEnabled)
ฟังก์ชันนี้จะแสดงอินเทอร์เฟซ IPv6 ขึ้น/ลง
otIp6SetMeshLocalIid(otInstance *aInstance, const otIp6InterfaceIdentifier *aIid)
ฟังก์ชันนี้ตั้งค่า IID ท้องถิ่นของ Mesh (เพื่อการทดสอบ)
otIp6SetMulticastPromiscuousEnabled(otInstance *aInstance, bool aEnabled)
void
เปิดใช้โหมดมัลติแคสต์พร้อมกันในอินเทอร์เฟซของชุดข้อความ
otIp6SetReceiveCallback(otInstance *aInstance, otIp6ReceiveCallback aCallback, void *aCallbackContext)
void
ฟังก์ชันนี้จะลงทะเบียนโค้ดเรียกกลับเพื่อระบุแผ่นข้อมูล IPv6 ที่ได้รับ
otIp6SetReceiveFilterEnabled(otInstance *aInstance, bool aEnabled)
void
ฟังก์ชันนี้จะกําหนดว่าจะกรองการรับส่งข้อมูลของการควบคุมชุดข้อความออกหรือไม่เมื่อนําส่งข้อมูล IPv6 ผ่านโค้ดเรียกกลับที่ระบุไว้ใน otIp6SetReceiveCallback()
otIp6SetSlaacEnabled(otInstance *aInstance, bool aEnabled)
void
ฟังก์ชันนี้จะเปิด/ปิดใช้โมดูล SLAAC
otIp6SetSlaacPrefixFilter(otInstance *aInstance, otIp6SlaacPrefixFilter aFilter)
void
ฟังก์ชันนี้จะกําหนดเครื่องจัดการตัวกรองโมดูล SLAAC
otIp6SockAddrToString(const otSockAddr *aSockAddr, char *aBuffer, uint16_t aSize)
void
ฟังก์ชันนี้แปลงที่อยู่ซ็อกเก็ต IPv6 เป็นสตริงที่มนุษย์อ่านได้
otIp6SubscribeMulticastAddress(otInstance *aInstance, const otIp6Address *aAddress)
สมัครรับข้อมูลอินเทอร์เฟซชุดข้อความไปยังที่อยู่ Multicast ของอินเทอร์เฟซเครือข่าย
otIp6UnsubscribeMulticastAddress(otInstance *aInstance, const otIp6Address *aAddress)
ยกเลิกการสมัครใช้อินเทอร์เฟซชุดข้อความไปยังที่อยู่มัลติแคสต์อินเทอร์เฟซเครือข่าย

โครงสร้าง

otIp6ที่อยู่

โครงสร้างนี้แสดงที่อยู่ IPv6

otIp6AddressComponents

โครงสร้างนี้แสดงองค์ประกอบของที่อยู่ IPv6

otIp6AddressInfo

โครงสร้างนี้แสดงข้อมูลที่อยู่ IPv6

otIp6InterfaceIdentifier

โครงสร้างนี้เป็นตัวแทนของตัวระบุอินเทอร์เฟซของที่อยู่ IPv6

OTIp6NetworkPrefix

โครงสร้างนี้แสดงคํานําหน้าเครือข่ายของที่อยู่ IPv6 (ที่อยู่ 64 บิตที่สําคัญที่สุด)

คํานําหน้า Ip66

โครงสร้างนี้แสดงคํานําหน้า IPv6

otMessageInfo

โครงสร้างนี้แสดงที่อยู่ของซ็อกเก็ต IPv6 ในพื้นที่และเพียร์

otNetifAddress

โครงสร้างนี้แสดงที่อยู่ Unicast อินเทอร์เฟซเครือข่าย IPv6

otNetifMulticastAddress

โครงสร้างนี้แสดงที่อยู่ของมัลติแคสต์อินเทอร์เฟซเครือข่าย IPv6

otSockAddr

โครงสร้างนี้แสดงที่อยู่ซ็อกเก็ต IPv6

สหภาพ

otIp6InterfaceIdentifier::OT_TOOL_PACKED_FIELD

การแจกแจง

enum ที่ไม่ระบุชื่อ

 anonymous enum

ต้นทางของที่อยู่ IPv6

พร็อพเพอร์ตี้
OT_ADDRESS_ORIGIN_DHCPV6

กําหนดที่อยู่ DHCPv6 แล้ว

OT_ADDRESS_ORIGIN_MANUAL

ที่อยู่ที่กําหนดด้วยตนเอง

OT_ADDRESS_ORIGIN_SLAAC

ที่อยู่ที่กําหนดให้ SLAAC

OT_ADDRESS_ORIGIN_THREAD

ที่อยู่ชุดข้อความ (ALOC, RSAOC, MLEID ฯลฯ)

enum ที่ไม่ระบุชื่อ

 anonymous enum

สถานะ ECN ซึ่งแสดงในส่วนหัว IP

พร็อพเพอร์ตี้
OT_ECN_CAPABLE_0

ECT(0)

OT_ECN_CAPABLE_1

ECT(1)

OT_ECN_MARKED

ความแออัด (CE)

OT_ECN_NOT_CAPABLE

ไม่ใช่ECT

enum ที่ไม่ระบุชื่อ

 anonymous enum

หมายเลขโปรโตคอลอินเทอร์เน็ต

พร็อพเพอร์ตี้
OT_IP6_PROTO_DST_OPTS

ตัวเลือกปลายทางสําหรับ IPv6

OT_IP6_PROTO_FRAGMENT

ส่วนหัวของ Fragment สําหรับ IPv6

OT_IP6_PROTO_HOP_OPTS

ตัวเลือก IPv6 ฮิปฮอป

OT_IP6_PROTO_ICMP6

ICMP สําหรับ IPv6

OT_IP6_PROTO_IP6

การสรุปข้อมูล IPv6

OT_IP6_PROTO_NONE

ไม่มีส่วนหัวถัดไปสําหรับ IPv6

OT_IP6_PROTO_ROUTING

ส่วนหัวการกําหนดเส้นทางสําหรับ IPv6

OT_IP6_PROTO_TCP

โปรโตคอลการควบคุมการส่งข้อมูล

OT_IP6_PROTO_UDP

Datagram ของผู้ใช้

ประเภทคําจํากัดความ

OTI6ที่อยู่

struct otIp6Address otIp6Address

โครงสร้างนี้แสดงที่อยู่ IPv6

OTIp6การโทรกลับ

void(* otIp6AddressCallback)(const otIp6AddressInfo *aAddressInfo, bool aIsAdded, void *aContext)

ระบบจะเรียกใช้ตัวชี้ฟังก์ชันนี้เมื่อมีการเพิ่มหรือนําที่อยู่ IPv6 ภายในออก

รายละเอียด
พารามิเตอร์
[in] aAddressInfo
ตัวชี้ของข้อมูลที่อยู่ IPv6
[in] aIsAdded
มีค่า TRUE หากเพิ่ม aAddress เป็น FALSE หากนํา aAddress ออก
[in] aContext
ตัวชี้ไปยังบริบทเฉพาะแอปพลิเคชัน

OTIp6AddressComponents

struct otIp6AddressComponents otIp6AddressComponents

โครงสร้างนี้แสดงองค์ประกอบของที่อยู่ IPv6

OTI6ที่อยู่ข้อมูล

struct otIp6AddressInfo otIp6AddressInfo

ตัวระบุตัวระบุใบหน้า 6 แบบ

struct otIp6InterfaceIdentifier otIp6InterfaceIdentifier

โครงสร้างนี้เป็นตัวแทนของตัวระบุอินเทอร์เฟซของที่อยู่ IPv6

ค่านําหน้าเครือข่าย OTIp6

struct otIp6NetworkPrefix otIp6NetworkPrefix

โครงสร้างนี้แสดงคํานําหน้าเครือข่ายของที่อยู่ IPv6 (ที่อยู่ 64 บิตที่สําคัญที่สุด)

คํานําหน้า OTIp6

struct otIp6Prefix otIp6Prefix

โครงสร้างนี้แสดงคํานําหน้า IPv6

OTI6การรับโทรศัพท์

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

ระบบจะเรียกใช้ตัวชี้ฟังก์ชันนี้เมื่อได้รับ Datagram data IPv6

รายละเอียด
พารามิเตอร์
[in] aMessage
ตัวชี้ไปยังบัฟเฟอร์ข้อความที่มี Datagram IPv6 ที่ได้รับ ฟังก์ชันนี้จะโอนการเป็นเจ้าของ aMessage ไปยังผู้รับโค้ดเรียกกลับ ผู้รับควรยกเลิกการโทรกลับหลังจากประมวลผลข้อความแล้ว (ดู otMessageFree())
[in] aContext
ตัวชี้ไปยังบริบทเฉพาะแอปพลิเคชัน

otIp6ลงทะเบียน MulticastListenersการติดต่อกลับ

void(* otIp6RegisterMulticastListenersCallback)(void *aContext, otError aError, uint8_t aMlrStatus, const otIp6Address *aFailedAddresses, uint8_t aFailedAddressNum)

ตัวชี้ฟังก์ชันนี้เรียกใช้ด้วยผลลัพธ์ของ otIp6RegisterMulticastListeners

รายละเอียด
พารามิเตอร์
[in] aContext
ตัวชี้ไปยังบริบทของผู้ใช้
[in] aError
OT_ERROR_NONE เมื่อส่ง MLR.req สําเร็จและรับ MLR.rsp, OT_ERROR_RESPONSE_TIMEOUT เมื่อไม่ได้รับ MLR.rsp, OT_ERROR_PARSE เมื่อแยกวิเคราะห์ MLR.rsp ไม่สําเร็จ
[in] aMlrStatus
สถานะการจดทะเบียน Listener มัลติแคสต์เมื่อ aError เป็น OT_ERROR_NONE
[in] aFailedAddresses
ตัวชี้ไปยังที่อยู่ IPv6 ที่ล้มเหลวเมื่อ aError คือ OT_ERROR_NONE
[in] aFailedAddressNum
จํานวนที่อยู่ IPv6 ที่ล้มเหลวเมื่อ aError เป็น OT_ERROR_NONE
ดูเพิ่มเติม:
otIp6RegisterMulticastListeners

OTIp6SlaacPrefixFilter

bool(* otIp6SlaacPrefixFilter)(otInstance *aInstance, const otIp6Prefix *aPrefix)

ตัวชี้ฟังก์ชันนี้อนุญาตให้ผู้ใช้กรองคํานําหน้าและไม่อนุญาตที่อยู่ SLAAC ที่เพิ่มคํานําหน้า

ใช้ otIp6SetSlaacPrefixFilter() เพื่อตั้งค่าเครื่องจัดการตัวกรองได้ มีโมดูล SLAAC เรียกใช้เครื่องจัดการตัวกรองเมื่อกําลังจะเพิ่มที่อยู่ SLAAC ตามคํานําหน้า ค่าส่งคืนบูลีนของตัวที่อยู่จะเป็นตัวกําหนดว่าที่อยู่จะกรอง (ไม่ได้เพิ่ม) หรือไม่

รายละเอียด
พารามิเตอร์
[in] aInstance
ตัวชี้ไปยังอินสแตนซ์ OpenThread
[in] aPrefix
ตัวชี้คํานําหน้าที่จะเติมที่อยู่ SLAAC
แสดงผลค่า
TRUE
ระบุว่าควรกรองที่อยู่ SLAAC ที่นําหน้าคํานําหน้าและจะไม่เพิ่ม
FALSE
ระบุว่าควรเพิ่มที่อยู่ SLAAC ตามคํานําหน้า

ข้อมูลข้อความ

struct otMessageInfo otMessageInfo

โครงสร้างนี้แสดงที่อยู่ของซ็อกเก็ต IPv6 ในพื้นที่และเพียร์

OTNetifAddress

struct otNetifAddress otNetifAddress

โครงสร้างนี้แสดงที่อยู่ Unicast อินเทอร์เฟซเครือข่าย IPv6

OTNetifมัลติแคสต์

struct otNetifMulticastAddress otNetifMulticastAddress

โครงสร้างนี้แสดงที่อยู่ของมัลติแคสต์อินเทอร์เฟซเครือข่าย IPv6

OTSockAddr

struct otSockAddr otSockAddr

โครงสร้างนี้แสดงที่อยู่ซ็อกเก็ต IPv6

ตัวแปร

OT_TOOL_PACKED_END

OT_TOOL_PACKED_BEGIN struct otIp6InterfaceIdentifier OT_TOOL_PACKED_END

ฟังก์ชัน

OTI66เพิ่มUnicastAddress

otError otIp6AddUnicastAddress(
  otInstance *aInstance,
  const otNetifAddress *aAddress
)

เพิ่มที่อยู่อินเทอร์เฟซเครือข่ายในอินเทอร์เฟซชุดข้อความ

อินสแตนซ์ aAddress ที่ส่งผ่านได้รับการคัดลอกโดยอินเทอร์เฟซชุดข้อความ อินเทอร์เฟซชุดข้อความรองรับที่อยู่ Unicast ที่เพิ่มจากภายนอกในจํานวนที่จํากัดเท่านั้น โปรดดู OPENNAMES_CONFIG_IP6_MAX_EXT_UCAST_ADDRS

รายละเอียด
พารามิเตอร์
[in] aInstance
ตัวชี้ไปยังอินสแตนซ์ OpenThread
[in] aAddress
ตัวชี้ไปยังที่อยู่อินเทอร์เฟซเครือข่าย
แสดงผลค่า
OT_ERROR_NONE
เพิ่ม (หรืออัปเดต) ที่อยู่อินเทอร์เฟซเครือข่ายสําเร็จแล้ว
OT_ERROR_INVALID_ARGS
ที่อยู่ IP ที่ระบุโดย aAddress เป็นที่อยู่ภายใน
OT_ERROR_NO_BUFS
อินเทอร์เฟซเครือข่ายจัดเก็บที่อยู่ภายนอกที่อนุญาตสูงสุดไว้แล้ว

OTI6เพิ่มความปลอดภัยในพอร์ต

otError otIp6AddUnsecurePort(
  otInstance *aInstance,
  uint16_t aPort
)

ฟังก์ชันนี้จะเพิ่มพอร์ตลงในรายการพอร์ตที่ไม่มีการรักษาความปลอดภัยที่อนุญาต

รายละเอียด
พารามิเตอร์
[in] aInstance
ตัวชี้ไปยังอินสแตนซ์ OpenThread
[in] aPort
ค่าพอร์ต
แสดงผลค่า
OT_ERROR_NONE
เพิ่มพอร์ตลงในรายการพอร์ตที่ไม่ปลอดภัยที่อนุญาตแล้ว
OT_ERROR_INVALID_ARGS
พอร์ตไม่ถูกต้อง (ค่า 0 สงวนไว้สําหรับการใช้งานภายใน)
OT_ERROR_NO_BUFS
รายการพอร์ตที่ไม่ปลอดภัยเต็มแล้ว

otIp6ที่อยู่จากสตริง

otError otIp6AddressFromString(
  const char *aString,
  otIp6Address *aAddress
)

ฟังก์ชันนี้จะแปลงสตริงที่อยู่ IPv6 ที่มนุษย์อ่านได้ในรูปแบบไบนารี

รายละเอียด
พารามิเตอร์
[in] aString
ตัวชี้ไปยังสตริงที่สิ้นสุดโดย NULL
[out] aAddress
ตัวชี้ไปยังที่อยู่ IPv6
แสดงผลค่า
OT_ERROR_NONE
แยกวิเคราะห์สตริงสําเร็จแล้ว
OT_ERROR_INVALID_ARGS
แยกวิเคราะห์สตริงไม่สําเร็จ

OTI6ที่อยู่ปลายทางสตริง

void otIp6AddressToString(
  const otIp6Address *aAddress,
  char *aBuffer,
  uint16_t aSize
)

ฟังก์ชันนี้จะแปลงที่อยู่ IPv6 ที่ระบุเป็นสตริงที่มนุษย์อ่านได้

สตริงที่อยู่ IPv6 จะอยู่ในรูปแบบเลขฐานสิบหก 16 ค่าโดยคั่นด้วย ':' (เช่น "%x:%x:%x:...:%x")

หากสตริงที่ได้ไม่พอดีกับ aBuffer (ภายใน aSize อักขระ) สตริงจะถูกตัด แต่สตริงที่ส่งออกจะเป็น Null เสมอ

รายละเอียด
พารามิเตอร์
[in] aAddress
ตัวระบุที่อยู่ IPv6 (ต้องไม่ใช่ NULL)
[out] aBuffer
ตัวชี้ไปยังอาร์เรย์อักขระเพื่อส่งออกสตริง (ต้องไม่ใช่ค่าว่าง)
[in] aSize
ขนาดของ aBuffer (ไบต์) แนะนําให้ใช้ OT_IP6_ADDRESS_STRING_SIZE

OTI66PrePrefixesEqual

bool otIp6ArePrefixesEqual(
  const otIp6Prefix *aFirst,
  const otIp6Prefix *aSecond
)

ทดสอบว่าคํานําหน้า IPv6 จํานวน 2 รายการนําหน้าเดียวกันหรือไม่

รายละเอียด
พารามิเตอร์
[in] aFirst
ตัวชี้ไปยังคํานําหน้า IPv6 แรกที่จะเปรียบเทียบ
[in] aSecond
ตัวชี้ไปยังคํานําหน้า IPv6 ที่ 2 เพื่อเปรียบเทียบ
แสดงผลค่า
TRUE
คํานําหน้า IPv6 จํานวน 2 รายการนําหน้าเดียวกัน
FALSE
คํานําหน้า IPv6 ทั้ง 2 รายการไม่ตรงกัน

OTIp6GetMulticastAddress

const otNetifMulticastAddress * otIp6GetMulticastAddresses(
  otInstance *aInstance
)

รับข้อมูลที่อยู่มัลติแคสต์ของ IPv6 ที่สมัครใช้บริการอินเทอร์เฟซของชุดข้อความ

รายละเอียด
พารามิเตอร์
[in] aInstance
ตัวชี้ไปยังอินสแตนซ์ OpenThread
การคืนสินค้า
ตัวชี้ไปยังที่อยู่มัลติแคสต์อินเทอร์เฟซในเครือข่ายเครือข่ายแรก

OTIp6GetUnicastAddress

const otNetifAddress * otIp6GetUnicastAddresses(
  otInstance *aInstance
)

เรียกดูรายการที่อยู่ IPv6 ให้กับอินเทอร์เฟซของชุดข้อความ

รายละเอียด
พารามิเตอร์
[in] aInstance
ตัวชี้ไปยังอินสแตนซ์ OpenThread
การคืนสินค้า
ตัวชี้ไปยังที่อยู่อินเทอร์เฟซเครือข่ายแรก

OTIp6GetUnsecurePorts

const uint16_t * otIp6GetUnsecurePorts(
  otInstance *aInstance,
  uint8_t *aNumEntries
)

ฟังก์ชันนี้จะส่งตัวชี้กลับไปยังรายการพอร์ตที่ไม่ปลอดภัย

รายละเอียด
พารามิเตอร์
[in] aInstance
ตัวชี้ไปยังอินสแตนซ์ OpenThread
[out] aNumEntries
จํานวนรายการในลิสต์
การคืนสินค้า
ตัวชี้ไปยังรายการพอร์ตที่ไม่ปลอดภัย

OTIp6IsAddressEqual

bool otIp6IsAddressEqual(
  const otIp6Address *aFirst,
  const otIp6Address *aSecond
)

ทดสอบหากที่อยู่ IPv6 ทั้ง 2 แห่งเหมือนกัน

รายละเอียด
พารามิเตอร์
[in] aFirst
ตัวชี้ไปยังที่อยู่ IPv6 แรกที่จะเปรียบเทียบ
[in] aSecond
ตัวชี้ไปยังที่อยู่ IPv6 รายการที่ 2 เพื่อเปรียบเทียบ
แสดงผลค่า
TRUE
ที่อยู่ IPv6 ทั้ง 2 รายการเหมือนกัน
FALSE
ที่อยู่ IPv6 ทั้ง 2 ที่อยู่ไม่ตรงกัน

OTIp6IsAddressUnอัด

bool otIp6IsAddressUnspecified(
  const otIp6Address *aAddress
)

ฟังก์ชันนี้จะระบุว่าที่อยู่ IPv6 ที่ระบุเป็นที่อยู่ที่ไม่ระบุหรือไม่

รายละเอียด
พารามิเตอร์
[in] aAddress
ตัวชี้ไปยังที่อยู่ IPv6
แสดงผลค่า
TRUE
หากที่อยู่ IPv6 เป็นที่อยู่ที่ไม่ระบุ
FALSE
หากที่อยู่ IPv6 ไม่ใช่ที่อยู่ที่ไม่ระบุ

OTI6ISEnabled

bool otIp6IsEnabled(
  otInstance *aInstance
)

ฟังก์ชันนี้จะระบุว่าอินเทอร์เฟซ IPv6 เริ่มทํางานหรือไม่

รายละเอียด
พารามิเตอร์
[in] aInstance
ตัวชี้ไปยังอินสแตนซ์ OpenThread
แสดงผลค่า
TRUE
เปิดใช้งานอินเทอร์เฟซ IPv6 แล้ว
FALSE
อินเทอร์เฟซ IPv6 ปิดใช้อยู่

OTIp6IsMulticastPromisclicitEnabled

bool otIp6IsMulticastPromiscuousEnabled(
  otInstance *aInstance
)

ตรวจสอบว่าเปิดใช้โหมดหลายแคสต์พร้อมกันในอินเทอร์เฟซชุดข้อความแล้ว

รายละเอียด
พารามิเตอร์
[in] aInstance
ตัวชี้ไปยังอินสแตนซ์ OpenThread
ดูเพิ่มเติม:
otIp6SetMulticastPromisclicitEnabled

otIp6IsReceiveFilterEnabled

bool otIp6IsReceiveFilterEnabled(
  otInstance *aInstance
)

ฟังก์ชันนี้ระบุว่าจะกรองการรับส่งข้อมูลของการควบคุมชุดข้อความออกหรือไม่เมื่อนําส่งข้อมูล IPv6 ผ่านโค้ดเรียกกลับที่ระบุไว้ใน otIp6SetReceiveCallback()

รายละเอียด
พารามิเตอร์
[in] aInstance
ตัวชี้ไปยังอินสแตนซ์ OpenThread
การคืนสินค้า
มีค่า TRUE หากกรองการควบคุมชุดข้อความออก (FALSE) หากไม่ใช่ FALSE
โปรดดูข้อมูลเพิ่มเติมต่อไปนี้
otIp6SetReceiveCallback
otIp6SetReceiveFilterEnabled

OTI66IsSlaacEnabled

bool otIp6IsSlaacEnabled(
  otInstance *aInstance
)

ฟังก์ชันนี้จะบ่งบอกว่าเปิดใช้โมดูล SLAAC อยู่หรือไม่

ฟังก์ชันนี้ต้องใช้ฟีเจอร์เวลาบิลด์ OPENTHREAD_CONFIG_IP6_SLAAC_ENABLE

รายละเอียด
แสดงผลค่า
TRUE
เปิดใช้โมดูล SLAAC แล้ว
FALSE
โมดูล SLAAC ปิดใช้อยู่

OTI6ข้อความใหม่

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

จัดสรรบัฟเฟอร์ข้อความใหม่เพื่อส่งข้อความ IPv6

รายละเอียด
พารามิเตอร์
[in] aInstance
ตัวชี้ไปยังอินสแตนซ์ OpenThread
[in] aSettings
ตัวชี้ไปยังการตั้งค่าข้อความหรือ NULL เพื่อตั้งค่าเริ่มต้น
การคืนสินค้า
ตัวชี้ไปยังบัฟเฟอร์ข้อความหรือค่าว่าง ถ้าไม่มีบัฟเฟอร์ข้อความที่ใช้ได้หรือพารามิเตอร์ไม่ถูกต้อง
โปรดดูข้อมูลเพิ่มเติมดังนี้
otMessageFree

OTI66NewMessageFromBuffer

otMessage * otIp6NewMessageFromBuffer(
  otInstance *aInstance,
  const uint8_t *aData,
  uint16_t aDataLength,
  const otMessageSettings *aSettings
)

จัดสรรบัฟเฟอร์ข้อความใหม่ และเขียนไวยากรณ์ IPv6 ไปยังบัฟเฟอร์ข้อความเพื่อส่งข้อความ IPv6

รายละเอียด
พารามิเตอร์
[in] aInstance
ตัวชี้ไปยังอินสแตนซ์ OpenThread
[in] aData
ตัวชี้ไปยังบัฟเฟอร์ข้อมูล IPv6
[in] aDataLength
ขนาดของบัฟเฟอร์ข้อมูล IPv6 ที่ชี้ไปยัง aData
[in] aSettings
ตัวชี้ไปยังการตั้งค่าข้อความหรือ NULL เพื่อตั้งค่าเริ่มต้น
การคืนสินค้า
ตัวชี้ไปยังข้อความหรือ NULL หากมีส่วนหัว IPv6 ที่มีรูปแบบไม่ถูกต้องหรือมีบัฟเฟอร์ข้อความไม่เพียงพอ
โปรดดูข้อมูลเพิ่มเติมดังนี้
otMessageFree

OTI6คํานําหน้าคํานําหน้า

uint8_t otIp6PrefixMatch(
  const otIp6Address *aFirst,
  const otIp6Address *aSecond
)

ฟังก์ชันนี้จะแสดงผลความยาวการจับคู่คํานําหน้า (บิต) สําหรับที่อยู่ IPv6 สองที่อยู่

รายละเอียด
พารามิเตอร์
[in] aFirst
ตัวชี้ไปยังที่อยู่ IPv6 แรก
[in] aSecond
ตัวชี้ไปยังที่อยู่ IPv6 ที่ 2
การคืนสินค้า
ความยาวของการจับคู่คํานําหน้าเป็นบิต

OTI6ข้อความนําหน้าสตริง

void otIp6PrefixToString(
  const otIp6Prefix *aPrefix,
  char *aBuffer,
  uint16_t aSize
)

ฟังก์ชันนี้จะแปลงคํานําหน้า IPv6 ที่ระบุเป็นสตริงที่มนุษย์อ่านได้

สตริงที่อยู่ IPv6 มีรูปแบบเป็น "%x:%x:%x:...[::]/plen"

หากสตริงที่ได้ไม่พอดีกับ aBuffer (ภายใน aSize อักขระ) สตริงจะถูกตัด แต่สตริงที่ส่งออกจะเป็น Null เสมอ

รายละเอียด
พารามิเตอร์
[in] aPrefix
ตัวชี้คํานําหน้า IPv6 (ต้องไม่ใช่ NULL)
[out] aBuffer
ตัวชี้ไปยังอาร์เรย์อักขระเพื่อส่งออกสตริง (ต้องไม่ใช่ค่าว่าง)
[in] aSize
ขนาดของ aBuffer (ไบต์) แนะนําให้ใช้ OT_IP6_PREFIX_STRING_SIZE

OTI6ProtoToString

const char * otIp6ProtoToString(
  uint8_t aIpProto
)

ฟังก์ชันนี้แปลงหมายเลขโปรโตคอล IP ที่ระบุเป็นสตริงที่มนุษย์อ่านได้

รายละเอียด
พารามิเตอร์
[in] aIpProto
หมายเลขโปรโตคอล IP (การแจกแจง OT_IP6_PROTO_*)
การคืนสินค้า
สตริงที่แสดงถึง aIpProto

otIp6ลงทะเบียนMulticastListener

otError otIp6RegisterMulticastListeners(
  otInstance *aInstance,
  const otIp6Address *aAddresses,
  uint8_t aAddressNum,
  const uint32_t *aTimeout,
  otIp6RegisterMulticastListenersCallback aCallback,
  void *aContext
)

ฟังก์ชันนี้ลงทะเบียน Listener ของมัลติแคสต์ไปยังเราเตอร์ Backbone หลัก

หมายเหตุ: ใช้ได้เฉพาะเมื่อเปิดใช้ทั้ง OPENTHREAD_CONFIG_TMF_PROXY_MLR_ENABLE และ OPENTHREAD_CONFIG_COMMISSIONER_ENABLE เท่านั้น)

รายละเอียด
พารามิเตอร์
[in] aInstance
ตัวชี้ไปยังอินสแตนซ์ OpenThread
[in] aAddresses
อาร์เรย์ที่อยู่มัลติแคสต์ที่จะลงทะเบียน
[in] aAddressNum
จํานวนที่อยู่มัลติแคสต์ที่จะลงทะเบียน (0 หาก aAddresses เป็น NULL)
[in] aTimeout
ตัวชี้ไปยังค่าระยะหมดเวลา (เป็นวินาที) ที่จะรวมไว้ใน MLR.req ค่าระยะหมดเวลา 0 จะนํา Listener ของมัลติแคสต์ที่เกี่ยวข้องออก หากเป็น NULL MLR.req จะไม่มี Tlv หมดเวลาโดยค่าเริ่มต้น
[in] aCallback
ตัวชี้ไปยังฟังก์ชันเรียกกลับ
[in] aContext
ตัวชี้ไปยังบริบทของผู้ใช้
แสดงผลค่า
OT_ERROR_NONE
ส่ง MLR.req เรียบร้อยแล้ว เมธอด aCallback จะเรียกว่า iff สําหรับเมธอดนี้จะแสดงผล OT_ERROR_NONE
OT_ERROR_BUSY
หากการจดทะเบียนก่อนหน้ายังดําเนินอยู่
OT_ERROR_INVALID_ARGS
หากมีอาร์กิวเมนต์อย่างน้อย 1 รายการที่ไม่ถูกต้อง
OT_ERROR_INVALID_STATE
หากอุปกรณ์ไม่อยู่ในสถานะที่ส่ง MLR.req (เช่น ค่าคอมมิชชันยังไม่เริ่มทํางาน ระบบจะไม่พบเราเตอร์แกนหลัก)
OT_ERROR_NO_BUFS
หากมีบัฟเฟอร์ข้อความไม่เพียงพอ
ดูเพิ่มเติม:
otIp6RegisterMulticastListenersCallback

OTIp6RemoveAllUnsecurePorts

void otIp6RemoveAllUnsecurePorts(
  otInstance *aInstance
)

ฟังก์ชันนี้จะนําพอร์ตทั้งหมดออกจากรายการพอร์ตที่ไม่ปลอดภัยซึ่งได้รับอนุญาต

รายละเอียด
พารามิเตอร์
[in] aInstance
ตัวชี้ไปยังอินสแตนซ์ OpenThread

OTI66นําออกUnicastAddress

otError otIp6RemoveUnicastAddress(
  otInstance *aInstance,
  const otIp6Address *aAddress
)

นําที่อยู่อินเทอร์เฟซเครือข่ายออกจากอินเทอร์เฟซชุดข้อความ

รายละเอียด
พารามิเตอร์
[in] aInstance
ตัวชี้ไปยังอินสแตนซ์ OpenThread
[in] aAddress
ตัวชี้ไปยังที่อยู่ IP
แสดงผลค่า
OT_ERROR_NONE
นําที่อยู่อินเทอร์เฟซเครือข่ายออกเรียบร้อยแล้ว
OT_ERROR_INVALID_ARGS
ที่อยู่ IP ที่ระบุโดย aAddress เป็นที่อยู่ภายใน
OT_ERROR_NOT_FOUND
ไม่พบที่อยู่ IP ที่ระบุโดย aAddress

OTI6นําUnSecurePort ออก

otError otIp6RemoveUnsecurePort(
  otInstance *aInstance,
  uint16_t aPort
)

ฟังก์ชันนี้จะนําพอร์ตออกจากรายการพอร์ตที่ไม่ปลอดภัยที่อนุญาต

รายละเอียด
พารามิเตอร์
[in] aInstance
ตัวชี้ไปยังอินสแตนซ์ OpenThread
[in] aPort
ค่าพอร์ต
แสดงผลค่า
OT_ERROR_NONE
นําพอร์ตออกจากรายการพอร์ตที่ไม่ปลอดภัยที่อนุญาตแล้ว
OT_ERROR_INVALID_ARGS
พอร์ตไม่ถูกต้อง (ค่า 0 สงวนไว้สําหรับการใช้งานภายใน)
OT_ERROR_NOT_FOUND
ไม่พบพอร์ตในรายการพอร์ตที่ไม่ปลอดภัย

OTI6เลือกแหล่งที่มา

otError otIp6SelectSourceAddress(
  otInstance *aInstance,
  otMessageInfo *aMessageInfo
)

ฟังก์ชันนี้จะเลือกที่อยู่ต้นทางของ OpenThread

รายละเอียด
พารามิเตอร์
[in] aInstance
ตัวชี้ไปยังอินสแตนซ์ OpenThread
[in,out] aMessageInfo
ตัวชี้ไปยังข้อมูลข้อความ
แสดงผลค่า
OT_ERROR_NONE
พบที่อยู่ต้นทางและอยู่ใน mSockAddr ของ aMessageInfo
OT_ERROR_NOT_FOUND
ไม่พบที่อยู่ต้นทางและ aMessageInfo ไม่เปลี่ยนแปลง

ส่ง Ip6

otError otIp6Send(
  otInstance *aInstance,
  otMessage *aMessage
)

ฟังก์ชันนี้จะส่ง Datagram IPv6 ผ่านอินเทอร์เฟซอินเทอร์เฟซชุดข้อความ

ผู้โทรจะโอนการเป็นเจ้าของ aMessage เมื่อทําการโทรนี้ OpenThread จะมีพื้นที่ว่าง aMessage เมื่อดําเนินการประมวลผลเสร็จสิ้น รวมถึงเมื่อแสดงผลค่าอื่นที่ไม่ใช่ OT_ERROR_NONE

รายละเอียด
พารามิเตอร์
[in] aInstance
ตัวชี้ไปยังอินสแตนซ์ OpenThread
[in] aMessage
ตัวชี้ไปยังบัฟเฟอร์ข้อความที่มี Datagram IPv6
แสดงผลค่า
OT_ERROR_NONE
ประมวลผลข้อความเรียบร้อยแล้ว
OT_ERROR_DROP
ข้อความมีรูปแบบถูกต้อง แต่ไม่ได้รับการประมวลผลอย่างสมบูรณ์เนื่องจากกฎการประมวลผลแพ็กเก็ต
OT_ERROR_NO_BUFS
จัดสรรบัฟเฟอร์ข้อความที่จําเป็นไม่ได้เมื่อประมวลผล Datagram
OT_ERROR_NO_ROUTE
ไม่มีเส้นทางไปยังโฮสต์
OT_ERROR_INVALID_SOURCE_ADDRESS
ที่อยู่ต้นทางไม่ถูกต้อง เช่น ที่อยู่ใดก็ได้ หรือที่อยู่ของมัลติแคสต์
OT_ERROR_PARSE
พบส่วนหัวที่มีรูปแบบไม่ถูกต้องเมื่อประมวลผลข้อความ

OTI6

void otIp6SetAddressCallback(
  otInstance *aInstance,
  otIp6AddressCallback aCallback,
  void *aCallbackContext
)

ฟังก์ชันนี้จะบันทึกการติดต่อกลับเพื่อแจ้งให้มีการเปลี่ยนแปลงที่อยู่ IPv6 ภายใน

รายละเอียด
พารามิเตอร์
[in] aInstance
ตัวชี้ไปยังอินสแตนซ์ OpenThread
[in] aCallback
ตัวชี้ไปยังฟังก์ชันที่มีการเรียกเมื่อมีการเพิ่มหรือนําที่อยู่ IPv6 ภายในออก ค่าว่างเพื่อปิดใช้โค้ดเรียกกลับ
[in] aCallbackContext
ตัวชี้ไปยังบริบทเฉพาะแอปพลิเคชัน

OTI6ชุดเปิดใช้

otError otIp6SetEnabled(
  otInstance *aInstance,
  bool aEnabled
)

ฟังก์ชันนี้จะแสดงอินเทอร์เฟซ IPv6 ขึ้น/ลง

เรียกใช้ฟังก์ชันนี้เพื่อเปิดใช้/ปิดใช้การสื่อสาร IPv6

รายละเอียด
พารามิเตอร์
[in] aInstance
ตัวชี้ไปยังอินสแตนซ์ OpenThread
[in] aEnabled
TRUE เพื่อเปิดใช้ IPv6, FALSE ในกรณีอื่นๆ
แสดงผลค่า
OT_ERROR_NONE
นําอินเทอร์เฟซ IPv6 ขึ้น/ลงเรียบร้อยแล้ว
OT_ERROR_INVALID_STATE
อินเทอร์เฟซ IPv6 ไม่พร้อมใช้งานเนื่องจากอุปกรณ์ทํางานในโหมดลิงก์ดิบ (ใช้ได้เฉพาะเมื่อเปิดใช้ฟีเจอร์ OPENTHREAD_CONFIG_LINK_RAW_ENABLE เท่านั้น)

OTI66SetMeshLocalIid

otError otIp6SetMeshLocalIid(
  otInstance *aInstance,
  const otIp6InterfaceIdentifier *aIid
)

ฟังก์ชันนี้ตั้งค่า IID ท้องถิ่นของ Mesh (เพื่อการทดสอบ)

ใช้ได้เฉพาะเมื่อเปิดใช้ OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE เท่านั้น

รายละเอียด
พารามิเตอร์
[in] aInstance
ตัวชี้ไปยังอินสแตนซ์ OpenThread
[in] aIid
ตัวชี้ไปยัง IID ในท้องถิ่น MeID ที่จะตั้งค่า
แสดงผลค่า
OT_ERROR_NONE
ตั้งค่า IID ของเครื่อง Mesh เรียบร้อยแล้ว
OT_ERROR_INVALID_STATE
เปิดใช้โปรโตคอลชุดข้อความแล้ว

OTI66SetMulticastPromisclicitEnabled

void otIp6SetMulticastPromiscuousEnabled(
  otInstance *aInstance,
  bool aEnabled
)

เปิดใช้โหมดมัลติแคสต์พร้อมกันในอินเทอร์เฟซของชุดข้อความ

รายละเอียด
พารามิเตอร์
[in] aInstance
ตัวชี้ไปยังอินสแตนซ์ OpenThread
[in] aEnabled
มีค่าเป็น TRUE เพื่อเปิดใช้โหมด Multicast Promisclicits หรือ FALSE แต่ให้เปิดใช้
ดูเพิ่มเติม:
otIp6IsMulticastPromisclicitEnabled

OTI6

void otIp6SetReceiveCallback(
  otInstance *aInstance,
  otIp6ReceiveCallback aCallback,
  void *aCallbackContext
)

ฟังก์ชันนี้จะลงทะเบียนโค้ดเรียกกลับเพื่อระบุแผ่นข้อมูล IPv6 ที่ได้รับ

โดยค่าเริ่มต้น โค้ดเรียกกลับนี้จะไม่ผ่านการรับส่งข้อมูลการควบคุมชุดข้อความ ดู otIp6SetReceiveFilterEnabled() เพื่อเปลี่ยนการตั้งค่าตัวกรองการเข้าชมของการควบคุมชุดข้อความ

รายละเอียด
พารามิเตอร์
[in] aInstance
ตัวชี้ไปยังอินสแตนซ์ OpenThread
[in] aCallback
ตัวชี้ไปยังฟังก์ชันที่มีการเรียกเมื่อได้รับข้อมูล IPv6 หรือ NULL เพื่อปิดใช้การเรียกกลับ
[in] aCallbackContext
ตัวชี้ไปยังบริบทเฉพาะแอปพลิเคชัน
ดูเพิ่มเติม:
otIp6IsReceiveFilterEnabled
otIp6SetReceiveFilterEnabled

OTIp6SetReceiveFilterEnabled

void otIp6SetReceiveFilterEnabled(
  otInstance *aInstance,
  bool aEnabled
)

ฟังก์ชันนี้จะกําหนดว่าจะกรองการรับส่งข้อมูลของการควบคุมชุดข้อความออกหรือไม่เมื่อนําส่งข้อมูล IPv6 ผ่านโค้ดเรียกกลับที่ระบุไว้ใน otIp6SetReceiveCallback()

รายละเอียด
พารามิเตอร์
[in] aInstance
ตัวชี้ไปยังอินสแตนซ์ OpenThread
[in] aEnabled
มีค่า TRUE หากกรองการควบคุมชุดข้อความออก (FALSE) หากไม่ใช่ FALSE
โปรดดูที่:
otIp6SetReceiveCallback
otIsReceiveIp6FilterEnabled

OTI66SetSlaacEnabled

void otIp6SetSlaacEnabled(
  otInstance *aInstance,
  bool aEnabled
)

ฟังก์ชันนี้จะเปิด/ปิดใช้โมดูล SLAAC

ฟังก์ชันนี้ต้องใช้ฟีเจอร์เวลาบิลด์ OPENTHREAD_CONFIG_IP6_SLAAC_ENABLE

เมื่อเปิดใช้โมดูล SLAAC ระบบจะเพิ่มที่อยู่ SLAAC (อิงตามคํานําหน้าที่ทํางานร่วมกันในข้อมูลเครือข่าย) ลงในอินเทอร์เฟซ เมื่อปิดใช้โมดูล SLAAC ระบบจะนําที่อยู่ SLAAC ที่เพิ่มไว้ก่อนหน้านี้ออก

รายละเอียด
พารามิเตอร์
[in] aInstance
ตัวชี้ไปยังอินสแตนซ์ OpenThread
[in] aEnabled
TRUE เพื่อเปิดใช้ FALSE เพื่อปิดใช้

OTIp6SetSlaacPrefixFilter

void otIp6SetSlaacPrefixFilter(
  otInstance *aInstance,
  otIp6SlaacPrefixFilter aFilter
)

ฟังก์ชันนี้จะกําหนดเครื่องจัดการตัวกรองโมดูล SLAAC

ฟังก์ชันนี้ต้องใช้ฟีเจอร์เวลาบิลด์ OPENTHREAD_CONFIG_IP6_SLAAC_ENABLE

โมดูล SLAAC จะเรียกใช้เครื่องจัดการตัวกรองเมื่อกําลังจะเพิ่มที่อยู่ SLAAC โดยอิงจากคํานําหน้าเพื่อตัดสินใจว่าจะเพิ่มที่อยู่หรือไม่

เครื่องจัดการตัวกรอง NULL จะปิดใช้การกรองและอนุญาตให้เพิ่มที่อยู่ SLAAC ทั้งหมดได้

หากไม่มีการเรียกฟังก์ชันนี้ ตัวกรองเริ่มต้นที่ใช้โดยโมดูล SLAAC จะเป็นค่าว่าง (การกรองถูกปิดใช้งาน)

รายละเอียด
พารามิเตอร์
[in] aInstance
ตัวชี้ไปยังอินสแตนซ์ OpenThread
[in] aFilter
ตัวชี้ไปยังเครื่องจัดการตัวกรองคํานําหน้า SLAAC หรือ NULL เพื่อปิดใช้การกรอง

OTI6SockAddrToString

void otIp6SockAddrToString(
  const otSockAddr *aSockAddr,
  char *aBuffer,
  uint16_t aSize
)

ฟังก์ชันนี้แปลงที่อยู่ซ็อกเก็ต IPv6 เป็นสตริงที่มนุษย์อ่านได้

สตริงที่อยู่ซ็อกเก็ต IPv6 มีรูปแบบเป็น "[

]:" โดยที่ `
แสดงเป็นค่าฐานสิบหก 16 รายการที่คั่นด้วย ':&#39 และ คือหมายเลขพอร์ตในรูปแบบทศนิยม (เช่น "[%x:%x:...:%x]:%u")

หากสตริงที่ได้ไม่พอดีกับ aBuffer (ภายใน aSize อักขระ) สตริงจะถูกตัด แต่สตริงที่ส่งออกจะเป็น Null เสมอ

รายละเอียด
พารามิเตอร์
[in] aSockAddr
ตัวชี้ไปยังที่อยู่ของ IPv6 Socket (ต้องไม่ใช่ NULL)
[out] aBuffer
ตัวชี้ไปยังอาร์เรย์อักขระเพื่อส่งออกสตริง (ต้องไม่ใช่ค่าว่าง)
[in] aSize
ขนาดของ aBuffer (ไบต์) แนะนําให้ใช้ OT_IP6_SOCK_ADDR_STRING_SIZE

otIp6สมัครรับข้อมูลหลายที่อยู่

otError otIp6SubscribeMulticastAddress(
  otInstance *aInstance,
  const otIp6Address *aAddress
)

สมัครรับข้อมูลอินเทอร์เฟซชุดข้อความไปยังที่อยู่ Multicast ของอินเทอร์เฟซเครือข่าย

ระบบจะคัดลอกอินสแตนซ์ที่ส่งใน aAddress โดยอินเทอร์เฟซชุดข้อความ อินเทอร์เฟซชุดข้อความรองรับเฉพาะที่อยู่มัลติแคสต์ที่เพิ่มจากภายนอกแล้วเท่านั้น โปรดดู OPENNAMES_CONFIG_IP6_MAX_EXT_MCAST_ADDRS

รายละเอียด
พารามิเตอร์
[in] aInstance
ตัวชี้ไปยังอินสแตนซ์ OpenThread
[in] aAddress
ตัวชี้ไปยังที่อยู่ IP
แสดงผลค่า
OT_ERROR_NONE
สมัครรับข้อมูลที่อยู่มัลติแคสต์ของเครือข่ายอินเทอร์เฟซสําเร็จแล้ว
OT_ERROR_ALREADY
สมัครใช้บริการที่อยู่มัลติแคสต์แล้ว
OT_ERROR_INVALID_ARGS
ที่อยู่ IP ที่ระบุโดย aAddress เป็นที่อยู่มัลติแคสต์ที่ไม่ถูกต้อง
OT_ERROR_REJECTED
ที่อยู่ IP ที่ระบุโดย aAddress เป็นที่อยู่มัลติแคสต์ภายใน
OT_ERROR_NO_BUFS
อินเทอร์เฟซเครือข่ายจะจัดเก็บที่อยู่มัลติแคสต์ภายนอกที่อนุญาตสูงสุดไว้แล้ว

OTIp6ยกเลิกการสมัครมัลติแคสต์ที่อยู่

otError otIp6UnsubscribeMulticastAddress(
  otInstance *aInstance,
  const otIp6Address *aAddress
)

ยกเลิกการสมัครใช้อินเทอร์เฟซชุดข้อความไปยังที่อยู่มัลติแคสต์อินเทอร์เฟซเครือข่าย

รายละเอียด
พารามิเตอร์
[in] aInstance
ตัวชี้ไปยังอินสแตนซ์ OpenThread
[in] aAddress
ตัวชี้ไปยังที่อยู่ IP
แสดงผลค่า
OT_ERROR_NONE
ยกเลิกการสมัครที่อยู่มัลติแคสต์ของเครือข่ายอินเทอร์เฟซเรียบร้อยแล้ว
OT_ERROR_REJECTED
ที่อยู่ IP ที่ระบุโดย aAddress เป็นที่อยู่ภายใน
OT_ERROR_NOT_FOUND
ไม่พบที่อยู่ IP ที่ระบุโดย aAddress

มาโคร

ขนาด OT_IP6_ADDRESS_SIZE

 OT_IP6_ADDRESS_SIZE 16

ขนาดของที่อยู่ IPv6 (ไบต์)

ขนาด OT_IP6_ADDRESS_DOMAIN_SIZE

 OT_IP6_ADDRESS_STRING_SIZE 40

ขนาดที่แนะนําสําหรับการแสดงสตริงของที่อยู่ IPv6

ขนาด OT_IP6_IID_SIZE

 OT_IP6_IID_SIZE 8

ขนาดของตัวระบุอินเทอร์เฟซ IPv6 (ไบต์)

OT_IP6_MAX_MLR_ADDRESSES

 OT_IP6_MAX_MLR_ADDRESSES 15

จํานวนที่อยู่ IPv6 สูงสุดที่รองรับโดยการลงทะเบียน Listener มัลติแคสต์

ขนาด_IP6_PREFIX_BITSIZE

 OT_IP6_PREFIX_BITSIZE (OT_IP6_PREFIX_SIZE * 8)

ขนาดของคํานําหน้า IPv6 (บิต)

ขนาด OT_IP6_PREFIX_SIZE

 OT_IP6_PREFIX_SIZE 8

ขนาดของคํานําหน้า IPv6 (ไบต์)

ขนาด OT_IP6_PREFIX_DATE_SIZE

 OT_IP6_PREFIX_STRING_SIZE 45

ขนาดที่แนะนําสําหรับการแสดงสตริงของคํานําหน้า IPv6

ขนาด_OT6

 OT_IP6_SOCK_ADDR_STRING_SIZE 48

ขนาดที่แนะนําสําหรับการแสดงสตริงของที่อยู่ซ็อกเก็ต IPv6

ทรัพยากร

หัวข้ออ้างอิง OpenThread API มาจากซอร์สโค้ดซึ่งมีอยู่ใน GitHub ดูข้อมูลเพิ่มเติมหรือมีส่วนร่วมในเอกสารประกอบของเราได้ที่แหล่งข้อมูล