Add handle and timeout parameters to hci_le_create_conn

Now hci_le_create_conn is more consistent with hci_create_conn, both
have a handle out parameter and a timeout.
diff --git a/lib/hci.c b/lib/hci.c
index a886c96..1c455c5 100644
--- a/lib/hci.c
+++ b/lib/hci.c
@@ -2701,7 +2701,8 @@
 		bdaddr_t peer_bdaddr, uint8_t own_bdaddr_type,
 		uint16_t min_interval, 	uint16_t max_interval,
 		uint16_t latency, uint16_t supervision_timeout,
-		uint16_t min_ce_length, uint16_t max_ce_length)
+		uint16_t min_ce_length, uint16_t max_ce_length,
+		uint16_t *handle, int to)
 {
 	struct hci_request rq;
 	le_create_connection_cp create_conn_cp;
@@ -2730,7 +2731,7 @@
 	rq.rparam = &conn_complete_rp;
 	rq.rlen = EVT_CONN_COMPLETE_SIZE;
 
-	if (hci_send_req(dd, &rq, 1000) < 0)
+	if (hci_send_req(dd, &rq, to) < 0)
 		return -1;
 
 	if (conn_complete_rp.status) {
@@ -2738,5 +2739,8 @@
 		return -1;
 	}
 
+	if (handle)
+		*handle = conn_complete_rp.handle;
+
 	return 0;
 }
diff --git a/lib/hci_lib.h b/lib/hci_lib.h
index 2a36dc4..b63a2a4 100644
--- a/lib/hci_lib.h
+++ b/lib/hci_lib.h
@@ -125,7 +125,8 @@
 		bdaddr_t peer_bdaddr, uint8_t own_bdaddr_type,
 		uint16_t min_interval, 	uint16_t max_interval,
 		uint16_t latency, uint16_t supervision_timeout,
-		uint16_t min_ce_length, uint16_t max_ce_length);
+		uint16_t min_ce_length, uint16_t max_ce_length,
+		uint16_t *handle, int to);
 
 int hci_for_each_dev(int flag, int(*func)(int dd, int dev_id, long arg), long arg);
 int hci_get_route(bdaddr_t *bdaddr);
diff --git a/tools/hcitool.c b/tools/hcitool.c
index 14b17de..0fff0ce 100644
--- a/tools/hcitool.c
+++ b/tools/hcitool.c
@@ -2485,7 +2485,7 @@
 	int err, opt, dd;
 	bdaddr_t bdaddr;
 	uint16_t interval, latency, max_ce_length, max_interval, min_ce_length;
-	uint16_t min_interval, supervision_timeout, window;
+	uint16_t min_interval, supervision_timeout, window, handle;
 	uint8_t initiator_filter, own_bdaddr_type, peer_bdaddr_type;
 
 	for_each_opt(opt, lecc_options, NULL) {
@@ -2527,12 +2527,14 @@
 	err = hci_le_create_conn(dd, interval, window, initiator_filter,
 			peer_bdaddr_type, bdaddr, own_bdaddr_type, min_interval,
 			max_interval, latency, supervision_timeout,
-			min_ce_length, max_ce_length);
+			min_ce_length, max_ce_length, &handle, 25000);
 	if (err < 0) {
 		perror("Could not create connection");
 		exit(1);
 	}
 
+	printf("Connection handle %d\n", handle);
+
 	hci_close_dev(dd);
 }