Crate openthread_sys

source ·
Expand description

Raw OpenThread API Bindings

This crate provides the raw OpenThread API bindings to Rust. The entire API surface is unsafe and, in general, should not be used directly. Instead, you should use a safe wrapper crate such as [::openthread_rust].

Modules

Structs

This structure represents a received IEEE 802.15.4 Beacon.
This structure represents Backbone Router configuration.
This structure represents a Backbone Router Multicast Listener info.
Represents the Backbone Router ND Proxy info.
This structure represents a Border Router configuration.
This structure represents the counters of packets forwarded via Border Routing.
This structure represents an entry from the discovered prefix table.
This structure represents an iterator to iterate through the Border Router’s discovered prefix table.
This structure represents the message buffer information for different queues used by OpenThread stack.
This structure represents an EID cache entry.
This type represents an iterator used for iterating through the EID cache table entries.
This structure holds diagnostic information for a Thread Child
This structure represents a CLI command.
This structure represents a CoAP resource with block-wise transfer.
This structure represents a CoAP option.
This structure acts as an iterator for CoAP options
This structure represents a CoAP resource.
This structure represents the CoAP transmission parameters.
This structure represents a Commissioning Dataset.
@struct otCryptoContext
@struct otCryptoKey
This structure represents a DNS query configuration.
This structure provides info for a DNS service instance.
This structure represents a TXT record entry representing a key/value pair (RFC 6763 - section 6.3).
This structure represents an iterator for TXT record entires (key/value pairs).
This structure contains the counters of DNS-SD server.
This structure represents information of a discovered host for a DNS-SD query.
This structure represents information of a discovered service instance for a DNS-SD query.
This structure represents an energy scan result.
@struct otExtAddress
This structure represents an Extended PAN ID.
This structure represents an External Route configuration.
This structure implements ICMPv6 message handler.
@struct otIcmp6Header
@struct otIp6Address
@struct otIp6AddressComponents
@struct otIp6AddressInfo
@struct otIp6InterfaceIdentifier
@struct otIp6NetworkPrefix
This structure represents an IPv6 prefix.
This structure represents the IP level counters.
This structure represents a Joiner Discerner.
This structure represents a Joiner Info.
This structure represents a Joiner PSKd.
This structure represents the Thread Leader Data.
This structure represents what metrics are specified to query.
This structure represents an MLE Link Mode configuration.
A linked buffer structure for use with TCP.
This structure represents the MAC layer counters.
This structure represents a Mac Filter entry.
@struct otMacKey
@struct otMacKeyMaterial
This struct represents an OpenThread message buffer.
This structure represents the local and peer IPv6 socket addresses.
This structure represents an OpenThread message queue.
This structure represents information about a message queue.
This structure represents a message settings.
This structure represents the Thread MLE counters.
This type represents multi radio link information associated with a neighbor.
Defines a struct containing all the legacy handlers (function pointers).
This structure holds diagnostic information for a neighboring Thread node
This type represent a neighbor table entry info (child or router) and is used as a parameter in the neighbor table callback otNeighborTableCallback.
This structure represents an IPv6 network interface unicast address.
This structure represents an IPv6 network interface multicast address.
This structure represents a Network Diagnostic Child Table Entry.
This structure represents a Network Diagnostic Connectivity value.
This structure represents a Network Diagnostic Mac Counters value.
This structure represents a Network Diagnostic Route TLV value.
This structure represents a Network Diagnostic Route data.
This structure represents a Network Diagnostic TLV.
@struct otNetworkKey
This structure represents a Network Name.
This structure represents an Active or Pending Operational Dataset.
This structure represents presence of different components in Active or Pending Operational Dataset.
This structure represents an Active or Pending Operational Dataset.
This structure represents the counters for packets and bytes.
This structure represents a ping request configuration.
This structure represents a ping reply.
This structure represents statistics of a ping request.
@struct otPlatCryptoEcdsaKeyPair
@struct otPlatCryptoEcdsaPublicKey
@struct otPlatCryptoEcdsaSignature
@struct otPlatCryptoSha256Hash
This structure represents a TREL peer info discovered using DNS-SD browse on the service name “_trel._udp”.
This structure represents PSKc.
This structure represents radio coexistence metrics.
This structure represents an IEEE 802.15.4 radio frame.
Structure representing radio frame transmit information.
Structure representing radio frame receive information.
This structure represents the IEEE 802.15.4 Header IE (Information Element) related information of a radio frame.
This type represents information associated with a radio link.
This structure holds diagnostic information for a Thread Router
This structure represent Security Policy.
This structure represents a Server configuration.
This structure represents a Service configuration.
This structure implements SNTP Query parameters.
This structure represents an IPv6 socket address.
This struct represents a SRP client service pool entry.
This structure represents an SRP client host info.
This structure represents an SRP client service.
This structure includes SRP server LEASE and KEY-LEASE configurations.
This structure includes SRP server lease information of a host/service.
This structure includes the statistics of SRP server responses.
This structure includes SRP server TTL configurations.
This structure represents the steering data.
This structure represents a TCP endpoint.
This structure contains arguments to the otTcpEndpointInitialize() function.
This structure represents a TCP listener.
This structure contains arguments to the otTcpListenerInitialize() function.
This structure represents the Thread Discovery Request data.
This structure represents link-specific information for messages received from the Thread radio.
This structure represents the MLE Parent Response data.
This structure represents a Thread Dataset timestamp component.
This struct represents a TREL peer.
This structure represents a UDP receiver.
This structure represents a UDP socket.

Constants

