ble_prf.h File Reference

BLE PRF API. More...

#include "ble_error.h"
#include "ble_att.h"
#include "ble_gatts.h"
#include "ble_gattc.h"
#include "ble_gatt.h"

Go to the source code of this file.

Data Structures

struct  ble_prf_manager_cbs_t
 Profile manager callbacks. More...
 
struct  gatts_read_req_cb_t
 GATT read request struct. More...
 
struct  gatts_write_req_cb_t
 GATT write request struct. More...
 
struct  gatts_prep_write_req_cb_t
 GATT prepare write request struct. More...
 
struct  ble_gatts_ntf_ind_t
 GATTS Operation Complete event structure. More...
 
struct  gatts_prf_cbs_t
 GATT server callback function in relation to a profile. More...
 
struct  prf_server_info_t
 Profile server register information structure. More...
 
struct  gattc_prf_reg_peer_evt_t
 GATTC profile register to peer event info structure. More...
 
struct  gattc_prf_cbs_t
 GATTC Profile callback Structures. More...
 
struct  prf_client_info_t
 Profile client register information structure. More...
 

Typedefs

typedef uint8_t(* prf_init_func_t) (void)
 Initialization of the Profile module. More...
 
typedef void(* prf_on_connect_func_t) (uint8_t conn_idx)
 Handles Connection creation. There is no need to recovery CCCD because stack will do that. More...
 
typedef void(* prf_on_disconnect_func_t) (uint8_t conn_idx, uint8_t reason)
 Handles Disconnection. There is no need to recovery CCCD because stack will do that. More...
 

Enumerations

enum  gattc_prf_reg_evt_t { GATTC_EVT_REGISTER, GATTC_EVT_UNREGISTER }
 GATTC profile register enumeration. More...
 

Functions

uint16_t ble_server_prf_add (const prf_server_info_t *p_server_prf_info)
 Add a server profile by providing its detailed information, including manager callback functions and GATT server callback functions. This API should be called in application initialization function. More...
 
uint16_t ble_client_prf_add (const prf_client_info_t *p_client_prf_info, uint8_t *p_client_prf_id)
 Add a client profile by providing its detail information, including manager callback functions and GATT client callback functions. This API should be called in application initialization function. More...
 
uint16_t ble_gattc_prf_services_browse (uint8_t prf_id, uint8_t conn_idx, const ble_uuid_t *p_srvc_uuid)
 Profile client Browse Specific Primary Service information on remote GATT server. More...
 
uint16_t ble_gattc_prf_primary_services_discover (uint8_t prf_id, uint8_t conn_idx, const ble_uuid_t *p_srvc_uuid)
 Profile client Discover Primary Services on remote GATT server. More...
 
uint16_t ble_gattc_prf_included_services_discover (uint8_t prf_id, uint8_t conn_idx, uint16_t start_hdl, uint16_t end_hdl)
 Profile client Discover Included Services on remote GATT server. More...
 
uint16_t ble_gattc_prf_char_discover (uint8_t prf_id, uint8_t conn_idx, gattc_disc_char_t *p_disc_char)
 Profile client Discover Characteristics on remote GATT server. More...
 
uint16_t ble_gattc_prf_char_desc_discover (uint8_t prf_id, uint8_t conn_idx, uint16_t start_hdl, uint16_t end_hdl)
 Profile client Discover Characteristics Descriptors on remote GATT server. More...
 
uint16_t ble_gattc_prf_read (uint8_t prf_id, uint8_t conn_idx, uint16_t handle, uint16_t offset)
 Profile client Read Attribute from remote GATT server. More...
 
uint16_t ble_gattc_prf_read_by_uuid (uint8_t prf_id, uint8_t conn_idx, gattc_read_by_uuid_t *p_read_by_uuid)
 Profile client Read Attribute by UUID. More...
 
uint16_t ble_gattc_prf_read_multiple (uint8_t prf_id, uint8_t conn_idx, const gattc_read_multiple_t *p_param)
 Profile client Initiate a Read Multiple Characteristic Values procedure. More...
 
uint16_t ble_gattc_prf_write (uint8_t prf_id, uint8_t conn_idx, gattc_write_attr_value_t *p_write_attr_value)
 Profile client Write (Long) Characteristic (Descriptor) Value. More...
 
uint16_t ble_gattc_prf_write_prepare (uint8_t prf_id, uint8_t conn_idx, gattc_write_attr_value_t *p_write_attr_value)
 Profile client Prepare Long/Reliable Write to remote GATT server. More...
 
uint16_t ble_gattc_prf_write_execute (uint8_t prf_id, uint8_t conn_idx, bool execute)
 Profile client Execute Reliable/Long Write to remote GATT server. More...
 
uint16_t ble_gattc_prf_write_no_resp (uint8_t prf_id, uint8_t conn_idx, gattc_write_no_resp_t *p_write_no_resp)
 Profile client Write Attribute to remote GATT server (without response). More...
 
uint16_t ble_gattc_prf_indicate_cfm (uint8_t prf_id, uint8_t conn_idx, uint16_t handle)
 Profile client Confirm Reception of Indication. More...
 
uint16_t ble_gattc_prf_evt_handle_register (uint8_t prf_id, uint8_t conn_idx, gattc_prf_reg_peer_evt_t *env)
 Profile client Register Indication/Notification event. More...
 
uint16_t ble_gattc_prf_evt_handle_unregister (uint8_t prf_id, uint8_t conn_idx, gattc_prf_reg_peer_evt_t *env)
 Profile client Unregister Indication/Notification event. More...
 

Detailed Description

BLE PRF API.

Attention
Copyright (c) 2019 GOODIX

All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 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. Neither the name of GOODIX nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS 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 COPYRIGHT HOLDERS AND 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.