จัดทุกอย่างให้เป็นระเบียบอยู่เสมอด้วยคอลเล็กชัน บันทึกและจัดหมวดหมู่เนื้อหาตามค่ากำหนดของคุณ

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
หมายเลขโปรโตคอลอินเทอร์เน็ต

ประเภทแบบอักษร

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

โครงสร้าง

otBorderRoutingCounter

โครงสร้างนี้จะแสดงตัวนับแพ็กเก็ตที่ส่งต่อผ่านการกําหนดเส้นทางพรมแดน

otIp6ที่อยู่

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

otIp6AddressComponents

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

otIp6AddressInfo

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

otIp6InterfaceIdentifier

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

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

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

otIp6คํานําหน้า

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

otMessageInfo

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

otNetifAddress

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

otNetifMulticastAddress

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

otPacketsAndBytes

โครงสร้างนี้แสดงถึงตัวนับสําหรับแพ็กเก็ตและไบต์

otSockAddr

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

สหภาพ

otIp6InterfaceIdentifier::OT_TOOL_PACKED_FIELD

การแจกแจง

แจกแจงโดยไม่ระบุชื่อ

 anonymous enum

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

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

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

OT_ADDRESS_ORIGIN_MANUAL

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

OT_ADDRESS_ORIGIN_SLAAC

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

OT_ADDRESS_ORIGIN_THREAD

ที่อยู่ที่กําหนดให้ชุดข้อความ (ALOC, RLSAOC, 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

แจกแจงโดยไม่ระบุชื่อ

 anonymous enum

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

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

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

OT_IP6_PROTO_FRAGMENT

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

OT_IP6_PROTO_HOP_OPTS

ตัวเลือก IPv6 Hop-by-Hop

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

ประเภทแบบอักษร

ตัวนับ otBorder

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

otIp6AddressComponents

struct otIp6AddressComponents otIp6AddressComponents

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

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

struct otIp6AddressInfo otIp6AddressInfo

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

struct otIp6InterfaceIdentifier otIp6InterfaceIdentifier

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

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

struct otIp6NetworkPrefix otIp6NetworkPrefix

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

คํานําหน้า Ip66

struct otIp6Prefix otIp6Prefix

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

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

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

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

รายละเอียด
พารามิเตอร์
[in] aMessage
ตัวชี้ไปยังบัฟเฟอร์ข้อความที่มี Data 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

ตัวกรอง OTIp6SlaacPrefix

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

OTPacketsAndBytes

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
อินเทอร์เฟซเครือข่ายจะจัดเก็บที่อยู่ภายนอกที่อนุญาตสูงสุดไว้แล้ว

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
รายการพอร์ตที่ไม่ปลอดภัยเต็มแล้ว

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

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

ฟังก์ชันนี้จะแปลงสตริงที่อยู่ IPv6 ที่ผู้ใช้อ่านได้เป็นเลขฐานสอง

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

OTI6ที่อยู่ ToString

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
ตัวชี้ไปยังอาร์เรย์อักขระเพื่อแสดงผลลัพธ์สตริง (ต้องไม่เป็น Null)
[in] aSize
ขนาดของ aBuffer (ในหน่วยไบต์) แนะนําให้ใช้ OT_IP6_ADDRESS_STRING_SIZE

otIp6พื้นที่เท่ากับเท่ากับ

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

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

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

OTIp6GetBorderRoutingCounters

const otBorderRoutingCounters * otIp6GetBorderRoutingCounters(
  otInstance *aInstance
)

รับตัวนับการกําหนดเส้นทาง Border

ฟังก์ชันนี้จะต้องเปิดใช้ฟีเจอร์เวลา OPENTHREAD_CONFIG_IP6_BR_COUNTERS_ENABLE ด้วย

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

otIp6GetMulticastAddress

const otNetifMulticastAddress * otIp6GetMulticastAddresses(
  otInstance *aInstance
)

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

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

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

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
การคืนสินค้า
ตัวชี้ไปยังที่อยู่อินเทอร์เฟซเครือข่ายแรก

OTI66GetUnsecurePorts

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 ที่สองเพื่อเปรียบเทียบ
มูลค่าการคืนสินค้า
TRUE
ที่อยู่ IPv6 ทั้ง 2 รายการเหมือนกัน
FALSE
ที่อยู่ IPv6 ทั้งสองไม่เหมือนกัน

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 ปิดใช้อยู่

OTIp6IsMulticastPromiscries เปิดใช้อยู่

bool otIp6IsMulticastPromiscuousEnabled(
  otInstance *aInstance
)

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

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

otIp6IsReceiveFilterEnabled

bool otIp6IsReceiveFilterEnabled(
  otInstance *aInstance
)

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

รายละเอียด
พารามิเตอร์
[in] aInstance
ตัวชี้ไปยังอินสแตนซ์ OpenThread
การคืนสินค้า
มีค่าเป็น TRUE หากมีการกรองการควบคุมเทรดออก มิฉะนั้นจะเป็น FALSE
ดูเพิ่มเติม:
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
ชี้ไปที่การตั้งค่าข้อความหรือค่าว่างเพื่อตั้งค่าเริ่มต้น
การคืนสินค้า
ตัวชี้ไปยังบัฟเฟอร์ข้อความหรือค่า Null หากไม่มีบัฟเฟอร์ข้อความที่ใช้ได้ หรือพารามิเตอร์ไม่ถูกต้อง
ดูเพิ่มเติมที่
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จับคู่คํานําหน้า

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
ตัวชี้ไปยังอาร์เรย์อักขระเพื่อแสดงผลลัพธ์สตริง (ต้องไม่เป็น Null)
[in] aSize
ขนาดของ aBuffer (ในหน่วยไบต์) แนะนําให้ใช้ OT_IP6_PREFIX_STRING_SIZE

OTIP6โปรโตคอล

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 มัลติแคสต์ไปยังเราเตอร์หลักหลัก

หมายเหตุ: ใช้ได้เฉพาะเมื่อเปิดใช้ทั้ง 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 จะทําให้เมธอดนี้ส่งคืน OT_ERROR_NONE
OT_ERROR_BUSY
หากการจดทะเบียนก่อนหน้ายังดําเนินอยู่
OT_ERROR_INVALID_ARGS
หากมีอาร์กิวเมนต์อย่างน้อย 1 รายการที่ไม่ถูกต้อง
OT_ERROR_INVALID_STATE
หากอุปกรณ์ไม่อยู่ในสถานะที่ถูกต้องที่จะส่ง MLR.req (เช่น ไม่ได้เริ่มค่าคอมมิชชัน ไม่พบเราเตอร์ Backbone หลัก)
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

OTI6ส่ง

otError otIp6Send(
  otInstance *aInstance,
  otMessage *aMessage
)

ฟังก์ชันนี้จะส่งข้อมูล Data 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
พบส่วนหัวที่มีรูปแบบไม่ถูกต้องเมื่อประมวลผลข้อความ

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
)

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

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

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

