mirror of
https://github.com/bluekitchen/btstack.git
synced 2024-12-29 09:26:08 +00:00
48 lines
1.4 KiB
TeX
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 |