diff options
| author | Marcel Holtmann <marcel@holtmann.org> | 2007-08-31 19:29:44 +0000 | 
|---|---|---|
| committer | Marcel Holtmann <marcel@holtmann.org> | 2007-08-31 19:29:44 +0000 | 
| commit | 8c491ff7a6b47984f238ad76fbad7f842ef45eab (patch) | |
| tree | a0497ccdd5cc400b622299d61d6614b277a1a7a6 /tools/hciconfig.c | |
| parent | 6904a4ec435fb8fc3faa22785ace288a18ed9d32 (diff) | |
Decode more EIR elements
Diffstat (limited to 'tools/hciconfig.c')
| -rw-r--r-- | tools/hciconfig.c | 20 | 
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); | 
