4 #include <sys/socket.h>
5 #include <bluetooth/bluetooth.h>
6 #include <bluetooth/hci.h>
7 #include <bluetooth/hci_lib.h>
14 int err
, i
, max_rsp
, num_rsp
;
15 int dev_id
, sock
, len
, flags
;
17 dev_id
= hci_get_route(NULL
);
19 perror("Error: Can't get route");
23 sock
= hci_open_dev(dev_id
);
25 perror("Error: Can't open device");
31 flags
= IREQ_CACHE_FLUSH
;
33 ii
= malloc(max_rsp
* sizeof(inquiry_info
));
39 num_rsp
= hci_inquiry(dev_id
, len
, max_rsp
, NULL
, &ii
, flags
);
41 perror("Can't inquiry devices");
46 for (i
= 0; i
< num_rsp
; i
++) {
47 memset(name
, '\0', sizeof(name
));
48 err
= hci_read_remote_name(sock
, &(ii
+ i
)->bdaddr
,
49 sizeof(name
), name
, 0);
51 strcpy(name
, "[unknown]");
53 ba2str(&(ii
+ i
)->bdaddr
, addr
);
54 printf("%s %s\n", addr
, name
);