Select one of the symbols to view example projects that use it.
 
Outline
#define SDP_CLIENT_H
#include "btstack_config.h"
#include "btstack_util.h"
de_state
de_state_init(de_state_t *);
de_state_size(uint8_t, de_state_t *);
sdp_client_init();
sdp_client_ready();
sdp_client_register_query_callback(btstack_context_callback_registration_t *);
sdp_client_query(btstack_packet_handler_t, uint8_t *, const uint8_t *, const uint8_t *);
sdp_client_query_uuid16(btstack_packet_handler_t, uint8_t *, uint16_t);
sdp_client_query_uuid128(btstack_packet_handler_t, uint8_t *, const uint8_t *);
sdp_client_service_attribute_search(btstack_packet_handler_t, uint8_t *, uint32_t, const uint8_t *);
sdp_client_service_search(btstack_packet_handler_t, uint8_t *, const uint8_t *);
sdp_client_deinit();
Files
loading...
SourceVuRaspberry Pi Pico SDK and ExamplesBluetooth LE Stacksrc/classic/sdp_client.h
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
/* * Copyright (C) 2014 BlueKitchen GmbH * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. Neither the name of the copyright holders nor the names of * contributors may be used to endorse or promote products derived * from this software without specific prior written permission. * 4. Any redistribution, use, or modification is done solely for * personal benefit and not for any commercial purpose or for * monetary gain. * * THIS SOFTWARE IS PROVIDED BY BLUEKITCHEN GMBH AND CONTRIBUTORS * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BLUEKITCHEN * GMBH OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF * THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * * Please inquire about commercial licensing options at * contact@bluekitchen-gmbh.com * *//* ... */ /** * @title SDP Client * *//* ... */ #ifndef SDP_CLIENT_H #define SDP_CLIENT_H #include "btstack_config.h" #include "btstack_util.h" #if defined __cplusplus extern "C" { #endif /* API_START */ typedef struct de_state { uint8_t in_state_GET_DE_HEADER_LENGTH ; uint32_t addon_header_bytes; uint32_t de_size; uint32_t de_offset; ...} de_state_t; void de_state_init(de_state_t * state); int de_state_size(uint8_t eventByte, de_state_t *de_state); /** * @brief SDP Client Init *//* ... */ void sdp_client_init(void); /** * @brief Checks if the SDP Client is ready * @deprecated Please use sdp_client_register_query_callback instead * @return true when no query is active *//* ... */ bool sdp_client_ready(void); /** * @brief Requests a callback, when the SDP Client is ready and can be used * @note The callback might happens before sdp_client_register_query_callback has returned * @param callback_registration *//* ... */ uint8_t sdp_client_register_query_callback(btstack_context_callback_registration_t * callback_registration); /** * @brief 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 the callback. * @param callback for attributes values and done event * @param remote address * @param des_service_search_pattern * @param des_attribute_id_list *//* ... */ uint8_t sdp_client_query(btstack_packet_handler_t callback, bd_addr_t remote, const uint8_t * des_service_search_pattern, const uint8_t * des_attribute_id_list); /* * @brief Searches SDP records on a remote device for all services with a given UUID. * @note calls sdp_client_query with service search pattern based on uuid16 *//* ... */ uint8_t sdp_client_query_uuid16(btstack_packet_handler_t callback, bd_addr_t remote, uint16_t uuid16); /* * @brief Searches SDP records on a remote device for all services with a given UUID. * @note calls sdp_client_query with service search pattern based on uuid128 *//* ... */ uint8_t sdp_client_query_uuid128(btstack_packet_handler_t callback, bd_addr_t remote, const uint8_t* uuid128); /** * @brief Retrieves all attribute IDs of a SDP record specified by its service record handle 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 the callback. * @note only provided if ENABLE_SDP_EXTRA_QUERIES is defined * @param callback for attributes values and done event * @param remote address * @param search_service_record_handle * @param des_attributeIDList *//* ... */ uint8_t sdp_client_service_attribute_search(btstack_packet_handler_t callback, bd_addr_t remote, uint32_t search_service_record_handle, const uint8_t * des_attributeIDList); /** * @brief Query the list of SDP records that match a given service search pattern. * The remote data is handled by the SDP parser. The SDP parser delivers attribute values and done event via the callback. * @note only provided if ENABLE_SDP_EXTRA_QUERIES is defined * @param callback for attributes values and done event * @param remote address * @param des_service_search_pattern *//* ... */ uint8_t sdp_client_service_search(btstack_packet_handler_t callback, bd_addr_t remote, const uint8_t * des_service_search_pattern); #ifdef ENABLE_SDP_EXTRA_QUERIES void sdp_client_parse_service_record_handle_list(uint8_t* packet, uint16_t total_count, uint16_t current_count); #endif /** * @brief De-Init SDP Client *//* ... */ void sdp_client_deinit(void); /* API_END */ #if defined __cplusplus }extern "C" { ... } #endif /* ... */ #endif // SDP_CLIENT_H
Details