IPv6

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

สรุป

แจกแจง

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
หมายเลข Internet Protocol
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

ประเภทคําสั่ง

otBorderRoutingCounters Typedef
แสดงตัวนับของแพ็กเกตที่ส่งต่อผ่านการกําหนดเส้นทางเส้นขอบ
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 (66 บิตที่สําคัญที่สุดของที่อยู่)
otIp6Prefix Typedef
struct otIp6Prefix
แสดงคํานําหน้า IPv6
otIp6ReceiveCallback)(otMessage *aMessage, void *aContext) Typedef
void(*
ตัวชี้จะถูกเรียกเมื่อได้รับข้อมูล 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
otPacketsAndBytes Typedef
แสดงตัวนับสําหรับแพ็กเก็ตและไบต์
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 สองรายการเหมือนกันหรือไม่
otIp6GetBorderRoutingCounters(otInstance *aInstance)
รับตัวนับ Border Routing
otIp6GetMulticastAddresses(otInstance *aInstance)
รับรายการที่อยู่มัลติแคสต์ IPv6 ที่สมัครรับข้อมูลอินเทอร์เฟซชุดข้อความ
otIp6GetPrefix(const otIp6Address *aAddress, uint8_t aLength, otIp6Prefix *aPrefix)
void
ได้รับคํานําหน้าด้วย aLength จาก aAddress
otIp6GetUnicastAddresses(otInstance *aInstance)
const otNetifAddress *
รับรายการที่อยู่ IPv6 ที่กําหนดให้กับอินเทอร์เฟซชุดข้อความ
otIp6GetUnsecurePorts(otInstance *aInstance, uint8_t *aNumEntries)
const uint16_t *
ส่งคืนตัวชี้ไปยังรายการพอร์ตที่ไม่ปลอดภัย
otIp6IsAddressEqual(const otIp6Address *aFirst, const otIp6Address *aSecond)
bool
ทดสอบว่าที่อยู่ IPv6 สองที่อยู่เหมือนกันหรือไม่
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
otIp6PrefixFromString(const char *aString, otIp6Prefix *aPrefix)
แปลงสตริงคํานําหน้า IPv6 ที่มนุษย์อ่านได้แทนเลขฐานสอง
otIp6PrefixMatch(const otIp6Address *aFirst, const otIp6Address *aSecond)
uint8_t
แสดงผลความยาวของการจับคู่คํานําหน้า (บิต) สําหรับที่อยู่ IPv6 2 รายการ
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 ของมัลติแคสต์ไปยังเราเตอร์แกนหลัก
otIp6RemoveAllUnsecurePorts(otInstance *aInstance)
void
นําพอร์ตทั้งหมดออกจากรายชื่อพอร์ตที่ไม่ปลอดภัยซึ่งได้รับอนุญาต
otIp6RemoveUnicastAddress(otInstance *aInstance, const otIp6Address *aAddress)
นําที่อยู่อินเทอร์เฟซเครือข่ายออกจากอินเทอร์เฟซเทรด
otIp6RemoveUnsecurePort(otInstance *aInstance, uint16_t aPort)
นําพอร์ตออกจากรายการพอร์ตที่ไม่ปลอดภัยที่ได้รับอนุญาต
otIp6ResetBorderRoutingCounters(otInstance *aInstance)
void
รีเซ็ตตัวนับการกําหนดเส้นทางเส้นขอบ
otIp6SelectSourceAddress(otInstance *aInstance, otMessageInfo *aMessageInfo)
เลือกที่อยู่ต้นทางของ OpenThread
otIp6Send(otInstance *aInstance, otMessage *aMessage)
ส่งข้อมูล IPv6 ผ่านอินเทอร์เฟซของชุดข้อความ
otIp6SetAddressCallback(otInstance *aInstance, otIp6AddressCallback aCallback, void *aCallbackContext)
void
ลงทะเบียนโค้ดเรียกกลับเพื่อแจ้งเตือนการเปลี่ยนแปลงที่อยู่ IPv6 ภายใน
otIp6SetEnabled(otInstance *aInstance, bool aEnabled)
ปรับอินเทอร์เฟซ IPv6 ขึ้นหรือลง
otIp6SetMeshLocalIid(otInstance *aInstance, const otIp6InterfaceIdentifier *aIid)
ตั้งค่า Mesh Local IID (เพื่อการทดสอบ)
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)
ติดตามอินเทอร์เฟซเทรดไปยังที่อยู่มัลติแคสต์ของเครือข่ายอินเทอร์เฟซ
otIp6UnsubscribeMulticastAddress(otInstance *aInstance, const otIp6Address *aAddress)
ยกเลิกการสมัครรับอินเทอร์เฟซชุดข้อความไปยังที่อยู่มัลติคาสต์อินเทอร์เฟซเครือข่าย

