/* Default to DisplayYesNo */
#define DEFAULT_IO_CAPABILITY 0x01
+
/* Default discoverable timeout 120sec as in Android */
#define DEFAULT_DISCOVERABLE_TIMEOUT 120
#define BASELEN_PROP_CHANGED (sizeof(struct hal_ev_adapter_props_changed) \
- + (sizeof(struct hal_property)))
+ + (sizeof(struct hal_property)))
static uint16_t option_index = MGMT_INDEX_NONE;
#define BASELEN_REMOTE_DEV_PROP (sizeof(struct hal_ev_remote_device_props) \
+ sizeof(struct hal_property))
-/* This list contains addresses which are asked for records */
-static GSList *browse_reqs;
-static struct mgmt *mgmt_if = NULL;
+struct device {
+ bdaddr_t bdaddr;
+ uint8_t bdaddr_type;
+
+ int bond_state;
+
+ char *name;
+ char *friendly_name;
+
+ uint32_t class;
+ int32_t rssi;
+};
+
+struct browse_req {
+ bdaddr_t bdaddr;
+ GSList *uuids;
+ int search_uuid;
+ int reconnect_attempt;
+};
static struct {
uint16_t index;
.uuids = NULL,
};
-struct device {
- bdaddr_t bdaddr;
- uint8_t bdaddr_type;
- int bond_state;
- char *name;
- char *friendly_name;
- uint32_t class;
- int32_t rssi;
-};
-
-struct browse_req {
- bdaddr_t bdaddr;
- GSList *uuids;
- int search_uuid;
- int reconnect_attempt;
-};
-
static const uint16_t uuid_list[] = {
L2CAP_UUID,
PNP_INFO_SVCLASS_ID,
0
};
+static struct mgmt *mgmt_if = NULL;
static GSList *devices = NULL;
+/* This list contains addresses which are asked for records */
+static GSList *browse_reqs;
+
static int bdaddr_cmp(gconstpointer a, gconstpointer b)
{
const bdaddr_t *bda = a;
uint8_t type, uint8_t pin_length)
{
/* TODO store link key */
-
}
static void send_bond_state_change(const bdaddr_t *addr, uint8_t status,
static void set_device_bond_state(const bdaddr_t *addr, uint8_t status,
int state)
{
-
struct device *dev;
dev = find_device(addr);
browse_remote_sdp(&addr->bdaddr);
}
+
static void send_device_property(const bdaddr_t *bdaddr, uint8_t type,
uint16_t len, const void *val)
{
}
static void user_passkey_notify_callback(uint16_t index, uint16_t length,
- const void *param, void *user_data)
+ const void *param,
+ void *user_data)
{
const struct mgmt_ev_passkey_notify *ev = param;
char dst[18];
set_device_bond_state(&ev->addr.bdaddr, HAL_STATUS_SUCCESS,
HAL_BOND_STATE_BONDING);
- send_ssp_request(&ev->addr.bdaddr, HAL_SSP_VARIANT_NOTIF,
- ev->passkey);
+ send_ssp_request(&ev->addr.bdaddr, HAL_SSP_VARIANT_NOTIF, ev->passkey);
}
static void mgmt_discovering_event(uint16_t index, uint16_t length,
error("Failed to send confirm name request");
}
-
static int fill_hal_prop(void *buf, uint8_t type, uint16_t len,
const void *val)
{
bdaddr2android(bdaddr, &android_bdaddr);
size += fill_hal_prop(buf + size, HAL_PROP_DEVICE_ADDR,
- sizeof(android_bdaddr), &android_bdaddr);
+ sizeof(android_bdaddr),
+ &android_bdaddr);
(*num_prop)++;
android_type = bdaddr_type2android(dev->bdaddr_type);
}
static void mgmt_device_disconnected_event(uint16_t index, uint16_t length,
- const void *param, void *user_data)
+ const void *param,
+ void *user_data)
{
const struct mgmt_ev_device_disconnected *ev = param;
struct hal_ev_acl_state_changed hal_ev;
return HAL_STATUS_SUCCESS;
}
-
static uint8_t get_adapter_class(void)
{
DBG("");