< Max length for header IE in ACK.
< DHCPv6 assigned address
< Manually assigned address
< SLAAC assigned address
< Thread assigned address (ALOC, RLOC, MLEID, etc)
< Domain Prefix was added.
< Domain Prefix was changed.
< Domain Prefix was removed.
< Multicast Listener was added.
< Multicast Listener was removed or expired.
< All ND Proxies were cleared.
< ND Proxy was removed.
< ND Proxy was renewed.
< Backbone function is disabled.
< The Primary Backbone Router.
< Secondary Backbone Router.
< Border agent is connected with external commissioner.
< Border agent is started.
< Border agent role is disabled.
< Active Operational Dataset changed
< Channel Manager new pending Thread channel changed
< Commissioner state changed
< IPv6 address was added
< IPv6 address was removed
< Subscribed to a IPv6 multicast address
< Unsubscribed from a IPv6 multicast address
< Joiner state changed
< Network key changed
< Pending Operational Dataset changed
< PSKc changed
< Security Policy changed
< Supported channel mask changed
< Local Backbone Router configuration changed
< Backbone Router state changed
< Thread network channel changed
< Thread network extended PAN ID changed
< Thread Key Sequence changed
< The link-local address changed
< The mesh-local address changed
< Thread Network Data changed
< Thread network interface state changed
< Thread network name changed
< Thread network PAN Id changed
< Partition ID changed
< Role (disabled, detached, child, router, leader) changed
< RFC7959 Continue
< Empty message code
< Internal Server Error
< Proxying Not Supported
< RFC7959 Request Entity Incomplete
< Request Entity Too Large
< Unsupported Content-Format
< Block1 (RFC7959)
< Block2 (RFC7959)
application/cbor: [RFC7049]
application/coap-group+json: [RFC7390]
application/cose; cose-type=“cose-encrypt”: [RFC8152]
application/cose; cose-type=“cose-encrypt0”: [RFC8152]
application/cose-key: [RFC8152]
application/cose-key-set: [RFC8152]
application/cose; cose-type=“cose-mac”: [RFC8152]
application/cose; cose-type=“cose-mac0”: [RFC8152]
application/cose; cose-type=“cose-sign”: [RFC8152]
application/cose; cose-type=“cose-sign1”: [RFC8152]
application/cwt: [RFC8392]
application/exi: [“Efficient XML Interchange (EXI) Format 1.0 (Second Edition)”, February 2014]
application/json: [RFC7159]
application/json-patch+json: [RFC6902]
application/link-format: [RFC6690]
application/merge-patch+json: [RFC7396]
application/octet-stream: [RFC2045][RFC2046]
application/senml+cbor: [RFC8428]
application/senml-exi: [RFC8428]
application/senml+json: [RFC8428]
application/senml+xml: [RFC8428]
application/sensml+cbor: [RFC8428]
application/sensml-exi: [RFC8428]
application/sensml+json: [RFC8428]
application/sensml+xml: [RFC8428]
text/plain; charset=utf-8: [RFC2046][RFC3676][RFC5147]
application/xml: [RFC3023]
< Observe [RFC7641]
< Size2 (RFC7959)
< Commissioner role is active.
< Commissioner role is disabled.
< Currently petitioning to become a Commissioner.
< Key Algorithm: AES ECB.
< Key Algorithm: HMAC SHA-256.
< Key Algorithm: Vendor Defined.
< Key Persistence: Key is persistent.
< Key Persistence: Key is volatile.
< Key Type: AES.
< Key Type: HMAC.
< Key Type: Raw Data.
< Key Usage: AES ECB.
< Key Usage: Encryption (vendor defined).
< Key Usage: Key can be exported.
< Key Usage: Key Usage is empty.
< Key Usage: HMAC SHA-256.
< Size of CSL IE content in bytes.
< The Thread Child role.
< Not currently participating in a Thread network/partition.
< The Thread stack is disabled.
< The Thread Leader role.
< The Thread Router role.
< Service type browse service.
< Service type unspecified.
< Service type resolve service instance.
< Service type resolve hostname.
< Indicates DNS name server can not resolve the query recursively.
< Indicates DNS name server can resolve the query recursively.
< Indicates the flag is not specified.
< Allow NAT64 address translation during DNS client address resolution.
< Do not allow NAT64 address translation during DNS client address resolution.
< NAT64 mode is not specified. Use default NAT64 mode.
< Congestion encountered (CE)
< Max length of Link Metrics data in Vendor-Specific IE.
Operation was aborted.
Received a frame filtered by the address filter (allowlisted or denylisted).
Address resolution requires an address query operation.
The operation is already in progress.
Service is busy and could not service the operation.
A transmission could not take place due to activity on the channel, i.e., the CSMA-CA mechanism has failed (IEEE 802.15.4-2006).
Received a frame filtered by the destination address check.
Not currently attached to a Thread Partition.
Message was dropped.
Received a duplicated frame.
Operational failed.
FCS check failure while receiving.
Generic error (should not use).
Input arguments are invalid.
Input (CLI) command is invalid.
Received a frame from an invalid source address.
Cannot complete due to invalid state.
The creation of IPv6 address failed.
The link margin was too low.
No error.
Operation prevented by mode flags
The requested item could not be found.
Function or method is not implemented.
Received a non-lowpan data frame.
Message is not a TMF Message.
No acknowledgment was received after macMaxFrameRetries (IEEE 802.15.4-2006).
Address is not in the source match table.
Insufficient buffers.
No frame received.
No route available.
Failed to parse message.
Special error code used to indicate success/error status is pending and not yet known.
Message is being dropped from reassembly list due to timeout.
Request rejected.
Coap response or acknowledgment or DNS, SNTP response not received.
Security checks failed.
Received a frame from an unknown neighbor.
< Input mode without pull resistor.
< Output mode.
< Destination Unreachable No Route
< Fragment Reassembly Time Exceeded
< ICMPv6 Echo processing enabled for unicast and multicast requests
< ICMPv6 Echo processing disabled
< ICMPv6 Echo processing enabled only for multicast requests only
< ICMPv6 Echo processing enabled only for unicast requests only
< Destination Unreachable
< Neighbor Advertisement
< Neighbor Solicitation
< Router Advertisement
< Router Solicitation
< Size of IE header in bytes.
< Destination Options for IPv6
< Fragment Header for IPv6
< IPv6 Hop-by-Hop Option
< ICMP for IPv6
< IPv6 encapsulation
< No Next Header for IPv6
< Routing Header for IPv6
< Transmission Control Protocol
< User Datagram
< Accept any Joiner (no EUI64 or Discerner is specified).
< Joiner Discerner is specified (mSharedId.mDiscerner in otJoinerInfo).
< Joiner EUI-64 is specified (mSharedId.mEui64 in otJoinerInfo).
< Use Reference to Key.
< Use Literal Keys.
< OpenThread API
< EID-to-RLOC mapping.
< Backbone Router (available since Thread 1.2)
< Border Router
< OpenThread Core
< Domain Unicast Address (available since Thread 1.2)
< IEEE 802.15.4 MAC
< Mesh Commissioning Protocol
< Multicast Listener Registration (available since Thread 1.2)
< Network Diagnostic
< Service Registration Protocol (SRP)
< Utility module
< Allowlist address filter mode is enabled.
< Denylist address filter mode is enabled.
< Address filter is disabled.
< meshcop Active Timestamp TLV
< meshcop Border Agent Locator TLV
< meshcop Channel TLV
< meshcop Channel Mask TLV
< meshcop Commissioner ID TLV
< meshcop Commissioner UDP Port TLV
< meshcop Commissioner Session ID TLV
< meshcop Count TLV
< meshcop Delay Timer TLV
< meshcop Discovery Request TLV
< meshcop Discovery Response TLV
< meshcop Energy List TLV
< meshcop Extended Pan Id TLV
< meshcop Get TLV
< meshcop IPv6 address TLV
< meshcop Joiner Advertisement TLV
< meshcop Joiner DTLS Encapsulation TLV
< meshcop Joiner IID TLV
< meshcop Joiner Router Locator TLV
< meshcop Joiner Router KEK TLV
< meshcop Joiner UDP Port TLV
< meshcop Mesh Local Prefix TLV
< meshcop Network Key TLV
< meshcop Network Name TLV
< meshcop Network Key Sequence TLV
< meshcop Pan Id TLV
< meshcop Pending Timestamp TLV
< meshcop Period TLV
< meshcop Provisioning URL TLV
< meshcop PSKc TLV
< meshcop Scan Duration TLV
< meshcop Security Policy TLV
< meshcop State TLV
< meshcop Steering Data TLV
< meshcop UDP encapsulation TLV
< meshcop Vendor Data TLV
< meshcop Vendor Model TLV
< meshcop Vendor Name TLV
< meshcop Vendor Stack Version TLV
< meshcop Vendor SW Version TLV
< High priority level.
< Low priority level.
< Normal priority level.
< A child is being added.
< An existing child’s mode is changed.
< A child is being removed.
< A router is being added.
< A router is being removed.
< The Backbone interface.
< The Thread interface.
< Unspecified network interface.
< MAC Extended Address TLV
< Timeout TLV (the maximum polling time period for SEDs)
< The device hasn’t received time sync for more than two periods time.
< The device network time is synchronized.
< The device hasn’t attached to a network.
The number of defined errors.
NCP’s MCU can enter low-power (energy-saving) state.
NCP’s MCU stays on and active all the time.
< 2.4 GHz IEEE 802.15.4-2006
< 2.4 GHz IEEE 802.15.4-2006
< 2.4 GHz IEEE 802.15.4-2006
< 915 MHz IEEE 802.15.4-2006
< 915 MHz IEEE 802.15.4-2006
< 915 MHz IEEE 802.15.4-2006
< Number of bits per octet
< 2.4 GHz IEEE 802.15.4 (bits per second)
< Radio supports AckTime event.
< Radio supports CSMA backoff for frame transmission (but no retry).
< Radio supports Energy Scans.
< Radio supports no capability.
< Radio supports rx at specific time.
< Radio supports direct transition from sleep to TX with CSMA.
< Radio supports tx retry logic with collision avoidance (CSMA).
< Radio supports tx security.
< Radio supports tx at specific time.
< 2.4 GHz IEEE 802.15.4-2006
< 2.4 GHz IEEE 802.15.4-2006
< 915 MHz IEEE 802.15.4-2006
< 915 MHz IEEE 802.15.4-2006
< aMaxPHYPacketSize (IEEE 802.15.4-2006)
< Minimal size of frame FCS + CONTROL
< LQI measurement not supported
< Invalid or unknown power value
< Invalid or unknown RSSI value
< 2.4 GHz IEEE 802.15.4-2006
< High route preference.
< Low route preference.
< Medium route preference.
< Active Operational Dataset.
< BR local on-link prefixes.
< Child information.
< Duplicate Address Detection (DAD) information.
< Thread network information.
< Parent information.
< Pending Operational Dataset.
< SLAAC key to generate semantically opaque IID.
< The SRP client info (selected SRP server address).
< SRP client ECDSA public/private key pair.
< The SRP server info (UDP port).
< Item is being added/registered.
< Item is being refreshed.
< Item is registered with server.
< Item is being removed.
< Item to be added/registered.
< Item to be refreshed (re-register to renew lease).
< Anycast address mode.
< Unicast address mode.
This constant defines an otSrpServerServiceFlags combination accepting any service (base/sub-type, active/deleted).
This constant defines an otSrpServerServiceFlags combination accepting any active service (not deleted).
This constant defines an otSrpServerServiceFlags combination accepting any deleted service.
This constant defines an otSrpServerServiceFlags combination accepting base service only.
This constant defines an otSrpServerServiceFlags combination accepting sub-type service only.
< Include active (not deleted) services.
< Include base services (not a sub-type).
< Include deleted services.
< Include sub-type services.
< The SRP server is disabled.
< The SRP server is enabled and running.
< The SRP server is enabled but stopped.
< Accept the incoming connection.
< Defer (silently ignore) the incoming connection.
< Refuse the incoming connection.