โครงสร้าง

otBorderRoutingCounter

แสดงตัวนับของแพ็กเกตที่ส่งต่อผ่านการกําหนดเส้นทางเส้นขอบ

otIp6ที่อยู่

แสดงที่อยู่ IPv6

otIp6AddressComponents

แสดงส่วนประกอบของที่อยู่ IPv6

otIp6AddressInfo

แสดงข้อมูลที่อยู่ IPv6

OTIp6InterfaceIdentifier

แสดงตัวระบุอินเทอร์เฟซของที่อยู่ IPv6

OTI รหัสนําหน้าเครือข่าย

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

คํานําหน้า Ip6

แสดงคํานําหน้า IPv6

otMessageInfo

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

otNetifAddress

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

otNetifMulticastAddress

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

otPacketsAndBytes

แสดงตัวนับสําหรับแพ็กเก็ตและไบต์

otSockAddr

แสดงที่อยู่ของซ็อกเก็ต IPv6

สหภาพ

otIp6InterfaceIdentifier::OT_TOOL_PACKED_FIELD

แจกแจง

ไม่ระบุนาม

 anonymous enum

หมายเลข Internet Protocol

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

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

OT_IP6_PROTO_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 ของผู้ใช้

ไม่ระบุนาม

 anonymous enum

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

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

ที่อยู่ที่กําหนด DHCPv6

OT_ADDRESS_ORIGIN_MANUAL

ที่อยู่ที่มอบหมายด้วยตนเอง

OT_ADDRESS_ORIGIN_SLAAC

ที่อยู่ที่มอบหมายของ SLAAC

OT_ADDRESS_ORIGIN_THREAD

ที่อยู่ที่กําหนดให้ชุดข้อความ (ALOC, RLOC, MLEID ฯลฯ)

ไม่ระบุนาม

 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

ประเภทคําสั่ง

OTBorderRoutingCounter

struct otBorderRoutingCounters otBorderRoutingCounters

แสดงตัวนับของแพ็กเกตที่ส่งต่อผ่านการกําหนดเส้นทางเส้นขอบ

OTIp6ที่อยู่

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
ตัวชี้ไปยังบริบทเฉพาะแอปพลิเคชัน

OTI6ที่อยู่คอมโพเนนต์

struct otIp6AddressComponents otIp6AddressComponents

แสดงส่วนประกอบของที่อยู่ IPv6

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

struct otIp6AddressInfo otIp6AddressInfo

ตัวระบุจุดอินเทอร์เฟซ

struct otIp6InterfaceIdentifier otIp6InterfaceIdentifier

แสดงตัวระบุอินเทอร์เฟซของที่อยู่ IPv6

OTI รหัสนําหน้าเครือข่าย

struct otIp6NetworkPrefix otIp6NetworkPrefix

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

OTIp6คํานําหน้า

struct otIp6Prefix otIp6Prefix

แสดงคํานําหน้า IPv6

otI66รับการเรียกกลับ

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

ตัวชี้จะถูกเรียกเมื่อได้รับข้อมูล IPv6

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

otIp6ลงทะเบียนMulticastListenersCallback

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

ตัวกรองคํานําหน้า IPS6

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

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

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

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

OTMessageInfo

struct otMessageInfo otMessageInfo

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

OTNetifAddress

struct otNetifAddress otNetifAddress

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

หลายที่อยู่

struct otNetifMulticastAddress otNetifMulticastAddress

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

แพ็คเก็ต AndAndtes

struct otPacketsAndBytes otPacketsAndBytes

แสดงตัวนับสําหรับแพ็กเก็ตและไบต์

OTSockAddr

struct otSockAddr otSockAddr

แสดงที่อยู่ของซ็อกเก็ต IPv6

ตัวแปร

OT_TOOL_PACKED_END

OT_TOOL_PACKED_BEGIN struct otIp6InterfaceIdentifier OT_TOOL_PACKED_END

ฟังก์ชัน

