diff --git a/drivers/nble/gap_internal.h b/drivers/nble/gap_internal.h
index aae299912b4..74bc125cc7e 100644
--- a/drivers/nble/gap_internal.h
+++ b/drivers/nble/gap_internal.h
@@ -45,34 +45,13 @@ enum NBLE_GAP_SM_EVT {
NBLE_GAP_SM_EVT_LINK_SECURITY_CHANGE,
};
-/* Must be the same with BLE_GAP_RSSI_OPS ! */
-/**
- * RSSI operation definition.
- */
-enum BLE_CORE_GAP_RSSI_OPS {
- BLE_CORE_GAP_RSSI_DISABLE_REPORT = 0,
- BLE_CORE_GAP_RSSI_ENABLE_REPORT
-};
-
-/** Test Mode opcodes. The same with nble_service_gap_api.h */
-enum BLE_CORE_TEST_OPCODE {
- BLE_CORE_TEST_INIT_DTM = 0x01,
- BLE_CORE_TEST_START_DTM_RX = 0x1d,
- BLE_CORE_TEST_START_DTM_TX = 0x1e,
- BLE_CORE_TEST_END_DTM = 0x1f,
- /* vendor specific commands start at 0x80 */
- /* Set Tx power. To be called before start of tx test */
- BLE_CORE_TEST_SET_TXPOWER = 0x80,
- BLE_CORE_TEST_START_TX_CARRIER,
-};
-
struct nble_response {
int status;
void *user_data;
};
struct nble_gap_device_name {
- /* Security mode for writing device name, @ref BLE_GAP_SEC_MODES */
+ /* Security mode for writing device name */
uint8_t sec_mode;
/* 0: no authorization, 1: authorization required */
uint8_t authorization;
@@ -90,7 +69,6 @@ struct nble_gap_connection_values {
uint16_t supervision_to;
};
-
enum BLE_GAP_SVC_ATTR_TYPE {
/* Device Name, UUID 0x2a00 */
GAP_SVC_ATTR_NAME = 0,
@@ -102,9 +80,6 @@ enum BLE_GAP_SVC_ATTR_TYPE {
GAP_SVC_ATTR_CAR = 0xa6,
};
-/**
- * Connection requested parameters.
- */
struct nble_gap_connection_params {
/* minimal connection interval: range 0x0006 to 0x0c80 (unit 1.25ms) */
uint16_t interval_min;
@@ -116,9 +91,6 @@ struct nble_gap_connection_params {
uint16_t link_sup_to;
};
-/**
- * Connection scan requested parameters.
- */
struct nble_gap_scan_parameters {
/* If 1, perform active scanning (scan requests). */
uint8_t active;
@@ -221,122 +193,43 @@ struct nble_log_s {
uint8_t param3;
};
-void nble_log(const struct nble_log_s *p_param, char *p_buf, uint8_t buflen);
+void nble_log(const struct nble_log_s *param, char *buf, uint8_t buflen);
void on_nble_up(void);
-/**
- * Write GAP Service Attribute Characteristics.
- *
- * The response to this request is received through
- * @ref on_nble_gap_service_write_rsp
- *
- * @param par Data of the characteristic to write
- * @param user_data User data
- */
void nble_gap_service_write_req(const struct nble_gap_service_write_params *par,
void *user_data);
-/**
- * Response to @ref nble_gap_read_bda_req.
- *
- * @param par Response
- */
void on_nble_gap_read_bda_rsp(const struct nble_service_read_bda_response *par);
-/**
- * Response to @ref nble_gap_service_write_req.
- *
- * @param par Response
- */
void on_nble_gap_service_write_rsp(const struct nble_service_write_response *par);
-/**
- * Send generic debug command
- *
- * The response to this request is received through @ref on_nble_gap_dbg_rsp
- *
- * @param par Debug parameters
- * @param user_data User data
- */
void nble_gap_dbg_req(const struct debug_params *par, void *user_data);
-/**
- * Response to @ref nble_gap_dbg_req.
- *
- * @param par Response
- */
void on_nble_gap_dbg_rsp(const struct debug_response *par);
-/**
- * Start advertising.
- *
- * The response to this request is received through
- * @ref on_nble_gap_start_advertise_rsp
- *
- * @param par Advertisement
- */
+void on_nble_set_bda_rsp(const struct nble_set_bda_rsp *par);
+
+void nble_set_bda_req(const struct nble_set_bda_params *par);
+
void nble_gap_start_advertise_req(struct nble_gap_adv_params *par);
-/**
- * Response to @ref nble_gap_start_advertise_req.
- *
- * @param par Response
- */
void on_nble_gap_start_advertise_rsp(const struct nble_response *par);
-/**
- * Request to stop advertisement
- *
- * @param user_data Pointer to private data
- */
void nble_gap_stop_advertise_req(void *user_data);
-/**
- * Response to @ref nble_gap_stop_advertise_req.
- *
- * @param par Response
- */
void on_nble_gap_stop_advertise_rsp(const struct nble_response *par);
-/**
- * Read BD address from Controller.
- *
- * The response to this request is received through @ref on_nble_gap_read_bda_rsp
- *
- * @param priv Pointer to private data
- */
void nble_gap_read_bda_req(void *priv);
struct nble_gap_irk_info {
uint8_t irk[BLE_GAP_SEC_MAX_KEY_LEN];
};
-/**
- * Write white list to the BLE controller.
- *
- * The response to this request is received through
- *
- * Store white in BLE controller. It needs to be done BEFORE starting
- * advertisement or start scanning
- *
- * @param bd_array Array of bd addresses
- * @param bd_array_size Size of bd addresses array
- * @param irk_array Array of irk keys (for address resolution offload)
- * @param irk_array_size Size of irk keys array
- * @param priv Pointer to private data
- */
void nble_gap_wr_white_list_req(bt_addr_le_t *bd_array, uint8_t bd_array_size,
struct nble_gap_irk_info *irk_array,
uint8_t irk_array_size, void *priv);
-/**
- * Clear previously stored white list.
- *
- * The response to this request is received through
- *
- * @param priv Pointer to private data
- */
void nble_gap_clr_white_list_req(void *priv);
struct nble_gap_connect_update_params {
@@ -344,28 +237,8 @@ struct nble_gap_connect_update_params {
struct nble_gap_connection_params params;
};
-void on_nble_set_bda_rsp(const struct nble_set_bda_rsp *params);
void nble_set_bda_req(const struct nble_set_bda_params *params);
-/**
- * Update connection.
- *
- * The response to this request is received through
- * @ref on_nble_gap_conn_update_rsp
- *
- * This function's behavior depends on the role of the connection:
- * - in peripheral mode, it sends an L2CAP signaling connection parameter
- * update request based the values in p_conn_param argument,
- * and the action can be taken by the central at link layer
- * - in central mode, it will send a link layer command to change the
- * connection values based on the values in p_conn_param argument
- * where the connection interval is interval_min.
- *
- * When the connection is updated, function event on_nble_gap_conn_update_evt
- * is called.
- *
- * @param par Connection parameters
- */
void nble_gap_conn_update_req(const struct nble_gap_connect_update_params *par);
struct nble_gap_connect_req_params {
@@ -379,42 +252,14 @@ struct nble_gap_disconnect_req_params {
uint8_t reason;
};
-/**
- * Disconnect connection (peripheral or central role).
- *
- * The response to this request is received through
- * @ref on_nble_gap_disconnect_rsp
- *
- * @param par Connection to terminate
- * @param user_data User data
- */
void nble_gap_disconnect_req(const struct nble_gap_disconnect_req_params *par,
void *user_data);
-/**
- * Response to @ref nble_gap_disconnect_req.
- *
- * @param par Response
- */
+
void on_nble_gap_disconnect_rsp(const struct nble_response *par);
-/**
- * Read GAP Service Characteristics.
- *
- * The response to this request is received through
- * @ref on_nble_gap_service_read_rsp
- *
- * @param nble_gap_service_read GAP service characteristic to read
- * @param user_data Pointer to private data
- */
void nble_gap_service_read_req(const struct nble_gap_service_read_params *par,
void *user_data);
-/**
- * Security manager configuration parameters.
- *
- * options and io_caps will define there will be a passkey request or not.
- * It is assumed that io_caps and options are compatible.
- */
struct nble_gap_sm_config_params {
/* Security options (@ref BLE_GAP_SM_OPTIONS) */
uint8_t options;
@@ -425,14 +270,6 @@ struct nble_gap_sm_config_params {
uint8_t oob_present;
};
-/**
- * Configuring the security manager.
- *
- * The response to this request is received through
- * @ref on_nble_gap_sm_config_rsp
- *
- * @param par Local authentication/bonding parameters
- */
void nble_gap_sm_config_req(const struct nble_gap_sm_config_params *par);
struct nble_gap_sm_config_rsp {
@@ -441,14 +278,6 @@ struct nble_gap_sm_config_rsp {
bool sm_bond_dev_avail;
};
-/**
- * Response to @ref nble_gap_sm_config_req.
- *
- * @param par Response
- */
-void on_nble_gap_sm_config_rsp(struct nble_gap_sm_config_rsp *par);
-
-
struct nble_gap_sm_pairing_params {
/* authentication level see @ref BLE_GAP_SM_OPTIONS */
uint8_t auth_level;
@@ -462,14 +291,6 @@ struct nble_gap_sm_security_params {
struct nble_gap_sm_pairing_params params;
};
-/**
- * Initiate the bonding procedure (central).
- *
- * The response to this request is received through
- * @ref on_nble_gap_sm_pairing_rsp
- *
- * @param par Connection to initiate with its parameters
- */
void nble_gap_sm_security_req(const struct nble_gap_sm_security_params *par);
struct nble_gap_sm_passkey {
@@ -487,29 +308,12 @@ struct nble_gap_sm_key_reply_req_params {
struct nble_gap_sm_passkey params;
};
-/**
- * Reply to an incoming passkey request event.
- *
- * The response to this request is received through
- * @ref on_nble_gap_sm_passkey_reply_rsp
- *
- * @param par Connection on which bonding is going on and bonding security
- * reply
- */
void nble_gap_sm_passkey_reply_req(const struct nble_gap_sm_key_reply_req_params *par);
struct nble_gap_sm_clear_bond_req_params {
bt_addr_le_t addr;
};
-/**
- * Clear bonds
- *
- * The response to this request is received through
- * @ref on_nble_gap_sm_clear_bonds_rsp
- *
- * @param par Parameters
- */
void nble_gap_sm_clear_bonds_req(const struct nble_gap_sm_clear_bond_req_params *par);
struct nble_gap_sm_response {
@@ -517,9 +321,6 @@ struct nble_gap_sm_response {
struct bt_conn *conn;
};
-/**
- * RSSI report parameters
- */
struct nble_rssi_report_params {
uint16_t conn_handle;
/* RSSI operation @ref BLE_GAP_RSSI_OPS */
@@ -530,31 +331,11 @@ struct nble_rssi_report_params {
uint8_t min_count;
};
-/**
- * Enable or disable the reporting of the RSSI value.
- *
- * The response to this request is received through
- * @ref on_nble_gap_set_rssi_report_rsp
- *
- * @param params RSSI report parameters
- * @param user_data Pointer to user data
- */
void nble_gap_set_rssi_report_req(const struct nble_rssi_report_params *par,
void *user_data);
-/**
- * Response to @ref nble_gap_set_rssi_report_req.
- *
- * @param par Response
- */
void on_nble_gap_set_rssi_report_rsp(const struct nble_response *par);
-enum BLE_GAP_SCAN_OPTIONS {
- BLE_GAP_SCAN_DEFAULT = 0,
- BLE_GAP_SCAN_ACTIVE = 0x01,
- BLE_GAP_SCAN_WHITE_LISTED = 0x02,
-};
-
struct nble_gap_scan_params {
uint16_t interval;
uint16_t window;
@@ -562,75 +343,19 @@ struct nble_gap_scan_params {
uint8_t use_whitelist;
};
-/**
- * Start scanning for BLE devices doing advertisement.
- *
- * The response to this request is received through
- * @ref on_nble_gap_start_scan_rsp
- *
- * @param par Scan parameters
- */
void nble_gap_start_scan_req(const struct nble_gap_scan_params *par);
-/**
- * Response to @ref nble_gap_start_scan_req.
- *
- * @param par Response
- */
-void on_nble_gap_start_scan_rsp(const struct nble_response *par);
-
-/**
- * Stop scanning.
- *
- * The response to this request is received through
- * @ref on_nble_gap_stop_scan_rsp
- */
void nble_gap_stop_scan_req(void);
-/**
- * Response to @ref nble_gap_stop_scan_req.
- *
- * @param par Response
- */
-void on_nble_gap_stop_scan_rsp(const struct nble_response *par);
+void on_nble_gap_scan_start_stop_rsp(const struct nble_response *par);
-/**
- * Connect to a Remote Device.
- *
- * The response to this request is received through @ref on_nble_gap_connect_rsp
- *
- * @param req connection parameters @ref nble_gap_connect_req_params
- * @param user_data Pointer to private user data
- */
void nble_gap_connect_req(const struct nble_gap_connect_req_params *req,
void *user_data);
-/**
- * Response to @ref nble_gap_connect_req.
- *
- * @param par Response
- */
void on_nble_gap_connect_rsp(const struct nble_response *rsp);
-struct nble_gap_cancel_connect_params {
- const bt_addr_le_t bd;
-};
-
-/**
- * Cancel an ongoing connection attempt.
- *
- * The response to this request is received through
- * @ref on_nble_gap_cancel_connect_rsp
- *
- * @param user_data Pointer to user data
- */
void nble_gap_cancel_connect_req(void *user_data);
-/**
- * Response to @ref nble_gap_cancel_connect_req.
- *
- * @param par Response
- */
void on_nble_gap_cancel_connect_rsp(const struct nble_response *par);
enum BLE_GAP_SET_OPTIONS {
@@ -644,7 +369,6 @@ struct nble_gap_channel_map {
uint8_t map[5];
};
-
struct nble_gap_set_option_params {
/* Option to set @ref BLE_GAP_SET_OPTIONS */
uint8_t op;
@@ -653,19 +377,11 @@ struct nble_gap_set_option_params {
};
};
-/**
- * Set a gap option (channel map etc) on a connection.
- *
- * The response to this request is received through
- *
- * @param par Contains gap options parameters
- * @param user_data Pointer to user data
- */
void nble_gap_set_option_req(const struct nble_gap_set_option_params *par,
void *user_data);
/*
- * Generic request op codes.
+ * Generic request op codes.
* This allows to access some non connection related commands like DTM.
*/
enum BLE_GAP_GEN_OPS {
@@ -679,32 +395,11 @@ struct nble_gap_gen_cmd_params {
uint8_t op_code;
};
-/**
- * Generic command
- *
- * The response to this request is received through
- * @ref on_nble_gap_generic_cmd_rsp
- *
- * @param par Contains Generic command parameters.
- * @param user_data Pointer to user data
- */
void nble_gap_generic_cmd_req(const struct nble_gap_gen_cmd_params *par,
void *priv);
-/**
- * Response to @ref nble_gap_generic_cmd_req.
- *
- * @param par Response
- */
void on_nble_gap_generic_cmd_rsp(const struct nble_response *par);
-/**
- * Get nble_core version.
- *
- * The response to this request is received through @ref on_ble_get_version_rsp
- *
- * @param rsp Pointer to response data structure
- */
void nble_get_version_req(void *user_data);
struct nble_version_response {
@@ -712,21 +407,8 @@ struct nble_version_response {
void *user_data;
};
-/**
- * Response to @ref nble_get_version_req.
- *
- * @param par Response
- */
void on_nble_get_version_rsp(const struct nble_version_response *par);
-/**
- * Init DTM mode.
- *
- * The response to this request is received through
- * @ref on_nble_gap_dtm_init_rsp
- *
- * @param user_data Pointer to response data structure
- */
void nble_gap_dtm_init_req(void *user_data);
struct nble_gap_connect_evt {
@@ -738,11 +420,6 @@ struct nble_gap_connect_evt {
bt_addr_le_t peer_bda;
};
-/**
- * Function invoked by the BLE service when a new connection is established.
- *
- * @param ev Pointer to the event structure.
- */
void on_nble_gap_connect_evt(const struct nble_gap_connect_evt *ev);
struct nble_gap_disconnect_evt {
@@ -750,27 +427,13 @@ struct nble_gap_disconnect_evt {
uint8_t hci_reason;
};
-/**
- * Function invoked by the BLE service when a connection is lost.
- *
- * @param ev Pointer to the event structure.
- */
void on_nble_gap_disconnect_evt(const struct nble_gap_disconnect_evt *ev);
-
-/**
- * Updated connection event.
- */
struct nble_gap_conn_update_evt {
uint16_t conn_handle;
struct nble_gap_connection_values conn_values;
};
-/**
- * Function invoked by the BLE service when a connection is updated.
- *
- * @param ev Pointer to the event structure.
- */
void on_nble_gap_conn_update_evt(const struct nble_gap_conn_update_evt *ev);
struct nble_gap_adv_report_evt {
@@ -792,11 +455,6 @@ struct nble_gap_rssi_evt {
int8_t rssi_lvl;
};
-/**
- * Function invoked by the BLE service upon RSSI event.
- *
- * @param ev Pointer to the event structure.
- */
void on_nble_gap_rssi_evt(const struct nble_gap_rssi_evt *ev);
struct nble_gap_sm_passkey_req_evt {
@@ -804,12 +462,6 @@ struct nble_gap_sm_passkey_req_evt {
uint8_t key_type;
};
-/**
- * Function invoked by the BLE service upon security manager passkey
- * request event.
- *
- * @param ev Pointer to the event structure.
- */
void on_nble_gap_sm_passkey_req_evt(const struct nble_gap_sm_passkey_req_evt *);
struct nble_gap_sm_passkey_disp_evt {
@@ -831,11 +483,6 @@ struct nble_gap_sm_status_evt {
struct nble_link_sec enc_link_sec;
};
-/**
- * Function invoked by the BLE service upon a security manager event.
- *
- * @param ev Pointer to the event structure.
- */
void on_nble_gap_sm_status_evt(const struct nble_gap_sm_status_evt *ev);
struct nble_gap_sm_bond_info;
diff --git a/drivers/nble/gatt.c b/drivers/nble/gatt.c
index 67c266ba909..94cfa12a093 100644
--- a/drivers/nble/gatt.c
+++ b/drivers/nble/gatt.c
@@ -409,28 +409,36 @@ int bt_gatt_discover(struct bt_conn *conn,
BT_DBG("conn %p start 0x%04x end 0x%04x", conn, params->start_handle,
params->end_handle);
+ memset(&discover_params, 0, sizeof(discover_params));
+
switch (params->type) {
case BT_GATT_DISCOVER_PRIMARY:
case BT_GATT_DISCOVER_INCLUDE:
+ if (params->uuid) {
+ /* Always copy a full 128 bit UUID */
+ memcpy(&discover_params.uuid, BT_UUID_128(params->uuid),
+ sizeof(discover_params.uuid));
+ discover_params.flags = DISCOVER_FLAGS_UUID_PRESENT;
+ }
+
+ break;
case BT_GATT_DISCOVER_CHARACTERISTIC:
case BT_GATT_DISCOVER_DESCRIPTOR:
- discover_params.conn_handle = conn->handle;
- discover_params.type = params->type;
- /* Always copy a full 128 bit UUID */
- memcpy(&discover_params.uuid, BT_UUID_128(params->uuid),
- sizeof(discover_params.uuid));
- discover_params.handle_range.start_handle = params->start_handle;
- discover_params.handle_range.end_handle = params->end_handle;
-
- conn->gatt_private = params;
-
- nble_gattc_discover_req(&discover_params);
break;
default:
BT_ERR("Unknown params type %u", params->type);
return -EINVAL;
}
+ discover_params.conn_handle = conn->handle;
+ discover_params.type = params->type;
+ discover_params.handle_range.start_handle = params->start_handle;
+ discover_params.handle_range.end_handle = params->end_handle;
+
+ conn->gatt_private = params;
+
+ nble_gattc_discover_req(&discover_params);
+
return 0;
}
diff --git a/drivers/nble/gatt_internal.h b/drivers/nble/gatt_internal.h
index 2551ae66c97..ea4d2968106 100644
--- a/drivers/nble/gatt_internal.h
+++ b/drivers/nble/gatt_internal.h
@@ -29,16 +29,12 @@
* controller API
*/
-/**
- * GATT indication types.
- */
enum BLE_GATT_IND_TYPES {
BLE_GATT_IND_TYPE_NONE = 0,
BLE_GATT_IND_TYPE_NOTIFICATION,
BLE_GATT_IND_TYPE_INDICATION,
};
-/** GATT Register structure for one service */
struct nble_gatt_register_req {
/* Base address of the attribute table in the Quark mem space */
struct bt_gatt_attr *attr_base;
@@ -46,7 +42,6 @@ struct nble_gatt_register_req {
uint8_t attr_count;
};
-/** GATT Register structure for one service */
struct nble_gatt_register_rsp {
int status;
struct bt_gatt_attr *attr_base;
@@ -54,9 +49,6 @@ struct nble_gatt_register_rsp {
uint8_t attr_count;
};
-/**
- * Write event context data structure.
- */
struct nble_gatt_wr_evt {
struct bt_gatt_attr *attr;
uint16_t conn_handle;
@@ -66,9 +58,6 @@ struct nble_gatt_wr_evt {
uint8_t reply;
};
-/**
- * Read event context data structure.
- */
struct nble_gatt_rd_evt {
struct bt_gatt_attr *attr;
uint16_t conn_handle;
@@ -84,18 +73,11 @@ struct nble_gatts_rw_reply_params {
uint8_t write_reply;
};
-/**
- * Notification/Indication parameters
- */
struct nble_gatt_notif_ind_params {
struct bt_gatt_attr *attr;
uint16_t offset;
};
-/**
- * Indication or notification.
- */
-
struct nble_gatt_send_notif_params {
/* Function to be invoked when buffer is freed */
bt_gatt_notify_func_t cback;
@@ -124,9 +106,6 @@ struct nble_gatt_ind_rsp {
struct bt_gatt_attr *attr;
};
-/**
- * Attribute handle range definition.
- */
struct nble_gatt_handle_range {
uint16_t start_handle;
uint16_t end_handle;
@@ -144,7 +123,6 @@ struct nble_gattc_included {
struct bt_uuid_128 uuid;
};
-/* GATTC characteristic */
struct nble_gattc_characteristic {
uint16_t handle;
uint8_t prop;
@@ -152,9 +130,6 @@ struct nble_gattc_characteristic {
struct bt_uuid_128 uuid;
};
-/**
- * GATTC descriptor.
- */
struct nble_gattc_descriptor {
uint16_t handle;
struct bt_uuid_128 uuid;
@@ -173,111 +148,43 @@ struct nble_gatts_svc_changed_params {
uint16_t end_handle;
};
-/**
- * Send a service change indication.
- *
- * The response to this request is received through @ref
- * on_ble_gatts_send_svc_changed_rsp
- *
- * @note Not yet supported
- *
- * @param par Service parameters
- * @param priv Pointer to private data
- */
void nble_gatts_send_svc_changed_req(const struct nble_gatts_svc_changed_params *par,
void *priv);
-/** Register a BLE GATT Service.
- *
- * @param par Parameters of attribute data base
- * @param attr Serialized attribute buffer
- * @param attr_len Length of buffer
- */
-void nble_gatt_register_req(const struct nble_gatt_register_req *par,
- uint8_t *buf, uint16_t len);
-
-/**
- * Reply to an authorize request.
- *
- * @param par parameters for the reply
- * @param buf read value of the attribute
- * @param len length of buf
- */
void nble_gatts_authorize_reply_req(const struct nble_gatts_rw_reply_params *par,
uint8_t *buf, uint16_t len);
-/**
- * Conversion table entry nble_core to host attr index
- *
- * This is returned as a table on registering.
- */
+void nble_gatt_register_req(const struct nble_gatt_register_req *par,
+ uint8_t *buf, uint16_t len);
+
struct nble_gatt_attr_handles {
uint16_t handle; /* handle from ble controller should be sufficient */
};
-/** Response to registering a BLE GATT Service.
- *
- * The returned buffer contains an array (@ref nble_gatt_attr_idx_entry)with the
- * corresponding handles.
- *
- * @param par Parameters of attribute data base
- * @param attr Returned attributes index list
- * @param len Length of buffer
- */
void on_nble_gatt_register_rsp(const struct nble_gatt_register_rsp *par,
const struct nble_gatt_attr_handles *attr,
uint8_t len);
-/**
- * Function invoked by the BLE core when a write occurs.
- *
- * @param ev Pointer to the event structure
- * @param buf Pointer to data buffer
- * @param len Buffer length
- */
void on_nble_gatts_write_evt(const struct nble_gatt_wr_evt *ev,
const uint8_t *buf, uint8_t len);
-/**
- * Send notification.
- *
- * The response to this request is received
- *
- * @param par Notification parameters
- * @param data Indication data to write
- * @param length Length of indication - may be 0, in this case already
- * stored data is sent
- */
void nble_gatt_send_notif_req(const struct nble_gatt_send_notif_params *par,
uint8_t *data, uint16_t length);
-/**
- * Send indication.
- *
- * The response to this request is received
- *
- * @param par Indication parameters
- * @param data Indication data to write
- * @param length Length of indication - may be 0, in this case already
- * stored data is sent
- */
void nble_gatt_send_ind_req(const struct nble_gatt_send_ind_params *par,
uint8_t *data, uint8_t length);
-/** Discover parameters. */
+#define DISCOVER_FLAGS_UUID_PRESENT 1
+
struct nble_discover_params {
void *user_data;
struct bt_uuid_128 uuid;
struct nble_gatt_handle_range handle_range;
uint16_t conn_handle;
uint8_t type;
+ uint8_t flags;
};
-/**
- * Discover service.
- *
- * @param req Request structure.
- */
void nble_gattc_discover_req(const struct nble_discover_params *req);
/** GATT Attribute stream structure.
@@ -326,25 +233,9 @@ struct nble_gattc_write_rsp {
uint16_t len;
};
-
-/**
- * Read characteristic on remote server.
- *
- * @param params Request structure.
- * @param priv Pointer to private data.
- */
void nble_gattc_read_req(const struct nble_gattc_read_params *params,
void *priv);
-/**
- * Write characteristic on server.
- *
- * @param params Write parameters
- * @param buf Characteristic value to write.
- * @param len Characteristic value length. If length is bigger then ATT MTU
- * size, the controller fragment buffer itself.
- * @param priv Pointer to private data.
- */
void nble_gattc_write_req(const struct nble_gattc_write_params *params,
const uint8_t *buf, uint8_t len, void *priv);