% !TEX root = btstack_gettingstarted.tex
\section{SDP RFCOMM Query API}
\label{appendix:api_sdp_queries}
$ $
\begin{lstlisting}
/** 
 * @brief SDP Query RFCOMM event to deliver channel number and service name byte by byte.
 */
typedef struct sdp_query_rfcomm_service_event {
    uint8_t type;
    uint8_t channel_nr;
    uint8_t * service_name;
} sdp_query_rfcomm_service_event_t;

/** 
 * @brief Registers a callback to receive RFCOMM service and query complete event. 
 */
void sdp_query_rfcomm_register_callback(void(*sdp_app_callback)(sdp_query_event_t * event, void * context), void * context);

void sdp_query_rfcomm_deregister_callback();

/** 
 * @brief Searches SDP records on a remote device for RFCOMM services with a given UUID.
 */
void sdp_query_rfcomm_channel_and_name_for_uuid(bd_addr_t remote, uint16_t uuid);

/** 
 * @brief Searches SDP records on a remote device for RFCOMM services with a given service search pattern.
 */
void sdp_query_rfcomm_channel_and_name_for_search_pattern(bd_addr_t remote, uint8_t * des_serviceSearchPattern);
\end{lstlisting}
\pagebreak