Bluetooth® SDP APIs
Overview
Bluetooth SDP reference APIs.
API Reference
Header File
- This header file can be included with: - #include "esp_sdp_api.h" 
- This header file is a part of the API provided by the - btcomponent. To declare that your component depends on- bt, add the following to your CMakeLists.txt:- REQUIRES bt - or - PRIV_REQUIRES bt 
Functions
- 
esp_err_t esp_sdp_register_callback(esp_sdp_cb_t callback)
- This function is called to init callbacks with SDP module. - 参数
- callback -- [in] pointer to the init callback function. 
- 返回
- ESP_OK: success 
- other: failed 
 
 
- 
esp_err_t esp_sdp_init(void)
- This function is called to init SDP module. When the operation is completed, the callback function will be called with ESP_SDP_INIT_EVT. This function should be called after esp_bluedroid_enable() completes successfully. - 返回
- ESP_OK: success 
- other: failed 
 
 
- 
esp_err_t esp_sdp_deinit(void)
- This function is called to de-initialize SDP module. The operation will remove all SDP records, then the callback function will be called with ESP_SDP_REMOVE_RECORD_COMP_EVT, and the number of ESP_SDP_REMOVE_RECORD_COMP_EVT is equal to the number of SDP records.When the operation is completed, the callback function will be called with ESP_SDP_DEINIT_EVT. This function should be called after esp_sdp_init() completes successfully. - 返回
- ESP_OK: success 
- other: failed 
 
 
- 
esp_err_t esp_sdp_search_record(esp_bd_addr_t bd_addr, esp_bt_uuid_t uuid)
- This function is called to performs service discovery for the services provided by the given peer device. When the operation is completed, the callback function will be called with ESP_SDP_SEARCH_COMP_EVT. This function must be called after esp_sdp_init() successful and before esp_sdp_deinit(). - 参数
- bd_addr -- [in] Remote device bluetooth device address. 
- uuid -- [in] Service UUID of the remote device. 
 
- 返回
- ESP_OK: success 
- other: failed 
 
 
- 
esp_err_t esp_sdp_create_record(esp_bluetooth_sdp_record_t *record)
- This function is called to create SDP records. When the operation is completed, the callback function will be called with ESP_SDP_CREATE_RECORD_COMP_EVT. This function must be called after esp_sdp_init() successful and before esp_sdp_deinit(). - 参数
- record -- [in] The SDP record to create. 
- 返回
- ESP_OK: success 
- other: failed 
 
 
- 
esp_err_t esp_sdp_remove_record(int record_handle)
- This function is called to remove a SDP record. When the operation is completed, the callback function will be called with ESP_SDP_REMOVE_RECORD_COMP_EVT. This function must be called after esp_sdp_init() successful and before esp_sdp_deinit(). - 参数
- record_handle -- [in] The SDP record handle. 
- 返回
- ESP_OK: success 
- other: failed 
 
 
- 
esp_err_t esp_sdp_get_protocol_status(esp_sdp_protocol_status_t *status)
- This function is used to get the status of SDP. - 参数
- status -- [out] - sdp status 
- 返回
- ESP_OK: success 
- other: failed 
 
 
Unions
- 
union esp_bluetooth_sdp_record_t
- #include <esp_sdp_api.h>SDP record parameters union. Public Members - 
esp_bluetooth_sdp_hdr_overlay_t hdr
- General info 
 - 
esp_bluetooth_sdp_mas_record_t mas
- Message Access Profile - Server 
 - 
esp_bluetooth_sdp_mns_record_t mns
- Message Access Profile - Client (Notification Server) 
 - 
esp_bluetooth_sdp_pse_record_t pse
- Phone Book Profile - Server 
 - 
esp_bluetooth_sdp_pce_record_t pce
- Phone Book Profile - Client 
 - 
esp_bluetooth_sdp_ops_record_t ops
- Object Push Profile 
 - 
esp_bluetooth_sdp_sap_record_t sap
- SIM Access Profile 
 
- 
esp_bluetooth_sdp_hdr_overlay_t hdr
- 
union esp_sdp_cb_param_t
- #include <esp_sdp_api.h>SDP callback parameters union. Public Members - 
struct esp_sdp_cb_param_t::sdp_init_evt_param init
- SDP callback param of ESP_SDP_INIT_EVT 
 - 
struct esp_sdp_cb_param_t::sdp_deinit_evt_param deinit
- SDP callback param of ESP_SDP_DEINIT_EVT 
 - 
struct esp_sdp_cb_param_t::sdp_search_evt_param search
- SDP callback param of ESP_SDP_SEARCH_COMP_EVT 
 - 
struct esp_sdp_cb_param_t::sdp_create_record_evt_param create_record
- SDP callback param of ESP_SDP_CREATE_RECORD_COMP_EVT 
 - 