OTIp6เพิ่มUnicastAddress

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

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

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

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

OTIp6เพิ่มพอร์ตที่ไม่ปลอดภัย

otError otIp6AddUnsecurePort(
  otInstance *aInstance,
  uint16_t aPort
)

เพิ่มพอร์ตไปยังรายการพอร์ตที่ไม่ปลอดภัยที่ไม่ปลอดภัย

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

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

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

แปลงสตริงที่อยู่ IPv6 ที่มนุษย์อ่านได้ แล้วนําเสนอในรูปแบบไบนารี

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

ข้อความค้นหาที่อยู่สตริง 6

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

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

สตริงที่อยู่ IPv6 มีรูปแบบเป็นเลขฐานสิบหก 16 ค่าซึ่งคั่นด้วย ":" (นั่นคือ "%x:%x:%x:...:%x")

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

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

OTI66ค่านําหน้า

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

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

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

OTIp6GetBorderRoutingCounter

const otBorderRoutingCounters * otIp6GetBorderRoutingCounters(
  otInstance *aInstance
)

รับตัวนับ Border Routing

ต้องเปิดใช้ฟีเจอร์เวลาบิลด์ OPENTHREAD_CONFIG_IP6_BR_COUNTERS_ENABLE

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

OTIp6GetMulticastAddress

const otNetifMulticastAddress * otIp6GetMulticastAddresses(
  otInstance *aInstance
)

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

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

OTIp6รับคํานําหน้า

void otIp6GetPrefix(
  const otIp6Address *aAddress,
  uint8_t aLength,
  otIp6Prefix *aPrefix
)

ได้รับคํานําหน้าด้วย aLength จาก aAddress

รายละเอียด
พารามิเตอร์
[in] aAddress
ตัวชี้ไปยังที่อยู่ IPv6
[in] aLength
ความยาวของคํานําหน้าเป็นบิต
[out] aPrefix
ตัวชี้เพื่อแสดงผลคํานําหน้า IPv6

OTIp6รับUnicastAddress

const otNetifAddress * otIp6GetUnicastAddresses(
  otInstance *aInstance
)

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

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

OTIp6รับ UnsecurePorts

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

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

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

OTIp6IsAddressEqual

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

ทดสอบว่าที่อยู่ IPv6 สองที่อยู่เหมือนกันหรือไม่

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

OTIp6IsAddress ที่ไม่ระบุ

bool otIp6IsAddressUnspecified(
  const otIp6Address *aAddress
)

ระบุว่าที่อยู่ IPv6 ที่ระบุคือที่อยู่ที่ไม่ระบุหรือไม่

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

OTIp6IsEnabled

bool otIp6IsEnabled(
  otInstance *aInstance
)

ระบุว่าอินเทอร์เฟซ IPv6 ปรากฏขึ้นหรือไม่

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

เปิดใช้It6IsMulticastPromiscuous

bool otIp6IsMulticastPromiscuousEnabled(
  otInstance *aInstance
)

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

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

OTIp6IsReceiveFilterEnabled

bool otIp6IsReceiveFilterEnabled(
  otInstance *aInstance
)

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

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

OTIp6IsSlaacEnabled

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
ตัวชี้ไปยังการตั้งค่าข้อความหรือค่าว่างเพื่อตั้งค่าเริ่มต้น
การส่งคืน
ตัวชี้ไปยังบัฟเฟอร์ข้อความหรือค่าว่างหากไม่มีการบัฟเฟอร์ข้อความหรือพารามิเตอร์ไม่ถูกต้อง
ดูเพิ่มเติม:
otMessageFree

OTIp6NewMessageFromBuffer

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
ตัวชี้ไปยังการตั้งค่าข้อความหรือค่าว่างเพื่อตั้งค่าเริ่มต้น
การส่งคืน
ตัวชี้ไปยังข้อความหรือค่าว่างหากส่วนหัว IPv6 มีรูปแบบที่ไม่ถูกต้องหรือมีบัฟเฟอร์ข้อความไม่เพียงพอ
ดูเพิ่มเติม:
otMessageFree

OTIp6คํานําหน้าจากสตริง

otError otIp6PrefixFromString(
  const char *aString,
  otIp6Prefix *aPrefix
)

แปลงสตริงคํานําหน้า IPv6 ที่มนุษย์อ่านได้แทนเลขฐานสอง

