summaryrefslogtreecommitdiffstats
path: root/hcid
diff options
context:
space:
mode:
authorJohan Hedberg <johan.hedberg@nokia.com>2006-10-12 18:59:51 +0000
committerJohan Hedberg <johan.hedberg@nokia.com>2006-10-12 18:59:51 +0000
commit4b12168ab36fa7777e4e2fd4f6a81eb5569518ed (patch)
treea98811f809b18ba488843f4c2892e1a9da3ac9b8 /hcid
parentaa252ab9e02d8d3af8f77e14c5820574d0e5d286 (diff)
More cleanup
Diffstat (limited to 'hcid')
-rw-r--r--hcid/dbus-adapter.c17
-rw-r--r--hcid/dbus.c124
-rw-r--r--hcid/dbus.h20
3 files changed, 83 insertions, 78 deletions
diff --git a/hcid/dbus-adapter.c b/hcid/dbus-adapter.c
index be80debb..78677a77 100644
--- a/hcid/dbus-adapter.c
+++ b/hcid/dbus-adapter.c
@@ -167,16 +167,17 @@ static const char *toy_minor_cls[] = {
int pending_remote_name_cancel(struct adapter *adapter)
{
- struct discovered_dev_info *dev, match;
+ struct remote_dev_info *dev, match;
struct slist *l;
int dd, err = 0;
/* find the pending remote name request */
- memset(&match, 0, sizeof(struct discovered_dev_info));
+ memset(&match, 0, sizeof(struct remote_dev_info));
bacpy(&match.bdaddr, BDADDR_ANY);
match.name_status = NAME_REQUESTED;
- l = slist_find(adapter->disc_devices, &match, (cmp_func_t) disc_device_find);
+ l = slist_find(adapter->found_devices, &match,
+ (cmp_func_t) found_device_cmp);
if (!l) /* no pending request */
return 0;
@@ -192,9 +193,9 @@ int pending_remote_name_cancel(struct adapter *adapter)
}
/* free discovered devices list */
- slist_foreach(adapter->disc_devices, (slist_func_t) free, NULL);
- slist_free(adapter->disc_devices);
- adapter->disc_devices = NULL;
+ slist_foreach(adapter->found_devices, (slist_func_t) free, NULL);
+ slist_free(adapter->found_devices);
+ adapter->found_devices = NULL;
hci_close_dev(dd);
return err;
@@ -1468,14 +1469,14 @@ static DBusHandlerResult adapter_get_remote_name(DBusConnection *conn,
/* put the request name in the queue to resolve name */
str2ba(peer_addr, &peer_bdaddr);
- disc_device_add(&adapter->disc_devices, &peer_bdaddr, 0, NAME_REQUIRED);
+ found_device_add(&adapter->found_devices, &peer_bdaddr, 0, NAME_REQUIRED);
/*
* if there is a discover process running, just queue the request.
* Otherwise, send the HCI cmd to get the remote name
*/
if (!(adapter->discov_active || adapter->pdiscov_active))
- disc_device_req_name(adapter);
+ found_device_req_name(adapter);
return error_request_deferred(conn, msg);
}
diff --git a/hcid/dbus.c b/hcid/dbus.c
index a2527e6c..c94542d5 100644
--- a/hcid/dbus.c
+++ b/hcid/dbus.c
@@ -94,8 +94,8 @@ void bonding_request_free(struct bonding_request_info *bonding)
free(bonding);
}
-int disc_device_find(const struct discovered_dev_info *d1,
- const struct discovered_dev_info *d2)
+int found_device_cmp(const struct remote_dev_info *d1,
+ const struct remote_dev_info *d2)
{
int ret;
@@ -114,7 +114,7 @@ int disc_device_find(const struct discovered_dev_info *d1,
return 0;
}
-int dev_rssi_cmp(struct discovered_dev_info *d1, struct discovered_dev_info *d2)
+int dev_rssi_cmp(struct remote_dev_info *d1, struct remote_dev_info *d2)
{
int rssi1, rssi2;
@@ -124,18 +124,18 @@ int dev_rssi_cmp(struct discovered_dev_info *d1, struct discovered_dev_info *d2)
return rssi1 - rssi2;
}
-int disc_device_add(struct slist **list, bdaddr_t *bdaddr, int8_t rssi,
+int found_device_add(struct slist **list, bdaddr_t *bdaddr, int8_t rssi,
name_status_t name_status)
{
- struct discovered_dev_info *dev, match;
+ struct remote_dev_info *dev, match;
struct slist *l;
- memset(&match, 0, sizeof(struct discovered_dev_info));
+ memset(&match, 0, sizeof(struct remote_dev_info));
bacpy(&match.bdaddr, bdaddr);
match.name_status = NAME_ANY;
/* ignore repeated entries */
- l = slist_find(*list, &match, (cmp_func_t) disc_device_find);
+ l = slist_find(*list, &match, (cmp_func_t) found_device_cmp);
if (l) {
/* device found, update the attributes */
dev = l->data;
@@ -168,15 +168,15 @@ int disc_device_add(struct slist **list, bdaddr_t *bdaddr, int8_t rssi,
return 0;
}
-static int disc_device_remove(struct slist **list, bdaddr_t *bdaddr)
+static int found_device_remove(struct slist **list, bdaddr_t *bdaddr)
{
- struct discovered_dev_info *dev, match;
+ struct remote_dev_info *dev, match;
struct slist *l;
- memset(&match, 0, sizeof(struct discovered_dev_info));
+ memset(&match, 0, sizeof(struct remote_dev_info));
bacpy(&match.bdaddr, bdaddr);
- l = slist_find(*list, &match, (cmp_func_t) disc_device_find);
+ l = slist_find(*list, &match, (cmp_func_t) found_device_cmp);
if (!l)
return -1;
@@ -491,11 +491,11 @@ static int unregister_dbus_path(const char *path)
adapter->pdiscov_requestor = NULL;
}
- if (adapter->disc_devices) {
- slist_foreach(adapter->disc_devices,
+ if (adapter->found_devices) {
+ slist_foreach(adapter->found_devices,
(slist_func_t) free, NULL);
- slist_free(adapter->disc_devices);
- adapter->disc_devices = NULL;
+ slist_free(adapter->found_devices);
+ adapter->found_devices = NULL;
}
if (adapter->oor_devices) {
@@ -756,10 +756,10 @@ int hcid_dbus_stop_device(uint16_t id)
adapter->pdiscov_requestor = NULL;
}
- if (adapter->disc_devices) {
- slist_foreach(adapter->disc_devices, (slist_func_t) free, NULL);
- slist_free(adapter->disc_devices);
- adapter->disc_devices = NULL;
+ if (adapter->found_devices) {
+ slist_foreach(adapter->found_devices, (slist_func_t) free, NULL);
+ slist_free(adapter->found_devices);
+ adapter->found_devices = NULL;
}
if (adapter->oor_devices) {
@@ -974,25 +974,25 @@ failed:
bt_free(local_addr);
}
-int disc_device_req_name(struct adapter *adapter)
+int found_device_req_name(struct adapter *adapter)
{
struct hci_request rq;
evt_cmd_status rp;
remote_name_req_cp cp;
- struct discovered_dev_info match;
+ struct remote_dev_info match;
struct slist *l;
int dd, req_sent = 0;
/* get the next remote address */
- if (!adapter->disc_devices)
+ if (!adapter->found_devices)
return -ENODATA;
- memset(&match, 0, sizeof(struct discovered_dev_info));
+ memset(&match, 0, sizeof(struct remote_dev_info));
bacpy(&match.bdaddr, BDADDR_ANY);
match.name_status = NAME_REQUIRED;
- l = slist_find(adapter->disc_devices, &match,
- (cmp_func_t) disc_device_find);
+ l = slist_find(adapter->found_devices, &match,
+ (cmp_func_t) found_device_cmp);
if (!l)
return -ENODATA;
@@ -1012,7 +1012,7 @@ int disc_device_req_name(struct adapter *adapter)
/* send at least one request or return failed if the list is empty */
do {
DBusMessage *failed_signal = NULL;
- struct discovered_dev_info *dev = l->data;
+ struct remote_dev_info *dev = l->data;
char *peer_addr;
bdaddr_t tmp;
@@ -1055,12 +1055,12 @@ int disc_device_req_name(struct adapter *adapter)
/* if failed, request the next element */
/* remove the element from the list */
- adapter->disc_devices = slist_remove(adapter->disc_devices, dev);
+ adapter->found_devices = slist_remove(adapter->found_devices, dev);
free(dev);
/* get the next element */
- l = slist_find(adapter->disc_devices, &match,
- (cmp_func_t) disc_device_find);
+ l = slist_find(adapter->found_devices, &match,
+ (cmp_func_t) found_device_cmp);
} while (l);
@@ -1098,7 +1098,7 @@ void hcid_dbus_inquiry_complete(bdaddr_t *local)
struct slist *l;
char path[MAX_PATH_LENGTH];
char *local_addr;
- struct discovered_dev_info *dev;
+ struct remote_dev_info *dev;
bdaddr_t tmp;
int id;
@@ -1127,7 +1127,7 @@ void hcid_dbus_inquiry_complete(bdaddr_t *local)
slist_free(adapter->oor_devices);
adapter->oor_devices = NULL;
- l = adapter->disc_devices;
+ l = adapter->found_devices;
while (l) {
dev = l->data;
baswap(&tmp, &dev->bdaddr);
@@ -1158,7 +1158,7 @@ void hcid_dbus_inquiry_complete(bdaddr_t *local)
* Keep in mind that non D-Bus requests can arrive.
*/
- if (!disc_device_req_name(adapter))
+ if (!found_device_req_name(adapter))
goto done; /* skip - there is name to resolve */
if (adapter->discov_active) {
@@ -1170,9 +1170,9 @@ void hcid_dbus_inquiry_complete(bdaddr_t *local)
}
/* free discovered devices list */
- slist_foreach(adapter->disc_devices, (slist_func_t) free, NULL);
- slist_free(adapter->disc_devices);
- adapter->disc_devices = NULL;
+ slist_foreach(adapter->found_devices, (slist_func_t) free, NULL);
+ slist_free(adapter->found_devices);
+ adapter->found_devices = NULL;
if (adapter->discov_requestor) {
name_listener_remove(connection, adapter->discov_requestor,
@@ -1274,9 +1274,9 @@ void hcid_dbus_periodic_inquiry_exit(bdaddr_t *local, uint8_t status)
adapter->discov_type &= ~(PERIODIC_INQUIRY | RESOLVE_NAME);
/* free discovered devices list */
- slist_foreach(adapter->disc_devices, (slist_func_t) free, NULL);
- slist_free(adapter->disc_devices);
- adapter->disc_devices = NULL;
+ slist_foreach(adapter->found_devices, (slist_func_t) free, NULL);
+ slist_free(adapter->found_devices);
+ adapter->found_devices = NULL;
/* free out of range devices list */
slist_foreach(adapter->oor_devices, (slist_func_t) free, NULL);
@@ -1337,7 +1337,7 @@ void hcid_dbus_inquiry_result(bdaddr_t *local, bdaddr_t *peer, uint32_t class,
char path[MAX_PATH_LENGTH];
struct adapter *adapter;
struct slist *l;
- struct discovered_dev_info match;
+ struct remote_dev_info match;
char *local_addr, *peer_addr, *name, *tmp_name;
dbus_int16_t tmp_rssi = rssi;
bdaddr_t tmp;
@@ -1392,12 +1392,12 @@ void hcid_dbus_inquiry_result(bdaddr_t *local, bdaddr_t *peer, uint32_t class,
send_message_and_unref(connection, signal_device);
- memset(&match, 0, sizeof(struct discovered_dev_info));
+ memset(&match, 0, sizeof(struct remote_dev_info));
bacpy(&match.bdaddr, peer);
match.name_status = NAME_SENT;
/* if found: don't sent the name again */
- l = slist_find(adapter->disc_devices, &match,
- (cmp_func_t) disc_device_find);
+ l = slist_find(adapter->found_devices, &match,
+ (cmp_func_t) found_device_cmp);
if (l)
goto done;
@@ -1442,7 +1442,7 @@ void hcid_dbus_inquiry_result(bdaddr_t *local, bdaddr_t *peer, uint32_t class,
}
/* add in the list to track name sent/pending */
- disc_device_add(&adapter->disc_devices, peer, rssi, name_status);
+ found_device_add(&adapter->found_devices, peer, rssi, name_status);
done:
bt_free(local_addr);
@@ -1523,16 +1523,16 @@ void hcid_dbus_remote_name(bdaddr_t *local, bdaddr_t *peer, uint8_t status,
send_message_and_unref(connection, message);
/* remove from remote name request list */
- disc_device_remove(&adapter->disc_devices, peer);
+ found_device_remove(&adapter->found_devices, peer);
/* check if there is more devices to request names */
- if (!disc_device_req_name(adapter))
+ if (!found_device_req_name(adapter))
goto done; /* skip if a new request has been sent */
/* free discovered devices list */
- slist_foreach(adapter->disc_devices, (slist_func_t) free, NULL);
- slist_free(adapter->disc_devices);
- adapter->disc_devices = NULL;
+ slist_foreach(adapter->found_devices, (slist_func_t) free, NULL);
+ slist_free(adapter->found_devices);
+ adapter->found_devices = NULL;
/*
* The discovery completed signal must be sent only for discover
@@ -2418,7 +2418,7 @@ static int remote_name_cancel(int dd, bdaddr_t *dba, int to)
int cancel_discovery(struct adapter *adapter)
{
- struct discovered_dev_info *dev, match;
+ struct remote_dev_info *dev, match;
struct slist *l;
int dd, err = 0;
@@ -2435,12 +2435,12 @@ int cancel_discovery(struct adapter *adapter)
* If there is a pending read remote name request means
* that the inquiry complete event was already received
*/
- memset(&match, 0, sizeof(struct discovered_dev_info));
+ memset(&match, 0, sizeof(struct remote_dev_info));
bacpy(&match.bdaddr, BDADDR_ANY);
match.name_status = NAME_REQUESTED;
- l = slist_find(adapter->disc_devices, &match,
- (cmp_func_t) disc_device_find);
+ l = slist_find(adapter->found_devices, &match,
+ (cmp_func_t) found_device_cmp);
if (l) {
dev = l->data;
if (remote_name_cancel(dd, &dev->bdaddr, 1000) < 0) {
@@ -2463,9 +2463,9 @@ cleanup:
* Reset discov_requestor and discover_state in the remote name
* request event handler or in the inquiry complete handler.
*/
- slist_foreach(adapter->disc_devices, (slist_func_t) free, NULL);
- slist_free(adapter->disc_devices);
- adapter->disc_devices = NULL;
+ slist_foreach(adapter->found_devices, (slist_func_t) free, NULL);
+ slist_free(adapter->found_devices);
+ adapter->found_devices = NULL;
/* Disable name resolution for non D-Bus clients */
if (!adapter->pdiscov_requestor)
@@ -2512,7 +2512,7 @@ static int periodic_inquiry_exit(int dd, int to)
int cancel_periodic_discovery(struct adapter *adapter)
{
- struct discovered_dev_info *dev, match;
+ struct remote_dev_info *dev, match;
struct slist *l;
int dd, err = 0;
@@ -2525,12 +2525,12 @@ int cancel_periodic_discovery(struct adapter *adapter)
goto cleanup;
}
/* find the pending remote name request */
- memset(&match, 0, sizeof(struct discovered_dev_info));
+ memset(&match, 0, sizeof(struct remote_dev_info));
bacpy(&match.bdaddr, BDADDR_ANY);
match.name_status = NAME_REQUESTED;
- l = slist_find(adapter->disc_devices, &match,
- (cmp_func_t) disc_device_find);
+ l = slist_find(adapter->found_devices, &match,
+ (cmp_func_t) found_device_cmp);
if (l) {
dev = l->data;
if (remote_name_cancel(dd, &dev->bdaddr, 1000) < 0) {
@@ -2554,9 +2554,9 @@ cleanup:
* Reset pdiscov_requestor and pdiscov_active is done when the
* cmd complete event for exit periodic inquiry mode cmd arrives.
*/
- slist_foreach(adapter->disc_devices, (slist_func_t) free, NULL);
- slist_free(adapter->disc_devices);
- adapter->disc_devices = NULL;
+ slist_foreach(adapter->found_devices, (slist_func_t) free, NULL);
+ slist_free(adapter->found_devices);
+ adapter->found_devices = NULL;
return err;
}
diff --git a/hcid/dbus.h b/hcid/dbus.h
index 6235e50e..60577ba0 100644
--- a/hcid/dbus.h
+++ b/hcid/dbus.h
@@ -79,7 +79,7 @@ typedef enum {
NAME_SENT /* D-Bus signal RemoteNameUpdated sent */
} name_status_t;
-struct discovered_dev_info {
+struct remote_dev_info {
bdaddr_t bdaddr;
int8_t rssi;
name_status_t name_status;
@@ -110,7 +110,7 @@ struct adapter {
uint16_t dev_id;
int up;
char address[18]; /* adapter Bluetooth Address */
- uint32_t timeout_id; /* discoverable timeout id */
+ guint timeout_id; /* discoverable timeout id */
uint32_t discov_timeout; /* discoverable time(msec) */
uint8_t mode; /* scan mode */
int discov_active; /* standard discovery active: includes name resolution step */
@@ -118,7 +118,7 @@ struct adapter {
int pinq_idle; /* tracks the idle time for periodic inquiry */
int discov_type; /* type requested */
int pdiscov_resolve_names; /* Resolve names when doing periodic discovery */
- struct slist *disc_devices;
+ struct slist *found_devices;
struct slist *oor_devices; /* out of range device list */
char *pdiscov_requestor; /* periodic discovery requestor unique name */
char *discov_requestor; /* discovery requestor unique name */
@@ -159,7 +159,8 @@ const char *major_class_str(uint32_t class);
const char *minor_class_str(uint32_t class);
struct slist *service_classes_str(uint32_t class);
-DBusHandlerResult bluez_new_failure_msg(DBusConnection *conn, DBusMessage *msg, const uint32_t ecode);
+DBusHandlerResult bluez_new_failure_msg(DBusConnection *conn, DBusMessage *msg,
+ const uint32_t ecode);
DBusMessage *dev_signal_factory(const int devid, const char *prop_name, const int first, ...);
@@ -235,7 +236,8 @@ void periodic_discover_req_exit(const char *name, struct adapter *adapter);
int cancel_periodic_discovery(struct adapter *adapter);
int pending_remote_name_cancel(struct adapter *adapter);
-int handle_passkey_request(DBusConnection *conn, int dev, const char *path, bdaddr_t *sba, bdaddr_t *dba);
+int handle_passkey_request(DBusConnection *conn, int dev, const char *path,
+ bdaddr_t *sba, bdaddr_t *dba);
void release_default_agent(void);
void release_passkey_agents(struct adapter *adapter, bdaddr_t *bda);
void cancel_passkey_agent_requests(struct slist *agents, const char *path, bdaddr_t *dba);
@@ -254,9 +256,11 @@ static inline DBusHandlerResult send_message_and_unref(DBusConnection *conn, DBu
int active_conn_find_by_bdaddr(const void *data, const void *user_data);
void bonding_request_free(struct bonding_request_info *dev);
int pin_req_cmp(const void *p1, const void *p2);
-int disc_device_find(const struct discovered_dev_info *d1, const struct discovered_dev_info *d2);
-int disc_device_add(struct slist **list, bdaddr_t *bdaddr, int8_t rssi, name_status_t name_status);
-int disc_device_req_name(struct adapter *dbus_data);
+int found_device_cmp(const struct remote_dev_info *d1,
+ const struct remote_dev_info *d2);
+int found_device_add(struct slist **list, bdaddr_t *bdaddr, int8_t rssi,
+ name_status_t name_status);
+int found_device_req_name(struct adapter *dbus_data);
int discov_timeout_handler(void *data);