struct esp_sdp_cb_param_t::sdp_remove_record_evt_param remove_record
- SDP callback param of ESP_SDP_REMOVE_RECORD_COMP_EVT 
 - 
struct sdp_create_record_evt_param
- #include <esp_sdp_api.h>ESP_SDP_CREATE_RECORD_COMP_EVT. 
 - 
struct sdp_deinit_evt_param
- #include <esp_sdp_api.h>ESP_SDP_DEINIT_EVT. Public Members - 
esp_sdp_status_t status
- Status 
 
- 
esp_sdp_status_t status
 - 
struct sdp_init_evt_param
- #include <esp_sdp_api.h>ESP_SDP_INIT_EVT. Public Members - 
esp_sdp_status_t status
- Status 
 
- 
esp_sdp_status_t status
 - 
struct sdp_remove_record_evt_param
- #include <esp_sdp_api.h>ESP_SDP_REMOVE_RECORD_COMP_EVT. 
 - 
struct sdp_search_evt_param
- #include <esp_sdp_api.h>ESP_SDP_SEARCH_COMP_EVT. Public Members - 
esp_sdp_status_t status
- Status 
 - 
esp_bd_addr_t remote_addr
- Remote device address 
 - 
esp_bt_uuid_t sdp_uuid
- Service uuid 
 - 
int record_count
- Number of SDP records 
 - 
esp_bluetooth_sdp_record_t *records
- SDP records 
 
- 
esp_sdp_status_t status
 
- 
struct esp_sdp_cb_param_t::sdp_init_evt_param init
Structures
- 
struct esp_sdp_protocol_status_t
- SDP protocol status parameters. 
- 
struct bluetooth_sdp_hdr_overlay
- SDP header structure. - Public Members - 
esp_bluetooth_sdp_types_t type
- SDP type 
 - 
esp_bt_uuid_t uuid
- UUID type, include uuid and uuid length, only needed to be set for RAW record creation 
 - 
uint32_t service_name_length
- Service name length 
 - 
char *service_name
- Service name 
 - 
int32_t rfcomm_channel_number
- RFCOMM channel number, if not used set to -1 
 - 
int32_t l2cap_psm
- L2CAP psm, if not used set to -1 
 - 
int32_t profile_version
- Profile version 
 - 
int user1_ptr_len
- User data1 length, only used for searching RAW record 
 - 
uint8_t *user1_ptr
- User data1 pointer to the raw SDP response data, only used for searching RAW record 
 - 
int user2_ptr_len
- User data2 length, only used for searching RAW record 
 - 
uint8_t *user2_ptr
- User data2 pointer, only used for searching RAW record 
 
- 
esp_bluetooth_sdp_types_t type
- 
struct bluetooth_sdp_mas_record
- Message Access Profile - Server parameters. - Public Members - 
esp_bluetooth_sdp_hdr_overlay_t hdr
- General info 
 - 
uint32_t mas_instance_id
- MAS Instance ID 
 - 
uint32_t supported_features
- Map supported features 
 - 
uint32_t supported_message_types
- Supported message types 
 
- 
esp_bluetooth_sdp_hdr_overlay_t hdr
- 
struct bluetooth_sdp_mns_record
- Message Access Profile - Client (Notification Server) parameters. - Public Members - 
esp_bluetooth_sdp_hdr_overlay_t hdr
- General info 
 - 
uint32_t supported_features
- Supported features 
 
- 
esp_bluetooth_sdp_hdr_overlay_t hdr
- 
struct bluetooth_sdp_pse_record
- Phone Book Profile - Server parameters. - Public Members - 
esp_bluetooth_sdp_hdr_overlay_t hdr
- General info 
 - 
uint32_t supported_features
- PBAP Supported Features 
 - 
uint32_t supported_repositories
- Supported Repositories 
 
- 
esp_bluetooth_sdp_hdr_overlay_t hdr
- 
struct bluetooth_sdp_pce_record
- Phone Book Profile - Client parameters. - Public Members - 
esp_bluetooth_sdp_hdr_overlay_t hdr
- General info 
 
- 
esp_bluetooth_sdp_hdr_overlay_t hdr
- 
struct bluetooth_sdp_ops_record
- Object Push Profile parameters. - Public Members - 
esp_bluetooth_sdp_hdr_overlay_t hdr
- General info 
 - 
int supported_formats_list_len
- Supported formats list length 
 - 
uint8_t supported_formats_list[SDP_OPP_SUPPORTED_FORMATS_MAX_LENGTH]
- Supported formats list 
 
