Implement get_att_mtu logic in hal gatt client
[platform/core/connectivity/bluetooth-frwk.git] / bt-oal / hardware / bt_gatt_client.h
index a86d812..e1ba5b9 100644 (file)
@@ -89,7 +89,8 @@ typedef void (*register_client_callback)(int status, int client_if,
                bt_uuid_t *app_uuid);
 
 /** Callback for scan results */
-typedef void (*scan_result_callback)(bt_bdaddr_t* bda, int rssi, uint8_t* adv_data);
+typedef void (*scan_result_callback)(bt_bdaddr_t* bda, uint8_t addr_type, int rssi,
+               uint8_t* adv_data, int adv_dat_len, uint8_t *scan_rsp_data, int scan_rsp_data_len);
 
 /** GATT open callback invoked in response to open */
 typedef void (*connect_callback)(int conn_id, int status, int client_if, bt_bdaddr_t* bda);
@@ -132,6 +133,9 @@ typedef void (*register_for_notification_callback)(int conn_id,
  */
 typedef void (*notify_callback)(int conn_id, btgatt_notify_params_t *p_data);
 
+/** Registers service changed callback operation */
+typedef void (*service_changed_callback)(bt_bdaddr_t *bd_addr, int change_type, uint8_t *uuid, int conn_id, int inst_id);
+
 /** Reports result of a GATT read operation */
 typedef void (*read_characteristic_callback)(int conn_id, int status,
                btgatt_read_params_t *p_data);
@@ -203,6 +207,7 @@ typedef struct {
        get_included_service_callback       get_included_service_cb;
        register_for_notification_callback  register_for_notification_cb;
        notify_callback                     notify_cb;
+       service_changed_callback            service_changed_cb;
        read_characteristic_callback        read_characteristic_cb;
        write_characteristic_callback       write_characteristic_cb;
        read_descriptor_callback            read_descriptor_cb;
@@ -311,12 +316,12 @@ typedef struct {
         * Register to receive notifications or indications for a given
         * characteristic
         */
-       bt_status_t (*register_for_notification)(int client_if,
+       bt_status_t (*register_for_notification)(int conn_id,
                        const bt_bdaddr_t *bd_addr, btgatt_srvc_id_t *srvc_id,
                        btgatt_gatt_id_t *char_id);
 
        /** Deregister a previous request for notifications/indications */
-       bt_status_t (*deregister_for_notification)(int client_if,
+       bt_status_t (*deregister_for_notification)(int conn_id,
                        const bt_bdaddr_t *bd_addr, btgatt_srvc_id_t *srvc_id,
                        btgatt_gatt_id_t *char_id);
 
@@ -335,6 +340,9 @@ typedef struct {
        /** Test mode interface */
        bt_status_t (*test_command)(int command, btgatt_test_params_t* params);
 
+       /* Get current att mtu size of active connection */
+       bt_status_t (*get_att_mtu)(int conn_id, int *mtu_size);
+
        /** MTU Exchange request from client */
        bt_status_t (*configure_mtu)(int conn_id, int mtu);
 
@@ -380,6 +388,17 @@ typedef struct {
        /* Read out batchscan reports */
        bt_status_t (*batchscan_read_reports)(int client_if, int scan_mode);
 
+       /** Adds a connection info in list */
+       bt_status_t (*add_connection_info)(const bt_bdaddr_t *bd_addr, int conn_id, int server_inst_id);
+
+       /** Get data batching available packets */
+       bt_status_t (*get_data_batching_available_packets)(unsigned int *available_packets);
+
+       /** Enable data batching */
+       bt_status_t (*enable_data_batching)(const bt_bdaddr_t *bd_addr, int packet_threshold, int timeout);
+
+       /** Disable data batching */
+       bt_status_t (*disable_data_batching)(const bt_bdaddr_t *bd_addr);
 } btgatt_client_interface_t;
 
 __END_DECLS