#define BLUETOOTH_PIN_CODE_MAX_LENGTH 16
-#ifdef TIZEN_GATT_CLIENT
#define BLUETOOTH_GATT_ATT_DATA_LENGTH_MAX 610 /**< GATT ATT value max len */
-#endif
/**
* This is Bluetooth Connected event role
*/
typedef struct {
- time_t session_start_time;
- time_t session_end_time;
- uint16_t session_connected_time;
- uint16_t session_scan_time;
- GSList *atm_list;
+ time_t session_start_time;
+ time_t session_end_time;
+ uint32_t tx_time;
+ uint32_t rx_time;
+ uint32_t idle_time;
+ uint32_t session_connected_time;
+ uint32_t session_scan_time;
+ GSList *atm_list;
} bt_battery_data;
+typedef struct {
+ uid_t uid;
+ pid_t pid;
+ uint32_t rx_bytes;
+ uint32_t tx_bytes;
+ uint time;
+} bt_battery_app_data;
+
/**
* Adapter state
*/
* TDS transport Type
*/
typedef enum {
- BLUETOOTH_TDS_TRANSPORT_BT = 0x01, /* Transport type BR-EDR */
- BLUETOOTH_TDS_TRANSPORT_CUSTOM, /* Transport type custom */
+ BLUETOOTH_TDS_TRANSPORT_BT = 0x01, /* Transport type BR-EDR */
+ BLUETOOTH_TDS_TRANSPORT_CUSTOM, /* Transport type custom */
+ BLUETOOTH_TDS_TRANSPORT_WIFI_NAN, /* Wi-Fi Alliance Neighbor Awareness Networking */
+ BLUETOOTH_TDS_TRANSPORT_WIFI_SVC_ADV, /* Wi-Fi Alliance Service Advertisement */
/* ... */
BLUETOOTH_TDS_TRANSPORT_INVALID
} bluetooth_tds_transport_t;
* Advertising parameters
*/
typedef struct {
- float interval_min;
- float interval_max;
+ int interval_min;
+ int interval_max;
guint8 filter_policy;
guint8 type;
int tx_power_level;
/**< Base ID for IPSP events */
#define BLUETOOTH_EVENT_MAP_BASE ((int)(BLUETOOTH_EVENT_IPSP_BASE + 0x0020))
/**< Base ID for MAP events */
+#define BLUETOOTH_EVENT_MESH_BASE ((int)(BLUETOOTH_EVENT_MAP_BASE + 0x0020))
+ /**< Base ID for MAP events */
/**
* Bluetooth event type
BLUETOOTH_EVENT_ENABLED, /**< Bluetooth event adpater enabled */
BLUETOOTH_EVENT_DISABLED, /**< Bluetooth event adpater disabled */
+ BLUETOOTH_EVENT_DISABLED_BATTERY_DATA, /**< Bluetooth event adapter disabled battery data*/
BLUETOOTH_EVENT_LE_ENABLED, /**< Bluetooth event adpater enabled */
BLUETOOTH_EVENT_LE_DISABLED, /**< Bluetooth event adpater disabled */
BLUETOOTH_EVENT_LOCAL_NAME_CHANGED, /**< Bluetooth event local name changed*/
BLUETOOTH_EVENT_GATT_READ_DESC, /**<Gatt Read Characteristic Descriptor Value */
BLUETOOTH_EVENT_GATT_WRITE_DESC, /**<Gatt Write Characteristic Descriptor Value */
BLUETOOTH_EVENT_GATT_SVC_CHAR_DESC_DISCOVERED, /**<Gatt Char Descriptors Discovered Event*/
-#ifdef TIZEN_GATT_CLIENT
BLUETOOTH_EVENT_GATT_SERVER_CONNECTED,/**<Local Gatt Server connected event */
BLUETOOTH_EVENT_GATT_SERVER_DISCONNECTED, /**<Local Gatt Server Disconnected event */
BLUETOOTH_EVENT_GATT_CLIENT_CONNECTED,/**<Local Gatt Client connected event */
BLUETOOTH_EVENT_GATT_CLIENT_DISCONNECTED, /**<Local Gatt Client Disconnected event */
-#else
- BLUETOOTH_EVENT_GATT_CONNECTED,/**<Gatt connected event */
- BLUETOOTH_EVENT_GATT_DISCONNECTED, /**<Gatt Disconnected event */
-#endif
BLUETOOTH_EVENT_GATT_ATT_MTU_CHANGED, /**<Attribute protocol MTU changed event */
BLUETOOTH_EVENT_GATT_SERVER_ATT_MTU_CHANGED, /**<Attribute protocol Server MTU changed event */
BLUETOOTH_EVENT_GATT_SERVER_CHARACTERISTIC_VALUE_CHANGED, /**<Gatt Char write callback event */
BLUETOOTH_EVENT_AVRCP_SETTING_REPEAT_STATUS, /**<AVRCP service player repeat status event*/
BLUETOOTH_EVENT_AVRCP_SETTING_SCAN_STATUS, /**<AVRCP service player scan status event*/
BLUETOOTH_EVENT_AVRCP_DELAY_CHANGED, /**<AVRCP service transport delay changed event*/
+ BLUETOOTH_EVENT_AVRCP_VOLUME_CHANGED, /**<AVRCP service transport volume changed event*/
+ BLUETOOTH_EVENT_AUDIO_AVC_STATUS, /**<Absolute Volume Control status changed event*/
BLUETOOTH_EVENT_HF_CONNECTED,
BLUETOOTH_EVENT_HF_DISCONNECTED,
BLUETOOTH_EVENT_HF_AUDIO_CONNECTED,
BLUETOOTH_EVENT_HF_CALLSETUP_DIALING,
BLUETOOTH_EVENT_HF_CALLSETUP_ALERTING,
BLUETOOTH_EVENT_HF_CIEV_DEVICE_STATUS_CHANGED,
+ BLUETOOTH_EVENT_AUDIO_AVC_MODE_CHANGED,
BLUETOOTH_HID_CONNECTED = BLUETOOTH_EVENT_HID_BASE, /**< Input connectd event*/
BLUETOOTH_HID_DISCONNECTED, /**< Input disconnectd event*/
BLUETOOTH_EVENT_OTP_WRITE_CHAR_VAL, /* OTP Write Value Response */
BLUETOOTH_EVENT_OTP_INDICATION, /* OTP Indication */
BLUETOOTH_EVENT_OTC_STATE_CHANGED, /* OTC Connection State Changed Event */
+ BLUETOOTH_EVENT_MESH_SCAN_STARTED = BLUETOOTH_EVENT_MESH_BASE,
+ BLUETOOTH_EVENT_MESH_SCAN_FINISHED,
+ BLUETOOTH_EVENT_MESH_SCAN_RESULT,
+ BLUETOOTH_EVENT_MESH_AUTHENTICATION_REQUEST,
+ BLUETOOTH_EVENT_MESH_PROVISIONING_FINISHED,
+ BLUETOOTH_EVENT_MESH_NODE_BROWSED,
+ BLUETOOTH_EVENT_MESH_NODE_VENDOR_FEATURES,
+ BLUETOOTH_EVENT_MESH_NODE_KEY_CONFIGURED,
+ BLUETOOTH_EVENT_MESH_NODE_TTL_CONFIGURED,
+ BLUETOOTH_EVENT_MESH_MODEL_APPKEY_BIND,
+ BLUETOOTH_EVENT_MESH_MODEL_APPKEY_LIST,
+ BLUETOOTH_EVENT_MESH_MODEL_MSG_EXECUTED,
+ BLUETOOTH_EVENT_MESH_MODEL_SUBSCRIPTION_LIST,
+ BLUETOOTH_EVENT_MESH_MODEL_SUBSCRIPTION_CONFGURED,
+ BLUETOOTH_EVENT_MESH_MODEL_VIRTUAL_SUBSCRIPTION_CONFGURED,
+ BLUETOOTH_EVENT_MESH_MODEL_PUBLICATION_STATUS,
} bluetooth_event_type_t;
/**
BLUETOOTH_LE_SCAN_FILTER_FEATURE_DEVICE_NAME = 0x10, /**< device name */
BLUETOOTH_LE_SCAN_FILTER_FEATURE_MANUFACTURER_DATA = 0x20, /**< manufacturer data */
BLUETOOTH_LE_SCAN_FILTER_FEATURE_SERVICE_DATA = 0x40, /**< service data */
+ BLUETOOTH_LE_SCAN_FILTER_FEATURE_RSSI_HIGH_THRESHOLD = 0x80, /**< rssi high threshold */
} bluetooth_le_scan_filter_feature_t;
/**
int manufacturer_id; /**< manufacturer ID */
bluetooth_le_advertising_data_t manufacturer_data; /**< manufacturer data */
bluetooth_le_advertising_data_t manufacturer_data_mask; /**< manufacturer data mask */
+ int rssi_high_threshold; /**< rssi high threshold */
} bluetooth_le_scan_filter_t;
typedef struct {
bluetooth_device_address_t device_addr;
unsigned char addr_type;
int disc_reason;
+ int rssi;
} bt_connection_info_t;
/**
typedef struct {
int count;
char **handle;
-#ifdef TIZEN_GATT_CLIENT
char uuids[BLUETOOTH_MAX_SERVICES_FOR_DEVICE][BLUETOOTH_UUID_STRING_MAX];
int inst_id[BLUETOOTH_MAX_SERVICES_FOR_DEVICE];
-#endif
} bt_gatt_handle_info_t;
-#ifdef TIZEN_GATT_CLIENT
/**
* Structure to a most basic GATT attribute handle data
*/
unsigned char uuid[16];
char address[BLUETOOTH_ADDRESS_STRING_LENGTH];
} bt_gatt_handle_property_t;
-#endif
/**
* Structure to GATT Remote service data
gboolean primary;
bt_gatt_handle_info_t include_handles;
bt_gatt_handle_info_t char_handle;
-#ifdef TIZEN_GATT_CLIENT
bt_gatt_handle_property_t prop; /* Added Service UUID, instance_id & associated remote device */
-#endif
} bt_gatt_service_property_t;
/**
unsigned int permission;
char *representation;
bt_gatt_handle_info_t char_desc_handle;
-#ifdef TIZEN_GATT_CLIENT
bt_gatt_handle_property_t prop; /* Added Char UUID, instance_id */
bt_gatt_handle_property_t svc_prop; /* Added Service UUID, instance_id */
char value[BLUETOOTH_GATT_ATT_DATA_LENGTH_MAX]; /* Added */
char address[BLUETOOTH_ADDRESS_STRING_LENGTH]; /* Added */
-#endif
} bt_gatt_char_property_t;
/**
char *uuid;
unsigned char *val;
unsigned int val_len;
-#ifdef TIZEN_GATT_CLIENT
bt_gatt_handle_property_t prop; /* Added Descriptor UUID, instance_id */
bt_gatt_handle_property_t char_prop; /* Added Char UUID, instance_id */
bt_gatt_handle_property_t svc_prop; /* Added Service UUID, instance_id */
char value[BLUETOOTH_GATT_ATT_DATA_LENGTH_MAX];/* Added */
char address[BLUETOOTH_ADDRESS_STRING_LENGTH]; /* Added */
-#endif
} bt_gatt_char_descriptor_property_t;
/**
bluetooth_device_address_t device_addr;
char *svc_path;
bluetooth_gatt_service_change_type_t change_type;
+ int inst_id;
+ char *uuid;
} bt_gatt_service_change_t;
/**
ret = bluetooth_disable_adapter();
@endcode
*/
-int bluetooth_read_battery_data(bt_battery_data *latest);
int bluetooth_disable_adapter(void);
+int bluetooth_read_battery_data(bt_battery_data *latest);
+int bluetooth_set_battery_monitor_state(bool state);
+int bluetooth_get_battery_monitor_state(void);
int bluetooth_recover_adapter(void);
int bluetooth_check_adapter_le(void);
int bluetooth_enable_adapter_le(void);
*/
gboolean bluetooth_is_le_scanning(void);
-gboolean bluetooth_is_scan_filter_supported(void);
+int bluetooth_is_scan_filter_supported(gboolean *is_supported);
/**
* @fn int bluetooth_force_hcidump(int timeout)
int bluetooth_force_hcidump(int timeout);
/**
- * @fn int bluetooth_register_scan_filter(bluetooth_le_scan_filter_t *filter, int *slot_id)
+ * @fn int bluetooth_register_scan_filter(bluetooth_le_scan_filter_t *filter)
* @brief Register scan filter.
*
* This function registers the scan filter.
* @return BLUETOOTH_ERROR_NONE - Success \n
*
* @param[in] filter scan filter to register
- * @param[out] slot_id the slot ID of scan filter
- *
- * @remark None
- */
-int bluetooth_register_scan_filter(bluetooth_le_scan_filter_t *filter, int *slot_id);
-
-/**
- * @fn int bluetooth_unregister_scan_filter(int slot_id)
- * @brief Register scan filter.
- *
- * This function unregisters the scan filter.
- *
- * This function is a synchronous call.
- *
- * @return BLUETOOTH_ERROR_NONE - Success \n
- *
- * @param[in] slot_id the slot ID of scan filter
*
* @remark None
*/
-int bluetooth_unregister_scan_filter(int slot_id);
-
-/**
- * @fn int bluetooth_unregister_all_scan_filters(void)
- * @brief Register scan filter.
- *
- * This function usregisters all scan filters.
- *
- * This function is a synchronous call.
- *
- * @return BLUETOOTH_ERROR_NONE - Success \n
- *
- * @remark None
- */
-int bluetooth_unregister_all_scan_filters(void);
+int bluetooth_register_scan_filter(bluetooth_le_scan_filter_t *filter);
/**
* @fn int bluetooth_enable_rssi(const bluetooth_device_address_t *remote_address,
*/
int bluetooth_gatt_free_desc_property(bt_gatt_char_descriptor_property_t *desc_pty);
-#ifdef TIZEN_GATT_CLIENT
int bluetooth_connect_le(const bluetooth_device_address_t *device_address,
gboolean auto_connect, int client_id);
-#else
-int bluetooth_connect_le(const bluetooth_device_address_t *device_address, gboolean auto_connect);
-#endif
-#ifdef TIZEN_GATT_CLIENT
int bluetooth_disconnect_le(const bluetooth_device_address_t *device_address,
int client_id);
-#else
-int bluetooth_disconnect_le(const bluetooth_device_address_t *device_address);
-#endif
+
+int bluetooth_get_gatt_data_batching_available_packets(
+ int *available_packets);
+
+int bluetooth_enable_gatt_data_batching(
+ const bluetooth_device_address_t *device_address, int packet_threshold, int timeout);
+
+int bluetooth_disable_gatt_data_batching(
+ const bluetooth_device_address_t *device_address);
/**
* @fn int bluetooth_gatt_discover_characteristic_descriptor(const char *characteristic_handle);