ICMPv6

Modul ini mencakup fungsi yang mengontrol komunikasi ICMPv6.

Ringkasan

Enumerasi

otIcmp6Code{
  OT_ICMP6_CODE_DST_UNREACH_NO_ROUTE = 0,
  OT_ICMP6_CODE_FRAGM_REAS_TIME_EX = 1
}
enum
Kode Pesan ICMPv6.
otIcmp6EchoMode{
  OT_ICMP6_ECHO_HANDLER_DISABLED = 0,
  OT_ICMP6_ECHO_HANDLER_UNICAST_ONLY = 1,
  OT_ICMP6_ECHO_HANDLER_MULTICAST_ONLY = 2,
  OT_ICMP6_ECHO_HANDLER_ALL = 3
}
enum
Mode {i>Echo Reply<i} ICMPv6.
otIcmp6Type{
  OT_ICMP6_TYPE_DST_UNREACH = 1,
  OT_ICMP6_TYPE_PACKET_TO_BIG = 2,
  OT_ICMP6_TYPE_TIME_EXCEEDED = 3,
  OT_ICMP6_TYPE_PARAMETER_PROBLEM = 4,
  OT_ICMP6_TYPE_ECHO_REQUEST = 128,
  OT_ICMP6_TYPE_ECHO_REPLY = 129,
  OT_ICMP6_TYPE_ROUTER_SOLICIT = 133,
  OT_ICMP6_TYPE_ROUTER_ADVERT = 134,
  OT_ICMP6_TYPE_NEIGHBOR_SOLICIT = 135,
  OT_ICMP6_TYPE_NEIGHBOR_ADVERT = 136
}
enum
Jenis Pesan ICMPv6.

Typedef