Functions

This method configures response status for next DUA registration.
Configures the response status for the next Multicast Listener Registration.
Gets the local Backbone Router configuration.
This method gets the local Domain Prefix configuration.
This method gets the Backbone Router ND Proxy info.
This function gets the Primary Backbone Router information in the Thread Network.
This method returns the Backbone Router registration jitter value.
Gets the Backbone Router #otBackboneRouterState.
Adds a Multicast Listener with a timeout value, in seconds.
Clears the Multicast Listeners.
This function gets the next Multicast Listener info (using an iterator).
Explicitly registers local Backbone Router configuration.
Sets the local Backbone Router configuration #otBackboneRouterConfig.
This method sets the Backbone Router Domain Prefix callback.
Enables or disables Backbone functionality.
This method sets the Backbone Router Multicast Listener callback.
This method sets the Backbone Router ND Proxy callback.
This method sets the Backbone Router registration jitter value.
Gets the #otBorderAgentState of the Thread Border Agent role.
Gets the UDP port of the Thread Border Agent service.
Add a border router configuration to the local network data.
Add an external route configuration to the local network data.
This method provides a full or stable copy of the local Thread Network Data.
This function gets the next On Mesh Prefix in the local Network Data.
This function gets the next external route in the local Network Data.
Immediately register the local network data with the Leader.
Remove a border router configuration from the local network data.
Remove an external route configuration from the local network data.
Gets the currently favored NAT64 prefix.
Gets the currently favored Off-Mesh-Routable (OMR) Prefix.
Gets the local NAT64 Prefix of the Border Router.
This function iterates over the entries in the Border Router’s discovered prefix table.
Gets the local Off-Mesh-Routable (OMR) Prefix, for example fdfc:1ff5:1512:5622::/64.
Gets the On-Link Prefix for the adjacent infrastructure link, for example fd41:2650:a6f5:0::/64.
This function gets the preference used when advertising Route Info Options (e.g., for discovered OMR prefixes) in Router Advertisement messages sent over the infrastructure link.
This method initializes the Border Routing Manager on given infrastructure interface.
This function initializes an otBorderRoutingPrefixTableIterator.
Enables or disables the Border Routing Manager.
This function sets the preference to use when advertising Route Info Options in Router Advertisement messages sent over the infrastructure link, for example for discovered OMR prefixes.
This function indicates whether the auto-channel-selection functionality is enabled or not.
This function gets the period interval (in seconds) used by auto-channel-selection functionality.
Gets the CCA failure rate threshold.
This function gets the delay (in seconds) used by Channel Manager for a channel change.
Gets the favored channel mask.
This function gets the channel from the last successful call to otChannelManagerRequestChannelChange()
Gets the supported channel mask.
Requests a Thread network channel change.
This function requests that ChannelManager checks and selects a new channel and starts a channel change.
Enables or disables the auto-channel-selection functionality.
Sets the period interval (in seconds) used by auto-channel-selection functionality.
Sets the CCA failure rate threshold.
Sets the delay (in seconds) used for a channel change.
Sets the favored channel mask.
Sets the supported channel mask.
Gets the current channel occupancy for a given channel.
Get channel monitoring RSSI threshold in dBm.
Get channel monitoring total number of RSSI samples (per channel).
Get channel monitoring sample interval in milliseconds.
Get channel monitoring averaging sample window length (number of samples).
This function indicates whether the Channel Monitoring operation is enabled and running.
Enables or disables the Channel Monitoring operation.
Gets the supervision check timeout interval (in seconds).
Gets the child supervision interval (in seconds).
Sets the supervision check timeout interval (in seconds).
Sets the child supervision interval (in seconds).
Write error code to the CLI console
Initialize the CLI module.
This method is called to feed in a console input line.
Write a number of bytes to the CLI console as a hex string.
Write formatted string to the CLI console
Callback to write the OpenThread Log to the CLI console
Set a user command table.
This function adds a block-wise resource to the CoAP server.
This function adds a resource to the CoAP server.
This function converts a CoAP Block option SZX field to the actual block size
This function appends a Block1 option
This function appends a Block2 option
This function appends the Content Format CoAP option as specified in https://tools.ietf.org/html/rfc7252#page-92. This must be called before setting otCoapMessageSetPayloadMarker if a payload is to be included in the message.
This function appends a Max-Age option.
This function appends an Observe option.
This function appends a CoAP option in a header.
This function appends a Proxy-Uri option.
This function appends an unsigned integer CoAP option as specified in https://tools.ietf.org/html/rfc7252#section-3.2
This function appends a Uri-Path option.
This function appends a single Uri-Query option.
This method returns the CoAP Code as human readable string.
This function sets the Token length and randomizes its value.
This function returns the Code value.
This function returns the Message ID value.
This function returns a pointer to the Token value.
This function returns the Token length.
This function returns the Type value.
This function initializes the CoAP header.
This function initializes a response message.
This function sets the Code value.
This function adds Payload Marker indicating beginning of the payload to the CoAP header.
This function sets the Token value and length in a header.
This function creates a new CoAP message.
This function returns a pointer to the first option.
This function returns a pointer to the first option matching the specified option number.
This function returns a pointer to the next option.
This function returns a pointer to the next option matching the specified option number.
This function fills current option value into @p aValue assuming the current value is an unsigned integer encoded according to https://tools.ietf.org/html/rfc7252#section-3.2
This function fills current option value into @p aValue.
This function initialises an iterator for the options in the given message.
This function removes a block-wise resource from the CoAP server.
This function removes a resource from the CoAP server.
This function adds a block-wise resource to the CoAP Secure server.
This function adds a resource to the CoAP Secure server.
This method initializes DTLS session with a peer.
This method stops the DTLS connection.
This method returns the peer x509 certificate base64 encoded.
This method indicates whether or not the DTLS session is connected.
This method indicates whether or not the DTLS session is active.
This function removes a block-wise resource from the CoAP Secure server.
This function removes a resource from the CoAP Secure server.
This method sends a CoAP request over secure DTLS connection.
This method sends a CoAP request block-wise over secure DTLS connection.
This function sends a CoAP response from the CoAP Secure server.
This function sends a CoAP response block-wise from the CoAP Secure server.
This method sets the trusted top level CAs. It is needed for validating the certificate of the peer.
This method sets the local device’s X509 certificate with corresponding private key for DTLS session with DTLS_ECDHE_ECDSA_WITH_AES_128_CCM_8.
This method sets the connected callback to indicate, when a Client connect to the CoAP Secure server.
This function sets the default handler for unhandled CoAP Secure requests.
This method sets the Pre-Shared Key (PSK) and cipher suite DTLS_PSK_WITH_AES_128_CCM_8.
This method sets the authentication mode for the coap secure connection.
This function starts the CoAP Secure service.
This function stops the CoAP Secure server.
This function sends a CoAP request block-wise with custom transmission parameters.
This function sends a CoAP request with custom transmission parameters.
This function sends a CoAP response block-wise from the server with custom transmission parameters.
This function sends a CoAP response from the server with custom transmission parameters.
This function sets the default handler for unhandled CoAP requests.
This function starts the CoAP server.
This function stops the CoAP server.
This function adds a Joiner entry.
This function adds a Joiner entry with a given Joiner Discerner value.
This function sends an Announce Begin message.
This function sends an Energy Scan Query message.
This function returns the Commissioner Id.
This method get joiner info at aIterator position.
This function gets the Provisioning URL.
This function returns the Commissioner Session ID.
This function returns the Commissioner State.
This function sends a PAN ID Query message.
This function removes a Joiner entry.
This function removes a Joiner entry.
This function sends MGMT_COMMISSIONER_GET.
This function sends MGMT_COMMISSIONER_SET.
This function sets the Commissioner Id.
This function sets the Provisioning URL.
This function enables the Thread Commissioner role.
This function disables the Thread Commissioner role.
For FTD only, creates a new Operational Dataset to use when forming a new network.
This function generates PSKc from a given pass-phrase, network name, and extended PAN ID.
Gets the Active Operational Dataset.
This function gets the Active Operational Dataset.
For FTD only, gets a minimal delay timer.
This function gets the Pending Operational Dataset.
This function gets the Pending Operational Dataset.
This function indicates whether a valid network is present in the Active Operational Dataset or not.
This function parses an Operational Dataset from a otOperationalDatasetTlvs.
Sends MGMT_ACTIVE_GET.
Sends MGMT_ACTIVE_SET.
Sends MGMT_PENDING_GET.
Sends MGMT_PENDING_SET.
Sets the Active Operational Dataset.
This function sets the Active Operational Dataset.
For FTD only, sets a minimal delay timer.
Sets the Pending Operational Dataset.
This function sets the Pending Operational Dataset.
This function cancels an ongoing (if any) Operational Dataset update request.
This function indicates whether there is an ongoing Operation Dataset update request.
This function requests an update to Operational Dataset.
This function indicates whether or not the factory diagnostics mode is enabled.
This function processes a factory diagnostics command line.
This function processes a factory diagnostics command line.
This function gets an IPv6 address associated with an address resolution DNS response.
This function gets the full host name associated with an address resolution DNS response.
This function gets the host IPv6 address from a DNS browse (service instance enumeration) response.
This function gets info for a service instance from a DNS browse (service instance enumeration) response.
This function gets a service instance associated with a DNS browse (service instance enumeration) response.
This function gets the service name associated with a DNS browse (service instance enumeration) response.
This function sends a DNS browse (service instance enumeration) query for a given service name.
This function gets the current default query config used by DNS client.
This function sends an address resolution DNS query for AAAA (IPv6) record(s) for a given host name.
This function sends an address resolution DNS query for A (IPv4) record(s) for a given host name.
This function sends a DNS service instance resolution query for a given service instance.
This function sets the default query config on DNS client.
This function parses the TXT data from an iterator and gets the next TXT record entry (key/value pair).
This function initializes a TXT record iterator.
This function indicates whether the “DNS name compression” mode is enabled or not.
This function gets the host IPv6 address from a DNS service instance resolution response.
This function gets info for a service instance from a DNS service instance resolution response.
This function gets the service instance name associated with a DNS service instance resolution response.
This function enables/disables the “DNS name compression” mode.
This function returns the counters of the DNS-SD server.
This function acquires the next query in the DNS-SD server.
This function acquires the DNS-SD query type and name for a specific query.
This function notifies a discovered host.
This function notifies a discovered service instance.
This function sets DNS-SD server query callbacks.
This function generates a memory dump at critical log level.
This function generates a memory dump at debug log level.
This function generates a memory dump at info log level.
This function generates a memory dump at note log level.
This function generates a memory dump at warning log level.
This function gets the OpenThread radio version string.
This function gets the OpenThread version string.
@note This API is deprecated and use of it is discouraged.
@note This API is deprecated and use of it is discouraged.
This function indicates whether or not ICMPv6 Echo processing is enabled.
This function registers a handler to provide received ICMPv6 messages.
This function sends an ICMPv6 Echo Request via the Thread interface.
This function sets whether or not ICMPv6 Echo processing is enabled.
This function erases all the OpenThread persistent info (network settings) stored on non-volatile memory. Erase is successful only if the device is in disabled state/role.
Deletes all the settings stored on non-volatile memory, and then triggers a platform reset.
This function disables the OpenThread library.
This function returns the current instance uptime (in msec).
This function returns the current instance uptime as a human-readable string.
This function initializes the OpenThread library.
This function initializes the static single instance of the OpenThread library.
This function indicates whether or not the instance is valid/initialized.
This method triggers a platform reset.
This method resets the internal states of the OpenThread radio stack.
Adds a Network Interface Address to the Thread interface.
This function adds a port to the allowed unsecured port list.
This function converts a human-readable IPv6 address string into a binary representation.
This function converts a given IPv6 address to a human-readable string.
Test if two IPv6 prefixes are the same.
Gets the Border Routing counters.
Gets the list of IPv6 multicast addresses subscribed to the Thread interface.
This method gets a prefix with @p aLength from @p aAddress.
Gets the list of IPv6 addresses assigned to the Thread interface.
This function returns a pointer to the unsecure port list.
Test if two IPv6 addresses are the same.
This function indicates whether or not a given IPv6 address is the Unspecified Address.
Indicates whether or not the IPv6 interface is up.
Checks if multicast promiscuous mode is enabled on the Thread interface.
This function indicates whether or not Thread control traffic is filtered out when delivering IPv6 datagrams via the callback specified in otIp6SetReceiveCallback().
This function indicates whether the SLAAC module is enabled or not.
Allocate a new message buffer for sending an IPv6 message.
Allocate a new message buffer and write the IPv6 datagram to the message buffer for sending an IPv6 message.
This function returns the prefix match length (bits) for two IPv6 addresses.
This function converts a given IPv6 prefix to a human-readable string.
This function converts a given IP protocol number to a human-readable string.
This function registers Multicast Listeners to Primary Backbone Router.
This function removes all ports from the allowed unsecure port list.
Removes a Network Interface Address from the Thread interface.
This function removes a port from the allowed unsecure port list.
Resets the Border Routing counters.
This function perform OpenThread source address selection.
This function sends an IPv6 datagram via the Thread interface.
This function registers a callback to notify internal IPv6 address changes.
Brings the IPv6 interface up or down.
This function sets the Mesh Local IID (for test purpose).
Enables or disables multicast promiscuous mode on the Thread interface.
This function registers a callback to provide received IPv6 datagrams.
This function sets whether or not Thread control traffic is filtered out when delivering IPv6 datagrams via the callback specified in otIp6SetReceiveCallback().
This function enables/disables the SLAAC module.
This function sets the SLAAC module filter handler.
This function converts a given IPv6 socket address to a human-readable string.
Subscribes the Thread interface to a Network Interface Multicast Address.
Unsubscribes the Thread interface to a Network Interface Multicast Address.
Get the Jam Detection Busy Period (in seconds)
Get the current history bitmap.
Get the Jam Detection RSSI Threshold (in dBm).
Get the Jam Detection State
Get the Jam Detection Detection Window (in seconds).
Get the Jam Detection Status (enabled/disabled)
Set the Jam Detection Busy Period (in seconds).
Set the Jam Detection RSSI Threshold (in dBm).
Set the Jam Detection Detection Window (in seconds).
Start the jamming detection.
Stop the jamming detection.
Gets the Joiner Discerner. For more information, refer to #otJoinerSetDiscerner.
Gets the Joiner ID.
Gets the Joiner State.
Sets the Joiner Discerner.
Enables the Thread Joiner role.
This function converts a given joiner state enumeration value to a human-readable string.
Disables the Thread Joiner role.
This function starts an IEEE 802.15.4 Active Scan
This method converts link quality to typical received signal strength.
This method converts received signal strength to link quality.
This function gets the CSL channel.
This function gets the CSL period.
This function gets the CSL timeout.
Sets the CSL channel.
Sets the CSL period in units of 10 symbols. Disable CSL by setting this parameter to 0.
Sets the CSL timeout in seconds.
This function starts an IEEE 802.15.4 Energy Scan
This method adds an Extended Address to MAC filter.
This method adds a fixed received signal strength (in dBm) entry for the messages from a given Extended Address in MAC Filter.
This method clears all the Extended Addresses from MAC filter.
This method clears all the received signal strength entries (including default RSS-in) on MAC Filter.
This method clears any previously set default received signal strength (in dBm) on MAC Filter.
This function gets the address mode of MAC filter.
This method gets an in-use address filter entry.
This method gets an in-use RssIn filter entry.
This method removes an Extended Address from MAC filter.
This method removes a MAC Filter entry for fixed received signal strength setting for a given Extended Address.
This function sets the address mode of MAC filter.
This method sets the default received signal strength (in dBm) on MAC Filter.
This function returns the current CCA (Clear Channel Assessment) failure rate.
Get the IEEE 802.15.4 channel.
Get the MAC layer counters.
Gets the IEEE 802.15.4 Extended Address.
Get the factory-assigned IEEE EUI-64.
This method returns the maximum number of frame retries during direct transmission.
This method returns the maximum number of frame retries during indirect transmission.
Get the IEEE 802.15.4 PAN ID.
Get the data poll period of sleepy end device.
Get the IEEE 802.15.4 Short Address.
Get the supported channel mask of MAC layer.
This method gets histogram of retries for a single direct packet until success.
This method gets histogram of retries for a single indirect packet until success.
This function indicates whether or not an IEEE 802.15.4 Active Scan is currently in progress.
This function indicates whether or not the link layer is enabled.
This function indicates whether or not an IEEE 802.15.4 Energy Scan is currently in progress.
This function indicates whether or not an IEEE 802.15.4 MAC is in the transmit state.
This function indicates whether or not promiscuous mode is enabled at the link layer.
This function indicates whether the IEEE 802.15.4 radio filter is enabled or not.
This method begins the energy scan sequence on the radio.
Get the radio capabilities.
This function gets the status of promiscuous mode.
Get current platform time (64bits width) of the radio chip.
Get the most recent RSSI measurement.
The radio transitions from Transmit to Receive. This method returns a pointer to the transmit buffer.
This function indicates whether or not the raw link-layer is enabled.
Transitioning the radio from Sleep to Receive. Turn on the radio.
Sets the current MAC frame counter value.
Update MAC keys and key index.
This function enables or disables promiscuous mode.
This function enables/disables the raw link-layer.
Set the Short Address for address filtering.
Transition the radio from Receive to Sleep. Turn off the radio.
Adding extended address to the source match table.
Adding short address to the source match table.
Removing all the extended addresses from the source match table.
Removing extended address to the source match table of the radio.
Removing all the short addresses from the source match table.
Removing short address to the source match table.
Enable/Disable source match for frame pending.
This method begins the transmit sequence on the radio.
Resets the MAC layer counters.
This method clears histogram statistics for direct and indirect transmissions.
This function enqueues an IEEE 802.15.4 Data Request message for transmission.
This function instructs the device to send an empty IEEE 802.15.4 data frame.
Set the IEEE 802.15.4 channel
This function enables or disables the link layer.
Sets the IEEE 802.15.4 Extended Address.
This method sets the maximum number of frame retries during direct transmission.
This method sets the maximum number of frame retries during indirect transmission.
Set the IEEE 802.15.4 PAN ID.
This function registers a callback to provide received raw IEEE 802.15.4 frames.
Set/clear user-specified/external data poll period for sleepy end device.
This function enables or disables the link layer promiscuous mode.
This function enables/disables IEEE 802.15.4 radio filter mode.
Set the supported channel mask of MAC layer.
This function emits a log message at a given log level.
This function emits a log message at critical log level.
This function emits a log message at debug log level.
This function emits a log message at info log level.
This function emits a log message at note log level.
This function emits a log message at warning log level.
This function returns the current log level.
This function sets the log level.
Append bytes to a message.
Free an allocated message buffer.
Get the Message Buffer information.
Get the message length in bytes.
Get the message offset in bytes.
This function returns the average RSS (received signal strength) associated with the message.
This function indicates whether or not link security is enabled for the message.
This function removes a message from the given message queue.
This function adds a message to the end of the given message queue.
This function adds a message at the head/front of the given message queue.
This function returns a pointer to the message at the head of the queue.
This function returns a pointer to the next message in the queue by iterating forward (from head to tail).
Initialize the message queue.
Read bytes from a message.
This function sets/forces the message to be forwarded using direct transmission. Default setting for a new message is false.
Set the message length in bytes.
Set the message offset in bytes.
Write bytes to a message.
This function gets the multi radio link information associated with a neighbor with a given Extended Address.
This callback is invoked by the legacy stack to notify that the legacy ULA prefix has changed.
This callback is invoked by the legacy stack to notify that a new legacy node did join the network.
Initialize the NCP based on HDLC framing.
This function is called after HDLC encoded NCP data received.
This function is called after NCP send finished.
Writes OpenThread Log using otNcpStreamWrite.
This method registers a set of legacy handlers with NCP.
This method registers peek/poke delegate functions with NCP module.
Initialize the NCP based on SPI framing.
@brief Send data to the host via a specific stream.
This function checks whether a given Prefix can act as a valid OMR prefix and also the Leader’s Network Data contains this prefix.
This method provides a full or stable copy of the Partition’s Thread Network Data.
This function gets the next On Mesh Prefix in the partition’s Network Data.
This function gets the next external route in the partition’s Network Data.
This function gets the next service in the partition’s Network Data.
Get the Stable Network Data Version.
Get the Network Data Version.
Check if the steering data includes a Joiner.
Check if the steering data includes a Joiner with a given discerner value.
Sets an otNetworkName instance from a given null terminated C string.
Get the Thread network time.
Get the time synchronization period.
Get the time synchronization XTAL accuracy threshold for Router.
Set the time synchronization period.
Set the time synchronization XTAL accuracy threshold for Router-Capable device.
Set a callback to be called when a network time sync or status change occurs
This function starts a ping.
This function stops an ongoing ping.
Signal that the alarm has fired.
Get the current time.
Set the alarm to fire at @p aDt microseconds after @p aT0.
Stop the alarm.
Signal that the alarm has fired.
Get the current time.
Set the alarm to fire at @p aDt milliseconds after @p aT0.
Stop the alarm.
This function provides a platform specific implementation for assert.
Dynamically allocates new memory. On platforms that support it, should just redirect to calloc. For those that don’t support calloc, should support the same functionality:
Encrypt the given data.
Free the AES context.
Initialise the AES operation.
Set the key for AES operation.
Destroy a key stored in PSA ITS.
Generate and populate the output buffer with a new ECDSA key-pair.
Get the associated public key from the input context.
Calculate the ECDSA signature for a hashed message using the private key from the input context.
Use the key from the input context to verify the ECDSA signature of a hashed message.
Export a key stored in PSA ITS.
Check if the key ref passed has an associated key in PSA ITS.
Uninitialize the HKDF context.
Perform HKDF Expand step.
Perform HKDF Extract step.
Initialise the HKDF context.
Uninitialize the HMAC operation.
Complete the HMAC operation.
Initialize the HMAC operation.
Start HMAC operation.
Update the HMAC operation with new input.
Import a key into PSA ITS.
Initialize the Crypto module.
Deinitialize cryptographically-secure pseudorandom number generator (CSPRNG).
Fills a given buffer with cryptographically secure random bytes.
Initialize cryptographically-secure pseudorandom number generator (CSPRNG).
Uninitialize the SHA-256 operation.
Finish SHA-256 operation.
Initialise the SHA-256 operation.
Start SHA-256 operation.
Update SHA-256 operation with new input.
Poll/Read a byte from the debug uart
Poll/test debug uart if a key has been pressed. It would be common to a stub function that returns 0.
Some platforms (simulation) can log to a file.
Standard printf() to the debug uart with no log decoration.
Write byte to the uart, expand cr/lf as need.
Platform specific write single byte to Debug Uart This should not perform CR/LF mapping.
identical to “man 3 puts” - terminates with lf Which is then mapped to cr/lf as required
puts() without a terminal newline. see: “man 3 puts”, without a adding a terminal lf
Standard vprintf() to the debug uart, with no log decoration.
Write N bytes to the UART, mapping cr/lf
This function processes the alarm event.
Signal diagnostics module that the alarm has fired.
This function sets the channel to use for factory diagnostics.
This function gets the gpio value.
This function gets the gpio mode.
This function sets the gpio value.
This function sets the gpio mode.
This function indicates whether or not factory diagnostics mode is enabled.
This function enables/disables the factory diagnostics mode.
This function processes a factory diagnostics command line.
The radio driver calls this method to notify OpenThread diagnostics module of a received frame.
This function processes the received radio frame.
The radio driver calls this method to notify OpenThread diagnostics module that the transmission has completed.
This function sets the transmit power to use for factory diagnostics.
Fill buffer with entropy.
This function erases the swap space indicated by @p aSwapIndex.
This function gets the size of the swap space.
This function initializes the flash driver.
This function reads @p aSize bytes into @p aData.
This function writes @p aSize bytes from @p aData.
Frees memory that was dynamically allocated.
This function gets the current desired MCU power state.
This function returns the reason for the last platform reset.
Send a request to discover the NAT64 prefix on the infrastructure interface with @p aInfraIfIndex.
The infra interface driver calls this method to notify OpenThread that the discovery of NAT64 prefix is done.
This method tells whether an infra interface has the given IPv6 address assigned.
The infra interface driver calls this method to notify OpenThread that an ICMPv6 Neighbor Discovery message is received.
This method sends an ICMPv6 Neighbor Discovery message on given infrastructure interface.
The infra interface driver calls this method to notify OpenThread of the interface state changes.
This function outputs logs.
This function handles OpenThread log level changes.
This (optional) platform function outputs a prepared log line.
This function is used to free a buffer back to the platform managed buffer pool.
Initialize the platform implemented message pool.
Allocate a buffer from the platform managed buffer pool.
Get the number of free buffers.
This function exports status information to OTNS.
Add an extended address to the source address match table.
Add a short address to the source address match table.
Clear all the extended/long addresses from source address match table.
Remove an extended address from the source address match table.
Clear all short addresses from the source address match table.
Remove a short address from the source address match table.
Enable/disable or update Enhanced-ACK Based Probing in radio for a specific Initiator.
Disable the radio.
Enable the radio.
Enable or disable CSL receiver.
Enable/Disable source address match feature.
Begin the energy scan sequence on the radio.
The radio driver calls this method to notify OpenThread that the energy scan is complete.
Get the bus speed in bits/second between the host and the radio chip.
Get the radio capabilities.
Get the radio’s CCA ED threshold in dBm measured at antenna connector per IEEE 802.15.4 - 2015 section 10.1.4.
Get the radio coexistence metrics.
Get the current accuracy, in units of ± ppm, of the clock used for scheduling CSL operations.
The fixed uncertainty of the Device for scheduling CSL Transmissions in units of 10 microseconds.
Gets the external FEM’s Rx LNA gain in dBm.
Gets the factory-assigned IEEE EUI-64 for this interface.
Get the current estimated time (in microseconds) of the radio chip.
Gets the radio preferred channel mask that the device prefers to form on.
Get the status of promiscuous mode.
Get the radio receive sensitivity value.
Get the region code.
Get the most recent RSSI measurement.
Get current state of the radio.
Get the radio supported channel mask that the device is allowed to be on.
Get the radio transmit frame buffer.
Get the radio’s transmit power in dBm.
Get the radio version string.
Check whether radio coex is enabled or not.
Check whether radio is enabled or not.
Transition the radio from Sleep to Receive (turn on the radio).
Schedule a radio reception window at a specific time and duration.
The radio driver calls this method to notify OpenThread of a received frame.
Set the radio’s CCA ED threshold in dBm measured at antenna connector per IEEE 802.15.4 - 2015 section 10.1.4.
Set the max transmit power for a specific channel.
Enable the radio coex.
Set the Extended Address for address filtering.
Sets the external FEM’s Rx LNA gain in dBm.
This method sets the current MAC frame counter value.
Update MAC keys and key index
Set the PAN ID for address filtering.
Enable or disable promiscuous mode.
Set the region code.
Set the Short Address for address filtering.
Set the radio’s transmit power in dBm.
Transition the radio from Receive to Sleep (turn off the radio).
Begin the transmit sequence on the radio.
The radio driver calls this function to notify OpenThread that the transmit operation has completed, providing both the transmitted frame and, if applicable, the received ack frame.
The radio driver calls this method to notify OpenThread that the transmission has started.
Update CSL sample time in radio driver.
This function performs a software reset on the platform, if supported.
This function sets the desired MCU power state.
Adds a value to a setting.
Performs any de-initialization for the settings subsystem, if necessary.
Removes a setting from the setting store.
Fetches the value of a setting.
Performs any initialization for the settings subsystem, if necessary.
Sets or replaces the value of a setting.
Removes all settings from the setting store.
Shutdown and disable the SPI slave interface.
Initialize the SPI slave interface.
Prepare data for the next SPI transaction. Data pointers MUST remain valid until the transaction complete callback is called by the SPI slave driver, or until after the next call to otPlatSpiSlavePrepareTransaction().
Get the current time (64bits width).
Get the device’s XTAL accuracy.
This function disables TREL platform layer.
This function initializes and enables TREL platform layer.
This is a callback function from platform layer to report a discovered TREL peer info.
This function is a callback from platform to notify of a received TREL UDP packet.
This function registers a new service to be advertised using DNS-SD [RFC6763].
This function requests a TREL UDP packet to be sent to a given destination.
This function binds the UDP socket by platform.
This function binds the UDP socket to a platform network interface.
This function closes the UDP socket by platform.
This function connects UDP socket by platform.
This function configures the UDP socket to join a UDP multicast group.
This function configures the UDP socket to leave a UDP multicast group.
This function sends UDP payload by platform.
This function initializes the UDP socket by platform.
This function performs a platform specific operation to wake the host MCU. This is used only for NCP configurations.
This function adds a random jitter within a given range to a given value.
This function fills a given buffer with random bytes.
This function generates and returns a random byte.
This function generates and returns a random uint8_t value within a given range [aMin, aMax).
This function generates and returns a random uint16_t value.
This function generates and returns a random uint16_t value within a given range [aMin, aMax).
This function generates and returns a random uint32_t value.
This function generates and returns a random uint32_t value within a given range [aMin, aMax).
This function removes a callback to indicate when certain configuration or state changes within OpenThread.
Add a service configuration to the local network data.
This method provides a full or stable copy of the local Thread Network Data.
This function gets the next service in the local Network Data.
Immediately register the local network data with the Leader.
Remove a service configuration from the local network data.
This function registers a callback to indicate when certain configuration or state changes within OpenThread.
This function sends a SNTP query.
This function sets the unix era number.
This function adds a service to be registered with server.
This function allocates a new service entry from the pool.
This function frees all previously allocated service entries.
This function frees a previously allocated service entry.
This function gets the array of IPv6 address entries to use as SRP client host address list.
This function gets the string buffer to use for SRP client host name.
This function gets the string buffer for service instance name from a service entry.
This function gets the string buffer for service name from a service entry.
This function gets the buffer for TXT record from a service entry.
This function gets the array for service subtype labels from the service entry.
This function clears all host info and all the services.
This function clears a service, immediately removing it from the client service list.
This function disables the auto-start mode.
This function enables auto host address mode.
This function enables the auto-start mode.
This function gets the domain name being used by SRP client.
This function gets the host info.
This function gets the default key lease interval used in SRP update requests.
This function gets the default lease interval used in SRP update requests.
This function gets the socket address (IPv6 address and port number) of the SRP server which is being used by SRP client.
This function gets the list of services being managed by client.
This function gets the TTL value in every record included in SRP update requests.
This function indicates the current state of auto-start mode (enabled or disabled).
This function indicates whether the SRP client is running or not.
This method indicates whether the “service key record inclusion” mode is enabled or disabled.
This function converts a otSrpClientItemState to a string.
This function starts the remove process of the host info and all services.
This function requests a service to be unregistered with server.
This function sets the callback to notify caller of events/changes from SRP client.
This function sets the domain name to be used by SRP client.
This function sets/updates the list of host IPv6 address.
This function sets the host name label.
This function sets the default key lease interval used in SRP update requests.
This function sets the default lease interval used in SRP update requests.
This function enables/disables “service key record inclusion” mode.
This function sets the TTL value in every record included in SRP update requests.
This function starts the SRP client operation.
This function stops the SRP client operation.
This function returns the address mode being used by the SRP server.
This function returns the sequence number used with anycast address mode.
This function returns the domain authorized to the SRP server.
This function returns SRP server LEASE and KEY-LEASE configurations.
This function returns the next registered host on the SRP server.
This function returns the port the SRP server is listening to.
This function returns the response counters of the SRP server.
This function returns the state of the SRP server.
This function returns SRP server TTL configuration.
This function reports the result of processing a SRP update to the SRP server.
This function finds the next matching service on the host.
This function returns the addresses of given host.
This function returns the full name of the host.
This function returns the LEASE and KEY-LEASE information of a given host.
This function returns the next service (excluding any sub-type services) of given host.
This function tells if the SRP service host has been deleted.
This function indicates whether the auto-enable mode is enabled or disabled.
This function returns the full service instance name of the service.
This function returns the host which the service instance reside on.
This function returns the full service instance name of the service.
This function returns the LEASE and KEY-LEASE information of a given service.
This function returns the port of the service instance.
This function returns the priority of the service instance.
This function returns the full service name of the service.
This function gets the sub-type label from service name.
This function returns the TTL of the service instance.
This function returns the TXT record data of the service instance.
This function returns the weight of the service instance.
This function indicates whether or not the SRP service has been deleted.
This function indicates whether or not the SRP service is sub-type.
This function sets the address mode to be used by the SRP server.
This function sets the sequence number used with anycast address mode.
This function enables/disables the auto-enable mode on SRP server.
This function sets the domain on the SRP server.
This function enables/disables the SRP server.
This function sets SRP server LEASE and KEY-LEASE configurations.
This function sets the SRP service updates handler on SRP server.
This function sets SRP server TTL configuration.
Indicates whether or not OpenThread has tasklets pending.
Run all queued OpenThread tasklets at the time this is called.
OpenThread calls this function when the tasklet queue transitions from empty to non-empty.
Forcibly ends the TCP connection associated with this TCP endpoint.
Binds the TCP endpoint to an IP address and port.
Informs the TCP stack that the application has finished processing @p aNumBytes bytes of data at the start of the receive buffer and that the TCP stack need not continue maintaining those bytes in the receive buffer.
Records the remote host and port for this connection.
Deinitializes this TCP endpoint.
Obtains the context pointer that was associated with @p aEndpoint upon initialization.
Obtains the otInstance that was associated with @p aEndpoint upon initialization.
Initializes a TCP endpoint.
Obtains a pointer to a TCP endpoint’s local host and port.
Obtains a pointer to a TCP endpoint’s peer’s host and port.
Causes incoming TCP connections that match the specified IP address and port to trigger this TCP listener’s callbacks.
Deinitializes this TCP listener.
Obtains the context pointer that was associated with @p aListener upon initialization.
Obtains the otInstance that was associated with @p aListener upon initialization.
Initializes a TCP listener.
Provides the application with a linked buffer chain referencing data currently in the TCP receive buffer.
Reorganizes the receive buffer to be entirely contiguous in memory.
Adds data to the send buffer by extending the length of the final otLinkedBuffer in the send buffer by the specified amount.
Adds data referenced by the linked buffer pointed to by @p aBuffer to the send buffer.
Informs the connection peer that this TCP endpoint will not send more data.
Causes this TCP listener to stop listening for incoming connections.
Attempt to reattach as a child.
Detach from the Thread network.
Become a leader and start a new partition.
Attempt to become a router.
This function notifies other nodes in the network (if any) and then stops Thread protocol operation.
Convert the device role to human-readable string.
This function starts a Thread Discovery scan.
This function converts an otError enum into a string.
Gets diagnostic information for an attached Child by its Child ID or RLOC16.
The function retains diagnostic information for an attached Child by the internal table index.
This function gets the next IPv6 address (using an iterator) for a given child.
Gets the Thread Child Timeout (in seconds) used when operating in the Child role.
Get the CONTEXT_ID_REUSE_DELAY parameter used in the Leader role.
Get the device role.
Gets the Thread Domain Name.
Gets the IEEE 802.15.4 Extended PAN ID.
Gets the Interface Identifier manually specified for the Thread Domain Unicast Address.
Gets the IPv6 counters.
Gets the Joiner UDP Port.
Gets the thrKeySequenceCounter.
Gets the thrKeySwitchGuardTime (in hours).
This function get the Thread Leader Data.
This function returns a pointer to the Leader’s RLOC.
Get the Leader’s Router ID.
Get the Leader’s Weight.
Gets the Thread Link-Local All Thread Nodes multicast address.
Gets the Thread link-local IPv6 address.
Get the MLE Link Mode configuration.
Gets the Thread Leader Weight used when operating in the Leader role.
Gets the maximum number of children currently allowed.
Gets the maximum number of IP addresses that each MTD child may register with this device as parent.
The function returns the maximum allowed router ID
Gets the Mesh Local EID address.
This function returns a pointer to the Mesh Local Prefix.
Gets the Thread MLE counters.
Get the NETWORK_ID_TIMEOUT parameter used in the Router role.
Get the Thread Network Key.
Get the otNetworkKeyRef for Thread Network Key.
Get the Thread Network Name.
This function gets the next EID cache entry (using an iterator).
This function gets the next Network Diagnostic TLV in the message.
This function gets the next neighbor information. It is used to go through the entries of the neighbor table.
The function retrieves the average RSSI for the Thread Parent.
The function retrieves diagnostic information for a Thread Router as parent.
The function retrieves the RSSI of the last packet from the Thread Parent.
Get the assigned parent priority.
Get the Partition ID.
Get the preferred Thread Leader Partition Id used when operating in the Leader role.
Get the Thread PSKc
Get Key Reference to Thread PSKc stored
Gets the Thread Realm-Local All Thread Nodes multicast address.
Gets the Thread Routing Locator (RLOC) address.
Get the RLOC16.
Get the ROUTER_DOWNGRADE_THRESHOLD parameter used in the Router role.
This function gets the range of router IDs that are allowed to assign to nodes within the thread network.
Get the current Router ID Sequence.
The function retains diagnostic information for a given Thread Router.
Get the ROUTER_SELECTION_JITTER parameter used in the REED/Router role.
Get the ROUTER_UPGRADE_THRESHOLD parameter used in the REED role.
This function retrieves the Service ALOC for given Service ID.
This function gets the Thread protocol version.
This function indicates whether an anycast locate request is currently in progress.
This function determines if an MLE Thread Discovery is currently in progress.
This method indicates whether or not the device is router-eligible.
This function indicates whether a node is the only router on the network.
This function requests the closest destination of a given anycast address to be located.
This function registers a neighbor table callback function.
This function registers a callback to receive MLE Parent Response data.
Release a Router ID that has been allocated by the device in the Leader role.
Resets the IPv6 counters.
Resets the Thread MLE counters.
Starts the process for child to search for a better parent while staying attached to its current parent.
This function sends a Proactive Address Notification (ADDR_NTF.ntf) message.
Send a Network Diagnostic Get request.
Send a Network Diagnostic Reset request.
This function sends a Proactive Backbone Notification (PRO_BB.ntf) message on the Backbone link.
This function sets whether the device was commissioned using CCM.
Sets the Thread Child Timeout (in seconds) used when operating in the Child role.
Set the CONTEXT_ID_REUSE_DELAY parameter used in the Leader role.
This function sets a callback to receive MLE Discovery Request data.
Sets the Thread Domain Name. Only succeeds when Thread protocols are disabled.
This function starts Thread protocol operation.
Sets the IEEE 802.15.4 Extended PAN ID.
Sets or clears the Interface Identifier manually specified for the Thread Domain Unicast Address.
This method sets the Thread Joiner Advertisement when discovering Thread network.
Sets the Joiner UDP Port.
Sets the thrKeySequenceCounter.
Sets the thrKeySwitchGuardTime (in hours).
Set the MLE Link Mode configuration.
Sets the Thread Leader Weight used when operating in the Leader role.
Sets the maximum number of children currently allowed.
Sets or restores the maximum number of IP addresses that each MTD child may register with this device as parent.
This function sets the Mesh Local Prefix.
Set the NETWORK_ID_TIMEOUT parameter used in the Leader role.
Set the Thread Network Key.
Set the Thread Network Key as a otNetworkKeyRef.
Set the Thread Network Name.
Set the parent priority.
Set the preferred Thread Leader Partition Id used when operating in the Leader role.
Set the preferred Router Id.
Set the Thread PSKc
Set the Thread PSKc
Set the ROUTER_DOWNGRADE_THRESHOLD parameter used in the Leader role.
This function sets whether or not the device is router-eligible.
This function sets the range of router IDs that are allowed to assign to nodes within the thread network.
Set the ROUTER_SELECTION_JITTER parameter used in the REED/Router role.
Set the ROUTER_UPGRADE_THRESHOLD parameter used in the Leader role.
Set Steering data out of band.
This function sets whether the Security Policy TLV version-threshold for routing (VR field) is enabled.
This function disables TREL operation.
This function enables TREL operation.
This function iterates over the peer table entries and get the next entry from the table
This function initializes a peer table iterator.
This function indicates whether the TREL operation is enabled.
This function indicates whether or not the filter mode is enabled.
This function sets the filter mode (enables/disables filtering).
This function adds a UDP receiver.
Bind a UDP/IPv6 socket.
Close a UDP/IPv6 socket.
Connect a UDP/IPv6 socket.
Handle a UDP packet received from host.
Set UDP forward callback to deliver UDP packets to host.
This function gets the head of linked list of UDP Sockets.
Check if a UDP socket is open.
Determines if the given UDP port is exclusively opened by OpenThread API.
Allocate a new message buffer for sending a UDP message.
Open a UDP/IPv6 socket.
This function removes a UDP receiver.
Send a UDP/IPv6 message.
This function sends a UDP message without socket.

