diff options
author | Alok Barsode <alok.barsode@azingo.com> | 2008-09-12 21:52:14 +0530 |
---|---|---|
committer | Alok Barsode <alok.barsode@azingo.com> | 2008-09-12 21:52:14 +0530 |
commit | 26e1749b1e18fd55ce32e84654e7a9123630bedf (patch) | |
tree | cd035525c86b87bfb6839c0f64bf754a99d35337 /src | |
parent | 7d93ead47f6b203feca6bfee78c4494b285539d2 (diff) |
Modifying l2raw_connect to take bdaddr_t as parameter.
Diffstat (limited to 'src')
-rw-r--r-- | src/adapter.c | 9 | ||||
-rw-r--r-- | src/dbus-common.c | 6 | ||||
-rw-r--r-- | src/dbus-common.h | 2 |
3 files changed, 9 insertions, 8 deletions
diff --git a/src/adapter.c b/src/adapter.c index dec30fc0..0f64ae59 100644 --- a/src/adapter.c +++ b/src/adapter.c @@ -1289,10 +1289,11 @@ static DBusMessage *create_bonding(DBusConnection *conn, DBusMessage *msg, char *str; struct btd_adapter *adapter = data; struct bonding_request_info *bonding; - bdaddr_t bdaddr; + bdaddr_t src, dst; int sk; - str2ba(address, &bdaddr); + str2ba(address, &dst); + str2ba(adapter->address, &src); /* check if there is a pending discover: requested by D-Bus/non clients */ if (adapter->state & STD_INQUIRY) @@ -1303,7 +1304,7 @@ static DBusMessage *create_bonding(DBusConnection *conn, DBusMessage *msg, if (adapter->bonding) return in_progress(msg, "Bonding in progress"); - if (adapter_find_auth_request(adapter, &bdaddr)) + if (adapter_find_auth_request(adapter, &dst)) return in_progress(msg, "Bonding in progress"); /* check if a link key already exists */ @@ -1318,7 +1319,7 @@ static DBusMessage *create_bonding(DBusConnection *conn, DBusMessage *msg, "Bonding already exists"); } - sk = l2raw_connect(adapter->address, &bdaddr); + sk = l2raw_connect(&src, &dst); if (sk < 0) return g_dbus_create_error(msg, ERROR_INTERFACE ".ConnectionAttemptFailed", diff --git a/src/dbus-common.c b/src/dbus-common.c index e9295998..6c15dea2 100644 --- a/src/dbus-common.c +++ b/src/dbus-common.c @@ -54,7 +54,7 @@ #define RECONNECT_RETRY_TIMEOUT 5000 -int l2raw_connect(const char *local, const bdaddr_t *remote) +int l2raw_connect(const bdaddr_t *src, const bdaddr_t *dst) { struct sockaddr_l2 addr; long arg; @@ -68,7 +68,7 @@ int l2raw_connect(const char *local, const bdaddr_t *remote) memset(&addr, 0, sizeof(addr)); addr.l2_family = AF_BLUETOOTH; - str2ba(local, &addr.l2_bdaddr); + bacpy(&addr.l2_bdaddr, src); if (bind(sk, (struct sockaddr *) &addr, sizeof(addr)) < 0) { error("Can't bind socket: %s (%d)", strerror(errno), errno); @@ -89,7 +89,7 @@ int l2raw_connect(const char *local, const bdaddr_t *remote) memset(&addr, 0, sizeof(addr)); addr.l2_family = AF_BLUETOOTH; - bacpy(&addr.l2_bdaddr, remote); + bacpy(&addr.l2_bdaddr, dst); if (connect(sk, (struct sockaddr *) &addr, sizeof(addr)) < 0) { if (errno == EAGAIN || errno == EINPROGRESS) diff --git a/src/dbus-common.h b/src/dbus-common.h index e9435d38..5431b701 100644 --- a/src/dbus-common.h +++ b/src/dbus-common.h @@ -24,7 +24,7 @@ #define MAX_PATH_LENGTH 64 -int l2raw_connect(const char *local, const bdaddr_t *remote); +int l2raw_connect(const bdaddr_t *src, const bdaddr_t *dst); void hcid_dbus_exit(void); int hcid_dbus_init(void); |