Data Structures | Typedefs | Enumerations | Functions
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.