Type Definitions

This enumeration defines flags that are passed as part of otStateChangedCallback.
This enumeration defines the key usage flags.
@defgroup radio-types Radio Types
This enumeration defines the channel page.
This enumeration defines the frequency band channel range.
This enumeration defines constants that are used to indicate different radio capabilities. See otRadioCaps.
This enumeration defines constants about size of header IE in ACK.
IPv6 Address origins
ECN statuses, represented as in the IP header.
Internet Protocol Numbers.
This enumeration defines the keys of settings.
This enumeration defines flags passed to otTcpConnect().
This enumeration defines flags passed to @p otTcpSendByReference.
This function pointer is called whenever the Domain Prefix changed.
Represents the Domain Prefix events.
This function pointer is called whenever the Multicast Listeners change.
Represents the Multicast Listener events.
This function pointer is called whenever the Nd Proxy changed.
Represents the ND Proxy events.
Represents the Backbone Router Status.
This enumeration defines the Border Agent state.
This enumeration defines the EID cache entry state.
This type represents a bit-field indicating specific state/configuration that has changed. See OT_CHANGED_* definitions.
This type represents Channel Mask.
This function pointer is called to notify about Console output.
CoAP Block Size Exponents
This function pointer is called when a CoAP message with an block-wise transfer option is received.
This function pointer is called before the next block in a block-wise transfer is sent.
CoAP Code values.
CoAP Content Format codes. The full list is documented at https://www.iana.org/assignments/core-parameters/core-parameters.xhtml#content-formats
CoAP Option Numbers
This function pointer is called when a CoAP request with a given Uri-Path is received.
This function pointer is called when a CoAP response is received or on the request timeout.
CoAP Type values (2 bit unsigned integer).
This function pointer is called when the Commissioner receives an Energy Report.
This function pointer is called whenever the joiner state changes.
This enumeration defines a Joiner Event on the Commissioner.
This function pointer is called when the Commissioner receives a PAN ID Conflict message.
This enumeration defines the Commissioner State.
This function pointer is called whenever the commissioner state changes.
This enumeration defines the key algorithms.
This datatype represents the key reference.
This enumeration defines the key storage types.
This enumeration defines the key types.
This function pointer is called when a response to a MGMT_SET request is received or times out.
This callback function pointer is called when a Dataset update request finishes, reporting success or failure status of the Dataset update request.
This callback informs the application that the detaching process has finished.
Represents a Thread device role.
This function pointer is called when a DNS response is received for an address resolution query.
This function pointer is called when a DNS response is received for a browse (service instance enumeration) query.
This enumeration type represents the NAT64 mode in an otDnsQueryConfig.
This enumeration type represents the “Recursion Desired” (RD) flag in an otDnsQueryConfig.
This function pointer is called when a DNS response is received for a service instance resolution query.
This opaque type represents a DNS-SD query.
This function is called when a DNS-SD query subscribes one of: 1. a service name. 2. a service instance name. 3. a host name.
This enumeration specifies a DNS-SD query type.
This function is called when a DNS-SD query unsubscribes one of: 1. a service name. 2. a service instance name. 3. a host name.
This enumeration represents error codes used throughout OpenThread.
This enumeration defines the gpio modes.
This function pointer is called during an IEEE 802.15.4 Active Scan when an IEEE 802.15.4 Beacon is received or the scan completes.
This function pointer is called when the DTLS connection state changes.
This function pointer is called during an IEEE 802.15.4 Energy Scan when the result for a channel is ready or the scan completes.
ICMPv6 Message Codes
ICMPv6 Echo Reply Modes
This callback allows OpenThread to inform the application of a received ICMPv6 message.
ICMPv6 Message Types
This function pointer is called when an internal IPv6 address is added or removed.
This function pointer is called when an IPv6 datagram is received.
This function pointer is called with results of otIp6RegisterMulticastListeners.
This function pointer allows user to filter prefixes and not allow an SLAAC address based on a prefix to be added.
This function pointer is called if signal jam detection is enabled and a jam is detected.
This function pointer is called to notify the completion of a join operation.
This enumeration defines a Joiner Info Type.
This enumeration defines the Joiner State.
This function pointer is called when an IEEE 802.15.4 frame is received.
This function pointer on receipt of a IEEE 802.15.4 frame.
This function pointer on receipt of a IEEE 802.15.4 frame.
This function pointer on receipt of a IEEE 802.15.4 frame.
This type represents the log level.
This enumeration represents log regions.
Defines address mode of the mac filter.
This type represents a MAC Key Ref used by PSA.
@struct otIp6NetworkPrefix
This enumeration represents meshcop TLV types.
This enumeration defines the OpenThread message priority levels.
Defines delegate (function pointer) type to control behavior of peek/poke operation.
Defines handler (function pointer) type for initiating joining process.
Defines handler (function pointer) type for setting the legacy ULA prefix.
Defines handler (function pointer) type for starting legacy network
Defines handler (function pointer) type for stopping legacy network
This function pointer is called to send HDLC encoded NCP data.
This function pointer is called to notify that there is a change in the neighbor table.
This enumeration defines the constants used in otNeighborTableCallback to indicate changes in neighbor table.
This enumeration defines the OpenThread network interface identifiers.
This datatype represents KeyRef to NetworkKey.
This enumeration represents OpenThread time synchronization status.
This function pointer is called when a network time sync or status change occurs.
This type represents the IEEE 802.15.4 PAN ID.
This function pointer type specifies the callback to notify receipt of a ping reply.
This function pointer type specifies the callback to report the ping statistics.
Enumeration of micro-controller’s power states.
Enumeration of possible reset reason codes.
Indicates that a SPI transaction has completed with the given length. The data written to the slave has been written to the pointer indicated by the aInputBuf argument to the previous call to otPlatSpiSlavePrepareTransaction().
Invoked after a transaction complete callback is called and returns TRUE to do any further processing required. Unlike otPlatSpiSlaveTransactionCompleteCallback which can be called from any OS context (e.g., ISR), this callback MUST be called from the same OS context as any other OpenThread API/callback.
This datatype represents KeyRef to PSKc.
This type represents radio capabilities.
This enumeration defines constants about key types.
This structure represents the state of a radio. Initially, a radio is in the Disabled state.
This function pointer is called when Network Diagnostic Get response is received.
Defines valid values for mPreference in otExternalRouteConfig and otBorderRouterConfig.
This type represents the IEEE 802.15.4 Short Address.
This function pointer is called when a SNTP response is received.
This function pointer type defines the callback used by SRP client to notify user when it is auto-started or stopped.
This function pointer type defines the callback used by SRP client to notify user of changes/events/errors.
This enumeration specifies an SRP client item (service or host info) state.
This enumeration represents the address mode used by the SRP server.
The service flag type to indicate which services to include or exclude when searching in (or iterating over) the list of SRP services.
This function handles SRP service updates.
The ID of a SRP service update transaction on the SRP Server.
This enumeration represents the state of the SRP server.
This function pointer is called to notify certain configuration or state changes within OpenThread.
This callback indicates that the TCP connection is now ready for two-way communication.
This callback indicates that an incoming connection that matches this TCP listener has arrived.
This callback indicates that the connection was broken and should no longer be used, or that a connection has entered the TIME-WAIT state.
This callback informs the application that the TCP 3-way handshake is complete and that the connection is now established.
This callback informs the application if forward progress has been made in transferring data from the send buffer to the recipient. This callback is not necessary for correct TCP operation. Most applications can just rely on the otTcpSendDone() callback to reclaim linked buffers once the TCP stack is done using them. The purpose of this callback is to support advanced applications that benefit from finer-grained information about how the the connection is making forward progress in transferring data to the connection peer.
This enumeration defines incoming connection actions.
This callback indicates the number of bytes available for consumption from the receive buffer.
This callback informs the application that data in the provided @p aData have been acknowledged by the connection peer and that @p aData and the data it contains can be reclaimed by the application.
This function pointer type defines the callback to notify the outcome of a otThreadLocateAnycastDestination() request.
This function pointer is called every time an MLE Discovery Request message is received.
This function pointer is called every time an MLE Parent Response message is received.
This type represents an iterator for iterating over TREL peer table entries.
This function pointer delivers the UDP packet to host and host should send the packet through its own network stack.
This callback allows OpenThread to provide specific handlers for certain UDP messages.
This callback allows OpenThread to inform the application of a received UDP message.

Unions