diff options
Diffstat (limited to 'hcid/dbus.h')
-rw-r--r-- | hcid/dbus.h | 38 |
1 files changed, 21 insertions, 17 deletions
diff --git a/hcid/dbus.h b/hcid/dbus.h index 1399bf92..4aae9164 100644 --- a/hcid/dbus.h +++ b/hcid/dbus.h @@ -95,23 +95,6 @@ struct active_conn_info { uint16_t handle; }; -struct passkey_agent { - char *addr; - char *name; - char *path; - struct slist *pending_requests; -}; - -struct pending_agent_request { - struct passkey_agent *agent; - int dev; - bdaddr_t sba; - bdaddr_t bda; - char *path; - DBusConnection *conn; - DBusPendingCall *call; -}; - struct hci_dbus_data { uint16_t dev_id; int up; @@ -129,6 +112,25 @@ struct hci_dbus_data { struct slist *pending_bondings; }; +struct passkey_agent { + struct hci_dbus_data *pdata; + DBusConnection *conn; + char *addr; + char *name; + char *path; + struct slist *pending_requests; + int exited; +}; + +struct pending_agent_request { + struct passkey_agent *agent; + int dev; + bdaddr_t sba; + bdaddr_t bda; + char *path; + DBusPendingCall *call; +}; + typedef int register_function_t(DBusConnection *conn, uint16_t id); typedef int unregister_function_t(DBusConnection *conn, uint16_t id); @@ -194,6 +196,8 @@ service_handler_func_t find_service_handler(struct service_data *services, DBusM void create_bond_req_exit(const char *name, struct hci_dbus_data *pdata); 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 hci_dbus_data *pdata, bdaddr_t *bda); void cancel_passkey_agent_requests(struct slist *agents, const char *path, bdaddr_t *dba); static inline DBusHandlerResult send_reply_and_unref(DBusConnection *conn, DBusMessage *reply) |