พารามิเตอร์ aString ควรเป็นสตริงในรูปแบบ "

/" โดยที่
คือที่อยู่ IPv6 และ คือความยาวของคํานําหน้า

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

OTIp6Prefix ที่ตรงกัน

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

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

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

OTI6สตริงคํานําหน้า

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

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

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

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

รายละเอียด
พารามิเตอร์
[in] aPrefix
ตัวชี้นําหน้า IPv6 (ต้องไม่เป็นค่าว่าง)
[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

OTIp6RegisterMulticastListeners

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

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

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

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

OTIp6ลบพอร์ตทั้งหมดที่ไม่ปลอดภัย

void otIp6RemoveAllUnsecurePorts(
  otInstance *aInstance
)

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

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

OTIp6ลบ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 ระบุ

OTIp6ลบพอร์ตที่ไม่ปลอดภัย

otError otIp6RemoveUnsecurePort(
  otInstance *aInstance,
  uint16_t aPort
)

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

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

OTIp6รีเซ็ตตัวนับการกําหนดเส้นทาง

void otIp6ResetBorderRoutingCounters(
  otInstance *aInstance
)

รีเซ็ตตัวนับการกําหนดเส้นทางเส้นขอบ

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

OTIp6เลือกแหล่งที่มาของที่อยู่

otError otIp6SelectSourceAddress(
  otInstance *aInstance,
  otMessageInfo *aMessageInfo
)

เลือกที่อยู่ต้นทางของ OpenThread

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

ส่ง6p

otError otIp6Send(
  otInstance *aInstance,
  otMessage *aMessage
)

ส่งข้อมูล IPv6 ผ่านอินเทอร์เฟซของชุดข้อความ

ผู้โทรจะโอนสิทธิ์การเป็นเจ้าของ aMessage เมื่อโทรออก OpenThread จะช่วยให้มีพื้นที่ว่างเพิ่มขึ้น aMessage เมื่อการประมวลผลเสร็จสมบูรณ์ รวมถึงค่าอื่นที่ไม่ใช่ OT_ERROR_NONE

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

OTIp6SetAddressCallback

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

ลงทะเบียนโค้ดเรียกกลับเพื่อแจ้งเตือนการเปลี่ยนแปลงที่อยู่ IPv6 ภายใน

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

OTIp6SetEnabled

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)

OTIP6SetMeshLocalIid

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

ตั้งค่า Mesh Local IID (เพื่อการทดสอบ)

ใช้ได้เฉพาะเมื่อเปิดใช้ OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE อยู่

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

OTIp6SetMultiProPromiscuous

void otIp6SetMulticastPromiscuousEnabled(
  otInstance *aInstance,
  bool aEnabled
)

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

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

OTIp6SetSetCallback

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

ลงทะเบียนการติดต่อกลับเพื่อจัดเตรียมข้อมูล IPv6 ที่ได้รับ

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

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

OTIp6SetSetFilterEnabled

void otIp6SetReceiveFilterEnabled(
  otInstance *aInstance,
  bool aEnabled
)

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

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

OTIp6SetSlaacEnabled

void otIp6SetSlaacEnabled(
  otInstance *aInstance,
  bool aEnabled
)

เปิด/ปิดโมดูล SLAAC

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

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

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

ตัวกรองการจับคู่คํานําหน้า OTIp6

void otIp6SetSlaacPrefixFilter(
  otInstance *aInstance,
  otIp6SlaacPrefixFilter aFilter
)

ตั้งค่าเครื่องจัดการตัวกรองโมดูล SLAAC

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

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

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

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

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

OTI66SockAddrToString

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

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

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

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

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

OTIp6สมัครรับข้อมูลมัลติแคสต์

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

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

อินเทอร์เฟซจะคัดลอกไฟล์ที่ส่งต่อในอินสแตนซ์ aAddress อินเทอร์เฟซของชุดข้อความสนับสนุนเฉพาะที่อยู่มัลติแคสต์ที่เพิ่มลงในภายนอกเป็นจํานวนมากเท่านั้น ดู OPENTHREAD_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_STRING_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 มัลติแคสต์

OT_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_STRING_SIZE

 OT_IP6_PREFIX_STRING_SIZE 45

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

OT_IP6_SOCK_ADDR_STRING_SIZE

 OT_IP6_SOCK_ADDR_STRING_SIZE 48

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

แหล่งข้อมูล

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