diff options
| author | Marcel Holtmann <marcel@holtmann.org> | 2004-04-24 12:09:53 +0000 | 
|---|---|---|
| committer | Marcel Holtmann <marcel@holtmann.org> | 2004-04-24 12:09:53 +0000 | 
| commit | 6caf64335ab07e1bd138e11a1823ba9baa209fef (patch) | |
| tree | 9dd7edfd7cf15a196efe85a1ad773c1725c29a14 /src | |
| parent | 40f6099fd4ffe323a369dd63652570404f4ddc02 (diff) | |
Add features and packet types from EDR prototyping specification
Diffstat (limited to 'src')
| -rw-r--r-- | src/hci.c | 55 | 
1 files changed, 46 insertions, 9 deletions
| @@ -200,15 +200,35 @@ char *hci_dflagstostr(uint32_t flags)  /* HCI packet type mapping */  static hci_map pkt_type_map[] = { -	{ "DM1", HCI_DM1 }, -	{ "DM3", HCI_DM3 }, -	{ "DM5", HCI_DM5 }, -	{ "DH1", HCI_DH1 }, -	{ "DH3", HCI_DH3 }, -	{ "DH5", HCI_DH5 }, -	{ "HV1", HCI_HV1 }, -	{ "HV2", HCI_HV2 }, -	{ "HV3", HCI_HV3 }, +	{ "DM1",   HCI_DM1  }, +	{ "DM3",   HCI_DM3  }, +	{ "DM5",   HCI_DM5  }, +	{ "DH1",   HCI_DH1  }, +	{ "DH3",   HCI_DH3  }, +	{ "DH5",   HCI_DH5  }, +	{ "HV1",   HCI_HV1  }, +	{ "HV2",   HCI_HV2  }, +	{ "HV3",   HCI_HV3  }, +	{ "2-DH1", HCI_2DH1 }, +	{ "2-DH3", HCI_2DH3 }, +	{ "2-DH5", HCI_2DH5 }, +	{ "3-DH1", HCI_3DH1 }, +	{ "3-DH3", HCI_3DH3 }, +	{ "3-DH5", HCI_3DH5 }, +	{ NULL } +}; + +static hci_map sco_ptype_map[] = { +	{ "HV1",   0x0001   }, +	{ "HV2",   0x0002   }, +	{ "HV3",   0x0004   }, +	{ "EV3",   HCI_EV3  }, +	{ "EV4",   HCI_EV4  }, +	{ "EV5",   HCI_EV5  }, +	{ "2-EV3", HCI_2EV3 }, +	{ "2-EV5", HCI_2EV5 }, +	{ "3-EV3", HCI_3EV3 }, +	{ "3-EV5", HCI_3EV5 },  	{ NULL }  }; @@ -222,6 +242,16 @@ int hci_strtoptype(char *str, unsigned int *val)  	return hci_str2bit(pkt_type_map, str, val);  } +char *hci_scoptypetostr(unsigned int ptype) +{ +	return hci_bit2str(sco_ptype_map, ptype); +} + +int hci_strtoscoptype(char *str, unsigned int *val) +{ +	return hci_str2bit(sco_ptype_map, str, val); +} +  /* Link policy mapping */  static hci_map link_policy_map[] = {  	{ "NONE",    0 }, @@ -342,6 +372,8 @@ static hci_map lmp_features_map[8][9] = {  		{ NULL }  	},  	{	/* Byte 3 */ +		{ "<EDR ACL 2 Mbps>",	LMP_EDR_ACL_2M	},	/* Bit 1 */ +		{ "<EDR ACL 3 Mbps>",	LMP_EDR_ACL_3M	},	/* Bit 2 */  		{ "<enhanced iscan>",	LMP_ENH_ISCAN	},	/* Bit 3 */  		{ "<interlaced iscan>",	LMP_ILACE_ISCAN	},	/* Bit 4 */  		{ "<interlaced pscan>",	LMP_ILACE_PSCAN	},	/* Bit 5 */ @@ -354,11 +386,16 @@ static hci_map lmp_features_map[8][9] = {  		{ "<EV5 packets>",	LMP_EV5		},	/* Bit 1 */  		{ "<AFH cap. slave>",	LMP_AFH_CAP_SLV	},	/* Bit 3 */  		{ "<AFH class. slave>",	LMP_AFH_CLS_SLV	},	/* Bit 4 */ +		{ "<3-slot EDR ACL>",	LMP_EDR_3SLOT	},	/* Bit 7 */  		{ NULL }  	},  	{	/* Byte 5 */ +		{ "<5-slot EDR ACL>",	LMP_EDR_5SLOT	},	/* Bit 0 */  		{ "<AFH cap. master>",	LMP_AFH_CAP_MST	},	/* Bit 3 */  		{ "<AFH class. master>",LMP_AFH_CLS_MST	},	/* Bit 4 */ +		{ "<EDR eSCO 2 Mbps>",	LMP_EDR_ESCO_2M	},	/* Bit 5 */ +		{ "<EDR eSCO 3 Mbps>",	LMP_EDR_ESCO_3M	},	/* Bit 6 */ +		{ "<3-slot EDR eSCO>",	LMP_EDR_3S_ESCO	},	/* Bit 7 */  		{ NULL }  	},  	{	/* Byte 6 */ | 
