/* Just a thin wrapper around memcmp to deal with NULL values */
int memncmp0(const void *a, size_t na, const void *b, size_t nb);
+
+#ifdef TIZEN_FEATURE_BLUEZ_MODIFY
+void obex_convert_device_path_to_address(const char *device_path, char *device_address);
+int obex_object_path_to_uuid(const char *path);
+void obex_session_disconnect(const char *uuid_path, const char *device_path);
+#endif
return TRUE;
}
-static gboolean send_sprd_a2dp_qos(bdaddr_t *dst, gboolean qos_high)
+static gboolean send_sprd_a2dp_qos(const bdaddr_t *dst, gboolean qos_high)
{
int dd;
int err = 0;
}
#endif
-static gboolean avrcp_get_capabilities_resp(struct avctp *conn,
- uint8_t code, uint8_t subunit,
+static gboolean avrcp_get_capabilities_resp(struct avctp *conn, uint8_t code,
+ uint8_t subunit, uint8_t transaction,
uint8_t *operands, size_t operand_count,
void *user_data)
{
.set_delay = set_delay
};
+#ifndef TIZEN_FEATURE_BLUEZ_MODIFY
static void a2dp_destroy_endpoint(void *user_data)
{
struct media_endpoint *endpoint = user_data;
endpoint->sep = NULL;
release_endpoint(endpoint);
}
+#endif
static gboolean endpoint_init_a2dp_source(struct media_endpoint *endpoint,
gboolean delay_reporting,
return endpoint;
}
-#ifdef TIZEN_FEATURE_BLUEZ_MODIFY
-static int parse_a2dp_uuid(DBusMessageIter *props, const char **uuid)
-{
- gboolean has_uuid = FALSE;
-
- while (dbus_message_iter_get_arg_type(props) == DBUS_TYPE_DICT_ENTRY) {
- const char *key;
- DBusMessageIter value, entry;
- int var;
-
- dbus_message_iter_recurse(props, &entry);
- dbus_message_iter_get_basic(&entry, &key);
-
- dbus_message_iter_next(&entry);
- dbus_message_iter_recurse(&entry, &value);
-
- var = dbus_message_iter_get_arg_type(&value);
- if (strcasecmp(key, "UUID") == 0) {
- if (var != DBUS_TYPE_STRING)
- return -EINVAL;
- dbus_message_iter_get_basic(&value, uuid);
- has_uuid = TRUE;
- }
- dbus_message_iter_next(props);
- }
-
- return has_uuid ? 0 : -EINVAL;
-}
-#endif
-
static int parse_properties(DBusMessageIter *props, const char **uuid,
gboolean *delay_reporting, uint8_t *codec,
uint8_t **capabilities, int *size)
void *data)
{
struct media_adapter *adapter = data;
- DBusMessageIter args, props;
const char *a2dp_role;
gboolean ret;
- int err;
if (!dbus_message_get_args(msg, NULL,
DBUS_TYPE_STRING, &a2dp_role,
GDBusPendingPropertySet id, void *data)
{
struct monitor *monitor = data;
+#ifndef TIZEN_FEATURE_BLUEZ_MODIFY
struct btd_device *device = monitor->device;
+#endif
const char *level;
if (dbus_message_iter_get_arg_type(iter) != DBUS_TYPE_STRING) {
return 0;
}
-static int tds_device_remove(struct btd_service *service)
+static void tds_device_remove(struct btd_service *service)
{
struct btd_device *device = btd_service_get_device(service);
DBG("device path %s", device_get_path(device));
tds_seeker_disconnected(device_get_adapter(device), device);
btd_service_disconnecting_complete(service, 0);
- return 0;
}
static int tds_device_accepted(struct btd_service *service)
return l->data;
}
-static struct btd_device *
-tds_get_connected_device(struct connected_device *con_dev)
+#if 0
+static struct btd_device *tds_get_connected_device(struct connected_device *con_dev)
{
return con_dev->device;
}
+#endif
static int device_cmp(gconstpointer a, gconstpointer b)
{
}
#ifdef TIZEN_FEATURE_PLATFROM_SCAN_FILTER
-static void addr_filter_params_free(gpointer data, gpointer user_data)
+static void addr_filter_params_free(gpointer data)
{
adapter_le_address_filter_params_t *params = data;
g_free(params);
}
-static void uuid_filter_params_free(gpointer data, gpointer user_data)
+static void uuid_filter_params_free(gpointer data)
{
adapter_le_uuid_params_t *params = data;
g_free(params);
}
-static void manufacturer_filter_params_free(gpointer data, gpointer user_data)
+static void manufacturer_filter_params_free(gpointer data)
{
adapter_le_manf_data_params_t *params = data;
g_free(params);
}
-static void local_name_filter_params_free(gpointer data, gpointer user_data)
+static void local_name_filter_params_free(gpointer data)
{
adapter_le_local_name_params_t *params = data;
g_free(params);
}
-static void service_data_filter_params_free(gpointer data, gpointer user_data)
+static void service_data_filter_params_free(gpointer data)
{
adapter_le_service_data_params_t *params = data;
g_free(params);
}
-static void scan_filter_params_free(gpointer data, gpointer user_data)
+static void scan_filter_params_free(gpointer data)
{
adapter_le_scan_filter_param_t *params = data;
g_free(params);
/* if the advertisiement packet is an iBeacon */
if (msd->company == COMPANY_ID_APPLE)
return 0;
- return strncasecmp((const char *)params->man_data, msd->data, params->man_data_len);
+ return strncasecmp((const char *)params->man_data,
+ (const char *)msd->data,
+ params->man_data_len);
} else {
return -1;
}
const struct eir_sd *sd = b;
/* Todo, the service data format for 16 bit, 32bit and
* 128 bit uuids needs to addressed */
- return strncasecmp((const char *)(params->service_data), sd->data, sd->data_len);
+ return strncasecmp((const char *)(params->service_data),
+ (const char *)sd->data,
+ sd->data_len);
}
int adapter_le_address_filter_index_cmp(gconstpointer a, gconstpointer b)
if (uuid_mask_len == UUID_16_LEN) {
uint16_t *uuid16 = (void *)p_uuid;
- sdp_uuid16_create(&uuid, get_be16(uuid16));
+ sdp_uuid16_create((uuid_t *)&uuid, get_be16(uuid16));
} else if (uuid_mask_len == UUID_32_LEN) {
uint32_t *uuid32 = (void *)p_uuid;
- sdp_uuid32_create(&uuid, get_be32(uuid32));
+ sdp_uuid32_create((uuid_t *)&uuid, get_be32(uuid32));
} else {
- sdp_uuid128_create(&uuid, p_uuid);
+ sdp_uuid128_create((uuid_t *)&uuid, p_uuid);
}
params->filter_index = filter_index;
- params->uuid = bt_uuid2string(&uuid);
+ params->uuid = (uint8_t *)bt_uuid2string((uuid_t *)&uuid);
params->uuid_mask = g_new0(uint8_t, uuid_mask_len);
memcpy(params->uuid_mask, p_uuid_mask, uuid_mask_len);
params->uuid_len = uuid_mask_len;
return TRUE;
}
-static adapter_le_service_data_params_t *adapter_le_service_find_service_scan_filter_data(
+static adapter_le_service_data_params_t* adapter_le_service_find_service_scan_filter_data(
struct btd_adapter *adapter, struct eir_sd *sd)
{
GSList *list;
return TRUE;
}
-static adapter_le_service_data_params_t *adapter_le_service_find_scan_filter_params(
+static adapter_le_scan_filter_param_t *adapter_le_service_find_scan_filter_params(
struct btd_adapter *adapter, int filter_index)
{
GSList *list;
return param;
}
+#if 0
static int generate_and_write_irk(uint8_t *irk, GKeyFile *key_file,
const char *filename)
{
return 0;
}
-#if 0
static void set_privacy_complete(uint8_t status, uint16_t length,
const void *param, void *user_data)
{
DBusMessageIter *iter, void *data)
{
struct btd_device *dev = data;
- const char *ptr = g_strdup(dev->if_name);
+ char *ptr = g_strdup(dev->if_name);
- dbus_message_iter_append_basic(iter, DBUS_TYPE_STRING, &ptr);
+ dbus_message_iter_append_basic(iter, DBUS_TYPE_STRING, (const char **)&ptr);
g_free(ptr);
{
struct btd_device *device = user_data;
struct otc_conn_info *info = NULL;
- GError *gerr = NULL;
GSList *l;
int sock;
}
#ifdef TIZEN_FEATURE_BLUEZ_MODIFY
-void device_disconnect_blocked(struct btd_device *device,
- const char *uuid)
+void device_disconnect_blocked(struct btd_device *device, char *uuid)
{
struct btd_service *service;
GSList *l;
uint32_t pbap, uint32_t map, uint32_t sap,
uint32_t hfp_hs, uint32_t a2dp)
{
- char *uuid = NULL;
if (!device)
return;
+
DBG("TrustedProfiles Parameters: [PBAP %d] [MAP %d] [SAP %d] [HFP %d] [A2DP %d]",
pbap, map, sap, hfp_hs, a2dp);
static void read_reply_cb(DBusMessage *message, void *user_data)
{
struct pending_op *op = user_data;
-#ifdef TIZEN_FEATURE_BLUEZ_MODIFY
- struct gatt_db_attribute *attrib = op->attrib;
- bt_uuid_t *uuid = gatt_db_attribute_get_type(attrib);
-#endif
+
DBusError err;
DBusMessageIter iter, array;
uint8_t ecode = 0;
static void write_setup_cb(DBusMessageIter *iter, void *user_data)
{
struct pending_op *op = user_data;
- DBusMessageIter array, dict;
+ DBusMessageIter array;
+
#ifdef TIZEN_FEATURE_BLUEZ_MODIFY
char dst_addr[18] = { 0 };
char *addr_value = dst_addr;
dbus_message_iter_append_basic(iter, DBUS_TYPE_UINT16, &op->offset);
dbus_message_iter_append_basic(iter, DBUS_TYPE_BOOLEAN, &response_needed);
#endif
+
dbus_message_iter_open_container(iter, DBUS_TYPE_ARRAY, "y", &array);
dbus_message_iter_append_fixed_array(&array, DBUS_TYPE_BYTE,
&op->data.iov_base, op->data.iov_len);
dbus_message_iter_close_container(iter, &array);
#ifndef TIZEN_FEATURE_BLUEZ_MODIFY
+{
+ DBusMessageIter dict;
+
dbus_message_iter_open_container(iter, DBUS_TYPE_ARRAY,
DBUS_DICT_ENTRY_BEGIN_CHAR_AS_STRING
DBUS_TYPE_STRING_AS_STRING
append_options(&dict, op);
dbus_message_iter_close_container(iter, &dict);
+}
#endif
if (!op->owner_queue) {
static void write_reply_cb(DBusMessage *message, void *user_data)
{
struct pending_op *op = user_data;
-#ifdef TIZEN_FEATURE_BLUEZ_MODIFY
- struct gatt_db_attribute *attrib = op->attrib;
- bt_uuid_t *uuid = gatt_db_attribute_get_type(attrib);
-#endif
+
DBusError err;
DBusMessageIter iter;
uint8_t ecode = 0;
#include <stdint.h>
+#ifdef TIZEN_FEATURE_BLUEZ_MODIFY
+struct gatt_db;
+struct bt_att;
+#endif
+
struct bt_gatt_server;
struct bt_gatt_server *bt_gatt_server_new(struct gatt_db *db,