btstack/docs/manual/api_sdp_client.tex
2014-11-06 14:09:12 +00:00

48 lines
1.4 KiB
TeX

% !TEX root = btstack_gettingstarted.tex
\section{SDP Client API}
\label{appendix:api_sdp_client}
$ $
\begin{lstlisting}
/* SDP Client */
// Queries the SDP service of the remote device given a service
// search pattern and a list of attribute IDs. The remote data is
// handled by the SDP parser. The SDP parser delivers attribute
// values and done event via a registered callback.
void sdp_client_query(bd_addr_t remote, uint8_t * des_serviceSearchPattern, uint8_t * des_attributeIDList);
/* SDP Parser */
// Basic SDP Parser event type.
typedef enum sdp_parser_event_type {
SDP_PARSER_ATTRIBUTE_VALUE = 1,
SDP_PARSER_COMPLETE,
} sdp_parser_event_type_t;
typedef struct sdp_parser_event {
uint8_t type;
} sdp_parser_event_t;
// SDP Parser event to deliver an attribute value byte by byte.
typedef struct sdp_parser_attribute_value_event {
uint8_t type;
int record_id;
uint16_t attribute_id;
uint32_t attribute_length;
int data_offset;
uint8_t data;
} sdp_parser_attribute_value_event_t;
// SDP Parser event to indicate that parsing is complete.
typedef struct sdp_parser_complete_event {
uint8_t type;
uint8_t status; // 0 == OK
} sdp_parser_complete_event_t;
// Registers a callback to receive attribute value data and parse
// complete event.
void sdp_parser_register_callback(void (*sdp_callback)(sdp_parser_event_t* event));
\end{lstlisting}
\pagebreak