summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarcel Holtmann <marcel@holtmann.org>2007-08-31 19:29:44 +0000
committerMarcel Holtmann <marcel@holtmann.org>2007-08-31 19:29:44 +0000
commit8c491ff7a6b47984f238ad76fbad7f842ef45eab (patch)
treea0497ccdd5cc400b622299d61d6614b277a1a7a6
parent6904a4ec435fb8fc3faa22785ace288a18ed9d32 (diff)
Decode more EIR elements
-rw-r--r--tools/hciconfig.c20
1 files changed, 19 insertions, 1 deletions
diff --git a/tools/hciconfig.c b/tools/hciconfig.c
index 51fd24af..19e1334f 100644
--- a/tools/hciconfig.c
+++ b/tools/hciconfig.c
@@ -1069,6 +1069,22 @@ static void cmd_inq_data(int ctl, int hdev, char *opt)
len = *ptr++;
type = *ptr++;
switch (type) {
+ case 0x01:
+ printf("\tFlags:");
+ for (i = 0; i < len - 1; i++)
+ printf(" 0x%2.2x", *((uint8_t *) (ptr + i)));
+ printf("\n");
+ break;
+ case 0x02:
+ case 0x03:
+ printf("\t%s service classes:",
+ type == 0x02 ? "Shortened" : "Complete");
+ for (i = 0; i < (len - 1) / 2; i++) {
+ uint16_t val = btohs(bt_get_unaligned((uint16_t *) (ptr + (i * 2))));
+ printf(" 0x%4.4x", val);
+ }
+ printf("\n");
+ break;
case 0x08:
case 0x09:
str = malloc(len);
@@ -1078,12 +1094,14 @@ static void cmd_inq_data(int ctl, int hdev, char *opt)
if ((unsigned char) str[i] < 32 || str[i] == 127)
str[i] = '.';
}
-
printf("\t%s local name: \'%s\'\n",
type == 0x08 ? "Shortened" : "Complete", str);
free(str);
}
break;
+ case 0x0a:
+ printf("\tTX power level: %d\n", *((uint8_t *) ptr));
+ break;
default:
printf("\tUnknown type 0x%02x with %d bytes data\n",
type, len - 1);