* [PATCH 1/7] adapter: Convert adapter_get_address into simple getter
@ 2012-10-05 8:16 Szymon Janc
2012-10-05 8:16 ` [PATCH 2/7] storage: Constify bdaddr_t pointers parameters Szymon Janc
` (7 more replies)
0 siblings, 8 replies; 10+ messages in thread
From: Szymon Janc @ 2012-10-05 8:16 UTC (permalink / raw)
To: linux-bluetooth; +Cc: Szymon Janc
Most uses of adapter_get_address were in form of:
bdaddr_t addr;
adapter_get_address(adapter, &addr);
foo(&addr);
Changing it to getter makes code simpler and avoid number of not
needed memcpy.
---
attrib/client.c | 2 +-
audio/manager.c | 48 +++++---------
plugins/adaptername.c | 4 +-
plugins/dbusoob.c | 8 +--
plugins/neard.c | 16 ++---
plugins/service.c | 57 ++++++-----------
plugins/wiimote.c | 5 +-
profiles/alert/server.c | 4 +-
profiles/gatt/gas.c | 16 ++---
profiles/health/hdp.c | 14 ++---
profiles/health/hdp_util.c | 24 ++++---
profiles/input/device.c | 2 +-
profiles/input/manager.c | 11 +---
profiles/network/manager.c | 10 +--
profiles/network/server.c | 8 +--
profiles/proximity/monitor.c | 13 ++--
profiles/sap/manager.c | 5 +-
src/adapter.c | 13 ++--
src/adapter.h | 2 +-
src/attrib-server.c | 18 +++---
src/device.c | 143 +++++++++++++++++-------------------------
src/manager.c | 5 +-
src/profile.c | 28 ++++-----
23 files changed, 179 insertions(+), 277 deletions(-)
diff --git a/attrib/client.c b/attrib/client.c
index d49804c..eea06ae 100644
--- a/attrib/client.c
+++ b/attrib/client.c
@@ -229,7 +229,7 @@ static void gatt_get_address(struct gatt_service *gatt, bdaddr_t *sba,
struct btd_adapter *adapter;
adapter = device_get_adapter(device);
- adapter_get_address(adapter, sba);
+ bacpy(sba, adapter_get_address(adapter));
device_get_address(device, dba, bdaddr_type);
}
diff --git a/audio/manager.c b/audio/manager.c
index dbc98d5..6ddea5a 100644
--- a/audio/manager.c
+++ b/audio/manager.c
@@ -507,7 +507,7 @@ static int headset_server_init(struct audio_adapter *adapter)
GError *err = NULL;
uint32_t features;
GIOChannel *io;
- bdaddr_t src;
+ bdaddr_t *src;
if (config) {
gboolean tmp;
@@ -521,10 +521,10 @@ static int headset_server_init(struct audio_adapter *adapter)
master = tmp;
}
- adapter_get_address(adapter->btd_adapter, &src);
+ src = adapter_get_address(adapter->btd_adapter);
io = bt_io_listen(NULL, ag_confirm, adapter, NULL, &err,
- BT_IO_OPT_SOURCE_BDADDR, &src,
+ BT_IO_OPT_SOURCE_BDADDR, src,
BT_IO_OPT_CHANNEL, chan,
BT_IO_OPT_SEC_LEVEL, BT_IO_SEC_MEDIUM,
BT_IO_OPT_MASTER, master,
@@ -540,7 +540,7 @@ static int headset_server_init(struct audio_adapter *adapter)
goto failed;
}
- if (add_record_to_server(&src, record) < 0) {
+ if (add_record_to_server(src, record) < 0) {
error("Unable to register HS AG service record");
sdp_record_free(record);
goto failed;
@@ -555,7 +555,7 @@ static int headset_server_init(struct audio_adapter *adapter)
chan = DEFAULT_HF_AG_CHANNEL;
io = bt_io_listen(NULL, ag_confirm, adapter, NULL, &err,
- BT_IO_OPT_SOURCE_BDADDR, &src,
+ BT_IO_OPT_SOURCE_BDADDR, src,
BT_IO_OPT_CHANNEL, chan,
BT_IO_OPT_SEC_LEVEL, BT_IO_SEC_MEDIUM,
BT_IO_OPT_MASTER, master,
@@ -571,7 +571,7 @@ static int headset_server_init(struct audio_adapter *adapter)
goto failed;
}
- if (add_record_to_server(&src, record) < 0) {
+ if (add_record_to_server(src, record) < 0) {
error("Unable to register HF AG service record");
sdp_record_free(record);
goto failed;
@@ -608,7 +608,7 @@ static int gateway_server_init(struct audio_adapter *adapter)
gboolean master = TRUE;
GError *err = NULL;
GIOChannel *io;
- bdaddr_t src;
+ bdaddr_t *src;
if (config) {
gboolean tmp;
@@ -622,10 +622,10 @@ static int gateway_server_init(struct audio_adapter *adapter)
master = tmp;
}
- adapter_get_address(adapter->btd_adapter, &src);
+ src = adapter_get_address(adapter->btd_adapter);
io = bt_io_listen(NULL, hf_io_cb, adapter, NULL, &err,
- BT_IO_OPT_SOURCE_BDADDR, &src,
+ BT_IO_OPT_SOURCE_BDADDR, src,
BT_IO_OPT_CHANNEL, chan,
BT_IO_OPT_SEC_LEVEL, BT_IO_SEC_MEDIUM,
BT_IO_OPT_MASTER, master,
@@ -643,7 +643,7 @@ static int gateway_server_init(struct audio_adapter *adapter)
goto failed;
}
- if (add_record_to_server(&src, record) < 0) {
+ if (add_record_to_server(src, record) < 0) {
error("Unable to register HFP HS service record");
sdp_record_free(record);
goto failed;
@@ -663,12 +663,11 @@ failed:
static struct audio_device *get_audio_dev(struct btd_device *device)
{
struct btd_adapter *adapter = device_get_adapter(device);
- bdaddr_t src, dst;
+ bdaddr_t dst;
- adapter_get_address(adapter, &src);
device_get_address(device, &dst, NULL);
- return manager_get_device(&src, &dst, TRUE);
+ return manager_get_device(adapter_get_address(adapter), &dst, TRUE);
}
static void audio_remove(struct btd_profile *p, struct btd_device *device)
@@ -970,7 +969,6 @@ static int a2dp_server_probe(struct btd_profile *p,
{
struct audio_adapter *adp;
const gchar *path = adapter_get_path(adapter);
- bdaddr_t src;
int err;
DBG("path %s", path);
@@ -979,9 +977,7 @@ static int a2dp_server_probe(struct btd_profile *p,
if (!adp)
return -EINVAL;
- adapter_get_address(adapter, &src);
-
- err = a2dp_register(&src, config);
+ err = a2dp_register(adapter_get_address(adapter), config);
if (err < 0)
audio_adapter_unref(adp);
@@ -993,7 +989,6 @@ static void a2dp_server_remove(struct btd_profile *p,
{
struct audio_adapter *adp;
const gchar *path = adapter_get_path(adapter);
- bdaddr_t src;
DBG("path %s", path);
@@ -1001,8 +996,7 @@ static void a2dp_server_remove(struct btd_profile *p,
if (!adp)
return;
- adapter_get_address(adapter, &src);
- a2dp_unregister(&src);
+ a2dp_unregister(adapter_get_address(adapter));
audio_adapter_unref(adp);
}
@@ -1011,7 +1005,6 @@ static int avrcp_server_probe(struct btd_profile *p,
{
struct audio_adapter *adp;
const gchar *path = adapter_get_path(adapter);
- bdaddr_t src;
int err;
DBG("path %s", path);
@@ -1020,9 +1013,7 @@ static int avrcp_server_probe(struct btd_profile *p,
if (!adp)
return -EINVAL;
- adapter_get_address(adapter, &src);
-
- err = avrcp_register(&src, config);
+ err = avrcp_register(adapter_get_address(adapter), config);
if (err < 0)
audio_adapter_unref(adp);
@@ -1034,7 +1025,6 @@ static void avrcp_server_remove(struct btd_profile *p,
{
struct audio_adapter *adp;
const gchar *path = adapter_get_path(adapter);
- bdaddr_t src;
DBG("path %s", path);
@@ -1042,8 +1032,7 @@ static void avrcp_server_remove(struct btd_profile *p,
if (!adp)
return;
- adapter_get_address(adapter, &src);
- avrcp_unregister(&src);
+ avrcp_unregister(adapter_get_address(adapter));
audio_adapter_unref(adp);
}
@@ -1051,7 +1040,6 @@ static int media_server_probe(struct btd_adapter *adapter)
{
struct audio_adapter *adp;
const gchar *path = adapter_get_path(adapter);
- bdaddr_t src;
int err;
DBG("path %s", path);
@@ -1060,9 +1048,7 @@ static int media_server_probe(struct btd_adapter *adapter)
if (!adp)
return -EINVAL;
- adapter_get_address(adapter, &src);
-
- err = media_register(path, &src);
+ err = media_register(path, adapter_get_address(adapter));
if (err < 0)
audio_adapter_unref(adp);
diff --git a/plugins/adaptername.c b/plugins/adaptername.c
index cd0ffb2..f58fb0f 100644
--- a/plugins/adaptername.c
+++ b/plugins/adaptername.c
@@ -200,7 +200,6 @@ static int adaptername_probe(struct btd_adapter *adapter)
int current_id;
char name[MAX_NAME_LENGTH + 1];
char *pretty_hostname;
- bdaddr_t bdaddr;
pretty_hostname = read_pretty_host_name();
if (pretty_hostname != NULL) {
@@ -210,10 +209,9 @@ static int adaptername_probe(struct btd_adapter *adapter)
}
adapter_set_allow_name_changes(adapter, TRUE);
- adapter_get_address(adapter, &bdaddr);
current_id = adapter_get_dev_id(adapter);
- if (read_local_name(&bdaddr, name) < 0)
+ if (read_local_name(adapter_get_address(adapter), name) < 0)
expand_name(name, MAX_NAME_LENGTH, main_opts.name, current_id);
DBG("Setting name '%s' for device 'hci%d'", name, current_id);
diff --git a/plugins/dbusoob.c b/plugins/dbusoob.c
index ea40355..5c5b6ef 100644
--- a/plugins/dbusoob.c
+++ b/plugins/dbusoob.c
@@ -194,10 +194,8 @@ static gboolean parse_data(DBusMessageIter *data, struct oob_data *remote_data)
static gboolean store_data(struct btd_adapter *adapter, struct oob_data *data)
{
bdaddr_t bdaddr;
- bdaddr_t local;
str2ba(data->addr, &bdaddr);
- adapter_get_address(adapter, &local);
if (data->hash) {
if (btd_adapter_add_remote_oob_data(adapter, &bdaddr,
@@ -206,10 +204,12 @@ static gboolean store_data(struct btd_adapter *adapter, struct oob_data *data)
}
if (data->class)
- write_remote_class(&local, &bdaddr, data->class);
+ write_remote_class(adapter_get_address(adapter), &bdaddr,
+ data->class);
if (data->name)
- write_device_name(&local, &bdaddr, 0, data->name);
+ write_device_name(adapter_get_address(adapter), &bdaddr, 0,
+ data->name);
return TRUE;
}
diff --git a/plugins/neard.c b/plugins/neard.c
index 632d454..2fe1785 100644
--- a/plugins/neard.c
+++ b/plugins/neard.c
@@ -180,13 +180,11 @@ static void read_local_complete(struct btd_adapter *adapter, uint8_t *hash,
int len;
uint8_t eir[NFC_OOB_EIR_MAX];
uint8_t *peir = eir;
- bdaddr_t addr;
DBusMessageIter iter;
DBusMessageIter dict;
- adapter_get_address(adapter, &addr);
-
- len = eir_create_oob(&addr, btd_adapter_get_name(adapter),
+ len = eir_create_oob(adapter_get_address(adapter),
+ btd_adapter_get_name(adapter),
btd_adapter_get_class(adapter), hash,
randomizer, main_opts.did_vendor,
main_opts.did_product, main_opts.did_version,
@@ -254,7 +252,6 @@ static int process_eir(struct btd_adapter *adapter, uint8_t *eir, size_t size,
{
struct btd_device *device;
struct eir_data eir_data;
- bdaddr_t local;
char remote_address[18];
DBG("size %zu", size);
@@ -288,16 +285,15 @@ static int process_eir(struct btd_adapter *adapter, uint8_t *eir, size_t size,
if (device)
adapter_remove_device(adapter, device, TRUE);
- adapter_get_address(adapter, &local);
-
/* store OOB data */
if (eir_data.class != 0)
- write_remote_class(&local, &eir_data.addr, eir_data.class);
+ write_remote_class(adapter_get_address(adapter),
+ &eir_data.addr, eir_data.class);
/* TODO handle incomplete name? */
if (eir_data.name)
- write_device_name(&local, &eir_data.addr, BDADDR_BREDR,
- eir_data.name);
+ write_device_name(adapter_get_address(adapter), &eir_data.addr,
+ BDADDR_BREDR, eir_data.name);
if (eir_data.hash)
btd_adapter_add_remote_oob_data(adapter, &eir_data.addr,
diff --git a/plugins/service.c b/plugins/service.c
index 4a38270..e81452c 100644
--- a/plugins/service.c
+++ b/plugins/service.c
@@ -134,13 +134,20 @@ static void exit_callback(DBusConnection *conn, void *user_data)
g_free(user_record);
}
+static const bdaddr_t *get_address(struct service_adapter *serv_adapter)
+{
+ if (serv_adapter->adapter)
+ return adapter_get_address(serv_adapter->adapter);
+
+ return BDADDR_ANY;
+}
+
static int add_xml_record(const char *sender,
struct service_adapter *serv_adapter,
const char *record, dbus_uint32_t *handle)
{
struct record_data *user_record;
sdp_record_t *sdp_record;
- bdaddr_t src;
sdp_record = sdp_xml_parse_record(record, strlen(record));
if (!sdp_record) {
@@ -148,12 +155,7 @@ static int add_xml_record(const char *sender,
return -EIO;
}
- if (serv_adapter->adapter)
- adapter_get_address(serv_adapter->adapter, &src);
- else
- bacpy(&src, BDADDR_ANY);
-
- if (add_record_to_server(&src, sdp_record) < 0) {
+ if (add_record_to_server(get_address(serv_adapter), sdp_record) < 0) {
error("Failed to register service record");
sdp_record_free(sdp_record);
return -EIO;
@@ -181,7 +183,6 @@ static DBusMessage *update_record(DBusMessage *msg,
struct service_adapter *serv_adapter,
dbus_uint32_t handle, sdp_record_t *sdp_record)
{
- bdaddr_t src;
int err;
if (remove_record_from_server(handle) < 0) {
@@ -189,13 +190,8 @@ static DBusMessage *update_record(DBusMessage *msg,
return btd_error_not_available(msg);
}
- if (serv_adapter->adapter)
- adapter_get_address(serv_adapter->adapter, &src);
- else
- bacpy(&src, BDADDR_ANY);
-
sdp_record->handle = handle;
- err = add_record_to_server(&src, sdp_record);
+ err = add_record_to_server(get_address(serv_adapter), sdp_record);
if (err < 0) {
sdp_record_free(sdp_record);
error("Failed to update the service record");
@@ -322,7 +318,6 @@ static void auth_cb(DBusError *derr, void *user_data)
struct service_adapter *serv_adapter = user_data;
DBusMessage *reply;
struct pending_auth *auth;
- bdaddr_t src;
auth = next_pending(serv_adapter);
if (auth == NULL) {
@@ -350,14 +345,9 @@ done:
if (auth == NULL)
return;
- if (serv_adapter->adapter)
- adapter_get_address(serv_adapter->adapter, &src);
- else
- bacpy(&src, BDADDR_ANY);
-
- auth->id = btd_request_authorization(&src, &auth->dst,
- auth->uuid, auth_cb,
- serv_adapter);
+ auth->id = btd_request_authorization(get_address(serv_adapter),
+ &auth->dst, auth->uuid,
+ auth_cb, serv_adapter);
}
static DBusMessage *request_authorization(DBusConnection *conn,
@@ -373,7 +363,6 @@ static DBusMessage *request_authorization(DBusConnection *conn,
struct pending_auth *auth;
char uuid_str[MAX_LEN_UUID_STR];
uuid_t *uuid, *uuid128;
- bdaddr_t src;
if (dbus_message_get_args(msg, NULL, DBUS_TYPE_STRING, &address,
DBUS_TYPE_UINT32, &handle,
@@ -427,12 +416,8 @@ static DBusMessage *request_authorization(DBusConnection *conn,
if (auth == NULL)
return btd_error_does_not_exist(msg);
- if (serv_adapter->adapter)
- adapter_get_address(serv_adapter->adapter, &src);
- else
- bacpy(&src, BDADDR_ANY);
-
- auth->id = btd_request_authorization(&src, &auth->dst, auth->uuid,
+ auth->id = btd_request_authorization(get_address(serv_adapter),
+ &auth->dst, auth->uuid,
auth_cb, serv_adapter);
if (auth->id == 0) {
serv_adapter->pending_list = g_slist_remove(serv_adapter->pending_list,
@@ -451,7 +436,6 @@ static DBusMessage *cancel_authorization(DBusConnection *conn,
struct service_adapter *serv_adapter = data;
struct pending_auth *auth;
const gchar *sender;
- bdaddr_t src;
sender = dbus_message_get_sender(msg);
@@ -473,14 +457,9 @@ static DBusMessage *cancel_authorization(DBusConnection *conn,
if (auth == NULL)
goto done;
- if (serv_adapter->adapter)
- adapter_get_address(serv_adapter->adapter, &src);
- else
- bacpy(&src, BDADDR_ANY);
-
- auth->id = btd_request_authorization(&src, &auth->dst,
- auth->uuid, auth_cb,
- serv_adapter);
+ auth->id = btd_request_authorization(get_address(serv_adapter),
+ &auth->dst, auth->uuid,
+ auth_cb, serv_adapter);
done:
return dbus_message_new_method_return(msg);
diff --git a/plugins/wiimote.c b/plugins/wiimote.c
index f7fad60..93d1e2d 100644
--- a/plugins/wiimote.c
+++ b/plugins/wiimote.c
@@ -62,10 +62,9 @@ static ssize_t wii_pincb(struct btd_adapter *adapter, struct btd_device *device,
char *pinbuf, gboolean *display)
{
uint16_t vendor, product;
- bdaddr_t sba, dba;
+ bdaddr_t dba;
char addr[18], name[25];
- adapter_get_address(adapter, &sba);
device_get_address(device, &dba, NULL);
ba2str(&dba, addr);
@@ -79,7 +78,7 @@ static ssize_t wii_pincb(struct btd_adapter *adapter, struct btd_device *device,
g_str_equal(name, "Nintendo RVL-WBC-01") ||
(vendor == 0x057e && product == 0x0306)) {
DBG("Forcing fixed pin on detected wiimote %s", addr);
- memcpy(pinbuf, &sba, 6);
+ memcpy(pinbuf, adapter_get_address(adapter), 6);
return 6;
}
diff --git a/profiles/alert/server.c b/profiles/alert/server.c
index 0c17176..b8ea141 100644
--- a/profiles/alert/server.c
+++ b/profiles/alert/server.c
@@ -415,10 +415,8 @@ static void filter_devices_notify(char *key, char *value, void *user_data)
static void create_filename(char *filename, struct btd_adapter *adapter)
{
char srcaddr[18];
- bdaddr_t src;
- adapter_get_address(adapter, &src);
- ba2str(&src, srcaddr);
+ ba2str(adapter_get_address(adapter), srcaddr);
create_name(filename, PATH_MAX, STORAGEDIR, srcaddr, "ccc");
}
diff --git a/profiles/gatt/gas.c b/profiles/gatt/gas.c
index da6d555..f0fcbe7 100644
--- a/profiles/gatt/gas.c
+++ b/profiles/gatt/gas.c
@@ -168,7 +168,7 @@ static void ccc_written_cb(guint8 status, const guint8 *pdu, guint16 plen,
gpointer user_data)
{
struct gas *gas = user_data;
- bdaddr_t sba, dba;
+ bdaddr_t dba;
uint8_t bdaddr_type;
if (status) {
@@ -179,11 +179,11 @@ static void ccc_written_cb(guint8 status, const guint8 *pdu, guint16 plen,
DBG("Service Changed indications enabled");
- adapter_get_address(device_get_adapter(gas->device), &sba);
device_get_address(gas->device, &dba, &bdaddr_type);
- write_ctp_handle(&sba, &dba, bdaddr_type, GATT_CHARAC_SERVICE_CHANGED,
- gas->changed_handle);
+ write_ctp_handle(adapter_get_address(device_get_adapter(gas->device)),
+ &dba, bdaddr_type, GATT_CHARAC_SERVICE_CHANGED,
+ gas->changed_handle);
}
static void write_ccc(GAttrib *attrib, uint16_t handle, gpointer user_data)
@@ -377,7 +377,7 @@ int gas_register(struct btd_device *device, struct att_range *gap,
struct att_range *gatt)
{
struct gas *gas;
- bdaddr_t sba, dba;
+ bdaddr_t dba;
uint8_t bdaddr_type;
gas = g_new0(struct gas, 1);
@@ -394,11 +394,11 @@ int gas_register(struct btd_device *device, struct att_range *gap,
attio_connected_cb,
attio_disconnected_cb, gas);
- adapter_get_address(device_get_adapter(gas->device), &sba);
device_get_address(gas->device, &dba, &bdaddr_type);
- read_ctp_handle(&sba, &dba, bdaddr_type, GATT_CHARAC_SERVICE_CHANGED,
- &gas->changed_handle);
+ read_ctp_handle(adapter_get_address(device_get_adapter(gas->device)),
+ &dba, bdaddr_type, GATT_CHARAC_SERVICE_CHANGED,
+ &gas->changed_handle);
return 0;
}
diff --git a/profiles/health/hdp.c b/profiles/health/hdp.c
index d262a2a..d07462a 100644
--- a/profiles/health/hdp.c
+++ b/profiles/health/hdp.c
@@ -1317,7 +1317,6 @@ static void release_adapter_instance(struct hdp_adapter *hdp_adapter)
static gboolean update_adapter(struct hdp_adapter *hdp_adapter)
{
GError *err = NULL;
- bdaddr_t addr;
if (applications == NULL) {
release_adapter_instance(hdp_adapter);
@@ -1327,12 +1326,13 @@ static gboolean update_adapter(struct hdp_adapter *hdp_adapter)
if (hdp_adapter->mi != NULL)
goto update;
- adapter_get_address(hdp_adapter->btd_adapter, &addr);
- hdp_adapter->mi = mcap_create_instance(&addr, BT_IO_SEC_MEDIUM, 0, 0,
- mcl_connected, mcl_reconnected,
- mcl_disconnected, mcl_uncached,
- NULL, /* CSP is not used by now */
- hdp_adapter, &err);
+ hdp_adapter->mi = mcap_create_instance(
+ adapter_get_address(hdp_adapter->btd_adapter),
+ BT_IO_SEC_MEDIUM, 0, 0,
+ mcl_connected, mcl_reconnected,
+ mcl_disconnected, mcl_uncached,
+ NULL, /* CSP is not used by now */
+ hdp_adapter, &err);
if (hdp_adapter->mi == NULL) {
error("Error creating the MCAP instance: %s", err->message);
diff --git a/profiles/health/hdp_util.c b/profiles/health/hdp_util.c
index 3afd715..931c1dd 100644
--- a/profiles/health/hdp_util.c
+++ b/profiles/health/hdp_util.c
@@ -695,7 +695,6 @@ static gboolean register_mcap_features(sdp_record_t *sdp_record)
gboolean hdp_update_sdp_record(struct hdp_adapter *adapter, GSList *app_list)
{
sdp_record_t *sdp_record;
- bdaddr_t addr;
if (adapter->sdp_handler > 0)
remove_record_from_server(adapter->sdp_handler);
@@ -738,9 +737,8 @@ gboolean hdp_update_sdp_record(struct hdp_adapter *adapter, GSList *app_list)
if (sdp_set_record_state(sdp_record, adapter->record_state++) < 0)
goto fail;
- adapter_get_address(adapter->btd_adapter, &addr);
-
- if (add_record_to_server(&addr, sdp_record) < 0)
+ if (add_record_to_server(adapter_get_address(adapter->btd_adapter),
+ sdp_record) < 0)
goto fail;
adapter->sdp_handler = sdp_record->handle;
return TRUE;
@@ -859,11 +857,11 @@ gboolean hdp_get_mdep(struct hdp_device *device, struct hdp_application *app,
GDestroyNotify destroy, GError **err)
{
struct get_mdep_data *mdep_data;
- bdaddr_t dst, src;
+ bdaddr_t dst, *src;
uuid_t uuid;
device_get_address(device->dev, &dst, NULL);
- adapter_get_address(device_get_adapter(device->dev), &src);
+ src = adapter_get_address(device_get_adapter(device->dev));
mdep_data = g_new0(struct get_mdep_data, 1);
mdep_data->app = hdp_application_ref(app);
@@ -872,7 +870,7 @@ gboolean hdp_get_mdep(struct hdp_device *device, struct hdp_application *app,
mdep_data->destroy = destroy;
bt_string2uuid(&uuid, HDP_UUID);
- if (bt_search_service(&src, &dst, &uuid, get_mdep_cb, mdep_data,
+ if (bt_search_service(src, &dst, &uuid, get_mdep_cb, mdep_data,
free_mdep_data) < 0) {
g_set_error(err, HDP_ERROR, HDP_CONNECTION_ERROR,
"Can't get remote SDP record");
@@ -1088,11 +1086,11 @@ gboolean hdp_establish_mcl(struct hdp_device *device,
GError **err)
{
struct conn_mcl_data *conn_data;
- bdaddr_t dst, src;
+ bdaddr_t dst, *src;
uuid_t uuid;
device_get_address(device->dev, &dst, NULL);
- adapter_get_address(device_get_adapter(device->dev), &src);
+ src = adapter_get_address(device_get_adapter(device->dev));
conn_data = g_new0(struct conn_mcl_data, 1);
conn_data->refs = 1;
@@ -1102,7 +1100,7 @@ gboolean hdp_establish_mcl(struct hdp_device *device,
conn_data->dev = health_device_ref(device);
bt_string2uuid(&uuid, HDP_UUID);
- if (bt_search_service(&src, &dst, &uuid, search_cb, conn_data,
+ if (bt_search_service(src, &dst, &uuid, search_cb, conn_data,
destroy_con_mcl_data) < 0) {
g_set_error(err, HDP_ERROR, HDP_CONNECTION_ERROR,
"Can't get remote SDP record");
@@ -1158,11 +1156,11 @@ gboolean hdp_get_dcpsm(struct hdp_device *device, hdp_continue_dcpsm_f func,
GError **err)
{
struct get_dcpsm_data *dcpsm_data;
- bdaddr_t dst, src;
+ bdaddr_t dst, *src;
uuid_t uuid;
device_get_address(device->dev, &dst, NULL);
- adapter_get_address(device_get_adapter(device->dev), &src);
+ src = adapter_get_address(device_get_adapter(device->dev));
dcpsm_data = g_new0(struct get_dcpsm_data, 1);
dcpsm_data->func = func;
@@ -1170,7 +1168,7 @@ gboolean hdp_get_dcpsm(struct hdp_device *device, hdp_continue_dcpsm_f func,
dcpsm_data->destroy = destroy;
bt_string2uuid(&uuid, HDP_UUID);
- if (bt_search_service(&src, &dst, &uuid, get_dcpsm_cb, dcpsm_data,
+ if (bt_search_service(src, &dst, &uuid, get_dcpsm_cb, dcpsm_data,
free_dcpsm_data) < 0) {
g_set_error(err, HDP_ERROR, HDP_CONNECTION_ERROR,
"Can't get remote SDP record");
diff --git a/profiles/input/device.c b/profiles/input/device.c
index 07c72c0..ed50e3b 100644
--- a/profiles/input/device.c
+++ b/profiles/input/device.c
@@ -785,7 +785,7 @@ static struct input_device *input_device_new(struct btd_device *device,
uint8_t dst_type;
idev = g_new0(struct input_device, 1);
- adapter_get_address(adapter, &idev->src);
+ bacpy(&idev->src, adapter_get_address(adapter));
device_get_address(device, &idev->dst, &dst_type);
idev->device = btd_device_ref(device);
idev->path = g_strdup(path);
diff --git a/profiles/input/manager.c b/profiles/input/manager.c
index 32698aa..3f68620 100644
--- a/profiles/input/manager.c
+++ b/profiles/input/manager.c
@@ -77,12 +77,9 @@ static void hid_device_remove(struct btd_profile *p, struct btd_device *device)
static int hid_server_probe(struct btd_profile *p, struct btd_adapter *adapter)
{
- bdaddr_t src;
int ret;
- adapter_get_address(adapter, &src);
-
- ret = server_start(&src);
+ ret = server_start(adapter_get_address(adapter));
if (ret < 0)
return ret;
@@ -94,11 +91,7 @@ static int hid_server_probe(struct btd_profile *p, struct btd_adapter *adapter)
static void hid_server_remove(struct btd_profile *p,
struct btd_adapter *adapter)
{
- bdaddr_t src;
-
- adapter_get_address(adapter, &src);
-
- server_stop(&src);
+ server_stop(adapter_get_address(adapter));
adapters = g_slist_remove(adapters, adapter);
btd_adapter_unref(adapter);
diff --git a/profiles/network/manager.c b/profiles/network/manager.c
index e1f4164..661181d 100644
--- a/profiles/network/manager.c
+++ b/profiles/network/manager.c
@@ -78,19 +78,19 @@ static int network_probe(struct btd_profile *p, struct btd_device *device,
{
struct btd_adapter *adapter = device_get_adapter(device);
const gchar *path = device_get_path(device);
- bdaddr_t src, dst;
+ bdaddr_t *src, dst;
DBG("path %s", path);
- adapter_get_address(adapter, &src);
+ src = adapter_get_address(adapter);
device_get_address(device, &dst, NULL);
if (g_slist_find_custom(uuids, PANU_UUID, bt_uuid_strcmp))
- connection_register(device, path, &src, &dst, BNEP_SVC_PANU);
+ connection_register(device, path, src, &dst, BNEP_SVC_PANU);
if (g_slist_find_custom(uuids, GN_UUID, bt_uuid_strcmp))
- connection_register(device, path, &src, &dst, BNEP_SVC_GN);
+ connection_register(device, path, src, &dst, BNEP_SVC_GN);
if (g_slist_find_custom(uuids, NAP_UUID, bt_uuid_strcmp))
- connection_register(device, path, &src, &dst, BNEP_SVC_NAP);
+ connection_register(device, path, src, &dst, BNEP_SVC_NAP);
return 0;
}
diff --git a/profiles/network/server.c b/profiles/network/server.c
index 6ee4770..ccf6e69 100644
--- a/profiles/network/server.c
+++ b/profiles/network/server.c
@@ -742,16 +742,14 @@ static struct network_adapter *create_adapter(struct btd_adapter *adapter)
{
struct network_adapter *na;
GError *err = NULL;
- bdaddr_t src;
na = g_new0(struct network_adapter, 1);
na->adapter = btd_adapter_ref(adapter);
- adapter_get_address(adapter, &src);
-
na->io = bt_io_listen(NULL, confirm_event, na,
NULL, &err,
- BT_IO_OPT_SOURCE_BDADDR, &src,
+ BT_IO_OPT_SOURCE_BDADDR,
+ adapter_get_address(adapter),
BT_IO_OPT_PSM, BNEP_PSM,
BT_IO_OPT_OMTU, BNEP_MTU,
BT_IO_OPT_IMTU, BNEP_MTU,
@@ -803,7 +801,7 @@ int server_register(struct btd_adapter *adapter)
return -1;
}
- adapter_get_address(adapter, &ns->src);
+ bacpy(&ns->src, adapter_get_address(adapter));
ns->id = BNEP_SVC_NAP;
ns->na = na;
ns->record_id = 0;
diff --git a/profiles/proximity/monitor.c b/profiles/proximity/monitor.c
index 6444a75..477eeea 100644
--- a/profiles/proximity/monitor.c
+++ b/profiles/proximity/monitor.c
@@ -407,7 +407,7 @@ static DBusMessage *set_link_loss_alert(DBusConnection *conn, DBusMessage *msg,
{
struct monitor *monitor = data;
struct btd_device *device = monitor->device;
- bdaddr_t sba, dba;
+ bdaddr_t dba;
if (!level_is_valid(level))
return btd_error_invalid_args(msg);
@@ -418,10 +418,10 @@ static DBusMessage *set_link_loss_alert(DBusConnection *conn, DBusMessage *msg,
g_free(monitor->linklosslevel);
monitor->linklosslevel = g_strdup(level);
- adapter_get_address(device_get_adapter(device), &sba);
device_get_address(device, &dba, NULL);
- write_proximity_config(&sba, &dba, "LinkLossAlertLevel", level);
+ write_proximity_config(adapter_get_address(device_get_adapter(device)),
+ &dba, "LinkLossAlertLevel", level);
if (monitor->attrib)
write_alert_level(monitor);
@@ -593,13 +593,14 @@ int monitor_register(struct btd_device *device,
{
const char *path = device_get_path(device);
struct monitor *monitor;
- bdaddr_t sba, dba;
+ bdaddr_t dba;
char *level;
- adapter_get_address(device_get_adapter(device), &sba);
device_get_address(device, &dba, NULL);
- level = read_proximity_config(&sba, &dba, "LinkLossAlertLevel");
+ level = read_proximity_config(
+ adapter_get_address(device_get_adapter(device)),
+ &dba, "LinkLossAlertLevel");
monitor = g_new0(struct monitor, 1);
monitor->device = btd_device_ref(device);
diff --git a/profiles/sap/manager.c b/profiles/sap/manager.c
index cb47b93..fddd7aa 100644
--- a/profiles/sap/manager.c
+++ b/profiles/sap/manager.c
@@ -35,13 +35,10 @@
static int sap_server_probe(struct btd_profile *p, struct btd_adapter *adapter)
{
const char *path = adapter_get_path(adapter);
- bdaddr_t src;
DBG("path %s", path);
- adapter_get_address(adapter, &src);
-
- return sap_server_register(path, &src);
+ return sap_server_register(path, adapter_get_address(adapter));
}
static void sap_server_remove(struct btd_profile *p,
diff --git a/src/adapter.c b/src/adapter.c
index 056f2a2..6cb6f7c 100644
--- a/src/adapter.c
+++ b/src/adapter.c
@@ -1870,7 +1870,6 @@ static void create_stored_device_from_ltks(char *key, char *value,
struct smp_ltk_info *info;
char address[18], srcaddr[18];
uint8_t bdaddr_type;
- bdaddr_t src;
if (sscanf(key, "%17s#%hhu", address, &bdaddr_type) < 2)
return;
@@ -1885,8 +1884,7 @@ static void create_stored_device_from_ltks(char *key, char *value,
(GCompareFunc) device_address_cmp))
return;
- adapter_get_address(adapter, &src);
- ba2str(&src, srcaddr);
+ ba2str(adapter_get_address(adapter), srcaddr);
if (g_strcmp0(srcaddr, address) == 0)
return;
@@ -2670,9 +2668,9 @@ const gchar *adapter_get_path(struct btd_adapter *adapter)
return adapter->path;
}
-void adapter_get_address(struct btd_adapter *adapter, bdaddr_t *bdaddr)
+bdaddr_t *adapter_get_address(struct btd_adapter *adapter)
{
- bacpy(bdaddr, &adapter->bdaddr);
+ return &adapter->bdaddr;
}
void adapter_set_allow_name_changes(struct btd_adapter *adapter,
@@ -3618,7 +3616,7 @@ ssize_t btd_adapter_get_pin(struct btd_adapter *adapter, struct btd_device *dev,
{
GSList *l;
btd_adapter_pin_cb_t cb;
- bdaddr_t sba, dba;
+ bdaddr_t dba;
ssize_t ret;
for (l = adapter->pin_callbacks; l != NULL; l = g_slist_next(l)) {
@@ -3628,10 +3626,9 @@ ssize_t btd_adapter_get_pin(struct btd_adapter *adapter, struct btd_device *dev,
return ret;
}
- adapter_get_address(adapter, &sba);
device_get_address(dev, &dba, NULL);
- return read_pin_code(&sba, &dba, pin_buf);
+ return read_pin_code(adapter_get_address(adapter), &dba, pin_buf);
}
void btd_adapter_register_powered_callback(struct btd_adapter *adapter,
diff --git a/src/adapter.h b/src/adapter.h
index 7ca8d95..f3599b5 100644
--- a/src/adapter.h
+++ b/src/adapter.h
@@ -122,7 +122,7 @@ void adapter_set_discovering(struct btd_adapter *adapter,
gboolean discovering);
uint16_t adapter_get_dev_id(struct btd_adapter *adapter);
const gchar *adapter_get_path(struct btd_adapter *adapter);
-void adapter_get_address(struct btd_adapter *adapter, bdaddr_t *bdaddr);
+bdaddr_t *adapter_get_address(struct btd_adapter *adapter);
struct remote_dev_info *adapter_search_found_devices(struct btd_adapter *adapter,
bdaddr_t *bdaddr);
void adapter_update_found_devices(struct btd_adapter *adapter,
diff --git a/src/attrib-server.c b/src/attrib-server.c
index 9b03e54..e7e2531 100644
--- a/src/attrib-server.c
+++ b/src/attrib-server.c
@@ -154,11 +154,8 @@ static gint adapter_cmp_addr(gconstpointer a, gconstpointer b)
{
const struct gatt_server *server = a;
const bdaddr_t *bdaddr = b;
- bdaddr_t src;
-
- adapter_get_address(server->adapter, &src);
- return bacmp(&src, bdaddr);
+ return bacmp(adapter_get_address(server->adapter), bdaddr);
}
static gint adapter_cmp(gconstpointer a, gconstpointer b)
@@ -302,7 +299,6 @@ static uint32_t attrib_create_sdp_new(struct gatt_server *server,
struct attribute *a;
uint16_t end = 0;
uuid_t svc, gap_uuid;
- bdaddr_t addr;
a = find_svc_range(server, handle, &end);
@@ -330,8 +326,8 @@ static uint32_t attrib_create_sdp_new(struct gatt_server *server,
"http://www.bluez.org/");
}
- adapter_get_address(server->adapter, &addr);
- if (add_record_to_server(&addr, record) == 0)
+ if (add_record_to_server(adapter_get_address(server->adapter), record)
+ == 0)
return record->handle;
sdp_record_free(record);
@@ -1241,19 +1237,19 @@ int btd_adapter_gatt_server_start(struct btd_adapter *adapter)
{
struct gatt_server *server;
GError *gerr = NULL;
- bdaddr_t addr;
+ bdaddr_t *addr;
DBG("Start GATT server in hci%d", adapter_get_dev_id(adapter));
server = g_new0(struct gatt_server, 1);
server->adapter = btd_adapter_ref(adapter);
- adapter_get_address(server->adapter, &addr);
+ addr = adapter_get_address(server->adapter);
/* BR/EDR socket */
server->l2cap_io = bt_io_listen(NULL, confirm_event,
NULL, NULL, &gerr,
- BT_IO_OPT_SOURCE_BDADDR, &addr,
+ BT_IO_OPT_SOURCE_BDADDR, addr,
BT_IO_OPT_PSM, ATT_PSM,
BT_IO_OPT_SEC_LEVEL, BT_IO_SEC_LOW,
BT_IO_OPT_INVALID);
@@ -1273,7 +1269,7 @@ int btd_adapter_gatt_server_start(struct btd_adapter *adapter)
/* LE socket */
server->le_io = bt_io_listen(NULL, confirm_event,
&server->le_io, NULL, &gerr,
- BT_IO_OPT_SOURCE_BDADDR, &addr,
+ BT_IO_OPT_SOURCE_BDADDR, addr,
BT_IO_OPT_CID, ATT_CID,
BT_IO_OPT_SEC_LEVEL, BT_IO_SEC_LOW,
BT_IO_OPT_INVALID);
diff --git a/src/device.c b/src/device.c
index 0339bcf..d5aa8e1 100644
--- a/src/device.c
+++ b/src/device.c
@@ -221,14 +221,11 @@ static void browse_request_cancel(struct browse_req *req)
{
struct btd_device *device = req->device;
struct btd_adapter *adapter = device->adapter;
- bdaddr_t src;
if (device_is_creating(device, NULL))
device_set_temporary(device, TRUE);
- adapter_get_address(adapter, &src);
-
- bt_cancel_discovery(&src, &device->bdaddr);
+ bt_cancel_discovery(adapter_get_address(adapter), &device->bdaddr);
attio_cleanup(device);
@@ -313,7 +310,6 @@ static DBusMessage *get_properties(DBusConnection *conn,
DBusMessage *reply;
DBusMessageIter iter;
DBusMessageIter dict;
- bdaddr_t src;
char name[MAX_NAME_LENGTH + 1], dstaddr[18];
char **str;
const char *ptr, *icon = NULL;
@@ -343,7 +339,6 @@ static DBusMessage *get_properties(DBusConnection *conn,
/* Name */
ptr = NULL;
memset(name, 0, sizeof(name));
- adapter_get_address(adapter, &src);
ptr = device->name;
dict_append_entry(&dict, "Name", DBUS_TYPE_STRING, &ptr);
@@ -359,12 +354,13 @@ static DBusMessage *get_properties(DBusConnection *conn,
dict_append_entry(&dict, "Alias", DBUS_TYPE_STRING, &ptr);
/* Class */
- if (read_remote_class(&src, &device->bdaddr, &class) == 0) {
+ if (read_remote_class(adapter_get_address(adapter),
+ &device->bdaddr, &class) == 0) {
icon = class_to_icon(class);
dict_append_entry(&dict, "Class", DBUS_TYPE_UINT32, &class);
- } else if (read_remote_appearance(&src, &device->bdaddr,
- device->bdaddr_type, &app) == 0) {
+ } else if (read_remote_appearance(adapter_get_address(adapter),
+ &device->bdaddr, device->bdaddr_type, &app) == 0) {
/* Appearance */
icon = gap_appearance_to_icon(app);
@@ -437,7 +433,6 @@ static DBusMessage *set_alias(DBusMessage *msg, const char *alias, void *data)
struct btd_device *device = data;
struct btd_adapter *adapter = device->adapter;
char srcaddr[18], dstaddr[18];
- bdaddr_t src;
int err;
/* No change */
@@ -445,8 +440,7 @@ static DBusMessage *set_alias(DBusMessage *msg, const char *alias, void *data)
g_strcmp0(device->alias, alias) == 0)
return dbus_message_new_method_return(msg);
- adapter_get_address(adapter, &src);
- ba2str(&src, srcaddr);
+ ba2str(adapter_get_address(adapter), srcaddr);
ba2str(&device->bdaddr, dstaddr);
/* Remove alias if empty string */
@@ -470,14 +464,12 @@ static DBusMessage *set_trust(DBusMessage *msg, gboolean value, void *data)
struct btd_device *device = data;
struct btd_adapter *adapter = device->adapter;
char srcaddr[18], dstaddr[18];
- bdaddr_t src;
int err;
if (device->trusted == value)
return dbus_message_new_method_return(msg);
- adapter_get_address(adapter, &src);
- ba2str(&src, srcaddr);
+ ba2str(adapter_get_address(adapter), srcaddr);
ba2str(&device->bdaddr, dstaddr);
err = write_trust(srcaddr, dstaddr, device->bdaddr_type, value);
@@ -516,7 +508,6 @@ static gboolean do_disconnect(gpointer user_data)
int device_block(struct btd_device *device, gboolean update_only)
{
int err = 0;
- bdaddr_t src;
if (device->blocked)
return 0;
@@ -535,9 +526,8 @@ int device_block(struct btd_device *device, gboolean update_only)
device->blocked = TRUE;
- adapter_get_address(device->adapter, &src);
-
- err = write_blocked(&src, &device->bdaddr, device->bdaddr_type, TRUE);
+ err = write_blocked(adapter_get_address(device->adapter),
+ &device->bdaddr, device->bdaddr_type, TRUE);
if (err < 0)
error("write_blocked(): %s (%d)", strerror(-err), -err);
@@ -554,7 +544,6 @@ int device_unblock(struct btd_device *device, gboolean silent,
gboolean update_only)
{
int err = 0;
- bdaddr_t src;
if (!device->blocked)
return 0;
@@ -568,9 +557,8 @@ int device_unblock(struct btd_device *device, gboolean silent,
device->blocked = FALSE;
- adapter_get_address(device->adapter, &src);
-
- err = write_blocked(&src, &device->bdaddr, device->bdaddr_type, FALSE);
+ err = write_blocked(adapter_get_address(device->adapter),
+ &device->bdaddr, device->bdaddr_type, FALSE);
if (err < 0)
error("write_blocked(): %s (%d)", strerror(-err), -err);
@@ -1128,7 +1116,7 @@ struct btd_device *device_create(struct btd_adapter *adapter,
gchar *address_up;
struct btd_device *device;
const gchar *adapter_path = adapter_get_path(adapter);
- bdaddr_t src;
+ bdaddr_t *src;
char srcaddr[18], alias[MAX_NAME_LENGTH + 1];
uint16_t vendor, product, version;
@@ -1154,25 +1142,25 @@ struct btd_device *device_create(struct btd_adapter *adapter,
str2ba(address, &device->bdaddr);
device->adapter = adapter;
device->bdaddr_type = bdaddr_type;
- adapter_get_address(adapter, &src);
- ba2str(&src, srcaddr);
+ src = adapter_get_address(adapter);
+ ba2str(src, srcaddr);
read_device_name(srcaddr, address, bdaddr_type, device->name);
if (read_device_alias(srcaddr, address, bdaddr_type, alias,
sizeof(alias)) == 0)
device->alias = g_strdup(alias);
- device->trusted = read_trust(&src, address, device->bdaddr_type);
+ device->trusted = read_trust(src, address, device->bdaddr_type);
- if (read_blocked(&src, &device->bdaddr, device->bdaddr_type))
+ if (read_blocked(src, &device->bdaddr, device->bdaddr_type))
device_block(device, FALSE);
- if (read_link_key(&src, &device->bdaddr, device->bdaddr_type, NULL,
+ if (read_link_key(src, &device->bdaddr, device->bdaddr_type, NULL,
NULL) == 0) {
device_set_paired(device, TRUE);
device_set_bonded(device, TRUE);
}
- if (device_is_le(device) && has_longtermkeys(&src, &device->bdaddr,
+ if (device_is_le(device) && has_longtermkeys(src, &device->bdaddr,
device->bdaddr_type)) {
device_set_paired(device, TRUE);
device_set_bonded(device, TRUE);
@@ -1234,27 +1222,27 @@ uint16_t btd_device_get_version(struct btd_device *device)
static void device_remove_stored(struct btd_device *device)
{
- bdaddr_t src, dst;
+ bdaddr_t *src, dst;
uint8_t dst_type;
- adapter_get_address(device->adapter, &src);
+ src = adapter_get_address(device->adapter);
device_get_address(device, &dst, &dst_type);
- delete_entry(&src, "profiles", &dst, dst_type);
- delete_entry(&src, "trusts", &dst, dst_type);
+ delete_entry(src, "profiles", &dst, dst_type);
+ delete_entry(src, "trusts", &dst, dst_type);
if (device_is_bonded(device)) {
- delete_entry(&src, "linkkeys", &dst, dst_type);
- delete_entry(&src, "aliases", &dst, dst_type);
- delete_entry(&src, "longtermkeys", &dst, dst_type);
+ delete_entry(src, "linkkeys", &dst, dst_type);
+ delete_entry(src, "aliases", &dst, dst_type);
+ delete_entry(src, "longtermkeys", &dst, dst_type);
device_set_bonded(device, FALSE);
device->paired = FALSE;
btd_adapter_remove_bonding(device->adapter, &dst, dst_type);
}
- delete_all_records(&src, &dst, dst_type);
- delete_device_service(&src, &dst, dst_type);
+ delete_all_records(src, &dst, dst_type);
+ delete_device_service(src, &dst, dst_type);
if (device->blocked)
device_unblock(device, TRUE, FALSE);
@@ -1467,15 +1455,13 @@ static void device_remove_profiles(struct btd_device *device, GSList *uuids)
{
struct btd_adapter *adapter = device_get_adapter(device);
char srcaddr[18], dstaddr[18];
- bdaddr_t src;
sdp_list_t *records;
GSList *l, *next;
- adapter_get_address(adapter, &src);
- ba2str(&src, srcaddr);
+ ba2str(adapter_get_address(adapter), srcaddr);
ba2str(&device->bdaddr, dstaddr);
- records = read_records(&src, &device->bdaddr);
+ records = read_records(adapter_get_address(adapter), &device->bdaddr);
DBG("Removing profiles for %s", dstaddr);
@@ -1547,10 +1533,8 @@ static void update_bredr_services(struct browse_req *req, sdp_list_t *recs)
sdp_list_t *seq;
char srcaddr[18], dstaddr[18];
uint8_t dst_type;
- bdaddr_t src;
- adapter_get_address(adapter, &src);
- ba2str(&src, srcaddr);
+ ba2str(adapter_get_address(adapter), srcaddr);
ba2str(&device->bdaddr, dstaddr);
for (seq = recs; seq; seq = seq->next) {
@@ -1681,19 +1665,18 @@ static void update_gatt_services(struct browse_req *req, GSList *current,
static void store_profiles(struct btd_device *device)
{
struct btd_adapter *adapter = device->adapter;
- bdaddr_t src;
char *str;
- adapter_get_address(adapter, &src);
-
if (!device->uuids) {
- write_device_profiles(&src, &device->bdaddr,
- device->bdaddr_type, "");
+ write_device_profiles(adapter_get_address(adapter),
+ &device->bdaddr, device->bdaddr_type,
+ "");
return;
}
str = bt_list2string(device->uuids);
- write_device_profiles(&src, &device->bdaddr, device->bdaddr_type, str);
+ write_device_profiles(adapter_get_address(adapter), &device->bdaddr,
+ device->bdaddr_type, str);
g_free(str);
}
@@ -1832,7 +1815,6 @@ static void browse_cb(sdp_list_t *recs, int err, gpointer user_data)
struct browse_req *req = user_data;
struct btd_device *device = req->device;
struct btd_adapter *adapter = device->adapter;
- bdaddr_t src;
uuid_t uuid;
/* If we have a valid response and req->search_uuid == 2, then L2CAP
@@ -1847,12 +1829,11 @@ static void browse_cb(sdp_list_t *recs, int err, gpointer user_data)
update_bredr_services(req, recs);
- adapter_get_address(adapter, &src);
-
/* Search for mandatory uuids */
if (uuid_list[req->search_uuid]) {
sdp_uuid16_create(&uuid, uuid_list[req->search_uuid++]);
- bt_search_service(&src, &device->bdaddr, &uuid,
+ bt_search_service(adapter_get_address(adapter),
+ &device->bdaddr, &uuid,
browse_cb, user_data, NULL);
return;
}
@@ -1902,13 +1883,13 @@ static char *primary_list_to_string(GSList *primary_list)
static void store_services(struct btd_device *device)
{
struct btd_adapter *adapter = device->adapter;
- bdaddr_t dba, sba;
+ bdaddr_t dba;
char *str = primary_list_to_string(device->primaries);
- adapter_get_address(adapter, &sba);
device_get_address(device, &dba, NULL);
- write_device_services(&sba, &dba, device->bdaddr_type, str);
+ write_device_services(adapter_get_address(adapter), &dba,
+ device->bdaddr_type, str);
g_free(str);
}
@@ -2130,9 +2111,7 @@ GIOChannel *device_att_connect(gpointer user_data)
GIOChannel *io;
GError *gerr = NULL;
char addr[18];
- bdaddr_t sba;
- adapter_get_address(adapter, &sba);
ba2str(&device->bdaddr, addr);
DBG("Connection attempt to: %s", addr);
@@ -2145,7 +2124,8 @@ GIOChannel *device_att_connect(gpointer user_data)
if (device_is_bredr(device)) {
io = bt_io_connect(att_connect_cb,
attcb, NULL, &gerr,
- BT_IO_OPT_SOURCE_BDADDR, &sba,
+ BT_IO_OPT_SOURCE_BDADDR,
+ adapter_get_address(adapter),
BT_IO_OPT_DEST_BDADDR, &device->bdaddr,
BT_IO_OPT_PSM, ATT_PSM,
BT_IO_OPT_SEC_LEVEL, BT_IO_SEC_MEDIUM,
@@ -2154,7 +2134,8 @@ GIOChannel *device_att_connect(gpointer user_data)
/* this is a LE device during pairing, using low sec level */
io = bt_io_connect(att_connect_cb,
attcb, NULL, &gerr,
- BT_IO_OPT_SOURCE_BDADDR, &sba,
+ BT_IO_OPT_SOURCE_BDADDR,
+ adapter_get_address(adapter),
BT_IO_OPT_DEST_BDADDR, &device->bdaddr,
BT_IO_OPT_DEST_TYPE, device->bdaddr_type,
BT_IO_OPT_CID, ATT_CID,
@@ -2170,7 +2151,8 @@ GIOChannel *device_att_connect(gpointer user_data)
} else {
io = bt_io_connect(att_connect_cb,
attcb, NULL, &gerr,
- BT_IO_OPT_SOURCE_BDADDR, &sba,
+ BT_IO_OPT_SOURCE_BDADDR,
+ adapter_get_address(adapter),
BT_IO_OPT_DEST_BDADDR, &device->bdaddr,
BT_IO_OPT_DEST_TYPE, device->bdaddr_type,
BT_IO_OPT_CID, ATT_CID,
@@ -2223,14 +2205,12 @@ int device_browse_primary(struct btd_device *device, DBusMessage *msg,
struct att_callbacks *attcb;
struct browse_req *req;
BtIOSecLevel sec_level;
- bdaddr_t src;
if (device->browse)
return -EBUSY;
req = g_new0(struct browse_req, 1);
req->device = btd_device_ref(device);
- adapter_get_address(adapter, &src);
device->browse = req;
@@ -2248,7 +2228,8 @@ int device_browse_primary(struct btd_device *device, DBusMessage *msg,
device->att_io = bt_io_connect(att_connect_cb,
attcb, NULL, NULL,
- BT_IO_OPT_SOURCE_BDADDR, &src,
+ BT_IO_OPT_SOURCE_BDADDR,
+ adapter_get_address(adapter),
BT_IO_OPT_DEST_BDADDR, &device->bdaddr,
BT_IO_OPT_DEST_TYPE, device->bdaddr_type,
BT_IO_OPT_CID, ATT_CID,
@@ -2286,15 +2267,12 @@ int device_browse_sdp(struct btd_device *device, DBusMessage *msg,
struct btd_adapter *adapter = device->adapter;
struct browse_req *req;
bt_callback_t cb;
- bdaddr_t src;
uuid_t uuid;
int err;
if (device->browse)
return -EBUSY;
- adapter_get_address(adapter, &src);
-
req = g_new0(struct browse_req, 1);
req->device = btd_device_ref(device);
if (search) {
@@ -2306,7 +2284,8 @@ int device_browse_sdp(struct btd_device *device, DBusMessage *msg,
cb = browse_cb;
}
- err = bt_search_service(&src, &device->bdaddr, &uuid, cb, req, NULL);
+ err = bt_search_service(adapter_get_address(adapter), &device->bdaddr,
+ &uuid, cb, req, NULL);
if (err < 0) {
browse_request_free(req);
return err;
@@ -2578,6 +2557,7 @@ DBusMessage *device_create_bonding(struct btd_device *device,
if (device_is_bonded(device))
return btd_error_already_exists(msg);
+ adapter_get_address(adapter),
bonding = bonding_request_new(msg, device, agent_path,
capability);
@@ -3128,8 +3108,6 @@ void btd_device_add_uuid(struct btd_device *device, const char *uuid)
const sdp_record_t *btd_device_get_record(struct btd_device *device,
const char *uuid)
{
- bdaddr_t src;
-
if (device->tmp_records) {
const sdp_record_t *record;
@@ -3142,9 +3120,8 @@ const sdp_record_t *btd_device_get_record(struct btd_device *device,
device->tmp_records = NULL;
}
- adapter_get_address(device->adapter, &src);
-
- device->tmp_records = read_records(&src, &device->bdaddr);
+ device->tmp_records = read_records(adapter_get_address(device->adapter),
+ &device->bdaddr);
if (!device->tmp_records)
return NULL;
@@ -3195,14 +3172,12 @@ void device_set_class(struct btd_device *device, uint32_t value)
int device_get_appearance(struct btd_device *device, uint16_t *value)
{
- bdaddr_t src;
uint16_t app;
int err;
- adapter_get_address(device_get_adapter(device), &src);
-
- err = read_remote_appearance(&src, &device->bdaddr,
- device->bdaddr_type, &app);
+ err = read_remote_appearance(adapter_get_address(device->adapter),
+ &device->bdaddr, device->bdaddr_type,
+ &app);
if (err < 0)
return err;
@@ -3215,7 +3190,6 @@ int device_get_appearance(struct btd_device *device, uint16_t *value)
void device_set_appearance(struct btd_device *device, uint16_t value)
{
const char *icon = gap_appearance_to_icon(value);
- bdaddr_t src;
emit_property_changed(device->path,
DEVICE_INTERFACE, "Appearance",
@@ -3226,9 +3200,8 @@ void device_set_appearance(struct btd_device *device, uint16_t value)
DEVICE_INTERFACE, "Icon",
DBUS_TYPE_STRING, &icon);
- adapter_get_address(device_get_adapter(device), &src);
- write_remote_appearance(&src, &device->bdaddr, device->bdaddr_type,
- value);
+ write_remote_appearance(adapter_get_address(device->adapter),
+ &device->bdaddr, device->bdaddr_type, value);
}
static gboolean notify_attios(gpointer user_data)
diff --git a/src/manager.c b/src/manager.c
index 2ceeed1..a96115b 100644
--- a/src/manager.c
+++ b/src/manager.c
@@ -280,11 +280,8 @@ static gint adapter_cmp(gconstpointer a, gconstpointer b)
{
struct btd_adapter *adapter = (struct btd_adapter *) a;
const bdaddr_t *bdaddr = b;
- bdaddr_t src;
- adapter_get_address(adapter, &src);
-
- return bacmp(&src, bdaddr);
+ return bacmp(adapter_get_address(adapter), bdaddr);
}
struct btd_adapter *manager_find_adapter(const bdaddr_t *sba)
diff --git a/src/profile.c b/src/profile.c
index 338e903..c10e315 100644
--- a/src/profile.c
+++ b/src/profile.c
@@ -185,12 +185,11 @@ static void ext_io_destroy(gpointer p)
}
if (ext_io->resolving) {
- bdaddr_t src, dst;
+ bdaddr_t dst;
- adapter_get_address(ext_io->adapter, &src);
device_get_address(ext_io->device, &dst, NULL);
- bt_cancel_discovery(&src, &dst);
+ bt_cancel_discovery(adapter_get_address(ext_io->adapter), &dst);
}
if (ext_io->rec_handle)
@@ -501,11 +500,8 @@ static int ext_start_servers(struct ext_profile *ext,
GError *err = NULL;
uint16_t handle;
GIOChannel *io;
- bdaddr_t src;
-
- adapter_get_address(adapter, &src);
- handle = ext_register_record(ext, &src);
+ handle = ext_register_record(ext, adapter_get_address(adapter));
if (ext->authorize) {
confirm = ext_confirm;
@@ -521,7 +517,8 @@ static int ext_start_servers(struct ext_profile *ext,
server->rec_handle = handle;
io = bt_io_listen(connect, confirm, server, NULL, &err,
- BT_IO_OPT_SOURCE_BDADDR, &src,
+ BT_IO_OPT_SOURCE_BDADDR,
+ adapter_get_address(adapter),
BT_IO_OPT_PSM, ext->psm,
BT_IO_OPT_SEC_LEVEL, ext->sec_level,
BT_IO_OPT_INVALID);
@@ -545,7 +542,8 @@ static int ext_start_servers(struct ext_profile *ext,
server->rec_handle = handle;
io = bt_io_listen(connect, confirm, server, NULL, &err,
- BT_IO_OPT_SOURCE_BDADDR, &src,
+ BT_IO_OPT_SOURCE_BDADDR,
+ adapter_get_address(adapter),
BT_IO_OPT_CHANNEL, ext->chan,
BT_IO_OPT_SEC_LEVEL, ext->sec_level,
BT_IO_OPT_INVALID);
@@ -720,7 +718,7 @@ static void record_cb(sdp_list_t *recs, int err, gpointer user_data)
{
struct ext_io *conn = user_data;
struct ext_profile *ext = conn->ext;
- bdaddr_t src, dst;
+ bdaddr_t dst;
sdp_list_t *r;
conn->resolving = false;
@@ -772,10 +770,9 @@ static void record_cb(sdp_list_t *recs, int err, gpointer user_data)
goto failed;
}
- adapter_get_address(conn->adapter, &src);
device_get_address(conn->device, &dst, NULL);
- err = connect_io(conn, &src, &dst);
+ err = connect_io(conn, adapter_get_address(conn->adapter), &dst);
if (err < 0) {
error("Connecting %s failed: %s", ext->name, strerror(-err));
goto failed;
@@ -810,7 +807,7 @@ static int ext_connect_dev(struct btd_device *dev, struct btd_profile *profile,
struct btd_adapter *adapter;
struct ext_io *conn;
struct ext_profile *ext;
- bdaddr_t src, dst;
+ bdaddr_t dst;
int err;
ext = find_ext(profile);
@@ -818,16 +815,15 @@ static int ext_connect_dev(struct btd_device *dev, struct btd_profile *profile,
return -ENOENT;
adapter = device_get_adapter(dev);
- adapter_get_address(adapter, &src);
device_get_address(dev, &dst, NULL);
conn = g_new0(struct ext_io, 1);
conn->ext = ext;
if (ext->psm || ext->chan)
- err = connect_io(conn, &src, &dst);
+ err = connect_io(conn, adapter_get_address(adapter), &dst);
else
- err = resolve_service(conn, &src, &dst);
+ err = resolve_service(conn, adapter_get_address(adapter), &dst);
if (err < 0)
goto failed;
--
1.7.9.5
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH 2/7] storage: Constify bdaddr_t pointers parameters
2012-10-05 8:16 [PATCH 1/7] adapter: Convert adapter_get_address into simple getter Szymon Janc
@ 2012-10-05 8:16 ` Szymon Janc
2012-10-05 8:16 ` [PATCH 3/7] adapter: Constify pointer returned by adapter_get_address Szymon Janc
` (6 subsequent siblings)
7 siblings, 0 replies; 10+ messages in thread
From: Szymon Janc @ 2012-10-05 8:16 UTC (permalink / raw)
To: linux-bluetooth; +Cc: Szymon Janc
---
src/storage.c | 97 +++++++++++++++++++++++++++++++--------------------------
src/storage.h | 95 ++++++++++++++++++++++++++++++-------------------------
2 files changed, 105 insertions(+), 87 deletions(-)
diff --git a/src/storage.c b/src/storage.c
index 96db6f5..df6b0aa 100644
--- a/src/storage.c
+++ b/src/storage.c
@@ -110,7 +110,7 @@ int write_device_alias(const char *src, const char *dst, uint8_t dst_type,
return textfile_put(filename, key, alias);
}
-int write_discoverable_timeout(bdaddr_t *bdaddr, int timeout)
+int write_discoverable_timeout(const bdaddr_t *bdaddr, int timeout)
{
char filename[PATH_MAX + 1], str[32];
@@ -143,7 +143,7 @@ int read_discoverable_timeout(const char *src, int *timeout)
return 0;
}
-int write_pairable_timeout(bdaddr_t *bdaddr, int timeout)
+int write_pairable_timeout(const bdaddr_t *bdaddr, int timeout)
{
char filename[PATH_MAX + 1], str[32];
@@ -176,7 +176,7 @@ int read_pairable_timeout(const char *src, int *timeout)
return 0;
}
-int write_device_mode(bdaddr_t *bdaddr, const char *mode)
+int write_device_mode(const bdaddr_t *bdaddr, const char *mode)
{
char filename[PATH_MAX + 1];
@@ -226,7 +226,7 @@ int read_on_mode(const char *src, char *mode, int length)
return 0;
}
-int write_local_name(bdaddr_t *bdaddr, const char *name)
+int write_local_name(const bdaddr_t *bdaddr, const char *name)
{
char filename[PATH_MAX + 1], str[249];
int i;
@@ -245,7 +245,7 @@ int write_local_name(bdaddr_t *bdaddr, const char *name)
return textfile_put(filename, "name", str);
}
-int read_local_name(bdaddr_t *bdaddr, char *name)
+int read_local_name(const bdaddr_t *bdaddr, char *name)
{
char filename[PATH_MAX + 1], *str;
int len;
@@ -266,7 +266,7 @@ int read_local_name(bdaddr_t *bdaddr, char *name)
return 0;
}
-int write_local_class(bdaddr_t *bdaddr, uint8_t *class)
+int write_local_class(const bdaddr_t *bdaddr, uint8_t *class)
{
char filename[PATH_MAX + 1], str[9];
@@ -279,7 +279,7 @@ int write_local_class(bdaddr_t *bdaddr, uint8_t *class)
return textfile_put(filename, "class", str);
}
-int read_local_class(bdaddr_t *bdaddr, uint8_t *class)
+int read_local_class(const bdaddr_t *bdaddr, uint8_t *class)
{
char filename[PATH_MAX + 1], tmp[3], *str;
int i;
@@ -301,8 +301,8 @@ int read_local_class(bdaddr_t *bdaddr, uint8_t *class)
return 0;
}
-int read_remote_appearance(bdaddr_t *local, bdaddr_t *peer, uint8_t bdaddr_type,
- uint16_t *appearance)
+int read_remote_appearance(const bdaddr_t *local, const bdaddr_t *peer,
+ uint8_t bdaddr_type, uint16_t *appearance)
{
char filename[PATH_MAX + 1], key[20], *str;
@@ -325,7 +325,7 @@ int read_remote_appearance(bdaddr_t *local, bdaddr_t *peer, uint8_t bdaddr_type,
return 0;
}
-int write_remote_appearance(bdaddr_t *local, bdaddr_t *peer,
+int write_remote_appearance(const bdaddr_t *local, const bdaddr_t *peer,
uint8_t bdaddr_type, uint16_t appearance)
{
char filename[PATH_MAX + 1], key[20], str[7];
@@ -342,7 +342,8 @@ int write_remote_appearance(bdaddr_t *local, bdaddr_t *peer,
return textfile_put(filename, key, str);
}
-int write_remote_class(bdaddr_t *local, bdaddr_t *peer, uint32_t class)
+int write_remote_class(const bdaddr_t *local, const bdaddr_t *peer,
+ uint32_t class)
{
char filename[PATH_MAX + 1], addr[18], str[9];
@@ -356,7 +357,8 @@ int write_remote_class(bdaddr_t *local, bdaddr_t *peer, uint32_t class)
return textfile_put(filename, addr, str);
}
-int read_remote_class(bdaddr_t *local, bdaddr_t *peer, uint32_t *class)
+int read_remote_class(const bdaddr_t *local, const bdaddr_t *peer,
+ uint32_t *class)
{
char filename[PATH_MAX + 1], addr[18], *str;
@@ -378,8 +380,8 @@ int read_remote_class(bdaddr_t *local, bdaddr_t *peer, uint32_t *class)
return 0;
}
-int write_device_name(bdaddr_t *local, bdaddr_t *peer, uint8_t peer_type,
- const char *name)
+int write_device_name(const bdaddr_t *local, const bdaddr_t *peer,
+ uint8_t peer_type, const char *name)
{
char filename[PATH_MAX + 1], key[20], str[HCI_MAX_NAME_LENGTH + 1];
int i;
@@ -433,8 +435,9 @@ done:
return 0;
}
-int write_remote_eir(bdaddr_t *local, bdaddr_t *peer, uint8_t peer_type,
- uint8_t *data, uint8_t data_len)
+int write_remote_eir(const bdaddr_t *local, const bdaddr_t *peer,
+ uint8_t peer_type, uint8_t *data,
+ uint8_t data_len)
{
char filename[PATH_MAX + 1], key[20], str[481];
int i;
@@ -453,8 +456,8 @@ int write_remote_eir(bdaddr_t *local, bdaddr_t *peer, uint8_t peer_type,
return textfile_put(filename, key, str);
}
-int read_remote_eir(bdaddr_t *local, bdaddr_t *peer, uint8_t peer_type,
- uint8_t *data)
+int read_remote_eir(const bdaddr_t *local, const bdaddr_t *peer,
+ uint8_t peer_type, uint8_t *data)
{
char filename[PATH_MAX + 1], key[18], *str;
int i;
@@ -494,8 +497,9 @@ done:
return 0;
}
-int write_version_info(bdaddr_t *local, bdaddr_t *peer, uint16_t manufacturer,
- uint8_t lmp_ver, uint16_t lmp_subver)
+int write_version_info(const bdaddr_t *local, const bdaddr_t *peer,
+ uint16_t manufacturer, uint8_t lmp_ver,
+ uint16_t lmp_subver)
{
char filename[PATH_MAX + 1], addr[18], str[16];
@@ -510,7 +514,7 @@ int write_version_info(bdaddr_t *local, bdaddr_t *peer, uint16_t manufacturer,
return textfile_put(filename, addr, str);
}
-int write_features_info(bdaddr_t *local, bdaddr_t *peer,
+int write_features_info(const bdaddr_t *local, const bdaddr_t *peer,
unsigned char *page1, unsigned char *page2)
{
char filename[PATH_MAX + 1], addr[18];
@@ -554,7 +558,7 @@ static int decode_bytes(const char *str, unsigned char *bytes, size_t len)
return 0;
}
-int read_remote_features(bdaddr_t *local, bdaddr_t *peer,
+int read_remote_features(const bdaddr_t *local, const bdaddr_t *peer,
unsigned char *page1, unsigned char *page2)
{
char filename[PATH_MAX + 1], addr[18], *str;
@@ -587,8 +591,8 @@ int read_remote_features(bdaddr_t *local, bdaddr_t *peer,
return err;
}
-int write_lastseen_info(bdaddr_t *local, bdaddr_t *peer, uint8_t peer_type,
- struct tm *tm)
+int write_lastseen_info(const bdaddr_t *local, const bdaddr_t *peer,
+ uint8_t peer_type, struct tm *tm)
{
char filename[PATH_MAX + 1], key[20], str[24];
@@ -605,8 +609,8 @@ int write_lastseen_info(bdaddr_t *local, bdaddr_t *peer, uint8_t peer_type,
return textfile_put(filename, key, str);
}
-int write_lastused_info(bdaddr_t *local, bdaddr_t *peer, uint8_t peer_type,
- struct tm *tm)
+int write_lastused_info(const bdaddr_t *local, const bdaddr_t *peer,
+ uint8_t peer_type, struct tm *tm)
{
char filename[PATH_MAX + 1], key[20], str[24];
@@ -623,8 +627,9 @@ int write_lastused_info(bdaddr_t *local, bdaddr_t *peer, uint8_t peer_type,
return textfile_put(filename, key, str);
}
-int write_link_key(bdaddr_t *local, bdaddr_t *peer, uint8_t peer_type,
- unsigned char *key, uint8_t type, int length)
+int write_link_key(const bdaddr_t *local, const bdaddr_t *peer,
+ uint8_t peer_type, unsigned char *key,
+ uint8_t type, int length)
{
char filename[PATH_MAX + 1], addr[20], str[38];
int i;
@@ -653,8 +658,9 @@ int write_link_key(bdaddr_t *local, bdaddr_t *peer, uint8_t peer_type,
return textfile_put(filename, addr, str);
}
-int read_link_key(bdaddr_t *local, bdaddr_t *peer, uint8_t peer_type,
- unsigned char *key, uint8_t *type)
+int read_link_key(const bdaddr_t *local, const bdaddr_t *peer,
+ uint8_t peer_type, unsigned char *key,
+ uint8_t *type)
{
char filename[PATH_MAX + 1], addr[20], tmp[3], *str;
int i;
@@ -697,7 +703,7 @@ done:
return 0;
}
-ssize_t read_pin_code(bdaddr_t *local, bdaddr_t *peer, char *pin)
+ssize_t read_pin_code(const bdaddr_t *local, const bdaddr_t *peer, char *pin)
{
char filename[PATH_MAX + 1], addr[18], *str;
ssize_t len;
@@ -760,8 +766,8 @@ gboolean read_trust(const bdaddr_t *local, const char *addr, uint8_t addr_type)
return ret;
}
-int write_device_profiles(bdaddr_t *src, bdaddr_t *dst, uint8_t dst_type,
- const char *profiles)
+int write_device_profiles(const bdaddr_t *src, const bdaddr_t *dst,
+ uint8_t dst_type, const char *profiles)
{
char filename[PATH_MAX + 1], key[20];
@@ -778,7 +784,7 @@ int write_device_profiles(bdaddr_t *src, bdaddr_t *dst, uint8_t dst_type,
return textfile_put(filename, key, profiles);
}
-int delete_entry(bdaddr_t *src, const char *storage, bdaddr_t *dst,
+int delete_entry(const bdaddr_t *src, const char *storage, const bdaddr_t *dst,
uint8_t dst_type)
{
char filename[PATH_MAX + 1], key[20];
@@ -1147,7 +1153,7 @@ int read_device_id(const gchar *srcaddr, const gchar *dstaddr,
return 0;
}
-int write_device_pairable(bdaddr_t *bdaddr, gboolean mode)
+int write_device_pairable(const bdaddr_t *bdaddr, gboolean mode)
{
char filename[PATH_MAX + 1];
@@ -1158,7 +1164,7 @@ int write_device_pairable(bdaddr_t *bdaddr, gboolean mode)
return textfile_put(filename, "pairable", mode ? "yes" : "no");
}
-int read_device_pairable(bdaddr_t *bdaddr, gboolean *mode)
+int read_device_pairable(const bdaddr_t *bdaddr, gboolean *mode)
{
char filename[PATH_MAX + 1], *str;
@@ -1359,8 +1365,9 @@ int read_device_attributes(const bdaddr_t *sba, textfile_cb func, void *data)
return textfile_foreach(filename, func, data);
}
-int read_device_ccc(bdaddr_t *local, bdaddr_t *peer, uint8_t bdaddr_type,
- uint16_t handle, uint16_t *value)
+int read_device_ccc(const bdaddr_t *local, const bdaddr_t *peer,
+ uint8_t bdaddr_type, uint16_t handle,
+ uint16_t *value)
{
char filename[PATH_MAX + 1], addr[18], key[25];
char *str;
@@ -1386,8 +1393,9 @@ int read_device_ccc(bdaddr_t *local, bdaddr_t *peer, uint8_t bdaddr_type,
return err;
}
-int write_device_ccc(bdaddr_t *local, bdaddr_t *peer, uint8_t bdaddr_type,
- uint16_t handle, uint16_t value)
+int write_device_ccc(const bdaddr_t *local, const bdaddr_t *peer,
+ uint8_t bdaddr_type, uint16_t handle,
+ uint16_t value)
{
char filename[PATH_MAX + 1], addr[18], key[25], config[5];
@@ -1403,7 +1411,7 @@ int write_device_ccc(bdaddr_t *local, bdaddr_t *peer, uint8_t bdaddr_type,
return textfile_put(filename, key, config);
}
-void delete_device_ccc(bdaddr_t *local, bdaddr_t *peer)
+void delete_device_ccc(const bdaddr_t *local, const bdaddr_t *peer)
{
char filename[PATH_MAX + 1], addr[18];
@@ -1414,8 +1422,8 @@ void delete_device_ccc(bdaddr_t *local, bdaddr_t *peer)
delete_by_pattern(filename, addr);
}
-int write_longtermkeys(bdaddr_t *local, bdaddr_t *peer, uint8_t bdaddr_type,
- const char *key)
+int write_longtermkeys(const bdaddr_t *local, const bdaddr_t *peer,
+ uint8_t bdaddr_type, const char *key)
{
char filename[PATH_MAX + 1], addr[20];
@@ -1432,7 +1440,8 @@ int write_longtermkeys(bdaddr_t *local, bdaddr_t *peer, uint8_t bdaddr_type,
return textfile_put(filename, addr, key);
}
-gboolean has_longtermkeys(bdaddr_t *local, bdaddr_t *peer, uint8_t bdaddr_type)
+gboolean has_longtermkeys(const bdaddr_t *local, const bdaddr_t *peer,
+ uint8_t bdaddr_type)
{
char filename[PATH_MAX + 1], key[20], *str;
diff --git a/src/storage.h b/src/storage.h
index 6a8df83..741b8a7 100644
--- a/src/storage.h
+++ b/src/storage.h
@@ -27,50 +27,57 @@ int read_device_alias(const char *src, const char *dst, uint8_t dst_type,
char *alias, size_t size);
int write_device_alias(const char *src, const char *dst, uint8_t dst_type,
const char *alias);
-int write_discoverable_timeout(bdaddr_t *bdaddr, int timeout);
+int write_discoverable_timeout(const bdaddr_t *bdaddr, int timeout);
int read_discoverable_timeout(const char *src, int *timeout);
-int write_pairable_timeout(bdaddr_t *bdaddr, int timeout);
+int write_pairable_timeout(const bdaddr_t *bdaddr, int timeout);
int read_pairable_timeout(const char *src, int *timeout);
-int write_device_mode(bdaddr_t *bdaddr, const char *mode);
+int write_device_mode(const bdaddr_t *bdaddr, const char *mode);
int read_device_mode(const char *src, char *mode, int length);
int read_on_mode(const char *src, char *mode, int length);
-int write_local_name(bdaddr_t *bdaddr, const char *name);
-int read_local_name(bdaddr_t *bdaddr, char *name);
-int write_local_class(bdaddr_t *bdaddr, uint8_t *class);
-int read_local_class(bdaddr_t *bdaddr, uint8_t *class);
-int write_remote_appearance(bdaddr_t *local, bdaddr_t *peer,
+int write_local_name(const bdaddr_t *bdaddr, const char *name);
+int read_local_name(const bdaddr_t *bdaddr, char *name);
+int write_local_class(const bdaddr_t *bdaddr, uint8_t *class);
+int read_local_class(const bdaddr_t *bdaddr, uint8_t *class);
+int write_remote_appearance(const bdaddr_t *local, const bdaddr_t *peer,
uint8_t bdaddr_type, uint16_t appearance);
-int read_remote_appearance(bdaddr_t *local, bdaddr_t *peer, uint8_t bdaddr_type,
- uint16_t *appearance);
-int write_remote_class(bdaddr_t *local, bdaddr_t *peer, uint32_t class);
-int read_remote_class(bdaddr_t *local, bdaddr_t *peer, uint32_t *class);
-int write_device_name(bdaddr_t *local, bdaddr_t *peer, uint8_t peer_type,
- const char *name);
+int read_remote_appearance(const bdaddr_t *local, const bdaddr_t *peer,
+ uint8_t bdaddr_type, uint16_t *appearance);
+int write_remote_class(const bdaddr_t *local, const bdaddr_t *peer,
+ uint32_t class);
+int read_remote_class(const bdaddr_t *local, const bdaddr_t *peer,
+ uint32_t *class);
+int write_device_name(const bdaddr_t *local, const bdaddr_t *peer,
+ uint8_t peer_type, const char *name);
int read_device_name(const char *src, const char *dst, uint8_t dst_type,
char *name);
-int write_remote_eir(bdaddr_t *local, bdaddr_t *peer, uint8_t peer_type,
- uint8_t *data, uint8_t data_len);
-int read_remote_eir(bdaddr_t *local, bdaddr_t *peer, uint8_t peer_type,
- uint8_t *data);
-int write_version_info(bdaddr_t *local, bdaddr_t *peer, uint16_t manufacturer, uint8_t lmp_ver, uint16_t lmp_subver);
-int write_features_info(bdaddr_t *local, bdaddr_t *peer, unsigned char *page1, unsigned char *page2);
-int read_remote_features(bdaddr_t *local, bdaddr_t *peer, unsigned char *page1, unsigned char *page2);
-int write_lastseen_info(bdaddr_t *local, bdaddr_t *peer, uint8_t peer_type,
- struct tm *tm);
-int write_lastused_info(bdaddr_t *local, bdaddr_t *peer, uint8_t peer_type,
- struct tm *tm);
-int write_link_key(bdaddr_t *local, bdaddr_t *peer, uint8_t peer_type,
- unsigned char *key, uint8_t type, int length);
-int read_link_key(bdaddr_t *local, bdaddr_t *peer, uint8_t peer_type,
- unsigned char *key, uint8_t *type);
-ssize_t read_pin_code(bdaddr_t *local, bdaddr_t *peer, char *pin);
+int write_remote_eir(const bdaddr_t *local, const bdaddr_t *peer,
+ uint8_t peer_type, uint8_t *data, uint8_t data_len);
+int read_remote_eir(const bdaddr_t *local, const bdaddr_t *peer,
+ uint8_t peer_type, uint8_t *data);
+int write_version_info(const bdaddr_t *local, const bdaddr_t *peer,
+ uint16_t manufacturer, uint8_t lmp_ver,
+ uint16_t lmp_subver);
+int write_features_info(const bdaddr_t *local, const bdaddr_t *peer,
+ unsigned char *page1, unsigned char *page2);
+int read_remote_features(const bdaddr_t *local, const bdaddr_t *peer,
+ unsigned char *page1, unsigned char *page2);
+int write_lastseen_info(const bdaddr_t *local, const bdaddr_t *peer,
+ uint8_t peer_type, struct tm *tm);
+int write_lastused_info(const bdaddr_t *local, const bdaddr_t *peer,
+ uint8_t peer_type, struct tm *tm);
+int write_link_key(const bdaddr_t *local, const bdaddr_t *peer,
+ uint8_t peer_type, unsigned char *key,
+ uint8_t type, int length);
+int read_link_key(const bdaddr_t *local, const bdaddr_t *peer,
+ uint8_t peer_type, unsigned char *key, uint8_t *type);
+ssize_t read_pin_code(const bdaddr_t *local, const bdaddr_t *peer, char *pin);
gboolean read_trust(const bdaddr_t *local, const char *addr,
uint8_t addr_type);
int write_trust(const char *src, const char *addr, uint8_t addr_type,
gboolean trust);
-int write_device_profiles(bdaddr_t *src, bdaddr_t *dst, uint8_t dst_type,
- const char *profiles);
-int delete_entry(bdaddr_t *src, const char *storage, bdaddr_t *dst,
+int write_device_profiles(const bdaddr_t *src, const bdaddr_t *dst,
+ uint8_t dst_type, const char *profiles);
+int delete_entry(const bdaddr_t *src, const char *storage, const bdaddr_t *dst,
uint8_t dst_type);
int store_record(const gchar *src, const gchar *dst, uint8_t dst_type,
sdp_record_t *rec);
@@ -89,8 +96,8 @@ int store_device_id(const gchar *src, const gchar *dst, uint8_t dst_type,
int read_device_id(const gchar *src, const gchar *dst, uint8_t dst_type,
uint16_t *source, uint16_t *vendor,
uint16_t *product, uint16_t *version);
-int write_device_pairable(bdaddr_t *local, gboolean mode);
-int read_device_pairable(bdaddr_t *local, gboolean *mode);
+int write_device_pairable(const bdaddr_t *local, gboolean mode);
+int read_device_pairable(const bdaddr_t *local, gboolean *mode);
gboolean read_blocked(const bdaddr_t *local, const bdaddr_t *remote,
uint8_t remote_type);
int write_blocked(const bdaddr_t *local, const bdaddr_t *remote,
@@ -110,11 +117,13 @@ int write_device_attribute(const bdaddr_t *sba, const bdaddr_t *dba,
uint8_t bdaddr_type, uint16_t handle,
const char *chars);
int read_device_attributes(const bdaddr_t *sba, textfile_cb func, void *data);
-int read_device_ccc(bdaddr_t *local, bdaddr_t *peer, uint8_t bdaddr_type,
- uint16_t handle, uint16_t *value);
-int write_device_ccc(bdaddr_t *local, bdaddr_t *peer, uint8_t bdaddr_type,
- uint16_t handle, uint16_t value);
-void delete_device_ccc(bdaddr_t *local, bdaddr_t *peer);
-int write_longtermkeys(bdaddr_t *local, bdaddr_t *peer, uint8_t bdaddr_type,
- const char *key);
-gboolean has_longtermkeys(bdaddr_t *local, bdaddr_t *peer, uint8_t bdaddr_type);
+int read_device_ccc(const bdaddr_t *local, const bdaddr_t *peer,
+ uint8_t bdaddr_type, uint16_t handle, uint16_t *value);
+int write_device_ccc(const bdaddr_t *local, const bdaddr_t *peer,
+ uint8_t bdaddr_type, uint16_t handle,
+ uint16_t value);
+void delete_device_ccc(const bdaddr_t *local, const bdaddr_t *peer);
+int write_longtermkeys(const bdaddr_t *local, const bdaddr_t *peer,
+ uint8_t bdaddr_type, const char *key);
+gboolean has_longtermkeys(const bdaddr_t *local, const bdaddr_t *peer,
+ uint8_t bdaddr_type);
--
1.7.9.5
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH 3/7] adapter: Constify pointer returned by adapter_get_address
2012-10-05 8:16 [PATCH 1/7] adapter: Convert adapter_get_address into simple getter Szymon Janc
2012-10-05 8:16 ` [PATCH 2/7] storage: Constify bdaddr_t pointers parameters Szymon Janc
@ 2012-10-05 8:16 ` Szymon Janc
2012-10-05 8:16 ` [PATCH 4/7] device: Convert device_get_address into simple getter Szymon Janc
` (5 subsequent siblings)
7 siblings, 0 replies; 10+ messages in thread
From: Szymon Janc @ 2012-10-05 8:16 UTC (permalink / raw)
To: linux-bluetooth; +Cc: Szymon Janc
---
audio/manager.c | 4 ++--
profiles/gatt/gas.c | 10 ++++++----
profiles/health/hdp_util.c | 9 ++++++---
profiles/health/mcap.c | 2 +-
profiles/health/mcap_lib.h | 2 +-
profiles/network/connection.c | 6 +++---
profiles/network/connection.h | 2 +-
profiles/network/manager.c | 3 ++-
profiles/proximity/monitor.c | 4 ++--
profiles/sap/server.c | 2 +-
profiles/sap/server.h | 2 +-
src/adapter.c | 2 +-
src/adapter.h | 2 +-
src/attrib-server.c | 2 +-
src/device.c | 5 +++--
src/eir.c | 2 +-
src/eir.h | 2 +-
src/profile.c | 9 ++++++---
18 files changed, 40 insertions(+), 30 deletions(-)
diff --git a/audio/manager.c b/audio/manager.c
index 6ddea5a..e6886d7 100644
--- a/audio/manager.c
+++ b/audio/manager.c
@@ -507,7 +507,7 @@ static int headset_server_init(struct audio_adapter *adapter)
GError *err = NULL;
uint32_t features;
GIOChannel *io;
- bdaddr_t *src;
+ const bdaddr_t *src;
if (config) {
gboolean tmp;
@@ -608,7 +608,7 @@ static int gateway_server_init(struct audio_adapter *adapter)
gboolean master = TRUE;
GError *err = NULL;
GIOChannel *io;
- bdaddr_t *src;
+ const bdaddr_t *src;
if (config) {
gboolean tmp;
diff --git a/profiles/gatt/gas.c b/profiles/gatt/gas.c
index f0fcbe7..03bdd5a 100644
--- a/profiles/gatt/gas.c
+++ b/profiles/gatt/gas.c
@@ -86,8 +86,9 @@ static inline int create_filename(char *buf, size_t size,
return create_name(buf, size, STORAGEDIR, addr, name);
}
-static int write_ctp_handle(bdaddr_t *sba, bdaddr_t *dba, uint8_t bdaddr_type,
- uint16_t uuid, uint16_t handle)
+static int write_ctp_handle(const bdaddr_t *sba, const bdaddr_t *dba,
+ uint8_t bdaddr_type, uint16_t uuid,
+ uint16_t handle)
{
char filename[PATH_MAX + 1], addr[18], key[27], value[7];
@@ -104,8 +105,9 @@ static int write_ctp_handle(bdaddr_t *sba, bdaddr_t *dba, uint8_t bdaddr_type,
return textfile_put(filename, key, value);
}
-static int read_ctp_handle(bdaddr_t *sba, bdaddr_t *dba, uint8_t bdaddr_type,
- uint16_t uuid, uint16_t *value)
+static int read_ctp_handle(const bdaddr_t *sba, const bdaddr_t *dba,
+ uint8_t bdaddr_type, uint16_t uuid,
+ uint16_t *value)
{
char filename[PATH_MAX + 1], addr[18], key[27];
char *str;
diff --git a/profiles/health/hdp_util.c b/profiles/health/hdp_util.c
index 931c1dd..1d9419e 100644
--- a/profiles/health/hdp_util.c
+++ b/profiles/health/hdp_util.c
@@ -857,7 +857,8 @@ gboolean hdp_get_mdep(struct hdp_device *device, struct hdp_application *app,
GDestroyNotify destroy, GError **err)
{
struct get_mdep_data *mdep_data;
- bdaddr_t dst, *src;
+ bdaddr_t dst;
+ const bdaddr_t *src;
uuid_t uuid;
device_get_address(device->dev, &dst, NULL);
@@ -1086,7 +1087,8 @@ gboolean hdp_establish_mcl(struct hdp_device *device,
GError **err)
{
struct conn_mcl_data *conn_data;
- bdaddr_t dst, *src;
+ bdaddr_t dst;
+ const bdaddr_t *src;
uuid_t uuid;
device_get_address(device->dev, &dst, NULL);
@@ -1156,7 +1158,8 @@ gboolean hdp_get_dcpsm(struct hdp_device *device, hdp_continue_dcpsm_f func,
GError **err)
{
struct get_dcpsm_data *dcpsm_data;
- bdaddr_t dst, *src;
+ bdaddr_t dst;
+ const bdaddr_t *src;
uuid_t uuid;
device_get_address(device->dev, &dst, NULL);
diff --git a/profiles/health/mcap.c b/profiles/health/mcap.c
index 86f0575..57ea1c3 100644
--- a/profiles/health/mcap.c
+++ b/profiles/health/mcap.c
@@ -1984,7 +1984,7 @@ drop:
g_io_channel_shutdown(chan, TRUE, NULL);
}
-struct mcap_instance *mcap_create_instance(bdaddr_t *src,
+struct mcap_instance *mcap_create_instance(const bdaddr_t *src,
BtIOSecLevel sec,
uint16_t ccpsm,
uint16_t dcpsm,
diff --git a/profiles/health/mcap_lib.h b/profiles/health/mcap_lib.h
index 8fcc141..603ccc0 100644
--- a/profiles/health/mcap_lib.h
+++ b/profiles/health/mcap_lib.h
@@ -196,7 +196,7 @@ void mcap_sync_set_req(struct mcap_mcl *mcl,
/* MCAP main operations */
-struct mcap_instance *mcap_create_instance(bdaddr_t *src,
+struct mcap_instance *mcap_create_instance(const bdaddr_t *src,
BtIOSecLevel sec, uint16_t ccpsm,
uint16_t dcpsm,
mcap_mcl_event_cb mcl_connected,
diff --git a/profiles/network/connection.c b/profiles/network/connection.c
index 7688beb..9646e5a 100644
--- a/profiles/network/connection.c
+++ b/profiles/network/connection.c
@@ -594,8 +594,8 @@ void connection_unregister(const char *path)
}
static struct network_peer *create_peer(struct btd_device *device,
- const char *path, bdaddr_t *src,
- bdaddr_t *dst)
+ const char *path, const bdaddr_t *src,
+ const bdaddr_t *dst)
{
struct network_peer *peer;
@@ -623,7 +623,7 @@ static struct network_peer *create_peer(struct btd_device *device,
}
int connection_register(struct btd_device *device, const char *path,
- bdaddr_t *src, bdaddr_t *dst, uint16_t id)
+ const bdaddr_t *src, const bdaddr_t *dst, uint16_t id)
{
struct network_peer *peer;
struct network_conn *nc;
diff --git a/profiles/network/connection.h b/profiles/network/connection.h
index 2e33c55..efc4ccb 100644
--- a/profiles/network/connection.h
+++ b/profiles/network/connection.h
@@ -22,5 +22,5 @@
*/
int connection_register(struct btd_device *device, const char *path,
- bdaddr_t *src, bdaddr_t *dst, uint16_t id);
+ const bdaddr_t *src, const bdaddr_t *dst, uint16_t id);
void connection_unregister(const char *path);
diff --git a/profiles/network/manager.c b/profiles/network/manager.c
index 661181d..42b5214 100644
--- a/profiles/network/manager.c
+++ b/profiles/network/manager.c
@@ -78,7 +78,8 @@ static int network_probe(struct btd_profile *p, struct btd_device *device,
{
struct btd_adapter *adapter = device_get_adapter(device);
const gchar *path = device_get_path(device);
- bdaddr_t *src, dst;
+ const bdaddr_t *src;
+ bdaddr_t dst;
DBG("path %s", path);
diff --git a/profiles/proximity/monitor.c b/profiles/proximity/monitor.c
index 477eeea..03df0e2 100644
--- a/profiles/proximity/monitor.c
+++ b/profiles/proximity/monitor.c
@@ -93,7 +93,7 @@ static inline int create_filename(char *buf, size_t size,
return create_name(buf, size, STORAGEDIR, addr, name);
}
-static int write_proximity_config(bdaddr_t *sba, bdaddr_t *dba,
+static int write_proximity_config(const bdaddr_t *sba, const bdaddr_t *dba,
const char *alert, const char *level)
{
char filename[PATH_MAX + 1], addr[18], key[38];
@@ -109,7 +109,7 @@ static int write_proximity_config(bdaddr_t *sba, bdaddr_t *dba,
return textfile_put(filename, key, level);
}
-static char *read_proximity_config(bdaddr_t *sba, bdaddr_t *dba,
+static char *read_proximity_config(const bdaddr_t *sba, const bdaddr_t *dba,
const char *alert)
{
char filename[PATH_MAX + 1], addr[18], key[38];
diff --git a/profiles/sap/server.c b/profiles/sap/server.c
index 6072432..9a7cb72 100644
--- a/profiles/sap/server.c
+++ b/profiles/sap/server.c
@@ -1366,7 +1366,7 @@ static void destroy_sap_interface(void *data)
server_remove(server);
}
-int sap_server_register(const char *path, bdaddr_t *src)
+int sap_server_register(const char *path, const bdaddr_t *src)
{
sdp_record_t *record = NULL;
GError *gerr = NULL;
diff --git a/profiles/sap/server.h b/profiles/sap/server.h
index 9ea9a78..e636d91 100644
--- a/profiles/sap/server.h
+++ b/profiles/sap/server.h
@@ -20,5 +20,5 @@
#include <gdbus.h>
-int sap_server_register(const char *path, bdaddr_t *src);
+int sap_server_register(const char *path, const bdaddr_t *src);
void sap_server_unregister(const char *path);
diff --git a/src/adapter.c b/src/adapter.c
index 6cb6f7c..c640956 100644
--- a/src/adapter.c
+++ b/src/adapter.c
@@ -2668,7 +2668,7 @@ const gchar *adapter_get_path(struct btd_adapter *adapter)
return adapter->path;
}
-bdaddr_t *adapter_get_address(struct btd_adapter *adapter)
+const bdaddr_t *adapter_get_address(struct btd_adapter *adapter)
{
return &adapter->bdaddr;
}
diff --git a/src/adapter.h b/src/adapter.h
index f3599b5..d4fb14b 100644
--- a/src/adapter.h
+++ b/src/adapter.h
@@ -122,7 +122,7 @@ void adapter_set_discovering(struct btd_adapter *adapter,
gboolean discovering);
uint16_t adapter_get_dev_id(struct btd_adapter *adapter);
const gchar *adapter_get_path(struct btd_adapter *adapter);
-bdaddr_t *adapter_get_address(struct btd_adapter *adapter);
+const bdaddr_t *adapter_get_address(struct btd_adapter *adapter);
struct remote_dev_info *adapter_search_found_devices(struct btd_adapter *adapter,
bdaddr_t *bdaddr);
void adapter_update_found_devices(struct btd_adapter *adapter,
diff --git a/src/attrib-server.c b/src/attrib-server.c
index e7e2531..9155ab2 100644
--- a/src/attrib-server.c
+++ b/src/attrib-server.c
@@ -1237,7 +1237,7 @@ int btd_adapter_gatt_server_start(struct btd_adapter *adapter)
{
struct gatt_server *server;
GError *gerr = NULL;
- bdaddr_t *addr;
+ const bdaddr_t *addr;
DBG("Start GATT server in hci%d", adapter_get_dev_id(adapter));
diff --git a/src/device.c b/src/device.c
index d5aa8e1..dfbf925 100644
--- a/src/device.c
+++ b/src/device.c
@@ -1116,7 +1116,7 @@ struct btd_device *device_create(struct btd_adapter *adapter,
gchar *address_up;
struct btd_device *device;
const gchar *adapter_path = adapter_get_path(adapter);
- bdaddr_t *src;
+ const bdaddr_t *src;
char srcaddr[18], alias[MAX_NAME_LENGTH + 1];
uint16_t vendor, product, version;
@@ -1222,7 +1222,8 @@ uint16_t btd_device_get_version(struct btd_device *device)
static void device_remove_stored(struct btd_device *device)
{
- bdaddr_t *src, dst;
+ const bdaddr_t *src;
+ bdaddr_t dst;
uint8_t dst_type;
src = adapter_get_address(device->adapter);
diff --git a/src/eir.c b/src/eir.c
index d9fdb32..1f8d229 100644
--- a/src/eir.c
+++ b/src/eir.c
@@ -280,7 +280,7 @@ static void eir_generate_uuid128(sdp_list_t *list, uint8_t *ptr,
}
}
-int eir_create_oob(bdaddr_t *addr, const char *name, uint32_t cod,
+int eir_create_oob(const bdaddr_t *addr, const char *name, uint32_t cod,
uint8_t *hash, uint8_t *randomizer,
uint16_t did_vendor, uint16_t did_product,
uint16_t did_version, uint16_t did_source,
diff --git a/src/eir.h b/src/eir.h
index d8c5e32..1ad0832 100644
--- a/src/eir.h
+++ b/src/eir.h
@@ -53,7 +53,7 @@ struct eir_data {
void eir_data_free(struct eir_data *eir);
int eir_parse(struct eir_data *eir, uint8_t *eir_data, uint8_t eir_len);
int eir_parse_oob(struct eir_data *eir, uint8_t *eir_data, uint16_t eir_len);
-int eir_create_oob(bdaddr_t *addr, const char *name, uint32_t cod,
+int eir_create_oob(const bdaddr_t *addr, const char *name, uint32_t cod,
uint8_t *hash, uint8_t *randomizer,
uint16_t did_vendor, uint16_t did_product,
uint16_t did_version, uint16_t did_source,
diff --git a/src/profile.c b/src/profile.c
index c10e315..46b2e21 100644
--- a/src/profile.c
+++ b/src/profile.c
@@ -470,7 +470,8 @@ static sdp_record_t *ext_get_record(struct ext_profile *ext)
return NULL;
}
-static uint16_t ext_register_record(struct ext_profile *ext, bdaddr_t *src)
+static uint16_t ext_register_record(struct ext_profile *ext,
+ const bdaddr_t *src)
{
sdp_record_t *rec;
@@ -661,7 +662,8 @@ static void ext_device_remove(struct btd_profile *p, struct btd_device *dev)
remove_connect(ext, dev);
}
-static int connect_io(struct ext_io *conn, bdaddr_t *src, bdaddr_t *dst)
+static int connect_io(struct ext_io *conn, const bdaddr_t *src,
+ const bdaddr_t *dst)
{
struct ext_profile *ext = conn->ext;
GError *gerr = NULL;
@@ -786,7 +788,8 @@ failed:
ext_io_destroy(conn);
}
-static int resolve_service(struct ext_io *conn, bdaddr_t *src, bdaddr_t *dst)
+static int resolve_service(struct ext_io *conn, const bdaddr_t *src,
+ const bdaddr_t *dst)
{
struct ext_profile *ext = conn->ext;
uuid_t uuid;
--
1.7.9.5
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH 4/7] device: Convert device_get_address into simple getter
2012-10-05 8:16 [PATCH 1/7] adapter: Convert adapter_get_address into simple getter Szymon Janc
2012-10-05 8:16 ` [PATCH 2/7] storage: Constify bdaddr_t pointers parameters Szymon Janc
2012-10-05 8:16 ` [PATCH 3/7] adapter: Constify pointer returned by adapter_get_address Szymon Janc
@ 2012-10-05 8:16 ` Szymon Janc
2012-10-05 8:16 ` [PATCH 5/7] mgmt: Constify use of bdaddr_t pointer parameters Szymon Janc
` (4 subsequent siblings)
7 siblings, 0 replies; 10+ messages in thread
From: Szymon Janc @ 2012-10-05 8:16 UTC (permalink / raw)
To: linux-bluetooth; +Cc: Szymon Janc
This allow to remove number of local variables used only to get device
address and pass it as pointer later on.
bdaddr_type parameter is also removed as there is device_get_addr_type
already present which can be used to get it if needed.
---
attrib/client.c | 42 ++++++++++++++++--------------------------
audio/manager.c | 6 ++----
plugins/wiimote.c | 4 +---
profiles/gatt/gas.c | 20 ++++++++------------
profiles/health/hdp.c | 4 +---
profiles/health/hdp_util.c | 27 +++++++++++++--------------
profiles/input/device.c | 6 +++---
profiles/network/manager.c | 10 +++++-----
profiles/proximity/monitor.c | 11 +++--------
src/adapter.c | 6 ++----
src/device.c | 37 ++++++++++++++-----------------------
src/device.h | 3 +--
src/event.c | 27 +++++++++------------------
src/profile.c | 24 +++++++++---------------
14 files changed, 87 insertions(+), 140 deletions(-)
diff --git a/attrib/client.c b/attrib/client.c
index eea06ae..30513d1 100644
--- a/attrib/client.c
+++ b/attrib/client.c
@@ -222,17 +222,6 @@ static void remove_attio(struct gatt_service *gatt)
}
}
-static void gatt_get_address(struct gatt_service *gatt, bdaddr_t *sba,
- bdaddr_t *dba, uint8_t *bdaddr_type)
-{
- struct btd_device *device = gatt->dev;
- struct btd_adapter *adapter;
-
- adapter = device_get_adapter(device);
- bacpy(sba, adapter_get_address(adapter));
- device_get_address(device, dba, bdaddr_type);
-}
-
static int characteristic_handle_cmp(gconstpointer a, gconstpointer b)
{
const struct characteristic *chr = a;
@@ -684,14 +673,15 @@ static GSList *string_to_characteristic_list(struct gatt_service *gatt,
static GSList *load_characteristics(struct gatt_service *gatt, uint16_t start)
{
+ struct btd_device *device = gatt->dev;
+ struct btd_adapter *adapter = device_get_adapter(device);
GSList *chrs_list;
- bdaddr_t sba, dba;
- uint8_t bdaddr_type;
char *str;
- gatt_get_address(gatt, &sba, &dba, &bdaddr_type);
-
- str = read_device_characteristics(&sba, &dba, bdaddr_type, start);
+ str = read_device_characteristics(adapter_get_address(adapter),
+ device_get_address(device),
+ device_get_addr_type(device),
+ start);
if (str == NULL)
return NULL;
@@ -705,8 +695,7 @@ static GSList *load_characteristics(struct gatt_service *gatt, uint16_t start)
static void store_attribute(struct gatt_service *gatt, uint16_t handle,
uint16_t type, uint8_t *value, gsize len)
{
- bdaddr_t sba, dba;
- uint8_t bdaddr_type;
+ struct btd_device *device = gatt->dev;
bt_uuid_t uuid;
char *str, *tmp;
guint i;
@@ -721,9 +710,9 @@ static void store_attribute(struct gatt_service *gatt, uint16_t handle,
for (i = 0, tmp = str + MAX_LEN_UUID_STR; i < len; i++, tmp += 2)
sprintf(tmp, "%02X", value[i]);
- gatt_get_address(gatt, &sba, &dba, &bdaddr_type);
-
- write_device_attribute(&sba, &dba, bdaddr_type, handle, str);
+ write_device_attribute(adapter_get_address(device_get_adapter(device)),
+ device_get_address(device),
+ device_get_addr_type(device), handle, str);
g_free(str);
}
@@ -964,9 +953,9 @@ static void char_discovered_cb(GSList *characteristics, guint8 status,
struct gatt_service *gatt = current->gatt;
struct gatt_primary *prim = gatt->prim;
uint16_t *previous_end = NULL;
+ struct btd_device *device = gatt->dev;
+ struct btd_adapter *adapter = device_get_adapter(device);
GSList *l;
- bdaddr_t sba, dba;
- uint8_t bdaddr_type;
if (status != 0) {
const char *str = att_ecode2str(status);
@@ -1005,9 +994,10 @@ static void char_discovered_cb(GSList *characteristics, guint8 status,
if (previous_end)
*previous_end = prim->range.end;
- gatt_get_address(gatt, &sba, &dba, &bdaddr_type);
- store_characteristics(&sba, &dba, bdaddr_type, prim->range.start,
- gatt->chars);
+ store_characteristics(adapter_get_address(adapter),
+ device_get_address(device),
+ device_get_addr_type(device),
+ prim->range.start, gatt->chars);
g_slist_foreach(gatt->chars, update_all_chars, gatt);
diff --git a/audio/manager.c b/audio/manager.c
index e6886d7..26cd9bf 100644
--- a/audio/manager.c
+++ b/audio/manager.c
@@ -663,11 +663,9 @@ failed:
static struct audio_device *get_audio_dev(struct btd_device *device)
{
struct btd_adapter *adapter = device_get_adapter(device);
- bdaddr_t dst;
- device_get_address(device, &dst, NULL);
-
- return manager_get_device(adapter_get_address(adapter), &dst, TRUE);
+ return manager_get_device(adapter_get_address(adapter),
+ device_get_address(device), TRUE);
}
static void audio_remove(struct btd_profile *p, struct btd_device *device)
diff --git a/plugins/wiimote.c b/plugins/wiimote.c
index 93d1e2d..5708bf8 100644
--- a/plugins/wiimote.c
+++ b/plugins/wiimote.c
@@ -62,11 +62,9 @@ static ssize_t wii_pincb(struct btd_adapter *adapter, struct btd_device *device,
char *pinbuf, gboolean *display)
{
uint16_t vendor, product;
- bdaddr_t dba;
char addr[18], name[25];
- device_get_address(device, &dba, NULL);
- ba2str(&dba, addr);
+ ba2str(device_get_address(device), addr);
vendor = btd_device_get_vendor(device);
product = btd_device_get_product(device);
diff --git a/profiles/gatt/gas.c b/profiles/gatt/gas.c
index 03bdd5a..82c2ef0 100644
--- a/profiles/gatt/gas.c
+++ b/profiles/gatt/gas.c
@@ -170,8 +170,6 @@ static void ccc_written_cb(guint8 status, const guint8 *pdu, guint16 plen,
gpointer user_data)
{
struct gas *gas = user_data;
- bdaddr_t dba;
- uint8_t bdaddr_type;
if (status) {
error("Write Service Changed CCC failed: %s",
@@ -181,11 +179,11 @@ static void ccc_written_cb(guint8 status, const guint8 *pdu, guint16 plen,
DBG("Service Changed indications enabled");
- device_get_address(gas->device, &dba, &bdaddr_type);
-
write_ctp_handle(adapter_get_address(device_get_adapter(gas->device)),
- &dba, bdaddr_type, GATT_CHARAC_SERVICE_CHANGED,
- gas->changed_handle);
+ device_get_address(gas->device),
+ device_get_addr_type(gas->device),
+ GATT_CHARAC_SERVICE_CHANGED,
+ gas->changed_handle);
}
static void write_ccc(GAttrib *attrib, uint16_t handle, gpointer user_data)
@@ -379,8 +377,6 @@ int gas_register(struct btd_device *device, struct att_range *gap,
struct att_range *gatt)
{
struct gas *gas;
- bdaddr_t dba;
- uint8_t bdaddr_type;
gas = g_new0(struct gas, 1);
gas->gap.start = gap->start;
@@ -396,11 +392,11 @@ int gas_register(struct btd_device *device, struct att_range *gap,
attio_connected_cb,
attio_disconnected_cb, gas);
- device_get_address(gas->device, &dba, &bdaddr_type);
-
read_ctp_handle(adapter_get_address(device_get_adapter(gas->device)),
- &dba, bdaddr_type, GATT_CHARAC_SERVICE_CHANGED,
- &gas->changed_handle);
+ device_get_address(gas->device),
+ device_get_addr_type(gas->device),
+ GATT_CHARAC_SERVICE_CHANGED,
+ &gas->changed_handle);
return 0;
}
diff --git a/profiles/health/hdp.c b/profiles/health/hdp.c
index d07462a..fd21a23 100644
--- a/profiles/health/hdp.c
+++ b/profiles/health/hdp.c
@@ -210,10 +210,8 @@ static int cmp_device(gconstpointer a, gconstpointer b)
static gint cmp_dev_addr(gconstpointer a, gconstpointer dst)
{
const struct hdp_device *device = a;
- bdaddr_t addr;
- device_get_address(device->dev, &addr, NULL);
- return bacmp(&addr, dst);
+ return bacmp(device_get_address(device->dev), dst);
}
static gint cmp_dev_mcl(gconstpointer a, gconstpointer mcl)
diff --git a/profiles/health/hdp_util.c b/profiles/health/hdp_util.c
index 1d9419e..1fd33e5 100644
--- a/profiles/health/hdp_util.c
+++ b/profiles/health/hdp_util.c
@@ -857,12 +857,12 @@ gboolean hdp_get_mdep(struct hdp_device *device, struct hdp_application *app,
GDestroyNotify destroy, GError **err)
{
struct get_mdep_data *mdep_data;
- bdaddr_t dst;
const bdaddr_t *src;
+ const bdaddr_t *dst;
uuid_t uuid;
- device_get_address(device->dev, &dst, NULL);
src = adapter_get_address(device_get_adapter(device->dev));
+ dst = device_get_address(device->dev);
mdep_data = g_new0(struct get_mdep_data, 1);
mdep_data->app = hdp_application_ref(app);
@@ -871,7 +871,7 @@ gboolean hdp_get_mdep(struct hdp_device *device, struct hdp_application *app,
mdep_data->destroy = destroy;
bt_string2uuid(&uuid, HDP_UUID);
- if (bt_search_service(src, &dst, &uuid, get_mdep_cb, mdep_data,
+ if (bt_search_service(src, dst, &uuid, get_mdep_cb, mdep_data,
free_mdep_data) < 0) {
g_set_error(err, HDP_ERROR, HDP_CONNECTION_ERROR,
"Can't get remote SDP record");
@@ -1044,7 +1044,6 @@ static void search_cb(sdp_list_t *recs, int err, gpointer user_data)
{
struct conn_mcl_data *conn_data = user_data;
GError *gerr = NULL;
- bdaddr_t dst;
uint16_t ccpsm;
if (conn_data->dev->hdp_adapter->mi == NULL) {
@@ -1067,10 +1066,10 @@ static void search_cb(sdp_list_t *recs, int err, gpointer user_data)
conn_data = con_mcl_data_ref(conn_data);
- device_get_address(conn_data->dev->dev, &dst, NULL);
- if (!mcap_create_mcl(conn_data->dev->hdp_adapter->mi, &dst, ccpsm,
- create_mcl_cb, conn_data,
- destroy_con_mcl_data, &gerr)) {
+ if (!mcap_create_mcl(conn_data->dev->hdp_adapter->mi,
+ device_get_address(conn_data->dev->dev),
+ ccpsm, create_mcl_cb, conn_data,
+ destroy_con_mcl_data, &gerr)) {
con_mcl_data_unref(conn_data);
goto fail;
}
@@ -1087,12 +1086,12 @@ gboolean hdp_establish_mcl(struct hdp_device *device,
GError **err)
{
struct conn_mcl_data *conn_data;
- bdaddr_t dst;
const bdaddr_t *src;
+ const bdaddr_t *dst;
uuid_t uuid;
- device_get_address(device->dev, &dst, NULL);
src = adapter_get_address(device_get_adapter(device->dev));
+ dst = device_get_address(device->dev);
conn_data = g_new0(struct conn_mcl_data, 1);
conn_data->refs = 1;
@@ -1102,7 +1101,7 @@ gboolean hdp_establish_mcl(struct hdp_device *device,
conn_data->dev = health_device_ref(device);
bt_string2uuid(&uuid, HDP_UUID);
- if (bt_search_service(src, &dst, &uuid, search_cb, conn_data,
+ if (bt_search_service(src, dst, &uuid, search_cb, conn_data,
destroy_con_mcl_data) < 0) {
g_set_error(err, HDP_ERROR, HDP_CONNECTION_ERROR,
"Can't get remote SDP record");
@@ -1158,12 +1157,12 @@ gboolean hdp_get_dcpsm(struct hdp_device *device, hdp_continue_dcpsm_f func,
GError **err)
{
struct get_dcpsm_data *dcpsm_data;
- bdaddr_t dst;
const bdaddr_t *src;
+ const bdaddr_t *dst;
uuid_t uuid;
- device_get_address(device->dev, &dst, NULL);
src = adapter_get_address(device_get_adapter(device->dev));
+ dst = device_get_address(device->dev);
dcpsm_data = g_new0(struct get_dcpsm_data, 1);
dcpsm_data->func = func;
@@ -1171,7 +1170,7 @@ gboolean hdp_get_dcpsm(struct hdp_device *device, hdp_continue_dcpsm_f func,
dcpsm_data->destroy = destroy;
bt_string2uuid(&uuid, HDP_UUID);
- if (bt_search_service(src, &dst, &uuid, get_dcpsm_cb, dcpsm_data,
+ if (bt_search_service(src, dst, &uuid, get_dcpsm_cb, dcpsm_data,
free_dcpsm_data) < 0) {
g_set_error(err, HDP_ERROR, HDP_CONNECTION_ERROR,
"Can't get remote SDP record");
diff --git a/profiles/input/device.c b/profiles/input/device.c
index ed50e3b..92e1fa9 100644
--- a/profiles/input/device.c
+++ b/profiles/input/device.c
@@ -782,11 +782,10 @@ static struct input_device *input_device_new(struct btd_device *device,
struct btd_adapter *adapter = device_get_adapter(device);
struct input_device *idev;
char name[249], src_addr[18], dst_addr[18];
- uint8_t dst_type;
idev = g_new0(struct input_device, 1);
bacpy(&idev->src, adapter_get_address(adapter));
- device_get_address(device, &idev->dst, &dst_type);
+ bacpy(&idev->dst, device_get_address(device));
idev->device = btd_device_ref(device);
idev->path = g_strdup(path);
idev->handle = handle;
@@ -795,7 +794,8 @@ static struct input_device *input_device_new(struct btd_device *device,
ba2str(&idev->src, src_addr);
ba2str(&idev->dst, dst_addr);
- if (read_device_name(src_addr, dst_addr, dst_type, name) == 0)
+ if (read_device_name(src_addr, dst_addr, device_get_addr_type(device),
+ name) == 0)
idev->name = g_strdup(name);
if (g_dbus_register_interface(btd_get_dbus_connection(),
diff --git a/profiles/network/manager.c b/profiles/network/manager.c
index 42b5214..049fbc7 100644
--- a/profiles/network/manager.c
+++ b/profiles/network/manager.c
@@ -79,19 +79,19 @@ static int network_probe(struct btd_profile *p, struct btd_device *device,
struct btd_adapter *adapter = device_get_adapter(device);
const gchar *path = device_get_path(device);
const bdaddr_t *src;
- bdaddr_t dst;
+ const bdaddr_t *dst;
DBG("path %s", path);
src = adapter_get_address(adapter);
- device_get_address(device, &dst, NULL);
+ dst = device_get_address(device);
if (g_slist_find_custom(uuids, PANU_UUID, bt_uuid_strcmp))
- connection_register(device, path, src, &dst, BNEP_SVC_PANU);
+ connection_register(device, path, src, dst, BNEP_SVC_PANU);
if (g_slist_find_custom(uuids, GN_UUID, bt_uuid_strcmp))
- connection_register(device, path, src, &dst, BNEP_SVC_GN);
+ connection_register(device, path, src, dst, BNEP_SVC_GN);
if (g_slist_find_custom(uuids, NAP_UUID, bt_uuid_strcmp))
- connection_register(device, path, src, &dst, BNEP_SVC_NAP);
+ connection_register(device, path, src, dst, BNEP_SVC_NAP);
return 0;
}
diff --git a/profiles/proximity/monitor.c b/profiles/proximity/monitor.c
index 03df0e2..1a14265 100644
--- a/profiles/proximity/monitor.c
+++ b/profiles/proximity/monitor.c
@@ -407,7 +407,6 @@ static DBusMessage *set_link_loss_alert(DBusConnection *conn, DBusMessage *msg,
{
struct monitor *monitor = data;
struct btd_device *device = monitor->device;
- bdaddr_t dba;
if (!level_is_valid(level))
return btd_error_invalid_args(msg);
@@ -418,10 +417,9 @@ static DBusMessage *set_link_loss_alert(DBusConnection *conn, DBusMessage *msg,
g_free(monitor->linklosslevel);
monitor->linklosslevel = g_strdup(level);
- device_get_address(device, &dba, NULL);
-
write_proximity_config(adapter_get_address(device_get_adapter(device)),
- &dba, "LinkLossAlertLevel", level);
+ device_get_address(device),
+ "LinkLossAlertLevel", level);
if (monitor->attrib)
write_alert_level(monitor);
@@ -593,14 +591,11 @@ int monitor_register(struct btd_device *device,
{
const char *path = device_get_path(device);
struct monitor *monitor;
- bdaddr_t dba;
char *level;
- device_get_address(device, &dba, NULL);
-
level = read_proximity_config(
adapter_get_address(device_get_adapter(device)),
- &dba, "LinkLossAlertLevel");
+ device_get_address(device), "LinkLossAlertLevel");
monitor = g_new0(struct monitor, 1);
monitor->device = btd_device_ref(device);
diff --git a/src/adapter.c b/src/adapter.c
index c640956..46048ad 100644
--- a/src/adapter.c
+++ b/src/adapter.c
@@ -3616,7 +3616,6 @@ ssize_t btd_adapter_get_pin(struct btd_adapter *adapter, struct btd_device *dev,
{
GSList *l;
btd_adapter_pin_cb_t cb;
- bdaddr_t dba;
ssize_t ret;
for (l = adapter->pin_callbacks; l != NULL; l = g_slist_next(l)) {
@@ -3626,9 +3625,8 @@ ssize_t btd_adapter_get_pin(struct btd_adapter *adapter, struct btd_device *dev,
return ret;
}
- device_get_address(dev, &dba, NULL);
-
- return read_pin_code(adapter_get_address(adapter), &dba, pin_buf);
+ return read_pin_code(adapter_get_address(adapter),
+ device_get_address(dev), pin_buf);
}
void btd_adapter_register_powered_callback(struct btd_adapter *adapter,
diff --git a/src/device.c b/src/device.c
index dfbf925..72cae3b 100644
--- a/src/device.c
+++ b/src/device.c
@@ -1222,28 +1222,25 @@ uint16_t btd_device_get_version(struct btd_device *device)
static void device_remove_stored(struct btd_device *device)
{
- const bdaddr_t *src;
- bdaddr_t dst;
- uint8_t dst_type;
-
- src = adapter_get_address(device->adapter);
- device_get_address(device, &dst, &dst_type);
+ const bdaddr_t *src = adapter_get_address(device->adapter);
+ uint8_t dst_type = device->bdaddr_type;
- delete_entry(src, "profiles", &dst, dst_type);
- delete_entry(src, "trusts", &dst, dst_type);
+ delete_entry(src, "profiles", &device->bdaddr, dst_type);
+ delete_entry(src, "trusts", &device->bdaddr, dst_type);
if (device_is_bonded(device)) {
- delete_entry(src, "linkkeys", &dst, dst_type);
- delete_entry(src, "aliases", &dst, dst_type);
- delete_entry(src, "longtermkeys", &dst, dst_type);
+ delete_entry(src, "linkkeys", &device->bdaddr, dst_type);
+ delete_entry(src, "aliases", &device->bdaddr, dst_type);
+ delete_entry(src, "longtermkeys", &device->bdaddr, dst_type);
device_set_bonded(device, FALSE);
device->paired = FALSE;
- btd_adapter_remove_bonding(device->adapter, &dst, dst_type);
+ btd_adapter_remove_bonding(device->adapter, &device->bdaddr,
+ dst_type);
}
- delete_all_records(src, &dst, dst_type);
- delete_device_service(src, &dst, dst_type);
+ delete_all_records(src, &device->bdaddr, dst_type);
+ delete_device_service(src, &device->bdaddr, dst_type);
if (device->blocked)
device_unblock(device, TRUE, FALSE);
@@ -1884,12 +1881,9 @@ static char *primary_list_to_string(GSList *primary_list)
static void store_services(struct btd_device *device)
{
struct btd_adapter *adapter = device->adapter;
- bdaddr_t dba;
char *str = primary_list_to_string(device->primaries);
- device_get_address(device, &dba, NULL);
-
- write_device_services(adapter_get_address(adapter), &dba,
+ write_device_services(adapter_get_address(adapter), &device->bdaddr,
device->bdaddr_type, str);
g_free(str);
@@ -2318,12 +2312,9 @@ struct btd_adapter *device_get_adapter(struct btd_device *device)
return device->adapter;
}
-void device_get_address(struct btd_device *device, bdaddr_t *bdaddr,
- uint8_t *bdaddr_type)
+bdaddr_t *device_get_address(struct btd_device *device)
{
- bacpy(bdaddr, &device->bdaddr);
- if (bdaddr_type != NULL)
- *bdaddr_type = device->bdaddr_type;
+ return &device->bdaddr;
}
void device_set_addr_type(struct btd_device *device, uint8_t bdaddr_type)
diff --git a/src/device.h b/src/device.h
index 462b9a1..f919af4 100644
--- a/src/device.h
+++ b/src/device.h
@@ -64,8 +64,7 @@ void btd_device_add_uuid(struct btd_device *device, const char *uuid);
void device_probe_profile(gpointer a, gpointer b);
void device_remove_profile(gpointer a, gpointer b);
struct btd_adapter *device_get_adapter(struct btd_device *device);
-void device_get_address(struct btd_device *device, bdaddr_t *bdaddr,
- uint8_t *bdaddr_type);
+bdaddr_t *device_get_address(struct btd_device *device);
void device_set_addr_type(struct btd_device *device, uint8_t bdaddr_type);
uint8_t device_get_addr_type(struct btd_device *device);
const gchar *device_get_path(struct btd_device *device);
diff --git a/src/event.c b/src/event.c
index 9626053..84c7f88 100644
--- a/src/event.c
+++ b/src/event.c
@@ -90,20 +90,18 @@ static void pincode_cb(struct agent *agent, DBusError *derr,
const char *pincode, struct btd_device *device)
{
struct btd_adapter *adapter = device_get_adapter(device);
- bdaddr_t dba;
int err;
- device_get_address(device, &dba, NULL);
-
if (derr) {
- err = btd_adapter_pincode_reply(adapter, &dba, NULL, 0);
+ err = btd_adapter_pincode_reply(adapter,
+ device_get_address(device), NULL, 0);
if (err < 0)
goto fail;
return;
}
- err = btd_adapter_pincode_reply(adapter, &dba, pincode,
- pincode ? strlen(pincode) : 0);
+ err = btd_adapter_pincode_reply(adapter, device_get_address(device),
+ pincode, pincode ? strlen(pincode) : 0);
if (err < 0)
goto fail;
@@ -141,13 +139,9 @@ int btd_event_request_pin(bdaddr_t *sba, bdaddr_t *dba, gboolean secure)
static int confirm_reply(struct btd_adapter *adapter,
struct btd_device *device, gboolean success)
{
- bdaddr_t bdaddr;
- uint8_t bdaddr_type;
-
- device_get_address(device, &bdaddr, &bdaddr_type);
-
- return btd_adapter_confirm_reply(adapter, &bdaddr, bdaddr_type,
- success);
+ return btd_adapter_confirm_reply(adapter, device_get_address(device),
+ device_get_addr_type(device),
+ success);
}
static void confirm_cb(struct agent *agent, DBusError *err, void *user_data)
@@ -164,15 +158,12 @@ static void passkey_cb(struct agent *agent, DBusError *err, uint32_t passkey,
{
struct btd_device *device = user_data;
struct btd_adapter *adapter = device_get_adapter(device);
- bdaddr_t bdaddr;
- uint8_t bdaddr_type;
-
- device_get_address(device, &bdaddr, &bdaddr_type);
if (err)
passkey = INVALID_PASSKEY;
- btd_adapter_passkey_reply(adapter, &bdaddr, bdaddr_type, passkey);
+ btd_adapter_passkey_reply(adapter, device_get_address(device),
+ device_get_addr_type(device), passkey);
}
int btd_event_user_confirm(bdaddr_t *sba, bdaddr_t *dba, uint32_t passkey)
diff --git a/src/profile.c b/src/profile.c
index 46b2e21..eb63e1e 100644
--- a/src/profile.c
+++ b/src/profile.c
@@ -184,13 +184,9 @@ static void ext_io_destroy(gpointer p)
ext_cancel(ext);
}
- if (ext_io->resolving) {
- bdaddr_t dst;
-
- device_get_address(ext_io->device, &dst, NULL);
-
- bt_cancel_discovery(adapter_get_address(ext_io->adapter), &dst);
- }
+ if (ext_io->resolving)
+ bt_cancel_discovery(adapter_get_address(ext_io->adapter),
+ device_get_address(ext_io->device));
if (ext_io->rec_handle)
remove_record_from_server(ext_io->rec_handle);
@@ -720,7 +716,6 @@ static void record_cb(sdp_list_t *recs, int err, gpointer user_data)
{
struct ext_io *conn = user_data;
struct ext_profile *ext = conn->ext;
- bdaddr_t dst;
sdp_list_t *r;
conn->resolving = false;
@@ -772,9 +767,8 @@ static void record_cb(sdp_list_t *recs, int err, gpointer user_data)
goto failed;
}
- device_get_address(conn->device, &dst, NULL);
-
- err = connect_io(conn, adapter_get_address(conn->adapter), &dst);
+ err = connect_io(conn, adapter_get_address(conn->adapter),
+ device_get_address(conn->device));
if (err < 0) {
error("Connecting %s failed: %s", ext->name, strerror(-err));
goto failed;
@@ -810,7 +804,6 @@ static int ext_connect_dev(struct btd_device *dev, struct btd_profile *profile,
struct btd_adapter *adapter;
struct ext_io *conn;
struct ext_profile *ext;
- bdaddr_t dst;
int err;
ext = find_ext(profile);
@@ -818,15 +811,16 @@ static int ext_connect_dev(struct btd_device *dev, struct btd_profile *profile,
return -ENOENT;
adapter = device_get_adapter(dev);
- device_get_address(dev, &dst, NULL);
conn = g_new0(struct ext_io, 1);
conn->ext = ext;
if (ext->psm || ext->chan)
- err = connect_io(conn, adapter_get_address(adapter), &dst);
+ err = connect_io(conn, adapter_get_address(adapter),
+ device_get_address(dev));
else
- err = resolve_service(conn, adapter_get_address(adapter), &dst);
+ err = resolve_service(conn, adapter_get_address(adapter),
+ device_get_address(dev));
if (err < 0)
goto failed;
--
1.7.9.5
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH 5/7] mgmt: Constify use of bdaddr_t pointer parameters
2012-10-05 8:16 [PATCH 1/7] adapter: Convert adapter_get_address into simple getter Szymon Janc
` (2 preceding siblings ...)
2012-10-05 8:16 ` [PATCH 4/7] device: Convert device_get_address into simple getter Szymon Janc
@ 2012-10-05 8:16 ` Szymon Janc
2012-10-05 8:17 ` [PATCH 6/7] adapter: " Szymon Janc
` (3 subsequent siblings)
7 siblings, 0 replies; 10+ messages in thread
From: Szymon Janc @ 2012-10-05 8:16 UTC (permalink / raw)
To: linux-bluetooth; +Cc: Szymon Janc
Mark all input only bdaddr_t pointer parameters as const.
---
plugins/neard.c | 5 +++--
src/adapter.c | 6 +++---
src/adapter.h | 6 +++---
src/mgmt.c | 31 ++++++++++++++++---------------
src/mgmt.h | 26 +++++++++++++-------------
5 files changed, 38 insertions(+), 36 deletions(-)
diff --git a/plugins/neard.c b/plugins/neard.c
index 2fe1785..2da5024 100644
--- a/plugins/neard.c
+++ b/plugins/neard.c
@@ -216,8 +216,9 @@ static void read_local_complete(struct btd_adapter *adapter, uint8_t *hash,
error("D-Bus send failed");
}
-static void bonding_complete(struct btd_adapter *adapter, bdaddr_t *bdaddr,
- uint8_t status, void *user_data)
+static void bonding_complete(struct btd_adapter *adapter,
+ const bdaddr_t *bdaddr, uint8_t status,
+ void *user_data)
{
DBusMessage *msg = user_data;
DBusMessage *reply;
diff --git a/src/adapter.c b/src/adapter.c
index 46048ad..152d3bd 100644
--- a/src/adapter.c
+++ b/src/adapter.c
@@ -3716,7 +3716,7 @@ int adapter_cancel_bonding(struct btd_adapter *adapter, bdaddr_t *bdaddr)
}
static void check_oob_bonding_complete(struct btd_adapter *adapter,
- bdaddr_t *bdaddr, uint8_t status)
+ const bdaddr_t *bdaddr, uint8_t status)
{
if (!adapter->oob_handler || !adapter->oob_handler->bonding_cb)
return;
@@ -3731,8 +3731,8 @@ static void check_oob_bonding_complete(struct btd_adapter *adapter,
adapter->oob_handler = NULL;
}
-void adapter_bonding_complete(struct btd_adapter *adapter, bdaddr_t *bdaddr,
- uint8_t status)
+void adapter_bonding_complete(struct btd_adapter *adapter,
+ const bdaddr_t *bdaddr, uint8_t status)
{
struct btd_device *device;
char addr[18];
diff --git a/src/adapter.h b/src/adapter.h
index d4fb14b..07c0ad5 100644
--- a/src/adapter.h
+++ b/src/adapter.h
@@ -47,7 +47,7 @@ typedef void (*oob_read_local_cb_t) (struct btd_adapter *adapter,
uint8_t *hash, uint8_t *randomizer,
void *user_data);
typedef void (*oob_bonding_cb_t) (struct btd_adapter *adapter,
- bdaddr_t *bdaddr, uint8_t status,
+ const bdaddr_t *bdaddr, uint8_t status,
void *user_data);
struct oob_handler {
@@ -236,8 +236,8 @@ int adapter_create_bonding(struct btd_adapter *adapter, bdaddr_t *bdaddr,
int adapter_cancel_bonding(struct btd_adapter *adapter, bdaddr_t *bdaddr);
-void adapter_bonding_complete(struct btd_adapter *adapter, bdaddr_t *bdaddr,
- uint8_t status);
+void adapter_bonding_complete(struct btd_adapter *adapter,
+ const bdaddr_t *bdaddr, uint8_t status);
int btd_adapter_read_local_oob_data(struct btd_adapter *adapter);
void adapter_read_local_oob_data_complete(struct btd_adapter *adapter,
diff --git a/src/mgmt.c b/src/mgmt.c
index b689be8..d3f7809 100644
--- a/src/mgmt.c
+++ b/src/mgmt.c
@@ -432,8 +432,8 @@ static void mgmt_new_settings(int sk, uint16_t index, void *buf, size_t len)
info->current_settings = settings;
}
-static void bonding_complete(struct controller_info *info, bdaddr_t *bdaddr,
- uint8_t status)
+static void bonding_complete(struct controller_info *info,
+ const bdaddr_t *bdaddr, uint8_t status)
{
struct btd_adapter *adapter;
@@ -579,7 +579,7 @@ static void mgmt_connect_failed(int sk, uint16_t index, void *buf, size_t len)
bonding_complete(info, &ev->addr.bdaddr, ev->status);
}
-int mgmt_pincode_reply(int index, bdaddr_t *bdaddr, const char *pin,
+int mgmt_pincode_reply(int index, const bdaddr_t *bdaddr, const char *pin,
size_t pin_len)
{
char buf[MGMT_HDR_SIZE + sizeof(struct mgmt_cp_pin_code_reply)];
@@ -660,7 +660,7 @@ static void mgmt_pin_code_request(int sk, uint16_t index, void *buf, size_t len)
}
}
-int mgmt_confirm_reply(int index, bdaddr_t *bdaddr, uint8_t bdaddr_type,
+int mgmt_confirm_reply(int index, const bdaddr_t *bdaddr, uint8_t bdaddr_type,
gboolean success)
{
char buf[MGMT_HDR_SIZE + sizeof(struct mgmt_cp_user_confirm_reply)];
@@ -691,7 +691,7 @@ int mgmt_confirm_reply(int index, bdaddr_t *bdaddr, uint8_t bdaddr_type,
return 0;
}
-int mgmt_passkey_reply(int index, bdaddr_t *bdaddr, uint8_t bdaddr_type,
+int mgmt_passkey_reply(int index, const bdaddr_t *bdaddr, uint8_t bdaddr_type,
uint32_t passkey)
{
char buf[MGMT_HDR_SIZE + sizeof(struct mgmt_cp_user_passkey_reply)];
@@ -2130,7 +2130,7 @@ int mgmt_set_fast_connectable(int index, gboolean enable)
return 0;
}
-int mgmt_read_clock(int index, bdaddr_t *bdaddr, int which, int timeout,
+int mgmt_read_clock(int index, const bdaddr_t *bdaddr, int which, int timeout,
uint32_t *clock, uint16_t *accuracy)
{
char addr[18];
@@ -2158,7 +2158,7 @@ int mgmt_read_bdaddr(int index, bdaddr_t *bdaddr)
return 0;
}
-int mgmt_block_device(int index, bdaddr_t *bdaddr, uint8_t bdaddr_type)
+int mgmt_block_device(int index, const bdaddr_t *bdaddr, uint8_t bdaddr_type)
{
char buf[MGMT_HDR_SIZE + sizeof(struct mgmt_cp_block_device)];
struct mgmt_hdr *hdr = (void *) buf;
@@ -2187,7 +2187,7 @@ int mgmt_block_device(int index, bdaddr_t *bdaddr, uint8_t bdaddr_type)
return 0;
}
-int mgmt_unblock_device(int index, bdaddr_t *bdaddr, uint8_t bdaddr_type)
+int mgmt_unblock_device(int index, const bdaddr_t *bdaddr, uint8_t bdaddr_type)
{
char buf[MGMT_HDR_SIZE + sizeof(struct mgmt_cp_unblock_device)];
struct mgmt_hdr *hdr = (void *) buf;
@@ -2228,7 +2228,7 @@ int mgmt_get_conn_list(int index, GSList **conns)
return 0;
}
-int mgmt_disconnect(int index, bdaddr_t *bdaddr, uint8_t bdaddr_type)
+int mgmt_disconnect(int index, const bdaddr_t *bdaddr, uint8_t bdaddr_type)
{
char buf[MGMT_HDR_SIZE + sizeof(struct mgmt_cp_disconnect)];
struct mgmt_hdr *hdr = (void *) buf;
@@ -2252,7 +2252,7 @@ int mgmt_disconnect(int index, bdaddr_t *bdaddr, uint8_t bdaddr_type)
return 0;
}
-int mgmt_unpair_device(int index, bdaddr_t *bdaddr, uint8_t bdaddr_type)
+int mgmt_unpair_device(int index, const bdaddr_t *bdaddr, uint8_t bdaddr_type)
{
char buf[MGMT_HDR_SIZE + sizeof(struct mgmt_cp_unpair_device)];
struct mgmt_hdr *hdr = (void *) buf;
@@ -2373,7 +2373,8 @@ int mgmt_set_io_capability(int index, uint8_t io_capability)
return 0;
}
-int mgmt_create_bonding(int index, bdaddr_t *bdaddr, uint8_t addr_type, uint8_t io_cap)
+int mgmt_create_bonding(int index, const bdaddr_t *bdaddr, uint8_t addr_type,
+ uint8_t io_cap)
{
char buf[MGMT_HDR_SIZE + sizeof(struct mgmt_cp_pair_device)];
struct mgmt_hdr *hdr = (void *) buf;
@@ -2399,7 +2400,7 @@ int mgmt_create_bonding(int index, bdaddr_t *bdaddr, uint8_t addr_type, uint8_t
return 0;
}
-int mgmt_cancel_bonding(int index, bdaddr_t *bdaddr)
+int mgmt_cancel_bonding(int index, const bdaddr_t *bdaddr)
{
char buf[MGMT_HDR_SIZE + sizeof(struct mgmt_addr_info)];
struct mgmt_hdr *hdr = (void *) buf;
@@ -2438,7 +2439,7 @@ int mgmt_read_local_oob_data(int index)
return 0;
}
-int mgmt_add_remote_oob_data(int index, bdaddr_t *bdaddr,
+int mgmt_add_remote_oob_data(int index, const bdaddr_t *bdaddr,
uint8_t *hash, uint8_t *randomizer)
{
char buf[MGMT_HDR_SIZE + sizeof(struct mgmt_cp_add_remote_oob_data)];
@@ -2467,7 +2468,7 @@ int mgmt_add_remote_oob_data(int index, bdaddr_t *bdaddr,
return 0;
}
-int mgmt_remove_remote_oob_data(int index, bdaddr_t *bdaddr)
+int mgmt_remove_remote_oob_data(int index, const bdaddr_t *bdaddr)
{
char buf[MGMT_HDR_SIZE + sizeof(struct mgmt_cp_remove_remote_oob_data)];
struct mgmt_hdr *hdr = (void *) buf;
@@ -2491,7 +2492,7 @@ int mgmt_remove_remote_oob_data(int index, bdaddr_t *bdaddr)
return 0;
}
-int mgmt_confirm_name(int index, bdaddr_t *bdaddr, uint8_t bdaddr_type,
+int mgmt_confirm_name(int index, const bdaddr_t *bdaddr, uint8_t bdaddr_type,
gboolean name_known)
{
char buf[MGMT_HDR_SIZE + sizeof(struct mgmt_cp_confirm_name)];
diff --git a/src/mgmt.h b/src/mgmt.h
index 1d25cb0..a2c0497 100644
--- a/src/mgmt.h
+++ b/src/mgmt.h
@@ -36,18 +36,18 @@ int mgmt_start_discovery(int index);
int mgmt_start_le_scanning(int index);
int mgmt_stop_discovery(int index);
-int mgmt_read_clock(int index, bdaddr_t *bdaddr, int which, int timeout,
+int mgmt_read_clock(int index, const bdaddr_t *bdaddr, int which, int timeout,
uint32_t *clock, uint16_t *accuracy);
int mgmt_read_bdaddr(int index, bdaddr_t *bdaddr);
-int mgmt_block_device(int index, bdaddr_t *bdaddr, uint8_t bdaddr_type);
-int mgmt_unblock_device(int index, bdaddr_t *bdaddr, uint8_t bdaddr_type);
+int mgmt_block_device(int index, const bdaddr_t *bdaddr, uint8_t bdaddr_type);
+int mgmt_unblock_device(int index, const bdaddr_t *bdaddr, uint8_t bdaddr_type);
int mgmt_get_conn_list(int index, GSList **conns);
-int mgmt_disconnect(int index, bdaddr_t *bdaddr, uint8_t bdaddr_type);
+int mgmt_disconnect(int index, const bdaddr_t *bdaddr, uint8_t bdaddr_type);
-int mgmt_unpair_device(int index, bdaddr_t *bdaddr, uint8_t bdaddr_type);
+int mgmt_unpair_device(int index, const bdaddr_t *bdaddr, uint8_t bdaddr_type);
int mgmt_add_uuid(int index, uuid_t *uuid, uint8_t svc_hint);
int mgmt_remove_uuid(int index, uuid_t *uuid);
@@ -60,24 +60,24 @@ int mgmt_load_ltks(int index, GSList *keys);
int mgmt_set_io_capability(int index, uint8_t io_capability);
-int mgmt_create_bonding(int index, bdaddr_t *bdaddr, uint8_t addr_type,
+int mgmt_create_bonding(int index, const bdaddr_t *bdaddr, uint8_t addr_type,
uint8_t io_cap);
-int mgmt_cancel_bonding(int index, bdaddr_t *bdaddr);
+int mgmt_cancel_bonding(int index, const bdaddr_t *bdaddr);
-int mgmt_pincode_reply(int index, bdaddr_t *bdaddr, const char *pin,
+int mgmt_pincode_reply(int index, const bdaddr_t *bdaddr, const char *pin,
size_t pin_len);
-int mgmt_confirm_reply(int index, bdaddr_t *bdaddr, uint8_t bdaddr_type,
+int mgmt_confirm_reply(int index, const bdaddr_t *bdaddr, uint8_t bdaddr_type,
gboolean success);
-int mgmt_passkey_reply(int index, bdaddr_t *bdaddr, uint8_t bdaddr_type,
+int mgmt_passkey_reply(int index, const bdaddr_t *bdaddr, uint8_t bdaddr_type,
uint32_t passkey);
int mgmt_read_local_oob_data(int index);
-int mgmt_add_remote_oob_data(int index, bdaddr_t *bdaddr,
+int mgmt_add_remote_oob_data(int index, const bdaddr_t *bdaddr,
uint8_t *hash, uint8_t *randomizer);
-int mgmt_remove_remote_oob_data(int index, bdaddr_t *bdaddr);
+int mgmt_remove_remote_oob_data(int index, const bdaddr_t *bdaddr);
-int mgmt_confirm_name(int index, bdaddr_t *bdaddr, uint8_t bdaddr_type,
+int mgmt_confirm_name(int index, const bdaddr_t *bdaddr, uint8_t bdaddr_type,
gboolean name_known);
int mgmt_ssp_enabled(int index);
--
1.7.9.5
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH 6/7] adapter: Constify use of bdaddr_t pointer parameters
2012-10-05 8:16 [PATCH 1/7] adapter: Convert adapter_get_address into simple getter Szymon Janc
` (3 preceding siblings ...)
2012-10-05 8:16 ` [PATCH 5/7] mgmt: Constify use of bdaddr_t pointer parameters Szymon Janc
@ 2012-10-05 8:17 ` Szymon Janc
2012-10-05 8:17 ` [PATCH 7/7] device: Make device_get_address return const pointer Szymon Janc
` (2 subsequent siblings)
7 siblings, 0 replies; 10+ messages in thread
From: Szymon Janc @ 2012-10-05 8:17 UTC (permalink / raw)
To: linux-bluetooth; +Cc: Szymon Janc
Mark all input only bdaddr_t pointer parameters as const.
---
src/adapter.c | 52 +++++++++++++++++++++++++++++-----------------------
src/adapter.h | 51 +++++++++++++++++++++++++++++----------------------
2 files changed, 58 insertions(+), 45 deletions(-)
diff --git a/src/adapter.c b/src/adapter.c
index 152d3bd..7e695b9 100644
--- a/src/adapter.c
+++ b/src/adapter.c
@@ -2037,14 +2037,14 @@ static void load_devices(struct btd_adapter *adapter)
textfile_foreach(filename, create_stored_device_from_blocked, adapter);
}
-int btd_adapter_block_address(struct btd_adapter *adapter, bdaddr_t *bdaddr,
- uint8_t bdaddr_type)
+int btd_adapter_block_address(struct btd_adapter *adapter,
+ const bdaddr_t *bdaddr, uint8_t bdaddr_type)
{
return mgmt_block_device(adapter->dev_id, bdaddr, bdaddr_type);
}
-int btd_adapter_unblock_address(struct btd_adapter *adapter, bdaddr_t *bdaddr,
- uint8_t bdaddr_type)
+int btd_adapter_unblock_address(struct btd_adapter *adapter,
+ const bdaddr_t *bdaddr, uint8_t bdaddr_type)
{
return mgmt_unblock_device(adapter->dev_id, bdaddr,
bdaddr_type);
@@ -2751,7 +2751,7 @@ static int found_device_cmp(gconstpointer a, gconstpointer b)
}
struct remote_dev_info *adapter_search_found_devices(struct btd_adapter *adapter,
- bdaddr_t *bdaddr)
+ const bdaddr_t *bdaddr)
{
GSList *l;
@@ -2978,7 +2978,7 @@ static void dev_prepend_uuid(gpointer data, gpointer user_data)
dev->services = g_slist_prepend(dev->services, g_strdup(new_uuid));
}
-static gboolean pairing_is_legacy(bdaddr_t *local, bdaddr_t *peer,
+static gboolean pairing_is_legacy(const bdaddr_t *local, const bdaddr_t *peer,
const uint8_t *eir, const char *name)
{
unsigned char features[8];
@@ -2998,7 +2998,7 @@ static gboolean pairing_is_legacy(bdaddr_t *local, bdaddr_t *peer,
return TRUE;
}
-static char *read_stored_data(bdaddr_t *local, bdaddr_t *peer,
+static char *read_stored_data(const bdaddr_t *local, const bdaddr_t *peer,
uint8_t peer_type, const char *file)
{
char local_addr[18], key[20], filename[PATH_MAX + 1], *str;
@@ -3067,9 +3067,10 @@ static gboolean connect_pending_cb(gpointer user_data)
}
void adapter_update_found_devices(struct btd_adapter *adapter,
- bdaddr_t *bdaddr, uint8_t bdaddr_type,
- int8_t rssi, uint8_t confirm_name,
- uint8_t *data, uint8_t data_len)
+ const bdaddr_t *bdaddr,
+ uint8_t bdaddr_type, int8_t rssi,
+ uint8_t confirm_name, uint8_t *data,
+ uint8_t data_len)
{
struct remote_dev_info *dev;
struct eir_data eir_data;
@@ -3652,7 +3653,7 @@ int btd_adapter_set_fast_connectable(struct btd_adapter *adapter,
return mgmt_set_fast_connectable(adapter->dev_id, enable);
}
-int btd_adapter_read_clock(struct btd_adapter *adapter, bdaddr_t *bdaddr,
+int btd_adapter_read_clock(struct btd_adapter *adapter, const bdaddr_t *bdaddr,
int which, int timeout, uint32_t *clock,
uint16_t *accuracy)
{
@@ -3664,33 +3665,37 @@ int btd_adapter_read_clock(struct btd_adapter *adapter, bdaddr_t *bdaddr,
}
int btd_adapter_disconnect_device(struct btd_adapter *adapter,
- bdaddr_t *bdaddr, uint8_t bdaddr_type)
+ const bdaddr_t *bdaddr,
+ uint8_t bdaddr_type)
{
return mgmt_disconnect(adapter->dev_id, bdaddr, bdaddr_type);
}
-int btd_adapter_remove_bonding(struct btd_adapter *adapter, bdaddr_t *bdaddr,
- uint8_t bdaddr_type)
+int btd_adapter_remove_bonding(struct btd_adapter *adapter,
+ const bdaddr_t *bdaddr, uint8_t bdaddr_type)
{
return mgmt_unpair_device(adapter->dev_id, bdaddr, bdaddr_type);
}
-int btd_adapter_pincode_reply(struct btd_adapter *adapter, bdaddr_t *bdaddr,
+int btd_adapter_pincode_reply(struct btd_adapter *adapter,
+ const bdaddr_t *bdaddr,
const char *pin, size_t pin_len)
{
return mgmt_pincode_reply(adapter->dev_id, bdaddr, pin, pin_len);
}
-int btd_adapter_confirm_reply(struct btd_adapter *adapter, bdaddr_t *bdaddr,
- uint8_t bdaddr_type, gboolean success)
+int btd_adapter_confirm_reply(struct btd_adapter *adapter,
+ const bdaddr_t *bdaddr, uint8_t bdaddr_type,
+ gboolean success)
{
return mgmt_confirm_reply(adapter->dev_id, bdaddr, bdaddr_type,
success);
}
-int btd_adapter_passkey_reply(struct btd_adapter *adapter, bdaddr_t *bdaddr,
- uint8_t bdaddr_type, uint32_t passkey)
+int btd_adapter_passkey_reply(struct btd_adapter *adapter,
+ const bdaddr_t *bdaddr, uint8_t bdaddr_type,
+ uint32_t passkey)
{
return mgmt_passkey_reply(adapter->dev_id, bdaddr, bdaddr_type,
passkey);
@@ -3703,14 +3708,14 @@ int btd_adapter_set_did(struct btd_adapter *adapter, uint16_t vendor,
return mgmt_set_did(adapter->dev_id, vendor, product, version, source);
}
-int adapter_create_bonding(struct btd_adapter *adapter, bdaddr_t *bdaddr,
+int adapter_create_bonding(struct btd_adapter *adapter, const bdaddr_t *bdaddr,
uint8_t addr_type, uint8_t io_cap)
{
suspend_discovery(adapter);
return mgmt_create_bonding(adapter->dev_id, bdaddr, addr_type, io_cap);
}
-int adapter_cancel_bonding(struct btd_adapter *adapter, bdaddr_t *bdaddr)
+int adapter_cancel_bonding(struct btd_adapter *adapter, const bdaddr_t *bdaddr)
{
return mgmt_cancel_bonding(adapter->dev_id, bdaddr);
}
@@ -3760,14 +3765,15 @@ int btd_adapter_read_local_oob_data(struct btd_adapter *adapter)
}
int btd_adapter_add_remote_oob_data(struct btd_adapter *adapter,
- bdaddr_t *bdaddr, uint8_t *hash, uint8_t *randomizer)
+ const bdaddr_t *bdaddr,
+ uint8_t *hash, uint8_t *randomizer)
{
return mgmt_add_remote_oob_data(adapter->dev_id, bdaddr, hash,
randomizer);
}
int btd_adapter_remove_remote_oob_data(struct btd_adapter *adapter,
- bdaddr_t *bdaddr)
+ const bdaddr_t *bdaddr)
{
return mgmt_remove_remote_oob_data(adapter->dev_id, bdaddr);
}
diff --git a/src/adapter.h b/src/adapter.h
index 07c0ad5..72a9988 100644
--- a/src/adapter.h
+++ b/src/adapter.h
@@ -124,11 +124,12 @@ uint16_t adapter_get_dev_id(struct btd_adapter *adapter);
const gchar *adapter_get_path(struct btd_adapter *adapter);
const bdaddr_t *adapter_get_address(struct btd_adapter *adapter);
struct remote_dev_info *adapter_search_found_devices(struct btd_adapter *adapter,
- bdaddr_t *bdaddr);
+ const bdaddr_t *bdaddr);
void adapter_update_found_devices(struct btd_adapter *adapter,
- bdaddr_t *bdaddr, uint8_t bdaddr_type,
- int8_t rssi, uint8_t confirm_name,
- uint8_t *data, uint8_t data_len);
+ const bdaddr_t *bdaddr,
+ uint8_t bdaddr_type, int8_t rssi,
+ uint8_t confirm_name, uint8_t *data,
+ uint8_t data_len);
void adapter_emit_device_found(struct btd_adapter *adapter,
struct remote_dev_info *dev);
void adapter_mode_changed(struct btd_adapter *adapter, uint8_t scan_mode);
@@ -205,36 +206,41 @@ void btd_adapter_unregister_powered_callback(struct btd_adapter *adapter,
int btd_adapter_set_fast_connectable(struct btd_adapter *adapter,
gboolean enable);
-int btd_adapter_read_clock(struct btd_adapter *adapter, bdaddr_t *bdaddr,
+int btd_adapter_read_clock(struct btd_adapter *adapter, const bdaddr_t *bdaddr,
int which, int timeout, uint32_t *clock,
uint16_t *accuracy);
-int btd_adapter_block_address(struct btd_adapter *adapter, bdaddr_t *bdaddr,
- uint8_t bdaddr_type);
-int btd_adapter_unblock_address(struct btd_adapter *adapter, bdaddr_t *bdaddr,
- uint8_t bdaddr_type);
+int btd_adapter_block_address(struct btd_adapter *adapter,
+ const bdaddr_t *bdaddr, uint8_t bdaddr_type);
+int btd_adapter_unblock_address(struct btd_adapter *adapter,
+ const bdaddr_t *bdaddr, uint8_t bdaddr_type);
int btd_adapter_disconnect_device(struct btd_adapter *adapter,
- bdaddr_t *bdaddr, uint8_t bdaddr_type);
-
-int btd_adapter_remove_bonding(struct btd_adapter *adapter, bdaddr_t *bdaddr,
+ const bdaddr_t *bdaddr,
uint8_t bdaddr_type);
-int btd_adapter_pincode_reply(struct btd_adapter *adapter, bdaddr_t *bdaddr,
+int btd_adapter_remove_bonding(struct btd_adapter *adapter,
+ const bdaddr_t *bdaddr, uint8_t bdaddr_type);
+
+int btd_adapter_pincode_reply(struct btd_adapter *adapter,
+ const bdaddr_t *bdaddr,
const char *pin, size_t pin_len);
-int btd_adapter_confirm_reply(struct btd_adapter *adapter, bdaddr_t *bdaddr,
- uint8_t bdaddr_type, gboolean success);
-int btd_adapter_passkey_reply(struct btd_adapter *adapter, bdaddr_t *bdaddr,
- uint8_t bdaddr_type, uint32_t passkey);
+int btd_adapter_confirm_reply(struct btd_adapter *adapter,
+ const bdaddr_t *bdaddr, uint8_t bdaddr_type,
+ gboolean success);
+int btd_adapter_passkey_reply(struct btd_adapter *adapter,
+ const bdaddr_t *bdaddr, uint8_t bdaddr_type,
+ uint32_t passkey);
int btd_adapter_set_did(struct btd_adapter *adapter, uint16_t vendor,
uint16_t product, uint16_t version,
uint16_t source);
-int adapter_create_bonding(struct btd_adapter *adapter, bdaddr_t *bdaddr,
- uint8_t bdaddr_type, uint8_t io_cap);
+int adapter_create_bonding(struct btd_adapter *adapter,
+ const bdaddr_t *bdaddr, uint8_t bdaddr_type,
+ uint8_t io_cap);
-int adapter_cancel_bonding(struct btd_adapter *adapter, bdaddr_t *bdaddr);
+int adapter_cancel_bonding(struct btd_adapter *adapter, const bdaddr_t *bdaddr);
void adapter_bonding_complete(struct btd_adapter *adapter,
const bdaddr_t *bdaddr, uint8_t status);
@@ -244,10 +250,11 @@ void adapter_read_local_oob_data_complete(struct btd_adapter *adapter,
uint8_t *hash, uint8_t *randomizer);
int btd_adapter_add_remote_oob_data(struct btd_adapter *adapter,
- bdaddr_t *bdaddr, uint8_t *hash, uint8_t *randomizer);
+ const bdaddr_t *bdaddr,
+ uint8_t *hash, uint8_t *randomizer);
int btd_adapter_remove_remote_oob_data(struct btd_adapter *adapter,
- bdaddr_t *bdaddr);
+ const bdaddr_t *bdaddr);
int btd_adapter_gatt_server_start(struct btd_adapter *adapter);
void btd_adapter_gatt_server_stop(struct btd_adapter *adapter);
--
1.7.9.5
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH 7/7] device: Make device_get_address return const pointer
2012-10-05 8:16 [PATCH 1/7] adapter: Convert adapter_get_address into simple getter Szymon Janc
` (4 preceding siblings ...)
2012-10-05 8:17 ` [PATCH 6/7] adapter: " Szymon Janc
@ 2012-10-05 8:17 ` Szymon Janc
2012-10-05 8:39 ` [PATCH 1/7] adapter: Convert adapter_get_address into simple getter Johan Hedberg
2012-10-05 10:54 ` Anderson Lizardo
7 siblings, 0 replies; 10+ messages in thread
From: Szymon Janc @ 2012-10-05 8:17 UTC (permalink / raw)
To: linux-bluetooth; +Cc: Szymon Janc
---
src/device.c | 2 +-
src/device.h | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/device.c b/src/device.c
index 72cae3b..1c65b68 100644
--- a/src/device.c
+++ b/src/device.c
@@ -2312,7 +2312,7 @@ struct btd_adapter *device_get_adapter(struct btd_device *device)
return device->adapter;
}
-bdaddr_t *device_get_address(struct btd_device *device)
+const bdaddr_t *device_get_address(struct btd_device *device)
{
return &device->bdaddr;
}
diff --git a/src/device.h b/src/device.h
index f919af4..0c16c18 100644
--- a/src/device.h
+++ b/src/device.h
@@ -64,7 +64,7 @@ void btd_device_add_uuid(struct btd_device *device, const char *uuid);
void device_probe_profile(gpointer a, gpointer b);
void device_remove_profile(gpointer a, gpointer b);
struct btd_adapter *device_get_adapter(struct btd_device *device);
-bdaddr_t *device_get_address(struct btd_device *device);
+const bdaddr_t *device_get_address(struct btd_device *device);
void device_set_addr_type(struct btd_device *device, uint8_t bdaddr_type);
uint8_t device_get_addr_type(struct btd_device *device);
const gchar *device_get_path(struct btd_device *device);
--
1.7.9.5
^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [PATCH 1/7] adapter: Convert adapter_get_address into simple getter
2012-10-05 8:16 [PATCH 1/7] adapter: Convert adapter_get_address into simple getter Szymon Janc
` (5 preceding siblings ...)
2012-10-05 8:17 ` [PATCH 7/7] device: Make device_get_address return const pointer Szymon Janc
@ 2012-10-05 8:39 ` Johan Hedberg
2012-10-05 10:54 ` Anderson Lizardo
7 siblings, 0 replies; 10+ messages in thread
From: Johan Hedberg @ 2012-10-05 8:39 UTC (permalink / raw)
To: Szymon Janc; +Cc: linux-bluetooth
Hi Szymon,
On Fri, Oct 05, 2012, Szymon Janc wrote:
> Most uses of adapter_get_address were in form of:
>
> bdaddr_t addr;
> adapter_get_address(adapter, &addr);
> foo(&addr);
>
> Changing it to getter makes code simpler and avoid number of not
> needed memcpy.
>
> ---
> attrib/client.c | 2 +-
> audio/manager.c | 48 +++++---------
> plugins/adaptername.c | 4 +-
> plugins/dbusoob.c | 8 +--
> plugins/neard.c | 16 ++---
> plugins/service.c | 57 ++++++-----------
> plugins/wiimote.c | 5 +-
> profiles/alert/server.c | 4 +-
> profiles/gatt/gas.c | 16 ++---
> profiles/health/hdp.c | 14 ++---
> profiles/health/hdp_util.c | 24 ++++---
> profiles/input/device.c | 2 +-
> profiles/input/manager.c | 11 +---
> profiles/network/manager.c | 10 +--
> profiles/network/server.c | 8 +--
> profiles/proximity/monitor.c | 13 ++--
> profiles/sap/manager.c | 5 +-
> src/adapter.c | 13 ++--
> src/adapter.h | 2 +-
> src/attrib-server.c | 18 +++---
> src/device.c | 143 +++++++++++++++++-------------------------
> src/manager.c | 5 +-
> src/profile.c | 28 ++++-----
> 23 files changed, 179 insertions(+), 277 deletions(-)
All patches have been applied. Thanks.
Johan
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 1/7] adapter: Convert adapter_get_address into simple getter
2012-10-05 8:16 [PATCH 1/7] adapter: Convert adapter_get_address into simple getter Szymon Janc
` (6 preceding siblings ...)
2012-10-05 8:39 ` [PATCH 1/7] adapter: Convert adapter_get_address into simple getter Johan Hedberg
@ 2012-10-05 10:54 ` Anderson Lizardo
2012-10-05 11:00 ` Szymon Janc
7 siblings, 1 reply; 10+ messages in thread
From: Anderson Lizardo @ 2012-10-05 10:54 UTC (permalink / raw)
To: Szymon Janc; +Cc: linux-bluetooth
Hi Szymon,
On Fri, Oct 5, 2012 at 4:16 AM, Szymon Janc <szymon.janc@tieto.com> wrote:
> @@ -2578,6 +2557,7 @@ DBusMessage *device_create_bonding(struct btd_device *device,
> if (device_is_bonded(device))
> return btd_error_already_exists(msg);
>
> + adapter_get_address(adapter),
> bonding = bonding_request_new(msg, device, agent_path,
> capability);
>
The above looks like a typo (and unfortunately, it compiles, due to the comma).
Regards,
--
Anderson Lizardo
Instituto Nokia de Tecnologia - INdT
Manaus - Brazil
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 1/7] adapter: Convert adapter_get_address into simple getter
2012-10-05 10:54 ` Anderson Lizardo
@ 2012-10-05 11:00 ` Szymon Janc
0 siblings, 0 replies; 10+ messages in thread
From: Szymon Janc @ 2012-10-05 11:00 UTC (permalink / raw)
To: Anderson Lizardo; +Cc: linux-bluetooth
On Friday 05 of October 2012 13:54:17 Anderson Lizardo wrote:
> Hi Szymon,
Hi,
>
> On Fri, Oct 5, 2012 at 4:16 AM, Szymon Janc <szymon.janc@tieto.com> wrote:
> > @@ -2578,6 +2557,7 @@ DBusMessage *device_create_bonding(struct btd_device *device,
> > if (device_is_bonded(device))
> > return btd_error_already_exists(msg);
> >
> > + adapter_get_address(adapter),
> > bonding = bonding_request_new(msg, device, agent_path,
> > capability);
> >
>
> The above looks like a typo (and unfortunately, it compiles, due to the comma).
Crap, will send fix asap.
--
BR
Szymon Janc
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2012-10-05 11:00 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-10-05 8:16 [PATCH 1/7] adapter: Convert adapter_get_address into simple getter Szymon Janc
2012-10-05 8:16 ` [PATCH 2/7] storage: Constify bdaddr_t pointers parameters Szymon Janc
2012-10-05 8:16 ` [PATCH 3/7] adapter: Constify pointer returned by adapter_get_address Szymon Janc
2012-10-05 8:16 ` [PATCH 4/7] device: Convert device_get_address into simple getter Szymon Janc
2012-10-05 8:16 ` [PATCH 5/7] mgmt: Constify use of bdaddr_t pointer parameters Szymon Janc
2012-10-05 8:17 ` [PATCH 6/7] adapter: " Szymon Janc
2012-10-05 8:17 ` [PATCH 7/7] device: Make device_get_address return const pointer Szymon Janc
2012-10-05 8:39 ` [PATCH 1/7] adapter: Convert adapter_get_address into simple getter Johan Hedberg
2012-10-05 10:54 ` Anderson Lizardo
2012-10-05 11:00 ` Szymon Janc
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.