- 
esp_bluetooth_sdp_hdr_overlay_t hdr
- 
struct bluetooth_sdp_sap_record
- SIM Access Profile parameters. - Public Members - 
esp_bluetooth_sdp_hdr_overlay_t hdr
- General info 
 
- 
esp_bluetooth_sdp_hdr_overlay_t hdr
Macros
- 
ESP_SDP_SERVER_NAME_MAX
- Service name max length 
- 
SDP_OPP_SUPPORTED_FORMATS_MAX_LENGTH
- OPP supported format list maximum length 
- 
ESP_SDP_UUID_MAP_MAS
- Message Access Service UUID 
- 
ESP_SDP_UUID_MAP_MNS
- Message Notification Service UUID 
- 
ESP_SDP_UUID_PBAP_PSE
- Phone Book Server Equipment UUID 
- 
ESP_SDP_UUID_PBAP_PCE
- Phone Book Client Equipment UUID 
- 
ESP_SDP_UUID_OPP
- Object Push Profile UUID 
- 
ESP_SDP_UUID_SAP
- SIM Access Profile UUID 
- 
ESP_SDP_UUID_DIP
- Device Identification Profile UUID 
- 
ESP_SDP_BUILD_BT_UUID16(uuid16_val)
Type Definitions
- 
typedef struct bluetooth_sdp_hdr_overlay esp_bluetooth_sdp_hdr_overlay_t
- SDP header structure. 
- 
typedef struct bluetooth_sdp_mas_record esp_bluetooth_sdp_mas_record_t
- Message Access Profile - Server parameters. 
- 
typedef struct bluetooth_sdp_mns_record esp_bluetooth_sdp_mns_record_t
- Message Access Profile - Client (Notification Server) parameters. 
- 
typedef struct bluetooth_sdp_pse_record esp_bluetooth_sdp_pse_record_t
- Phone Book Profile - Server parameters. 
- 
typedef struct bluetooth_sdp_pce_record esp_bluetooth_sdp_pce_record_t
- Phone Book Profile - Client parameters. 
- 
typedef struct bluetooth_sdp_ops_record esp_bluetooth_sdp_ops_record_t
- Object Push Profile parameters. 
- 
typedef struct bluetooth_sdp_sap_record esp_bluetooth_sdp_sap_record_t
- SIM Access Profile parameters. 
- 
typedef void (*esp_sdp_cb_t)(esp_sdp_cb_event_t event, esp_sdp_cb_param_t *param)
- SDP callback function type. - Param event
- Event type 
- Param param
- Point to callback parameter, currently is union type 
 
Enumerations
- 
enum esp_sdp_status_t
- Values: - 
enumerator ESP_SDP_SUCCESS
- Successful operation. 
 - 
enumerator ESP_SDP_FAILURE
- Generic failure. 
 - 
enumerator ESP_SDP_NO_RESOURCE
- No more resource 
 - 
enumerator ESP_SDP_NEED_INIT
- SDP module shall init first 
 - 
enumerator ESP_SDP_NEED_DEINIT
- SDP module shall deinit first 
 - 
enumerator ESP_SDP_NO_CREATE_RECORD
- No record created 
 
- 
enumerator ESP_SDP_SUCCESS
- 
enum esp_sdp_cb_event_t
- SDP callback function events. - Values: - 
enumerator ESP_SDP_INIT_EVT
- When SDP is initialized, the event comes 
 - 
enumerator ESP_SDP_DEINIT_EVT
- When SDP is de-initialized, the event comes 
 - 
enumerator ESP_SDP_SEARCH_COMP_EVT
- When SDP search complete, the event comes 
 - 
enumerator ESP_SDP_CREATE_RECORD_COMP_EVT
- When create SDP records complete, the event comes 
 - 
enumerator ESP_SDP_REMOVE_RECORD_COMP_EVT
- When remove a SDP record complete, the event comes 
 
- 
enumerator ESP_SDP_INIT_EVT
- 
enum esp_bluetooth_sdp_types_t
- SDP record type. - Values: - 
enumerator ESP_SDP_TYPE_RAW
- Used to carry raw SDP search data for unknown UUIDs 
 - 
enumerator ESP_SDP_TYPE_MAP_MAS
- Message Access Profile - Server 
 - 
enumerator ESP_SDP_TYPE_MAP_MNS
- Message Access Profile - Client (Notification Server) 
 - 
enumerator ESP_SDP_TYPE_PBAP_PSE
- Phone Book Profile - Server 
 - 
enumerator ESP_SDP_TYPE_PBAP_PCE
- Phone Book Profile - Client 
 - 
enumerator ESP_SDP_TYPE_OPP_SERVER
- Object Push Profile 
 - 
enumerator ESP_SDP_TYPE_SAP_SERVER
- SIM Access Profile 
 
- 
enumerator ESP_SDP_TYPE_RAW