### otThreadDiscoveryRequestInfo https://openthread.io/reference/struct/ot-thread-discovery-request-info ``` #include <thread.h> ``` #### Public attributes 1. mExtAddress ``` otExtAddress otThreadDiscoveryRequestInfo::mExtAddress IEEE 802.15.4 Extended Address of the requester. ``` 2. mIsJoiner ``` bool otThreadDiscoveryRequestInfo::mIsJoiner Whether is from joiner. ``` 3. mVersion ``` uint8_t otThreadDiscoveryRequestInfo::mVersion Thread version. ``` ### otThreadParentResponseInfo https://openthread.io/reference/struct/ot-thread-parent-response-info #### Public attributes 1. mExtAddr ``` otExtAddress otThreadParentResponseInfo::mExtAddr IEEE 802.15.4 Extended Address of the Parent. ``` 2. mIsAttached ``` bool otThreadParentResponseInfo::mIsAttached Is the node receiving parent response attached. ``` 3. mLinkQuality1 ``` uint8_t otThreadParentResponseInfo::mLinkQuality1 Parent Link Quality 1. ``` 4. mLinkQuality2 ``` uint8_t otThreadParentResponseInfo::mLinkQuality2 Parent Link Quality 2. ``` 5. mLinkQuality3 ``` uint8_t otThreadParentResponseInfo::mLinkQuality3 Parent Link Quality 3. ``` 6. mPriority ``` int8_t otThreadParentResponseInfo::mPriority Parent priority. ``` 7. mRloc16 ``` uint16_t otThreadParentResponseInfo::mRloc16 Short address of the Parent. ``` 8. mRssi ``` int8_t otThreadParentResponseInfo::mRssi Rssi of the Parent. ``` ### otThreadDiscoveryRequestCallback ``` void(* otThreadDiscoveryRequestCallback)(const otThreadDiscoveryRequestInfo *aInfo, void *aContext) ``` This function pointer is called every time an MLE Discovery Request message is received. [in] aInfo - A pointer to the Discovery Request info data. [in] aContext - A pointer to callback application-specific context. ### otThreadParentResponseCallback ``` void(* otThreadParentResponseCallback)(otThreadParentResponseInfo *aInfo, void *aContext) ``` [in] aInfo - A pointer to a location on stack holding the stats data. [in] aContext - A pointer to callback client-specific context. ### otThreadDiscover ``` otError otThreadDiscover( otInstance *aInstance, uint32_t aScanChannels, uint16_t aPanId, bool aJoiner, bool aEnableEui64Filtering, otHandleActiveScanResult aCallback, void *aCallbackContext ) ``` This function starts a Thread Discovery scan. Parameters ``` [in] aInstance A pointer to an OpenThread instance. [in] aScanChannels A bit vector indicating which channels to scan (e.g. OT_CHANNEL_11_MASK). [in] aPanId The PAN ID filter (set to Broadcast PAN to disable filter). [in] aJoiner Value of the Joiner Flag in the Discovery Request TLV. [in] aEnableEui64Filtering TRUE to filter responses on EUI-64, FALSE otherwise. [in] aCallback A pointer to a function called on receiving an MLE Discovery Response or scan completes. [in] aCallbackContext A pointer to application-specific context. ``` Return Values ``` OT_ERROR_NONE Successfully started a Thread Discovery Scan. OT_ERROR_INVALID_STATE The IPv6 interface is not enabled (netif is not up). OT_ERROR_NO_BUFS Could not allocate message for Discovery Request. OT_ERROR_BUSY Thread Discovery Scan is already in progress. ``` ### otNetDataGet This method provides a full or stable copy of the Partition's Thread Network Data. ``` otError otNetDataGet( otInstance *aInstance, bool aStable, uint8_t *aData, uint8_t *aDataLength ) ``` ### otThreadGetLeaderData This function get the Thread Leader Data. ``` otError otThreadGetLeaderData( otInstance *aInstance, otLeaderData *aLeaderData ) ``` ``` [in] aInstance A pointer to an OpenThread instance. [out] aLeaderData A pointer to where the leader data is placed. OT_ERROR_NONE Successfully retrieved the leader data. OT_ERROR_DETACHED Not currently attached. ``` ### otThreadGetParentInfo ``` otError otThreadGetParentInfo( otInstance *aInstance, otRouterInfo *aParentInfo ) ``` The function retrieves diagnostic information for a Thread Router as parent. ``` [in] aInstance A pointer to an OpenThread instance. [out] aParentInfo A pointer to where the parent router information is placed. ``` ### otThreadIsDiscoverInProgress ``` bool otThreadIsDiscoverInProgress( otInstance *aInstance ) ``` This function determines if an MLE Thread Discovery is currently in progress. ``` [in] aInstance A pointer to an OpenThread instance. ``` ### otThreadRegisterParentResponseCallback ``` void otThreadRegisterParentResponseCallback( otInstance *aInstance, otThreadParentResponseCallback aCallback, void *aContext ) ``` This function registers a callback to receive MLE Parent Response data. ``` [in] aInstance A pointer to an OpenThread instance. [in] aCallback A pointer to a function that is called upon receiving an MLE Parent Response message. [in] aContext A pointer to callback client-specific context. ``` ### otThreadSetDiscoveryRequestCallback ``` void otThreadSetDiscoveryRequestCallback( otInstance *aInstance, otThreadDiscoveryRequestCallback aCallback, void *aContext ) ``` This function sets a callback to receive MLE Discovery Request data. ``` [in] aInstance A pointer to an OpenThread instance. [in] aCallback A pointer to a function that is called upon receiving an MLE Discovery Request message. [in] aContext A pointer to callback application-specific context. ```` ### otThreadSetJoinerAdvertisement ``` otError otThreadSetJoinerAdvertisement( otInstance *aInstance, uint32_t aOui, const uint8_t *aAdvData, uint8_t aAdvDataLength ) ``` This method sets the Thread Joiner Advertisement when discovering Thread network. Thread Joiner Advertisement is used to allow a Joiner to advertise its own application-specific information (such as Vendor ID, Product ID, Discriminator, etc.) via a newly-proposed Joiner Advertisement TLV, and to make this information available to Commissioners or Commissioner Candidates without human interaction. ``` [in] aInstance A pointer to an OpenThread instance. [in] aOui The Vendor IEEE OUI value that will be included in the Joiner Advertisement. Only the least significant 3 bytes will be used, and the most significant byte will be ignored. [in] aAdvData A pointer to the AdvData that will be included in the Joiner Advertisement. [in] aAdvDataLength The length of AdvData in bytes. OT_ERROR_NONE Successfully set Joiner Advertisement. OT_ERROR_INVALID_ARGS Invalid AdvData. ```