OTIp6SetMulticastPromiscries เปิดใช้อยู่

void otIp6SetMulticastPromiscuousEnabled(
  otInstance *aInstance,
  bool aEnabled
)

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

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

otIp6SetSetCallback

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
ดูเพิ่มเติม:
otIp6SetReceiveCallback
otIsReceiveIp6FilterEnabled

OTIP6SetSlaacEnabled

void otIp6SetSlaacEnabled(
  otInstance *aInstance,
  bool aEnabled
)

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

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

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

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

ตัวกรอง OTIp6SetSlaacPrefix

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 เพื่อปิดใช้การกรอง

OTI6SockAddrToString

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

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

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

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

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

OTIp6SubscriptionMulticastAddress

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

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

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

รายละเอียด
พารามิเตอร์
[in] aInstance
ตัวชี้ไปยังอินสแตนซ์ OpenThread
[in] aAddress
ตัวชี้ไปยังที่อยู่ IP
มูลค่าการคืนสินค้า
OT_ERROR_NONE
สมัครรับข้อมูลที่อยู่ Multicast ของอินเทอร์เฟซเครือข่ายสําเร็จแล้ว
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_NAME_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_NAME_SIZE

 OT_IP6_PREFIX_STRING_SIZE 45

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

OT_IP6_SOCK_ADDR_NAME_SIZE

 OT_IP6_SOCK_ADDR_STRING_SIZE 48

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

ทรัพยากร

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