Use value_string_ext fcns to access a value_string array;

Sort value_string array to be in ascending order by value;
Minor whitespace cleanup.

svn path=/trunk/; revision=34729
This commit is contained in:
Bill Meier 2010-10-30 20:03:58 +00:00
parent 054f1299ab
commit e52c685b2a
1 changed files with 118 additions and 116 deletions

View File

@ -140,150 +140,150 @@ static dissector_table_t usb_control_dissector_table;
/* http://www.usb.org/developers/docs/USB_LANGIDs.pdf */
static const value_string usb_langid_vals[] = {
{0x0000, "no language specified"},
{0x0436, "Afrikaans"},
{0x041c, "Albanian"},
{0x0401, "Arabic (Saudi Arabia)"},
{0x0801, "Arabic (Iraq)"},
{0x0c01, "Arabic (Egypt)"},
{0x1001, "Arabic (Libya)"},
{0x1401, "Arabic (Algeria)"},
{0x1801, "Arabic (Morocco)"},
{0x1c01, "Arabic (Tunisia)"},
{0x2001, "Arabic (Oman)"},
{0x2401, "Arabic (Yemen)"},
{0x2801, "Arabic (Syria)"},
{0x2c01, "Arabic (Jordan)"},
{0x3001, "Arabic (Lebanon)"},
{0x3401, "Arabic (Kuwait)"},
{0x3801, "Arabic (U.A.E.)"},
{0x3c01, "Arabic (Bahrain)"},
{0x4001, "Arabic (Qatar)"},
{0x042b, "Armenian"},
{0x044d, "Assamese"},
{0x042c, "Azeri (Latin)"},
{0x082c, "Azeri (Cyrillic)"},
{0x042d, "Basque"},
{0x0423, "Belarussian"},
{0x0445, "Bengali"},
{0x0402, "Bulgarian"},
{0x0455, "Burmese"},
{0x0403, "Catalan"},
{0x0404, "Chinese (Taiwan)"},
{0x0804, "Chinese (PRC)"},
{0x0c04, "Chinese (Hong Kong SAR, PRC)"},
{0x1004, "Chinese (Singapore)"},
{0x1404, "Chinese (Macau SAR)"},
{0x041a, "Croatian"},
{0x0405, "Czech"},
{0x0406, "Danish"},
{0x0413, "Dutch (Netherlands)"},
{0x0813, "Dutch (Belgium)"},
{0x0407, "German (Standard)"},
{0x0408, "Greek"},
{0x0409, "English (United States)"},
{0x0809, "English (United Kingdom)"},
{0x0c09, "English (Australian)"},
{0x1009, "English (Canadian)"},
{0x1409, "English (New Zealand)"},
{0x1809, "English (Ireland)"},
{0x1c09, "English (South Africa)"},
{0x2009, "English (Jamaica)"},
{0x2409, "English (Caribbean)"},
{0x2809, "English (Belize)"},
{0x2c09, "English (Trinidad)"},
{0x3009, "English (Zimbabwe)"},
{0x3409, "English (Philippines)"},
{0x0425, "Estonian"},
{0x0438, "Faeroese"},
{0x0429, "Farsi"},
{0x040a, "Spanish (Traditional Sort)"},
{0x040b, "Finnish"},
{0x040c, "French (Standard)"},
{0x080c, "French (Belgian)"},
{0x0c0c, "French (Canadian)"},
{0x100c, "French (Switzerland)"},
{0x140c, "French (Luxembourg)"},
{0x180c, "French (Monaco)"},
{0x0437, "Georgian"},
{0x0407, "German (Standard)"},
{0x0807, "German (Switzerland)"},
{0x0c07, "German (Austria)"},
{0x1007, "German (Luxembourg)"},
{0x1407, "German (Liechtenstein)"},
{0x0408, "Greek"},
{0x0447, "Gujarati"},
{0x040d, "Hebrew"},
{0x0439, "Hindi"},
{0x040e, "Hungarian"},
{0x040f, "Icelandic"},
{0x0421, "Indonesian"},
{0x0410, "Italian (Standard)"},
{0x0810, "Italian (Switzerland)"},
{0x0411, "Japanese"},
{0x044b, "Kannada"},
{0x0860, "Kashmiri (India)"},
{0x043f, "Kazakh"},
{0x0457, "Konkani"},
{0x0412, "Korean"},
{0x0812, "Korean (Johab)"},
{0x0426, "Latvian"},
{0x0427, "Lithuanian"},
{0x0827, "Lithuanian (Classic)"},
{0x042f, "Macedonian"},
{0x043e, "Malay (Malaysian)"},
{0x083e, "Malay (Brunei Darussalam)"},
{0x044c, "Malayalam"},
{0x0458, "Manipuri"},
{0x044e, "Marathi"},
{0x0861, "Nepali (India)"},
{0x0413, "Dutch (Netherlands)"},
{0x0414, "Norwegian (Bokmal)"},
{0x0814, "Norwegian (Nynorsk)"},
{0x0448, "Oriya"},
{0x0415, "Polish"},
{0x0416, "Portuguese (Brazil)"},
{0x0816, "Portuguese (Standard)"},
{0x0446, "Punjabi"},
{0x0418, "Romanian"},
{0x0419, "Russian"},
{0x044f, "Sanskrit"},
{0x0c1a, "Serbian (Cyrillic)"},
{0x081a, "Serbian (Latin)"},
{0x0459, "Sindhi"},
{0x041a, "Croatian"},
{0x041b, "Slovak"},
{0x041c, "Albanian"},
{0x041d, "Swedish"},
{0x041e, "Thai"},
{0x041f, "Turkish"},
{0x0420, "Urdu (Pakistan)"},
{0x0421, "Indonesian"},
{0x0422, "Ukrainian"},
{0x0423, "Belarussian"},
{0x0424, "Slovenian"},
{0x040a, "Spanish (Traditional Sort)"},
{0x0425, "Estonian"},
{0x0426, "Latvian"},
{0x0427, "Lithuanian"},
{0x0429, "Farsi"},
{0x042a, "Vietnamese"},
{0x042b, "Armenian"},
{0x042c, "Azeri (Latin)"},
{0x042d, "Basque"},
{0x042f, "Macedonian"},
{0x0430, "Sutu"},
{0x0436, "Afrikaans"},
{0x0437, "Georgian"},
{0x0438, "Faeroese"},
{0x0439, "Hindi"},
{0x043e, "Malay (Malaysian)"},
{0x043f, "Kazakh"},
{0x0441, "Swahili (Kenya)"},
{0x0443, "Uzbek (Latin)"},
{0x0444, "Tatar (Tatarstan)"},
{0x0445, "Bengali"},
{0x0446, "Punjabi"},
{0x0447, "Gujarati"},
{0x0448, "Oriya"},
{0x0449, "Tamil"},
{0x044a, "Telugu"},
{0x044b, "Kannada"},
{0x044c, "Malayalam"},
{0x044d, "Assamese"},
{0x044e, "Marathi"},
{0x044f, "Sanskrit"},
{0x0455, "Burmese"},
{0x0457, "Konkani"},
{0x0458, "Manipuri"},
{0x0459, "Sindhi"},
{0x04ff, "HID (Usage Data Descriptor)"},
{0x0801, "Arabic (Iraq)"},
{0x0804, "Chinese (PRC)"},
{0x0807, "German (Switzerland)"},
{0x0809, "English (United Kingdom)"},
{0x080a, "Spanish (Mexican)"},
{0x080c, "French (Belgian)"},
{0x0810, "Italian (Switzerland)"},
{0x0812, "Korean (Johab)"},
{0x0813, "Dutch (Belgium)"},
{0x0814, "Norwegian (Nynorsk)"},
{0x0816, "Portuguese (Standard)"},
{0x081a, "Serbian (Latin)"},
{0x081d, "Swedish (Finland)"},
{0x0820, "Urdu (India)"},
{0x0827, "Lithuanian (Classic)"},
{0x082c, "Azeri (Cyrillic)"},
{0x083e, "Malay (Brunei Darussalam)"},
{0x0843, "Uzbek (Cyrillic)"},
{0x0860, "Kashmiri (India)"},
{0x0861, "Nepali (India)"},
{0x0c01, "Arabic (Egypt)"},
{0x0c04, "Chinese (Hong Kong SAR, PRC)"},
{0x0c07, "German (Austria)"},
{0x0c09, "English (Australian)"},
{0x0c0a, "Spanish (Modern Sort)"},
{0x0c0c, "French (Canadian)"},
{0x0c1a, "Serbian (Cyrillic)"},
{0x1001, "Arabic (Libya)"},
{0x1004, "Chinese (Singapore)"},
{0x1007, "German (Luxembourg)"},
{0x1009, "English (Canadian)"},
{0x100a, "Spanish (Guatemala)"},
{0x100c, "French (Switzerland)"},
{0x1401, "Arabic (Algeria)"},
{0x1404, "Chinese (Macau SAR)"},
{0x1407, "German (Liechtenstein)"},
{0x1409, "English (New Zealand)"},
{0x140a, "Spanish (Costa Rica)"},
{0x140c, "French (Luxembourg)"},
{0x1801, "Arabic (Morocco)"},
{0x1809, "English (Ireland)"},
{0x180a, "Spanish (Panama)"},
{0x180c, "French (Monaco)"},
{0x1c01, "Arabic (Tunisia)"},
{0x1c09, "English (South Africa)"},
{0x1c0a, "Spanish (Dominican Republic)"},
{0x2001, "Arabic (Oman)"},
{0x2009, "English (Jamaica)"},
{0x200a, "Spanish (Venezuela)"},
{0x2401, "Arabic (Yemen)"},
{0x2409, "English (Caribbean)"},
{0x240a, "Spanish (Colombia)"},
{0x2801, "Arabic (Syria)"},
{0x2809, "English (Belize)"},
{0x280a, "Spanish (Peru)"},
{0x2c01, "Arabic (Jordan)"},
{0x2c09, "English (Trinidad)"},
{0x2c0a, "Spanish (Argentina)"},
{0x3001, "Arabic (Lebanon)"},
{0x3009, "English (Zimbabwe)"},
{0x300a, "Spanish (Ecuador)"},
{0x3401, "Arabic (Kuwait)"},
{0x3409, "English (Philippines)"},
{0x340a, "Spanish (Chile)"},
{0x3801, "Arabic (U.A.E.)"},
{0x380a, "Spanish (Uruguay)"},
{0x3c01, "Arabic (Bahrain)"},
{0x3c0a, "Spanish (Paraguay)"},
{0x4001, "Arabic (Qatar)"},
{0x400a, "Spanish (Bolivia)"},
{0x440a, "Spanish (El Salvador)"},
{0x480a, "Spanish (Honduras)"},
{0x4c0a, "Spanish (Nicaragua)"},
{0x500a, "Spanish (Puerto Rico)"},
{0x0430, "Sutu"},
{0x0441, "Swahili (Kenya)"},
{0x041d, "Swedish"},
{0x081d, "Swedish (Finland)"},
{0x0449, "Tamil"},
{0x0444, "Tatar (Tatarstan)"},
{0x044a, "Telugu"},
{0x041e, "Thai"},
{0x041f, "Turkish"},
{0x0422, "Ukrainian"},
{0x0420, "Urdu (Pakistan)"},
{0x0820, "Urdu (India)"},
{0x0443, "Uzbek (Latin)"},
{0x0843, "Uzbek (Cyrillic)"},
{0x042a, "Vietnamese"},
{0x04ff, "HID (Usage Data Descriptor)"},
{0xf0ff, "HID (Vendor Defined 1)"},
{0xf4ff, "HID (Vendor Defined 2)"},
{0xf8ff, "HID (Vendor Defined 3)"},
@ -291,6 +291,8 @@ static const value_string usb_langid_vals[] = {
{0, NULL}
};
static value_string_ext usb_langid_vals_ext = VALUE_STRING_EXT_INIT(usb_langid_vals);
static const value_string usb_interfaceclass_vals[] = {
{IF_CLASS_FROM_INTERFACE_DESC, "Use class info in Interface Descriptor"},
{IF_CLASS_AUDIO, "AUDIO"},
@ -327,7 +329,7 @@ static const value_string usb_transfer_type_vals[] = {
};
static const value_string usb_urb_type_vals[] = {
{URB_SUBMIT, "URB_SUBMIT"},
{URB_SUBMIT, "URB_SUBMIT"},
{URB_COMPLETE,"URB_COMPLETE"},
{URB_ERROR,"URB_ERROR"},
{0, NULL}
@ -1706,11 +1708,11 @@ static const value_string bmrequesttype_type_vals[] = {
};
static const value_string bmrequesttype_recipient_vals[] = {
{ RQT_SETUP_RECIPIENT_DEVICE, "Device" },
{ RQT_SETUP_RECIPIENT_INTERFACE, "Interface" },
{ RQT_SETUP_RECIPIENT_INTERFACE, "Endpoint" },
{ RQT_SETUP_RECIPIENT_INTERFACE, "Other" },
{ 0, NULL }
{RQT_SETUP_RECIPIENT_DEVICE, "Device" },
{RQT_SETUP_RECIPIENT_INTERFACE, "Interface" },
{RQT_SETUP_RECIPIENT_INTERFACE, "Endpoint" },
{RQT_SETUP_RECIPIENT_INTERFACE, "Other" },
{0, NULL }
};
static int
@ -1818,9 +1820,9 @@ dissect_linux_usb_pseudo_header_ext(tvbuff_t *tvb, int offset,
{
guint32 ndesc;
offset += 4; /* interval */
offset += 4; /* start_frame */
offset += 4; /* copy of URB's transfer flags */
offset += 4; /* interval */
offset += 4; /* start_frame */
offset += 4; /* copy of URB's transfer flags */
tvb_memcpy(tvb, (guint8 *)&ndesc, offset, 4);
offset += 4;
@ -2356,8 +2358,8 @@ proto_register_usb(void)
NULL, 0x0, NULL, HFILL }},
{ &hf_usb_language_id,
{ "Language Id", "usb.LanguageId", FT_UINT16, BASE_HEX,
VALS(usb_langid_vals), 0x0, NULL, HFILL }},
{ "Language Id", "usb.LanguageId", FT_UINT16, BASE_HEX|BASE_EXT_STRING,
&usb_langid_vals_ext, 0x0, NULL, HFILL }},
{ &hf_usb_bLength,
{ "bLength", "usb.bLength", FT_UINT8, BASE_DEC,
@ -2412,8 +2414,8 @@ proto_register_usb(void)
NULL, 0x0, NULL, HFILL }},
{ &hf_usb_wLANGID,
{ "wLANGID", "usb.wLANGID", FT_UINT16, BASE_HEX,
VALS(usb_langid_vals), 0x0, NULL, HFILL }},
{ "wLANGID", "usb.wLANGID", FT_UINT16, BASE_HEX|BASE_EXT_STRING,
&usb_langid_vals_ext, 0x0, NULL, HFILL }},
{ &hf_usb_bString,
{ "bString", "usb.bString", FT_STRING, BASE_NONE,