X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=bt-api%2Finclude%2Fbt-common.h;h=b4873d94f876a14d325c1de1ba0e073b234810cd;hb=1fa07edcd0e77a445700975773db3300f556caf5;hp=828bebebb65d6f86acd62788e6d4cce1e09cd85e;hpb=7640de5c091be29285bd031bcbd591aa14cf0d3e;p=platform%2Fcore%2Fconnectivity%2Fbluetooth-frwk.git diff --git a/bt-api/include/bt-common.h b/bt-api/include/bt-common.h index 828bebe..b4873d9 100644 --- a/bt-api/include/bt-common.h +++ b/bt-api/include/bt-common.h @@ -1,11 +1,5 @@ /* - * Bluetooth-frwk - * - * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved. - * - * Contact: Hocheol Seo - * Girishashok Joshi - * Chanyeol Park + * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -27,8 +21,6 @@ #include #include -#include -#include #include #include #include @@ -54,11 +46,11 @@ extern "C" { #define LOG_COLOR_PURPLE "\033[35m" #define BT_DBG(fmt, args...) \ - SLOGD(fmt, ##args) + SLOGD(fmt, ##args) #define BT_INFO(fmt, args...) \ - SLOGI(fmt, ##args) + SLOGI(fmt, ##args) #define BT_ERR(fmt, args...) \ - SLOGE(fmt, ##args) + SLOGE(fmt, ##args) #define BT_DBG_UUID(uuids, len, i) \ BT_DBG("***UUIDs***"); \ @@ -106,7 +98,7 @@ extern "C" { GArray *in_param4 = NULL; \ GArray *out_param = NULL; -#define BT_FREE_PARAMS(IP1,IP2,IP3,IP4,OP) \ +#define BT_FREE_PARAMS(IP1, IP2, IP3, IP4, OP) \ do { \ if (IP1) \ g_array_free(IP1, TRUE); \ @@ -120,19 +112,19 @@ extern "C" { g_array_free(OP, TRUE); \ } while (0) -#define BT_ALLOC_PARAMS(IP1,IP2,IP3,IP4,OP ) \ +#define BT_ALLOC_PARAMS(IP1, IP2, IP3, IP4, OP) \ do { \ - IP1 = g_array_new(TRUE, TRUE, sizeof(gchar)); \ - IP2 = g_array_new(TRUE, TRUE, sizeof(gchar)); \ - IP3 = g_array_new(TRUE, TRUE, sizeof(gchar)); \ - IP4 = g_array_new(TRUE, TRUE, sizeof(gchar)); \ + IP1 = g_array_new(TRUE, TRUE, sizeof(gchar)); \ + IP2 = g_array_new(TRUE, TRUE, sizeof(gchar)); \ + IP3 = g_array_new(TRUE, TRUE, sizeof(gchar)); \ + IP4 = g_array_new(TRUE, TRUE, sizeof(gchar)); \ } while (0) #define BT_INIT_AGENT_PARAMS() \ GArray *in_param = NULL; \ GArray *out_param = NULL; -#define BT_FREE_AGENT_PARAMS(IP,OP) \ +#define BT_FREE_AGENT_PARAMS(IP, OP) \ do { \ if (IP) \ g_array_free(IP, TRUE); \ @@ -140,15 +132,14 @@ extern "C" { g_array_free(OP, TRUE); \ } while (0) -#define BT_ALLOC_AGENT_PARAMS(IP,OP) \ +#define BT_ALLOC_AGENT_PARAMS(IP, OP) \ do { \ - IP = g_array_new(FALSE, FALSE, sizeof(gchar)); \ + IP = g_array_new(FALSE, FALSE, sizeof(gchar)); \ } while (0) #define BT_CHECK_PARAMETER(arg, func) \ do { \ - if (arg == NULL) \ - { \ + if (arg == NULL) { \ BT_ERR("%s is NULL", #arg); \ func BLUETOOTH_ERROR_INVALID_PARAM; \ } \ @@ -156,8 +147,7 @@ extern "C" { #define BT_CHECK_ENABLED(func) \ do { \ - if (bluetooth_check_adapter() == BLUETOOTH_ADAPTER_DISABLED) \ - { \ + if (bluetooth_check_adapter() == BLUETOOTH_ADAPTER_DISABLED) { \ BT_ERR("BT BREDR is not enabled"); \ func BLUETOOTH_ERROR_DEVICE_NOT_ENABLED; \ } \ @@ -165,8 +155,7 @@ extern "C" { #define BT_CHECK_ENABLED_LE(func) \ do { \ - if (bluetooth_check_adapter_le() == BLUETOOTH_ADAPTER_LE_DISABLED) \ - { \ + if (bluetooth_check_adapter_le() == BLUETOOTH_ADAPTER_LE_DISABLED) { \ BT_ERR("BT LE is not enabled"); \ func BLUETOOTH_ERROR_DEVICE_NOT_ENABLED; \ } \ @@ -175,13 +164,20 @@ extern "C" { #define BT_CHECK_ENABLED_ANY(func) \ do { \ if (bluetooth_check_adapter() == BLUETOOTH_ADAPTER_DISABLED && \ - bluetooth_check_adapter_le() == BLUETOOTH_ADAPTER_LE_DISABLED) \ - { \ + bluetooth_check_adapter_le() == BLUETOOTH_ADAPTER_LE_DISABLED) { \ BT_ERR("BT is not enabled"); \ func BLUETOOTH_ERROR_DEVICE_NOT_ENABLED; \ } \ } while (0) +#define BT_CHECK_ENABLED_INTERNAL(func) \ + do { \ + if (_bt_check_enabled_internal() == FALSE) { \ + BT_ERR("BT BREDR is not enabled"); \ + func BLUETOOTH_ERROR_DEVICE_NOT_ENABLED; \ + } \ + } while (0) + #define BT_ADDRESS_LENGTH_MAX 6 #define BT_ADDRESS_STRING_SIZE 18 #define BT_ADAPTER_OBJECT_PATH_MAX 50 @@ -213,29 +209,45 @@ extern "C" { #define BT_AGENT_INTERFACE "org.bluez.Agent1" +#define BT_ERROR_INTERNAL "InternalError" +#define BT_ERROR_NOT_AVAILABLE "NotAvailable" +#define BT_ERROR_NOT_CONNECTED "NotConnected" +#define BT_ERROR_NOT_CONNECTION_FAILED "ConnectionFailed" +#define BT_ERROR_BUSY "InProgress" +#define BT_ERROR_INVALID_PARAM "InvalidArguments" +#define BT_ERROR_ALREADY_EXIST "AlreadyExists" +#define BT_ERROR_DOES_NOT_EXIST "DoesNotExist" +#define BT_ERROR_ALREADY_CONNECTED "Already Connected" +#define BT_ERROR_NO_MEMORY "No memory" +#define BT_ERROR_NO_DATA "No data" +#define BT_ERROR_I_O_ERROR "I/O error" +#define BT_ERROR_OPERATION_NOT_AVAILABLE "Operation currently not available" +#define BT_ERROR_OPERATION_NOT_ALLOWED "Operation not allowed" +#define BT_ERROR_OPERATION_NOT_SUPPORTED "Operation not supported" +#define BT_ERROR_INVALID_FILE_DESCRIPTOR "Invalid File Descriptor" +#define BT_ERROR_ACCESS_DENIED "Rejected send message" -#define BT_MAX_USER_INFO 5 #define RFKILL_EVENT_SIZE 8 #define RFKILL_NODE "/dev/rfkill" typedef enum { - RFKILL_TYPE_ALL = 0, - RFKILL_TYPE_WLAN, - RFKILL_TYPE_BLUETOOTH, - RFKILL_TYPE_UWB, - RFKILL_TYPE_WIMAX, - RFKILL_TYPE_WWAN, - RFKILL_TYPE_GPS, - RFKILL_TYPE_FM, - NUM_RFKILL_TYPES, + RFKILL_TYPE_ALL = 0, + RFKILL_TYPE_WLAN, + RFKILL_TYPE_BLUETOOTH, + RFKILL_TYPE_UWB, + RFKILL_TYPE_WIMAX, + RFKILL_TYPE_WWAN, + RFKILL_TYPE_GPS, + RFKILL_TYPE_FM, + NUM_RFKILL_TYPES, } rfkill_type; typedef struct { - unsigned int idx; - unsigned char type; - unsigned char op; - unsigned char soft; - unsigned char hard; + unsigned int idx; + unsigned char type; + unsigned char op; + unsigned char soft; + unsigned char hard; } rfkill_event; typedef enum { @@ -244,6 +256,14 @@ typedef enum { BT_AUDIO, BT_AVRCP, BT_HF, +#ifndef GATT_DIRECT + BT_GATT_SERVER, +#endif + +#ifdef TIZEN_GATT_CLIENT + BT_GATT_CLIENT, +#endif + BT_MAX_USER_INFO } bt_user_info_type_t; typedef struct { @@ -278,19 +298,40 @@ void _bt_avrcp_event_cb(int event, int result, void *param, void _bt_opp_client_event_cb(int event, int result, void *param, void *callback, void *user_data); +void _bt_map_client_event_cb(int event, int result, void *param, + void *callback, void *user_data); + +#ifndef GATT_DIRECT +void _bt_gatt_server_event_cb(int event, int result, void *param, + void *callback, void *user_data); +#endif + +#ifdef TIZEN_GATT_CLIENT +void _bt_gatt_client_event_cb(int event, int result, void *param, + void *callback, void *user_data); +#endif + void _bt_divide_device_class(bluetooth_device_class_t *device_class, unsigned int cod); -void _bt_convert_addr_string_to_type(unsigned char *addr, - const char *address); +void _bt_convert_addr_string_to_type(unsigned char *addr, const char *address); + +void _bt_convert_addr_string_to_secure_string(char *addr, const char *address); + +void _bt_convert_addr_type_to_string(char *address, unsigned char *addr); -void _bt_convert_addr_type_to_string(char *address, - unsigned char *addr); +void _bt_convert_addr_type_to_secure_string(char *address, unsigned char *addr); + +const char *_bt_convert_error_to_string(int error); + +const char *_bt_convert_service_function_to_string(int function); int _bt_copy_utf8_string(char *dest, const char *src, unsigned int length); gboolean _bt_utf8_validate(char *name); +void _bt_convert_uuid_type_to_string(char *str, const unsigned char *uuid); + typedef struct { char *obj_path; char *uuid; @@ -304,10 +345,12 @@ typedef struct { int _bt_get_adapter_path(GDBusConnection *conn, char *path); char *_bt_get_device_object_path(char *address); +void _bt_print_api_caller_name(void); int _bt_connect_profile(char *address, char *uuid, void *cb, gpointer func_data); int _bt_disconnect_profile(char *address, char *uuid, void *cb, gpointer func_data); +int _bt_disconnect_ext_profile(char *address, char *path); int _bt_cancel_discovers(char *address); int _bt_discover_services(char *address, char *uuid, void *cb, @@ -322,56 +365,56 @@ int _bt_register_profile_platform(bt_register_profile_info_t *info, gboolean use int _bt_register_profile_ex(bt_register_profile_info_t *info, gboolean use_default_rfcomm, const char *name, const char *path); void _bt_unregister_profile(char *path); -GDBusNodeInfo * _bt_get_gdbus_node(const gchar *xml_data); -GDBusNodeInfo * _bt_get_gdbus_node_ex(const gchar *xml_data, const char *bus_name); int __rfcomm_assign_id(void); void __rfcomm_delete_id(int id); void _bt_unregister_gdbus(int object_id); typedef int (*bt_new_connection_cb) (const char *path, int fd, bluetooth_device_address_t *address); int _bt_register_new_conn(const char *path, bt_new_connection_cb cb); -int _bt_register_new_conn_ex(const char *path, const char *bus_name,bt_new_connection_cb cb); +int _bt_register_new_conn_ex(const char *path, const char *bus_name, bt_new_connection_cb cb); void _bt_swap_addr(unsigned char *dst, const unsigned char *src); -DBusGProxy *_bt_get_adapter_proxy(DBusGConnection *conn); - -void _bt_device_path_to_address(const char *device_path, char *device_address); +int _bt_register_osp_server_in_agent(int type, char *uuid, char *path, int fd); +int _bt_unregister_osp_server_in_agent(int type, char *uuid); -DBusGConnection *__bt_init_system_gconn(void); +int _bt_check_privilege(int service_type, int service_function); -DBusGConnection *_bt_get_system_gconn(void); +GDBusConnection *_bt_get_system_shared_conn(void); +GDBusConnection *_bt_get_system_private_conn(void); -DBusConnection *_bt_get_system_conn(void); +GVariant *_bt_get_managed_objects(void); -GDBusConnection *_bt_init_system_gdbus_conn(void); +gboolean _bt_check_enabled_internal(void); -char *_bt_get_cookie(void); +void _bt_set_adapter_internal_status(gboolean enabled); -int _bt_get_cookie_size(void); +void _bt_convert_device_path_to_addr_type(const char *device_path, + unsigned char *addr); -int _bt_register_osp_server_in_agent(int type, char *uuid, char *path, int fd); -int _bt_unregister_osp_server_in_agent(int type, char *uuid); +void _bt_convert_device_path_to_address(const char *device_path, + char *device_address); -void _bt_generate_cookie(void); +#ifdef TIZEN_FEATURE_BT_RFCOMM_DIRECT +void _bt_rfcomm_server_free_all(void); -void _bt_destroy_cookie(void); +void _bt_rfcomm_server_disconnect_all(void); -int _bt_check_privilege(int service_type, int service_function); +void _bt_rfcomm_client_disconnect_all(void); -GDBusConnection *_bt_gdbus_init_system_gconn(void); +gboolean _check_uuid_path(char *path, char *uuid); +#endif -GDBusConnection *_bt_gdbus_get_system_gconn(void); +int _bt_hid_device_get_fd(const char *address, int *ctrl, int *intr); -GVariant *_bt_get_managed_objects(void); +int _bt_hid_new_connection(bluetooth_device_address_t *addr, + int ctrl_fd, int intr_fd); -void _bt_convert_device_path_to_address(const char *device_path, - char *device_address); +void _bt_hid_free_hid_info(void); -#ifdef RFCOMM_DIRECT -void _bt_rfcomm_server_free_all(); +int _bt_get_error_value_from_message(const char *error_message); -gboolean _check_uuid_path(char *path, char *uuid); -#endif +void _bt_hdp_app_remove_obj_info(unsigned int channe_id); +int _bt_hdp_app_acquire_fd(bt_hdp_connected_t *conn_info); #ifdef __cplusplus }