otIcmp6Code typedef
Kode Pesan ICMPv6.
otIcmp6EchoMode typedef
Mode {i>Echo Reply<i} ICMPv6.
otIcmp6Handler typedef
Mengimplementasikan pengendali pesan ICMPv6.
otIcmp6Header typedef
struct otIcmp6Header
Mewakili header ICMPv6.
otIcmp6ReceiveCallback)(void *aContext, otMessage *aMessage, const otMessageInfo *aMessageInfo, const otIcmp6Header *aIcmpHeader) typedef
void(*
Callback ini memungkinkan OpenThread memberi tahu aplikasi tentang pesan ICMPv6 yang diterima.
otIcmp6Type typedef
Jenis Pesan ICMPv6.

Variabel

OT_TOOL_PACKED_END

Fungsi

otIcmp6GetEchoMode(otInstance *aInstance)
Menunjukkan apakah Echo processing ICMPv6 diaktifkan atau tidak.
otIcmp6RegisterHandler(otInstance *aInstance, otIcmp6Handler *aHandler)
Mendaftarkan pengendali untuk memberikan pesan ICMPv6 yang diterima.
otIcmp6SendEchoRequest(otInstance *aInstance, otMessage *aMessage, const otMessageInfo *aMessageInfo, uint16_t aIdentifier)
Mengirim Echo Request ICMPv6 melalui antarmuka Thread.
otIcmp6SetEchoMode(otInstance *aInstance, otIcmp6EchoMode aMode)
void
Menetapkan apakah pemrosesan Echo ICMPv6 diaktifkan atau tidak.

Struct

otIcmp6Handler

Mengimplementasikan pengendali pesan ICMPv6.

otIcmp6Header

Mewakili header ICMPv6.

Serikat

otIcmp6Header::OT_TOOL_PACKED_FIELD

Enumerasi

otIcmp6Code

 otIcmp6Code

Kode Pesan ICMPv6.

Properti
OT_ICMP6_CODE_DST_UNREACH_NO_ROUTE

Tujuan Tidak Dapat Dijangkau Tidak Ada Rute.

OT_ICMP6_CODE_FRAGM_REAS_TIME_EX

Waktu Perakitan Kembali Fragmen Terlampaui.

otIcmp6EchoMode

 otIcmp6EchoMode

Mode {i>Echo Reply<i} ICMPv6.

Properti
OT_ICMP6_ECHO_HANDLER_ALL

Pemrosesan Echo ICMPv6 diaktifkan untuk permintaan unicast dan multicast.

OT_ICMP6_ECHO_HANDLER_DISABLED

Echo processing ICMPv6 dinonaktifkan.

OT_ICMP6_ECHO_HANDLER_MULTICAST_ONLY

Pemrosesan {i>echo<i} ICMPv6 hanya diaktifkan untuk permintaan multicast.

OT_ICMP6_ECHO_HANDLER_UNICAST_ONLY

Pemrosesan {i>echo<i} ICMPv6 hanya diaktifkan untuk permintaan unicast.

otIcmp6Type

 otIcmp6Type

Jenis Pesan ICMPv6.

Properti
OT_ICMP6_TYPE_DST_UNREACH

Tujuan Tidak Dapat Dijangkau.

OT_ICMP6_TYPE_ECHO_REPLY

{i>Echo Reply<i}.

OT_ICMP6_TYPE_ECHO_REQUEST

{i>Echo Request<i}.

OT_ICMP6_TYPE_NEIGHBOR_ADVERT

Iklan Tetangga.

OT_ICMP6_TYPE_NEIGHBOR_SOLICIT

Permintaan Tetangga.

OT_ICMP6_TYPE_PACKET_TO_BIG

Paket ke Besar.

OT_ICMP6_TYPE_PARAMETER_PROBLEM

Masalah Parameter.

OT_ICMP6_TYPE_ROUTER_ADVERT

Pemberitahuan Router.

OT_ICMP6_TYPE_ROUTER_SOLICIT

Permintaan Router.

OT_ICMP6_TYPE_TIME_EXCEEDED

Waktu Terlampaui.

Typedef

otIcmp6Code

enum otIcmp6Code otIcmp6Code

Kode Pesan ICMPv6.

otIcmp6EchoMode

enum otIcmp6EchoMode otIcmp6EchoMode

Mode {i>Echo Reply<i} ICMPv6.

otIcmp6Handler

struct otIcmp6Handler otIcmp6Handler

Mengimplementasikan pengendali pesan ICMPv6.

otIcmp6Header

struct otIcmp6Header otIcmp6Header

Mewakili header ICMPv6.

otIcmp6ReceiveCallback

void(* otIcmp6ReceiveCallback)(void *aContext, otMessage *aMessage, const otMessageInfo *aMessageInfo, const otIcmp6Header *aIcmpHeader)

Callback ini memungkinkan OpenThread memberi tahu aplikasi tentang pesan ICMPv6 yang diterima.

Detail
Parameter
[in] aContext
Pointer ke informasi konteks arbitrer.
[in] aMessage
Pointer ke pesan yang diterima.
[in] aMessageInfo
Pointer ke informasi pesan yang terkait dengan aMessage.
[in] aIcmpHeader
Pointer ke header ICMPv6 yang diterima.

otIcmp6Type

enum otIcmp6Type otIcmp6Type

Jenis Pesan ICMPv6.

Variabel

OT_TOOL_PACKED_END

OT_TOOL_PACKED_BEGIN struct otIcmp6Header OT_TOOL_PACKED_END

Fungsi

otIcmp6GetEchoMode

otIcmp6EchoMode otIcmp6GetEchoMode(
  otInstance *aInstance
)

Menunjukkan apakah Echo processing ICMPv6 diaktifkan atau tidak.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
Nilai Pengembalian
OT_ICMP6_ECHO_HANDLER_DISABLED
Echo processing ICMPv6 dinonaktifkan.
OT_ICMP6_ECHO_HANDLER_UNICAST_ONLY
Echo processing ICMPv6 diaktifkan hanya untuk permintaan unicast
OT_ICMP6_ECHO_HANDLER_MULTICAST_ONLY
Echo processing ICMPv6 diaktifkan hanya untuk permintaan multicast
OT_ICMP6_ECHO_HANDLER_ALL
Echo processing ICMPv6 diaktifkan untuk permintaan unicast dan multicast

otIcmp6RegisterHandler

otError otIcmp6RegisterHandler(
  otInstance *aInstance,
  otIcmp6Handler *aHandler
)

Mendaftarkan pengendali untuk memberikan pesan ICMPv6 yang diterima.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
[in] aHandler
Pointer ke pengendali yang berisi callback yang dipanggil saat pesan ICMPv6 diterima.

otIcmp6SendEchoRequest

otError otIcmp6SendEchoRequest(
  otInstance *aInstance,
  otMessage *aMessage,
  const otMessageInfo *aMessageInfo,
  uint16_t aIdentifier
)

Mengirim Echo Request ICMPv6 melalui antarmuka Thread.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
[in] aMessage
Pointer ke buffer pesan yang berisi payload ICMPv6.
[in] aMessageInfo
Referensi ke informasi pesan yang terkait dengan aMessage.
[in] aIdentifier
ID untuk membantu mencocokkan Echo Reply untuk Echo Request ini. Mungkin nol.

otIcmp6SetEchoMode

void otIcmp6SetEchoMode(
  otInstance *aInstance,
  otIcmp6EchoMode aMode
)

Menetapkan apakah pemrosesan Echo ICMPv6 diaktifkan atau tidak.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
[in] aMode
Mode pemrosesan {i>echo<i} ICMPv6.

Makro

OT_ICMP6_HEADER_DATA_SIZE

 OT_ICMP6_HEADER_DATA_SIZE 4

Ukuran Header ICMPv6.

OT_ICMP6_ROUTER_ADVERT_MIN_SIZE

 OT_ICMP6_ROUTER_ADVERT_MIN_SIZE 16

Ukuran pesan Iklan Router tanpa opsi apa pun.

Referensi

Topik Referensi OpenThread API berasal dari kode sumber yang tersedia di GitHub. Untuk informasi selengkapnya, atau untuk berkontribusi pada dokumentasi kami, lihat Referensi.