aboutsummaryrefslogtreecommitdiffstats
path: root/epan
diff options
context:
space:
mode:
authorwmeier <wmeier@f5534014-38df-0310-8fa8-9805f1628bb7>2010-11-03 22:08:49 +0000
committerwmeier <wmeier@f5534014-38df-0310-8fa8-9805f1628bb7>2010-11-03 22:08:49 +0000
commit1268ff556c0d63f823c3f21a0c3c7212e438fb7d (patch)
tree7b47ecf6461cc13314377477689d79ba3949f285 /epan
parentf4d993b212541f88c090671fa1645f6a805dd86c (diff)
Use value_string_ext fcns to access certain value_string arrays;
Sort several value_string arrays to be in ascending order. Also: Minor whitespace cleanup. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@34766 f5534014-38df-0310-8fa8-9805f1628bb7
Diffstat (limited to 'epan')
-rw-r--r--epan/dissectors/packet-actrace.c85
-rw-r--r--epan/dissectors/packet-bthci_cmd.c163
-rw-r--r--epan/dissectors/packet-bthci_evt.c24
-rw-r--r--epan/dissectors/packet-hci_h4.h15
-rw-r--r--epan/dissectors/packet-ip.c5
-rw-r--r--epan/dissectors/packet-netflow.c25
-rw-r--r--epan/dissectors/packet-scsi.c2
-rw-r--r--epan/dissectors/packet-skinny.c102
-rw-r--r--epan/dissectors/packet-uma.c156
9 files changed, 318 insertions, 259 deletions
diff --git a/epan/dissectors/packet-actrace.c b/epan/dissectors/packet-actrace.c
index 985934404c..5381328fc0 100644
--- a/epan/dissectors/packet-actrace.c
+++ b/epan/dissectors/packet-actrace.c
@@ -124,6 +124,7 @@ static const value_string actrace_cas_mf_vals[] = {
{46, "#"},
{0, NULL}
};
+static value_string_ext actrace_cas_mf_vals_ext = VALUE_STRING_EXT_INIT(actrace_cas_mf_vals);
static const value_string actrace_cas_event_vals[] = {
{0, "FUNCTION0"},
@@ -173,21 +174,21 @@ static const value_string actrace_cas_event_vals[] = {
{44, "EV_MFRn_13"},
{45, "EV_MFRn_14"},
{46, "EV_MFRn_15"},
- {47, "EV_MFRn_1_STOPED"},
- {48, "EV_MFRn_2_STOPED"},
- {49, "EV_MFRn_3_STOPED"},
- {50, "EV_MFRn_4_STOPED"},
- {51, "EV_MFRn_5_STOPED"},
- {52, "EV_MFRn_6_STOPED"},
- {53, "EV_MFRn_7_STOPED"},
- {54, "EV_MFRn_8_STOPED"},
- {55, "EV_MFRn_9_STOPED"},
- {56, "EV_MFRn_10_STOPED"},
- {57, "EV_MFRn_11_STOPED"},
- {58, "EV_MFRn_12_STOPED"},
- {59, "EV_MFRn_13_STOPED"},
- {60, "EV_MFRn_14_STOPED"},
- {61, "EV_MFRn_15_STOPED"},
+ {47, "EV_MFRn_1_STOPPED"},
+ {48, "EV_MFRn_2_STOPPED"},
+ {49, "EV_MFRn_3_STOPPED"},
+ {50, "EV_MFRn_4_STOPPED"},
+ {51, "EV_MFRn_5_STOPPED"},
+ {52, "EV_MFRn_6_STOPPED"},
+ {53, "EV_MFRn_7_STOPPED"},
+ {54, "EV_MFRn_8_STOPPED"},
+ {55, "EV_MFRn_9_STOPPED"},
+ {56, "EV_MFRn_10_STOPPED"},
+ {57, "EV_MFRn_11_STOPPED"},
+ {58, "EV_MFRn_12_STOPPED"},
+ {59, "EV_MFRn_13_STOPPED"},
+ {60, "EV_MFRn_14_STOPPED"},
+ {61, "EV_MFRn_15_STOPPED"},
{62, "EV_ANI_NUM_DETECTED"},
{ACTRACE_CAS_EV_FIRST_DIGIT, "EV_FIRST_DIGIT"},
{64, "EV_END_OF_MF_DIGIT"},
@@ -198,9 +199,6 @@ static const value_string actrace_cas_event_vals[] = {
{69, "EV_REJECT_RESERVE1"},
{70, "EV_REJECT_RESERVE2"},
{71, "EV_NO_ANI"},
- {1010, "EV_TIMER_EXPIRED10"},
- {1020, "EV_DEBOUNCE_TIMER_EXPIRED"},
- {1030, "EV_INTER_DIGIT_TIMER_EXPIRED"},
{100, "EV_INIT_CHANNEL"},
{101, "EV_BUSY_TONE_STOPPED"},
{102, "EV_FAST_BUSY_TONE_STOPPED"},
@@ -212,8 +210,12 @@ static const value_string actrace_cas_event_vals[] = {
{113, "EV_FAIL_SEND_CAS"},
{114, "EV_ALARM"},
{ACTRACE_CAS_EV_DTMF, "EV_DTMF"},
+ {1010, "EV_TIMER_EXPIRED10"},
+ {1020, "EV_DEBOUNCE_TIMER_EXPIRED"},
+ {1030, "EV_INTER_DIGIT_TIMER_EXPIRED"},
{0, NULL}
};
+static value_string_ext actrace_cas_event_vals_ext = VALUE_STRING_EXT_INIT(actrace_cas_event_vals);
#define SEND_CAS 2
#define SEND_EVENT 3
@@ -239,6 +241,7 @@ static const value_string actrace_cas_function_vals[] = {
{14, "GENERATE_CAS_EV"},
{0, NULL}
};
+static value_string_ext actrace_cas_function_vals_ext = VALUE_STRING_EXT_INIT(actrace_cas_function_vals);
static const value_string actrace_cas_pstn_event_vals[] = {
{64, "acEV_PSTN_INTERNAL_ERROR"},
@@ -265,6 +268,7 @@ static const value_string actrace_cas_pstn_event_vals[] = {
{132, "acEV_CAS_SEIZURE_ACK"},
{0, NULL}
};
+static value_string_ext actrace_cas_pstn_event_vals_ext = VALUE_STRING_EXT_INIT(actrace_cas_pstn_event_vals);
static const value_string actrace_cas_collect_type_vals[] = {
{0, "COLLECT_TYPE_ADDRESS"},
@@ -315,22 +319,22 @@ static const value_string actrace_cas_cause_vals[] = {
{33, "USER_CONGESTION"},
{34, "NO_CIRCUIT_AVAILABLE"},
{38, "NETWORK_OUT_OF_ORDER"},
+ {39, "PERM_FR_MODE_CONN_OUT_OF_S"},
+ {40, "PERM_FR_MODE_CONN_OPERATIONAL"},
{41, "NETWORK_TEMPORARY_FAILURE"},
{42, "NETWORK_CONGESTION"},
{43, "ACCESS_INFORMATION_DISCARDED"},
{44, "REQUESTED_CIRCUIT_NOT_AVAILABLE"},
- {47, "RESOURCE_UNAVAILABLE_UNSPECIFIED"},
- {39, "PERM_FR_MODE_CONN_OUT_OF_S"},
- {40, "PERM_FR_MODE_CONN_OPERATIONAL"},
{46, "PRECEDENCE_CALL_BLOCKED"},
+ {47, "RESOURCE_UNAVAILABLE_UNSPECIFIED"},
{49, "QUALITY_OF_SERVICE_UNAVAILABLE"},
{50, "REQUESTED_FAC_NOT_SUBSCRIBED"},
- {57, "BC_NOT_AUTHORIZED"},
- {58, "BC_NOT_PRESENTLY_AVAILABLE"},
- {63, "SERVICE_NOT_AVAILABLE"},
{53, "CUG_OUT_CALLS_BARRED"},
{55, "CUG_INC_CALLS_BARRED"},
+ {57, "BC_NOT_AUTHORIZED"},
+ {58, "BC_NOT_PRESENTLY_AVAILABLE"},
{62, "ACCES_INFO_SUBS_CLASS_INCONS"},
+ {63, "SERVICE_NOT_AVAILABLE"},
{65, "BC_NOT_IMPLEMENTED"},
{66, "CHANNEL_TYPE_NOT_IMPLEMENTED"},
{69, "REQUESTED_FAC_NOT_IMPLEMENTED"},
@@ -342,11 +346,11 @@ static const value_string actrace_cas_cause_vals[] = {
{84, "CALL_ID_IN_USE"},
{85, "NO_CALL_SUSPENDED"},
{86, "CALL_HAVING_CALL_ID_CLEARED"},
+ {87, "NOT_CUG_MEMBER"},
{88, "INCOMPATIBLE_DESTINATION"},
+ {90, "CUG_NON_EXISTENT"},
{91, "INVALID_TRANSIT_NETWORK_SELECTION"},
{95, "INVALID_MESSAGE_UNSPECIFIED"},
- {87, "NOT_CUG_MEMBER"},
- {90, "CUG_NON_EXISTENT"},
{96, "MANDATORY_IE_MISSING"},
{97, "MESSAGE_TYPE_NON_EXISTENT"},
{98, "MESSAGE_STATE_INCONSISTENCY"},
@@ -360,12 +364,12 @@ static const value_string actrace_cas_cause_vals[] = {
{129, "ACU_CAUSE_ACU_BAD_SERVICE"},
{130, "ACU_CAUSE_ACU_COLLISION"},
{131, "ACU_CAUSE_ACU_FAC_REJECTED"},
- {255, "ACU_NETWORK_CAUSE_NIL"},
{200, "C_ALREADY_BLOCKED"},
{201, "C_CHANNEL_BLOCKED"},
{202, "C_BLOCKING_DONE"},
{203, "C_ALREADY_UNBLOCKED"},
{204, "C_UNBLOCKING_DONE"},
+ {255, "ACU_NETWORK_CAUSE_NIL"},
{260, "CLRN_MFRn_A4"},
{261, "CLRN_MFRn_B1"},
{262, "CLRN_MFRn_B2"},
@@ -403,6 +407,7 @@ static const value_string actrace_cas_cause_vals[] = {
{318, "ACURC_CLEAR_RQ"},
{0, NULL}
};
+static value_string_ext actrace_cas_cause_vals_ext = VALUE_STRING_EXT_INIT(actrace_cas_cause_vals);
/* ISDN */
#define PSTN_TO_BLADE 0x49446463
@@ -527,21 +532,21 @@ static void dissect_actrace_cas(tvbuff_t *tvb, packet_info *pinfo, proto_tree *a
offset += 4;
col_append_fstr(pinfo->cinfo, COL_INFO, "%s|%d|%s|%d|%s|",
- val_to_str(source, actrace_cas_source_vals_short, "ukn"),
+ val_to_str_const(source, actrace_cas_source_vals_short, "ukn"),
curr_state,
- val_to_str(event, actrace_cas_event_vals, "%d"),
+ val_to_str_ext(event, &actrace_cas_event_vals_ext, "%d"),
next_state,
- val_to_str(function, actrace_cas_function_vals, "%d"));
+ val_to_str_ext(function, &actrace_cas_function_vals_ext, "%d"));
par0 = tvb_get_ntohl(tvb, offset);
switch (function)
{
case SEND_EVENT:
proto_tree_add_text(actrace_tree, tvb, offset, 4,
- "Parameter 0: %s", val_to_str(par0,
- actrace_cas_pstn_event_vals, "Unknown (%d)"));
+ "Parameter 0: %s", val_to_str_ext(par0,
+ &actrace_cas_pstn_event_vals_ext, "Unknown (%d)"));
col_append_fstr(pinfo->cinfo, COL_INFO, "%s|",
- val_to_str(par0, actrace_cas_pstn_event_vals, "%d"));
+ val_to_str_ext(par0, &actrace_cas_pstn_event_vals_ext, "%d"));
break;
case CHANGE_COLLECT_TYPE:
proto_tree_add_text(actrace_tree, tvb, offset, 4,
@@ -567,9 +572,9 @@ static void dissect_actrace_cas(tvbuff_t *tvb, packet_info *pinfo, proto_tree *a
par1 = tvb_get_ntohl(tvb, offset);
if (function == SEND_EVENT) {
proto_tree_add_text(actrace_tree, tvb, offset, 4,
- "Parameter 1: %s", val_to_str(par1, actrace_cas_cause_vals, "Unknown (%d)"));
+ "Parameter 1: %s", val_to_str_ext(par1, &actrace_cas_cause_vals_ext, "Unknown (%d)"));
col_append_fstr(pinfo->cinfo, COL_INFO, "%s|",
- val_to_str(par1, actrace_cas_cause_vals, "%d"));
+ val_to_str_ext(par1, &actrace_cas_cause_vals_ext, "%d"));
} else {
proto_tree_add_int(actrace_tree, hf_actrace_cas_par1, tvb, offset, 4, par1);
col_append_fstr(pinfo->cinfo, COL_INFO, "%d|", par1);
@@ -599,9 +604,9 @@ static void dissect_actrace_cas(tvbuff_t *tvb, packet_info *pinfo, proto_tree *a
if (source == ACTRACE_CAS_SOURCE_DSP) {
direction = 1;
if ( (event >= ACTRACE_CAS_EV_11) && (event <= ACTRACE_CAS_EV_00 ) ) {
- frame_label = ep_strdup_printf("AB: %s", val_to_str(event, actrace_cas_event_ab_vals, "ERROR") );
+ frame_label = ep_strdup_printf("AB: %s", val_to_str_const(event, actrace_cas_event_ab_vals, "ERROR") );
} else if ( (event >= 32) && (event <= 46 ) ) { /* is an MF tone */
- frame_label = ep_strdup_printf("MF: %s", val_to_str(event, actrace_cas_mf_vals, "ERROR") );
+ frame_label = ep_strdup_printf("MF: %s", val_to_str_ext_const(event, &actrace_cas_mf_vals_ext, "ERROR") );
} else if ( (event == ACTRACE_CAS_EV_DTMF ) || (event == ACTRACE_CAS_EV_FIRST_DIGIT ) ) { /* DTMF digit */
frame_label = ep_strdup_printf("DTMF: %u", par0 );
}
@@ -622,7 +627,7 @@ static void dissect_actrace_cas(tvbuff_t *tvb, packet_info *pinfo, proto_tree *a
frame_label = ep_strdup("MF: inter_exch_sw");
}
} else if (function == SEND_CAS) {
- frame_label = ep_strdup_printf("AB: %s", val_to_str(ACTRACE_CAS_EV_00-par0, actrace_cas_event_ab_vals, "ERROR"));
+ frame_label = ep_strdup_printf("AB: %s", val_to_str_const(ACTRACE_CAS_EV_00-par0, actrace_cas_event_ab_vals, "ERROR"));
} else if (function == SEND_DEST_NUM) {
if (par0 == SEND_TYPE_ADDRESS ) {
frame_label = ep_strdup("DTMF/MF: sending DNIS");
@@ -745,13 +750,13 @@ void proto_register_actrace(void)
{ "Current State", "actrace.cas.curr_state", FT_INT32, BASE_DEC, NULL, 0x0,
NULL, HFILL }},
{ &hf_actrace_cas_event,
- { "Event", "actrace.cas.event", FT_INT32, BASE_DEC, VALS(actrace_cas_event_vals), 0x0,
+ { "Event", "actrace.cas.event", FT_INT32, BASE_DEC|BASE_EXT_STRING, &actrace_cas_event_vals_ext, 0x0,
"New Event", HFILL }},
{ &hf_actrace_cas_next_state,
{ "Next State", "actrace.cas.next_state", FT_INT32, BASE_DEC, NULL, 0x0,
NULL, HFILL }},
{ &hf_actrace_cas_function,
- { "Function", "actrace.cas.function", FT_INT32, BASE_DEC, VALS(actrace_cas_function_vals), 0x0,
+ { "Function", "actrace.cas.function", FT_INT32, BASE_DEC|BASE_EXT_STRING, &actrace_cas_function_vals_ext, 0x0,
NULL, HFILL }},
{ &hf_actrace_cas_par0,
{ "Parameter 0", "actrace.cas.par0", FT_INT32, BASE_DEC, NULL, 0x0,
diff --git a/epan/dissectors/packet-bthci_cmd.c b/epan/dissectors/packet-bthci_cmd.c
index 4e4174d399..fa1e8c257b 100644
--- a/epan/dissectors/packet-bthci_cmd.c
+++ b/epan/dissectors/packet-bthci_cmd.c
@@ -238,7 +238,7 @@ static gint ett_opcode = -1;
static gint ett_eir_subtree = -1;
static gint ett_eir_struct_subtree = -1;
-const value_string bthci_cmd_opcode_vals[] = {
+static const value_string bthci_cmd_opcode_vals[] = {
{0x0000, "No Operation"},
{0x0401, "Inquiry"},
{0x0402, "Inquiry Cancel"},
@@ -382,8 +382,9 @@ const value_string bthci_cmd_opcode_vals[] = {
{0xfc00, "Vendor-Specific"},
{0, NULL}
};
+value_string_ext bthci_cmd_opcode_vals_ext = VALUE_STRING_EXT_INIT(bthci_cmd_opcode_vals);
-const value_string bthci_ogf_vals[] = {
+static const value_string bthci_ogf_vals[] = {
{ HCI_OGF_LINK_CONTROL, "Link Control Commands" },
{ HCI_OGF_LINK_POLICY, "Link Policy Commands" },
{ HCI_OGF_HOST_CONTROLLER,"Host Controller & Baseband Commands" },
@@ -394,8 +395,9 @@ const value_string bthci_ogf_vals[] = {
{ HCI_OGF_VENDOR_SPECIFIC, "Vendor-Specific Commands" },
{ 0, NULL }
};
+value_string_ext bthci_ogf_vals_ext = VALUE_STRING_EXT_INIT(bthci_ogf_vals);
-const value_string bthci_cmd_status_vals[] = {
+static const value_string bthci_cmd_status_vals[] = {
{0x00, "Success"},
{0x01, "Unknown HCI Command"},
{0x02, "No Connection"},
@@ -452,8 +454,9 @@ const value_string bthci_cmd_status_vals[] = {
{0x38, "Host Busy - Pairing"},
{0, NULL }
};
+value_string_ext bthci_cmd_status_vals_ext = VALUE_STRING_EXT_INIT(bthci_cmd_status_vals);
-const value_string bthci_cmd_major_dev_class_vals[] = {
+static const value_string bthci_cmd_major_dev_class_vals[] = {
{0x00, "Miscellaneous"},
{0x01, "Computer"},
{0x02, "Phone"},
@@ -465,8 +468,9 @@ const value_string bthci_cmd_major_dev_class_vals[] = {
{0x08, "Toy"},
{0, NULL }
};
+value_string_ext bthci_cmd_major_dev_class_vals_ext = VALUE_STRING_EXT_INIT(bthci_cmd_major_dev_class_vals);
-const value_string bthci_cmd_service_class_type_vals[] = {
+static const value_string bthci_cmd_service_class_type_vals[] = {
{0x1000, "Service Discovery Server Service"},
{0x1001, "Browse Group Descriptor Service"},
{0x1002, "Public Browse Group"},
@@ -533,50 +537,53 @@ const value_string bthci_cmd_service_class_type_vals[] = {
{0x1305, "Video Distribution"},
{0, NULL}
};
-
-const value_string bthci_cmd_eir_data_type_vals[] = {
- {0x01, "Flags" },
- {0x02, "16-bit Service Class UUIDs (incomplete)" },
- {0x03, "16-bit Service Class UUIDs" },
- {0x04, "32-bit Service Class UUIDs (incomplete)" },
- {0x05, "32-bit Service Class UUIDs" },
- {0x06, "128-bit Service Class UUIDs (incomplete)" },
- {0x07, "128-bit Service Class UUIDs" },
- {0x08, "Device Name (shortened)" },
- {0x09, "Device Name" },
- {0x0A, "Tx Power Level" },
- {0x0B, "OOB Optional Data Length" },
- {0x0C, "BD_ADDR" },
- {0x0D, "Class Of Device" },
- {0x0E, "Simple Pairing Hash C" },
- {0x0F, "Simple Pairing Randomizer R" },
- {0xFF, "Manufacturer Specific" },
- { 0, NULL }
+value_string_ext bthci_cmd_service_class_type_vals_ext = VALUE_STRING_EXT_INIT(bthci_cmd_service_class_type_vals);
+
+static const value_string bthci_cmd_eir_data_type_vals[] = {
+ {0x01, "Flags" },
+ {0x02, "16-bit Service Class UUIDs (incomplete)" },
+ {0x03, "16-bit Service Class UUIDs" },
+ {0x04, "32-bit Service Class UUIDs (incomplete)" },
+ {0x05, "32-bit Service Class UUIDs" },
+ {0x06, "128-bit Service Class UUIDs (incomplete)" },
+ {0x07, "128-bit Service Class UUIDs" },
+ {0x08, "Device Name (shortened)" },
+ {0x09, "Device Name" },
+ {0x0A, "Tx Power Level" },
+ {0x0B, "OOB Optional Data Length" },
+ {0x0C, "BD_ADDR" },
+ {0x0D, "Class Of Device" },
+ {0x0E, "Simple Pairing Hash C" },
+ {0x0F, "Simple Pairing Randomizer R" },
+ {0xFF, "Manufacturer Specific" },
+ { 0, NULL }
};
+value_string_ext bthci_cmd_eir_data_type_vals_ext = VALUE_STRING_EXT_INIT(bthci_cmd_eir_data_type_vals);
const value_string bthci_cmd_io_capability_vals[] = {
- {0x00, "Display Only" },
- {0x01, "Display Yes/No" },
- {0x02, "Keyboard Only" },
- {0x03, "No Input, No Output" },
- { 0, NULL }
+ {0x00, "Display Only" },
+ {0x01, "Display Yes/No" },
+ {0x02, "Keyboard Only" },
+ {0x03, "No Input, No Output" },
+ { 0, NULL }
};
const value_string bthci_cmd_oob_data_present_vals[] = {
- {0x00, "OOB Authentication Data Not Present" },
- {0x01, "OOB Authentication Data From Remote Device Present" },
- { 0, NULL }
+ {0x00, "OOB Authentication Data Not Present" },
+ {0x01, "OOB Authentication Data From Remote Device Present" },
+ { 0, NULL }
};
-const value_string bthci_cmd_auth_req_vals[] = {
- {0x00, "MITM Protection Not Required - No Bonding. Numeric Comparison, Automatic Accept Allowed" },
- {0x01, "MITM Protection Required - No Bonding. Use IO Capabilty To Determine Procedure" },
- {0x02, "MITM Protection Not Required - Dedicated Bonding. Numeric Comparison, Automatic Accept Allowed" },
- {0x03, "MITM Protection Required - Dedicated Bonding. Use IO Capabilty To Determine Procedure" },
- {0x04, "MITM Protection Not Required - General Bonding. Numeric Comparison, Automatic Accept Allowed" },
- {0x05, "MITM Protection Required - General Bonding. Use IO Capabilty To Determine Procedure" },
- { 0, NULL }
+static const value_string bthci_cmd_auth_req_vals[] = {
+ {0x00, "MITM Protection Not Required - No Bonding. Numeric Comparison, Automatic Accept Allowed" },
+ {0x01, "MITM Protection Required - No Bonding. Use IO Capabilty To Determine Procedure" },
+ {0x02, "MITM Protection Not Required - Dedicated Bonding. Numeric Comparison, Automatic Accept Allowed" },
+ {0x03, "MITM Protection Required - Dedicated Bonding. Use IO Capabilty To Determine Procedure" },
+ {0x04, "MITM Protection Not Required - General Bonding. Numeric Comparison, Automatic Accept Allowed" },
+ {0x05, "MITM Protection Required - General Bonding. Use IO Capabilty To Determine Procedure" },
+ { 0, NULL }
};
+value_string_ext bthci_cmd_auth_req_vals_ext = VALUE_STRING_EXT_INIT(bthci_cmd_auth_req_vals);
static const value_string cmd_role_vals[] = {
{0x00, "Become Master"},
@@ -759,44 +766,44 @@ static const value_string cmd_role_switch_modes[] = {
};
static const value_string cmd_rtx_effort[] = {
- {0x00, "No Retransmission" },
- {0x01, "At least 1 retransmission, optimize for consumption" },
- {0x02, "At least 1 retransmission, optimize for link quality" },
- {0xFF, "Don't Care" },
- { 0, NULL }
+ {0x00, "No Retransmission" },
+ {0x01, "At least 1 retransmission, optimize for consumption" },
+ {0x02, "At least 1 retransmission, optimize for link quality" },
+ {0xFF, "Don't Care" },
+ { 0, NULL }
};
static const value_string cmd_scan_types[] = {
- {0x00, "Standard Scan" },
- {0x01, "Interlaced Scan" },
- { 0, NULL }
+ {0x00, "Standard Scan" },
+ {0x01, "Interlaced Scan" },
+ { 0, NULL }
};
static const value_string cmd_inq_modes[] = {
- {0x00, "Standard Results" },
- {0x01, "Results With RSSI" },
- {0x02, "Results With RSSI or Extended Results" },
- { 0, NULL }
+ {0x00, "Standard Results" },
+ {0x01, "Results With RSSI" },
+ {0x02, "Results With RSSI or Extended Results" },
+ { 0, NULL }
};
static const value_string cmd_flush_pkt_type[] = {
- {0x00, "Automatically Flushable Only" },
- { 0, NULL }
+ {0x00, "Automatically Flushable Only" },
+ { 0, NULL }
};
static const value_string cmd_which_clock[] = {
- {0x00, "Local" },
- {0x01, "Piconet" },
- { 0, NULL }
+ {0x00, "Local" },
+ {0x01, "Piconet" },
+ { 0, NULL }
};
static const value_string cmd_notification_types[] = {
- {0x00, "Passkey Entry Started" },
- {0x01, "Passkey Digit Entered" },
- {0x02, "Passkey Digit Erased" },
- {0x03, "Passkey Cleared" },
- {0x04, "Passkey Entry Completed" },
- { 0, NULL }
+ {0x00, "Passkey Entry Started" },
+ {0x01, "Passkey Digit Entered" },
+ {0x02, "Passkey Digit Erased" },
+ {0x03, "Passkey Cleared" },
+ {0x04, "Passkey Entry Completed" },
+ { 0, NULL }
};
@@ -836,7 +843,7 @@ dissect_bthci_cmd_cod(int type, tvbuff_t *tvb, int offset, packet_info *pinfo _U
buf[0] = '\0';
- proto_item_append_text(item, " (%s - services:", val_to_str(cod1 & 0x1f, bthci_cmd_major_dev_class_vals, "???"));
+ proto_item_append_text(item, " (%s - services:", val_to_str_ext_const(cod1 & 0x1f, &bthci_cmd_major_dev_class_vals_ext, "???"));
if (cod2 & 0x80) g_strlcat(buf, " Information,", sizeof(buf));
if (cod2 & 0x40) g_strlcat(buf, " Telephony,", sizeof(buf));
if (cod2 & 0x20) g_strlcat(buf, " Audio,", sizeof(buf));
@@ -854,7 +861,7 @@ dissect_bthci_cmd_cod(int type, tvbuff_t *tvb, int offset, packet_info *pinfo _U
}
else
{
- proto_item_append_text(item, " (%s - no major services)", val_to_str(cod1 & 0x1f, bthci_cmd_major_dev_class_vals, "???"));
+ proto_item_append_text(item, " (%s - no major services)", val_to_str_ext_const(cod1 & 0x1f, &bthci_cmd_major_dev_class_vals_ext, "???"));
}
return offset+3;
@@ -885,7 +892,7 @@ dissect_bthci_ext_inquiry_response(tvbuff_t *tvb, int offset, packet_info *pinfo
type = tvb_get_guint8(tvb, offset+i+1);
- proto_item_append_text(ti_eir_struct,"%s", val_to_str(type, bthci_cmd_eir_data_type_vals, "Unknown"));
+ proto_item_append_text(ti_eir_struct,"%s", val_to_str_ext_const(type, &bthci_cmd_eir_data_type_vals_ext, "Unknown"));
proto_tree_add_item(ti_eir_struct_subtree,hf_bthci_cmd_eir_struct_length, tvb, offset+i, 1, TRUE);
proto_tree_add_item(ti_eir_struct_subtree,hf_bthci_cmd_eir_struct_type, tvb, offset+i+1, 1, TRUE);
@@ -1889,12 +1896,12 @@ dissect_bthci_cmd(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
ocf = opcode & 0x03ff;
ogf = (guint8) (opcode >> 10);
- proto_item_append_text(ti_cmd," - %s", val_to_str(opcode, bthci_cmd_opcode_vals, "Unknown 0x%04x"));
+ proto_item_append_text(ti_cmd," - %s", val_to_str_ext(opcode, &bthci_cmd_opcode_vals_ext, "Unknown 0x%04x"));
col_set_str(pinfo->cinfo, COL_PROTOCOL, "HCI_CMD");
if((check_col(pinfo->cinfo, COL_INFO))){
- col_append_fstr(pinfo->cinfo, COL_INFO, " %s", val_to_str(opcode, bthci_cmd_opcode_vals, "Unknown 0x%04x"));
+ col_append_fstr(pinfo->cinfo, COL_INFO, " %s", val_to_str_ext(opcode, &bthci_cmd_opcode_vals_ext, "Unknown 0x%04x"));
}
@@ -1955,12 +1962,12 @@ proto_register_bthci_cmd(void)
/* Setup list of header fields See Section 1.6.1 for details*/
static hf_register_info hf[] = {
{ &hf_bthci_cmd_opcode,
- { "Command Opcode","bthci_cmd.opcode", FT_UINT16, BASE_HEX,
- VALS(bthci_cmd_opcode_vals), 0x0, "HCI Command Opcode", HFILL }
+ { "Command Opcode","bthci_cmd.opcode", FT_UINT16, BASE_HEX|BASE_EXT_STRING,
+ &bthci_cmd_opcode_vals_ext, 0x0, "HCI Command Opcode", HFILL }
},
{ &hf_bthci_cmd_ogf,
{ "ogf", "bthci_cmd.ogf",
- FT_UINT16, BASE_HEX, VALS(bthci_ogf_vals), 0xfc00,
+ FT_UINT16, BASE_HEX|BASE_EXT_STRING, &bthci_ogf_vals_ext, 0xfc00,
"Opcode Group Field", HFILL }
},
{ &hf_bthci_cmd_ocf,
@@ -2095,7 +2102,7 @@ proto_register_bthci_cmd(void)
},
{ &hf_bthci_cmd_status,
{ "Status", "bthci_cmd.status",
- FT_UINT8, BASE_HEX, VALS(bthci_cmd_status_vals), 0x0,
+ FT_UINT8, BASE_HEX|BASE_EXT_STRING, &bthci_cmd_status_vals_ext, 0x0,
NULL, HFILL }
},
@@ -2116,7 +2123,7 @@ proto_register_bthci_cmd(void)
},
{ &hf_bthci_cmd_reason,
{ "Reason", "bthci_cmd.reason",
- FT_UINT8, BASE_HEX, VALS(bthci_cmd_status_vals), 0x0,
+ FT_UINT8, BASE_HEX|BASE_EXT_STRING, &bthci_cmd_status_vals_ext, 0x0,
NULL, HFILL }
},
{ &hf_bthci_cmd_num_link_keys,
@@ -2812,17 +2819,17 @@ proto_register_bthci_cmd(void)
},
{ &hf_bthci_cmd_io_capability,
{"IO Capability", "bthci_cmd.io_capability",
- FT_UINT8, BASE_DEC, VALS(bthci_cmd_io_capability_vals), 0x0,
+ FT_UINT8, BASE_DEC, VALS(bthci_cmd_io_capability_vals), 0x0,
NULL, HFILL}
},
{ &hf_bthci_cmd_oob_data_present,
{"OOB Data Present", "bthci_cmd.oob_data_present",
- FT_UINT8, BASE_DEC, VALS(bthci_cmd_oob_data_present_vals), 0x0,
+ FT_UINT8, BASE_DEC, VALS(bthci_cmd_oob_data_present_vals), 0x0,
NULL, HFILL}
},
{ &hf_bthci_cmd_auth_requirements,
{"Authentication Requirements", "bthci_cmd.auth_requirements",
- FT_UINT8, BASE_DEC, VALS(bthci_cmd_auth_req_vals), 0x0,
+ FT_UINT8, BASE_DEC|BASE_EXT_STRING, &bthci_cmd_auth_req_vals_ext, 0x0,
NULL, HFILL}
},
{ &hf_bthci_cmd_passkey,
@@ -2867,12 +2874,12 @@ proto_register_bthci_cmd(void)
},
{ &hf_bthci_cmd_eir_struct_type,
{ "Type", "bthci_cmd.eir_data_type",
- FT_UINT8, BASE_HEX, VALS(bthci_cmd_eir_data_type_vals), 0x0,
+ FT_UINT8, BASE_HEX|BASE_EXT_STRING, &bthci_cmd_eir_data_type_vals_ext, 0x0,
"Data Type", HFILL }
},
{ &hf_bthci_cmd_sc_uuid16,
{ "UUID", "bthci_cmd.service_class_uuid16",
- FT_UINT16, BASE_HEX, VALS(bthci_cmd_service_class_type_vals), 0x0,
+ FT_UINT16, BASE_HEX|BASE_EXT_STRING, &bthci_cmd_service_class_type_vals_ext, 0x0,
"16-bit Service Class UUID", HFILL }
},
{ &hf_bthci_cmd_sc_uuid32,
diff --git a/epan/dissectors/packet-bthci_evt.c b/epan/dissectors/packet-bthci_evt.c
index 2500bfee10..164e4eda77 100644
--- a/epan/dissectors/packet-bthci_evt.c
+++ b/epan/dissectors/packet-bthci_evt.c
@@ -640,7 +640,7 @@ dissect_bthci_evt_cod(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_t
buf[0] = 0;
- proto_item_append_text(item, " (%s - services:", val_to_str(cod1 & 0x1f, bthci_cmd_major_dev_class_vals, "???"));
+ proto_item_append_text(item, " (%s - services:", val_to_str_ext_const(cod1 & 0x1f, &bthci_cmd_major_dev_class_vals_ext, "???"));
if (cod2 & 0x80) g_strlcat(buf, " Information,", sizeof(buf));
if (cod2 & 0x40) g_strlcat(buf, " Telephony,", sizeof(buf));
if (cod2 & 0x20) g_strlcat(buf, " Audio,", sizeof(buf));
@@ -658,7 +658,7 @@ dissect_bthci_evt_cod(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_t
}
else
{
- proto_item_append_text(item, " (%s - no major services)", val_to_str(cod1 & 0x1f, bthci_cmd_major_dev_class_vals, "???"));
+ proto_item_append_text(item, " (%s - no major services)", val_to_str_ext_const(cod1 & 0x1f, &bthci_cmd_major_dev_class_vals_ext, "???"));
}
return offset+3;
@@ -1147,7 +1147,7 @@ dissect_bthci_evt_command_status(tvbuff_t *tvb, int offset, packet_info *pinfo,
offset+=2;
col_append_fstr(pinfo->cinfo, COL_INFO, " (%s)",
- val_to_str(opcode, bthci_cmd_opcode_vals, "Unknown 0x%08x"));
+ val_to_str_ext(opcode, &bthci_cmd_opcode_vals_ext, "Unknown 0x%08x"));
return offset;
}
@@ -1230,7 +1230,7 @@ dissect_bthci_evt_ext_inquiry_response(tvbuff_t *tvb, int offset, packet_info *p
type = tvb_get_guint8(tvb, offset+i+1);
- proto_item_append_text(ti_eir_struct,"%s", val_to_str(type, bthci_cmd_eir_data_type_vals, "Unknown"));
+ proto_item_append_text(ti_eir_struct,"%s", val_to_str_ext_const(type, &bthci_cmd_eir_data_type_vals_ext, "Unknown"));
proto_tree_add_item(ti_eir_struct_subtree,hf_bthci_evt_eir_struct_length, tvb, offset+i, 1, TRUE);
proto_tree_add_item(ti_eir_struct_subtree,hf_bthci_evt_eir_struct_type, tvb, offset+i+1, 1, TRUE);
@@ -1403,7 +1403,7 @@ dissect_bthci_evt_command_complete(tvbuff_t *tvb, int offset, packet_info *pinfo
offset+=2;
col_append_fstr(pinfo->cinfo, COL_INFO, " (%s)",
- val_to_str(com_opcode, bthci_cmd_opcode_vals, "Unknown 0x%08x"));
+ val_to_str_ext(com_opcode, &bthci_cmd_opcode_vals_ext, "Unknown 0x%08x"));
switch(com_opcode) {
/* This is a list of Commands that all return just the status */
@@ -2598,12 +2598,12 @@ proto_register_bthci_evt(void)
{ &hf_bthci_evt_com_opcode,
{ "Command Opcode", "bthci_evt.com_opcode",
- FT_UINT16, BASE_HEX, VALS(bthci_cmd_opcode_vals), 0x0,
+ FT_UINT16, BASE_HEX|BASE_EXT_STRING, &bthci_cmd_opcode_vals_ext, 0x0,
NULL, HFILL }
},
{ &hf_bthci_evt_ogf,
{ "ogf", "bthci_evt.ogf",
- FT_UINT16, BASE_HEX, VALS(bthci_ogf_vals), 0xfc00,
+ FT_UINT16, BASE_HEX|BASE_EXT_STRING, &bthci_ogf_vals_ext, 0xfc00,
"Opcode Group Field", HFILL }
},
{ &hf_bthci_evt_ocf,
@@ -2618,7 +2618,7 @@ proto_register_bthci_evt(void)
},
{ &hf_bthci_evt_status,
{ "Status", "bthci_evt.status",
- FT_UINT8, BASE_HEX, VALS(bthci_cmd_status_vals), 0x0,
+ FT_UINT8, BASE_HEX|BASE_EXT_STRING, &bthci_cmd_status_vals_ext, 0x0,
NULL, HFILL }
},
{ &hf_bthci_evt_status_pending,
@@ -2648,7 +2648,7 @@ proto_register_bthci_evt(void)
},
{ &hf_bthci_evt_reason,
{ "Reason", "bthci_evt.reason",
- FT_UINT8, BASE_HEX, VALS(bthci_cmd_status_vals), 0x0,
+ FT_UINT8, BASE_HEX|BASE_EXT_STRING, &bthci_cmd_status_vals_ext, 0x0,
NULL, HFILL }
},
{ &hf_bthci_evt_remote_name,
@@ -3458,7 +3458,7 @@ proto_register_bthci_evt(void)
},
{ &hf_bthci_evt_auth_requirements,
{"Authentication Requirements", "bthci_evt.auth_requirements",
- FT_UINT8, BASE_DEC, VALS(bthci_cmd_auth_req_vals), 0x0,
+ FT_UINT8, BASE_DEC|BASE_EXT_STRING, &bthci_cmd_auth_req_vals_ext, 0x0,
NULL, HFILL}
},
{ &hf_bthci_evt_numeric_value,
@@ -3488,12 +3488,12 @@ proto_register_bthci_evt(void)
},
{ &hf_bthci_evt_eir_struct_type,
{ "Type", "bthci_cmd.eir_data_type",
- FT_UINT8, BASE_HEX, VALS(bthci_cmd_eir_data_type_vals), 0x0,
+ FT_UINT8, BASE_HEX|BASE_EXT_STRING, &bthci_cmd_eir_data_type_vals_ext, 0x0,
"Data Type", HFILL }
},
{ &hf_bthci_evt_sc_uuid16,
{ "UUID", "bthci_cmd.service_class_uuid16",
- FT_UINT16, BASE_HEX, VALS(bthci_cmd_service_class_type_vals), 0x0,
+ FT_UINT16, BASE_HEX|BASE_EXT_STRING, &bthci_cmd_service_class_type_vals_ext, 0x0,
"16-bit Service Class UUID", HFILL }
},
{ &hf_bthci_evt_sc_uuid32,
diff --git a/epan/dissectors/packet-hci_h4.h b/epan/dissectors/packet-hci_h4.h
index 5f403665a0..a2f4aa9df3 100644
--- a/epan/dissectors/packet-hci_h4.h
+++ b/epan/dissectors/packet-hci_h4.h
@@ -29,7 +29,7 @@
#define HCI_H4_TYPE_SCO 0x03
#define HCI_H4_TYPE_EVT 0x04
-extern const value_string bthci_cmd_opcode_vals[];
+extern value_string_ext bthci_cmd_opcode_vals_ext;
#define HCI_OGF_LINK_CONTROL 0x01
#define HCI_OGF_LINK_POLICY 0x02
@@ -39,14 +39,15 @@ extern const value_string bthci_cmd_opcode_vals[];
#define HCI_OGF_TESTING 0x06
#define HCI_OGF_LOGO_TESTING 0x3e
#define HCI_OGF_VENDOR_SPECIFIC 0x3f
-extern const value_string bthci_ogf_vals[];
+extern value_string_ext bthci_ogf_vals_ext;
+
+extern value_string_ext bthci_cmd_status_vals_ext;
+extern value_string_ext bthci_cmd_service_class_type_vals_ext;
+extern value_string_ext bthci_cmd_major_dev_class_vals_ext;
+extern value_string_ext bthci_cmd_eir_data_type_vals_ext;
+extern value_string_ext bthci_cmd_auth_req_vals_ext;
-extern const value_string bthci_cmd_status_vals[];
-extern const value_string bthci_cmd_service_class_type_vals[];
-extern const value_string bthci_cmd_major_dev_class_vals[];
-extern const value_string bthci_cmd_eir_data_type_vals[];
extern const value_string bthci_cmd_io_capability_vals[];
extern const value_string bthci_cmd_oob_data_present_vals[];
-extern const value_string bthci_cmd_auth_req_vals[];
#endif
diff --git a/epan/dissectors/packet-ip.c b/epan/dissectors/packet-ip.c
index dd5c66ebde..48accf696d 100644
--- a/epan/dissectors/packet-ip.c
+++ b/epan/dissectors/packet-ip.c
@@ -997,6 +997,7 @@ dissect_ipopt_qs(const ip_tcp_opt *optp, tvbuff_t *tvb, int offset,
{15, "1.31072 Gbit/s"},
{0, NULL}
};
+ static value_string_ext qs_rates_ext = VALUE_STRING_EXT_INIT(qs_rates);
guint8 command = tvb_get_guint8(tvb, offset + 2);
guint8 function = command >> 4;
@@ -1006,13 +1007,13 @@ dissect_ipopt_qs(const ip_tcp_opt *optp, tvbuff_t *tvb, int offset,
case 0x00: /* rate request */
proto_tree_add_text(opt_tree, tvb, offset, optlen,
"%s: Rate request, %s, QS TTL %u", optp->name,
- val_to_str(rate, qs_rates, "Unknown"),
+ val_to_str_ext_const(rate, &qs_rates_ext, "Unknown"),
tvb_get_guint8(tvb, offset + 3));
break;
case 0x08: /* rate report */
proto_tree_add_text(opt_tree, tvb, offset, optlen,
"%s: Rate report, %s", optp->name,
- val_to_str(rate, qs_rates, "Unknown"));
+ val_to_str_ext_const(rate, &qs_rates_ext, "Unknown"));
break;
default:
proto_tree_add_text(opt_tree, tvb, offset, optlen,
diff --git a/epan/dissectors/packet-netflow.c b/epan/dissectors/packet-netflow.c
index 30bcd5a5a3..a6b7feef71 100644
--- a/epan/dissectors/packet-netflow.c
+++ b/epan/dissectors/packet-netflow.c
@@ -233,6 +233,7 @@ static const value_string v8_agg[] = {
{V8PDU_PREPORTPROTOCOL_METHOD, "V8 Port+Protocol aggregation"},
{0, NULL}
};
+static value_string_ext v8_agg_ext = VALUE_STRING_EXT_INIT(v8_agg);
/* Version 9 template cache structures */
/* This was 100, but this gives a horrible hash distribution. */
@@ -567,7 +568,6 @@ static const value_string v9_v10_template_types[] = {
{ 40005, "FW_EVENT" },
{ 0, NULL }
};
-
static value_string_ext v9_v10_template_types_ext = VALUE_STRING_EXT_INIT(v9_v10_template_types);
static const value_string v9_scope_field_types[] = {
@@ -578,7 +578,6 @@ static const value_string v9_scope_field_types[] = {
{ 5, "Template" },
{ 0, NULL }
};
-
static value_string_ext v9_scope_field_types_ext = VALUE_STRING_EXT_INIT(v9_scope_field_types);
static const value_string v9_sampler_mode[] = {
@@ -587,11 +586,13 @@ static const value_string v9_sampler_mode[] = {
{ 2, "Random" },
{ 0, NULL }
};
+
static const value_string v9_direction[] = {
{ 0, "Ingress" },
{ 1, "Egress" },
{ 0, NULL }
};
+
static const value_string v9_forwarding_status[] = {
{ 0, "Unknown"}, /* Observed on IOS-XR 3.2 */
{ 1, "Forward"}, /* Observed on 7200 12.4(9)T */
@@ -599,6 +600,7 @@ static const value_string v9_forwarding_status[] = {
{ 3, "Consume"}, /* Observed on 7200 12.4(9)T */
{ 0, NULL }
};
+
static const value_string v9_forwarding_status_code[] = {
{ 64, "Forwarded (Unknown)" },
{ 65, "Forwarded Fragmented" },
@@ -625,6 +627,8 @@ static const value_string v9_forwarding_status_code[] = {
{ 195, "Terminate For us" },
{ 0, NULL }
};
+static value_string_ext v9_forwarding_status_code_ext = VALUE_STRING_EXT_INIT(v9_forwarding_status_code);
+
static const value_string v9_firewall_event[] = {
{ 0, "Default (ignore)"},
{ 1, "Flow created"},
@@ -642,12 +646,14 @@ static const value_string v9_extended_firewall_event[] = {
{ 1004, "Flow denied (TCP flow beginning with not TCP SYN)"},
{ 0, NULL }
};
+
static const value_string engine_type[] = {
{ 0, "RP"},
{ 1, "VIP/Linecard"},
{ 2, "PFC/DFC" },
{ 0, NULL }
};
+
static const value_string v9_flow_end_reason[] = {
{ 0, "Unknown"},
{ 1, "Idle timeout"},
@@ -657,6 +663,7 @@ static const value_string v9_flow_end_reason[] = {
{ 5, "Lack of resources" },
{ 0, NULL }
};
+
static const value_string v9_biflow_direction[] = {
{ 0, "Arbitrary"},
{ 1, "Initiator"},
@@ -664,6 +671,7 @@ static const value_string v9_biflow_direction[] = {
{ 3, "Perimeter" },
{ 0, NULL }
};
+
static const value_string selector_algorithm[] = {
{ 0, "Reserved"},
{ 1, "Systematic count-based Sampling"},
@@ -676,6 +684,7 @@ static const value_string selector_algorithm[] = {
{ 8, "Hash based Filtering using CRC"},
{ 0, NULL }
};
+static value_string_ext selector_algorithm_ext = VALUE_STRING_EXT_INIT(selector_algorithm);
@@ -1186,7 +1195,7 @@ dissect_netflow(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
ipfix_debug0("dissect_netflow: start");
ver = tvb_get_ntohs(tvb, offset);
-
+
ipfix_debug1("dissect_netflow: found version %d", ver);
switch (ver) {
@@ -2745,8 +2754,8 @@ dissect_v9_v10_pdu_data(tvbuff_t *tvb, packet_info *pinfo, proto_tree *pdutree,
if (length==1) {
proto_item_append_text(ti, ": %s", val_to_str((tvb_get_guint8(tvb, offset)>>6),
v9_forwarding_status, "Unknown(%d)"));
- proto_item_append_text(ti, ": %s", val_to_str((tvb_get_guint8(tvb, offset)&0x3F),
- v9_forwarding_status_code, "Unknown(%d)"));
+ proto_item_append_text(ti, ": %s", val_to_str_ext((tvb_get_guint8(tvb, offset)&0x3F),
+ &v9_forwarding_status_code_ext, "Unknown(%d)"));
};
break;
@@ -4644,7 +4653,7 @@ proto_register_netflow(void)
},
{&hf_cflow_aggmethod,
{"AggMethod", "cflow.aggmethod",
- FT_UINT8, BASE_DEC, VALS(v8_agg), 0x0,
+ FT_UINT8, BASE_DEC|BASE_EXT_STRING, &v8_agg_ext, 0x0,
"CFlow V8 Aggregation Method", HFILL}
},
{&hf_cflow_aggversion,
@@ -5046,7 +5055,7 @@ proto_register_netflow(void)
},
{&hf_cflow_forwarding_code,
{"ForwdCode", "cflow.forwarding_code",
- FT_UINT8, BASE_DEC, VALS(v9_forwarding_status_code), 0x3F,
+ FT_UINT8, BASE_DEC|BASE_EXT_STRING, &v9_forwarding_status_code_ext, 0x3F,
"Forwarding Code", HFILL}
},
{&hf_cflow_nbar_appl_desc,
@@ -5892,7 +5901,7 @@ proto_register_netflow(void)
},
{&hf_cflow_selector_algorithm,
{"Selector Algorithm", "cflow.selector_algorithm",
- FT_UINT16, BASE_DEC, VALS(selector_algorithm), 0x0,
+ FT_UINT16, BASE_DEC|BASE_EXT_STRING, &selector_algorithm_ext, 0x0,
NULL, HFILL}
},
{&hf_cflow_sampling_packet_interval,
diff --git a/epan/dissectors/packet-scsi.c b/epan/dissectors/packet-scsi.c
index 92a82d1ec8..bf23fe02b3 100644
--- a/epan/dissectors/packet-scsi.c
+++ b/epan/dissectors/packet-scsi.c
@@ -4270,7 +4270,7 @@ dissect_scsi_rsp (tvbuff_t *tvb, packet_info *pinfo,
cdata->type=SCSI_PDU_TYPE_RSP;
tap_queue_packet(scsi_tap, pinfo, cdata);
- csdata=get_cmdset_data(itlq, itl); /* will gassert if itlq is null */
+ csdata=get_cmdset_data(itlq, itl); /* will g_assert if itlq is null */
/* Nothing really to do here, just print some stuff passed to us
*/
diff --git a/epan/dissectors/packet-skinny.c b/epan/dissectors/packet-skinny.c
index ad6211e23c..c6261b8732 100644
--- a/epan/dissectors/packet-skinny.c
+++ b/epan/dissectors/packet-skinny.c
@@ -226,6 +226,7 @@ static const value_string message_id[] = {
{0 , NULL} /* terminator */
};
+static value_string_ext message_id_ext = VALUE_STRING_EXT_INIT(message_id);
/*
* Device type to text conversion table
@@ -286,6 +287,7 @@ static const value_string deviceTypes[] = {
{255, "NotDefined"},
{ 0 , NULL}
};
+static value_string_ext deviceTypes_ext = VALUE_STRING_EXT_INIT(deviceTypes);
/*
* keypad button -> text conversion
@@ -309,6 +311,7 @@ static const value_string keypadButtons[] = {
{0xf , "Pound"},
{0 , NULL}
};
+static value_string_ext keypadButtons_ext = VALUE_STRING_EXT_INIT(keypadButtons);
static const value_string deviceStimuli[] = {
{0x1 , "LastNumberRedial"},
@@ -344,6 +347,7 @@ static const value_string deviceStimuli[] = {
{0x80 , "GroupCallPickup"},
{0,NULL}
};
+static value_string_ext deviceStimuli_ext = VALUE_STRING_EXT_INIT(deviceStimuli);
/* Note i'm only using 7 later on cuz i'm lazy ;) */
@@ -387,6 +391,7 @@ static const value_string mediaPayloads[] = {
{257 , "RFC2833_DynPayload"},
{0 , NULL}
};
+static value_string_ext mediaPayloads_ext = VALUE_STRING_EXT_INIT(mediaPayloads);
static const value_string alarmSeverities[] = {
{0 , "Critical"},
@@ -399,6 +404,7 @@ static const value_string alarmSeverities[] = {
{20 , "TraceInfo"},
{0 , NULL}
};
+static value_string_ext alarmSeverities_ext = VALUE_STRING_EXT_INIT(alarmSeverities);
static const value_string multicastMediaReceptionStatus[] = {
{0 , "Ok"},
@@ -441,6 +447,7 @@ static const value_string softKeyEvents[] = {
{18 , "GrpCallPickUp"},
{0 , NULL}
};
+static value_string_ext softKeyEvents_ext = VALUE_STRING_EXT_INIT(softKeyEvents);
/* Define info index for each softkey event for Telecaster station. */
static const value_string softKeyIndexes[] = {
@@ -464,6 +471,7 @@ static const value_string softKeyIndexes[] = {
{318 , "GrpCallPickUpInfoIndex"},
{0 , NULL}
};
+static value_string_ext softKeyIndexes_ext = VALUE_STRING_EXT_INIT(softKeyIndexes);
static const value_string buttonDefinitions[] = {
@@ -487,6 +495,7 @@ static const value_string buttonDefinitions[] = {
{0xff , "Undefined"},
{0 , NULL}
};
+static value_string_ext buttonDefinitions_ext = VALUE_STRING_EXT_INIT(buttonDefinitions);
#define StationTotalSoftKeySets 10 /* total number of the soft key sets */
static const value_string keySetNames[] = {
@@ -502,7 +511,9 @@ static const value_string keySetNames[] = {
{9 , "OffHook with features"},
{0 , NULL}
};
+static value_string_ext keySetNames_ext = VALUE_STRING_EXT_INIT(keySetNames);
+#if 0
/* Define soft key labels for the Telecaster station */
static const value_string softKeyLabel[] _U_ = {
{0 , "undefined"},
@@ -526,7 +537,7 @@ static const value_string softKeyLabel[] _U_ = {
{18 , "GPickUp"},
{0 , NULL}
};
-
+#endif
/*
* define lamp modes;
@@ -545,6 +556,7 @@ static const value_string stationLampModes[] = {
{0x5 , "Blink"},
{0 , NULL}
};
+static value_string_ext stationLampModes_ext = VALUE_STRING_EXT_INIT(stationLampModes);
/* Defined the Call States to be sent to the Telecaste station.
* These are NOT the call states used in CM internally. Instead,
@@ -567,6 +579,7 @@ static const value_string skinny_stationCallStates[] = {
{14 , "InvalidNumber"},
{0 , NULL}
};
+static value_string_ext skinny_stationCallStates_ext = VALUE_STRING_EXT_INIT(skinny_stationCallStates);
/* Defined Call Type */
static const value_string skinny_callTypes[] = {
@@ -666,6 +679,7 @@ static const value_string skinny_deviceTones[] = {
{0x7f , "NoTone"},
{0 , NULL}
};
+static value_string_ext skinny_deviceTones_ext = VALUE_STRING_EXT_INIT(skinny_deviceTones);
/* define ring types */
static const value_string skinny_ringTypes[] = {
@@ -677,6 +691,8 @@ static const value_string skinny_ringTypes[] = {
{0x6 , "PrecedenceRing"},
{0 , NULL}
};
+static value_string_ext skinny_ringTypes_ext = VALUE_STRING_EXT_INIT(skinny_ringTypes);
+
static const value_string skinny_ringModes[] = {
{0x1 , "RingForever"},
{0x2 , "RingOnce"},
@@ -739,6 +755,7 @@ static const value_string skinny_modifyConfResults[] = {
{6 , "SystemErr"},
{0 , NULL}
};
+static value_string_ext skinny_modifyConfResults_ext = VALUE_STRING_EXT_INIT(skinny_modifyConfResults);
static const value_string skinny_deleteConfResults[] = {
{0 , "Ok"},
@@ -755,6 +772,7 @@ static const value_string skinny_addParticipantResults[] = {
{4 , "SystemErr"},
{0 , NULL}
};
+static value_string_ext skinny_addParticipantResults_ext = VALUE_STRING_EXT_INIT(skinny_addParticipantResults);
static const value_string skinny_auditParticipantResults[] = {
{0 , "Ok"},
@@ -796,6 +814,7 @@ static const value_string skinny_sessionTypes[] = {
{10 , "Video"},
{0 , NULL}
};
+static value_string_ext skinny_sessionTypes_ext = VALUE_STRING_EXT_INIT(skinny_sessionTypes);
static const value_string skinny_mediaEnunciationTypes[] = {
{1 , "None"},
@@ -830,6 +849,7 @@ static const value_string skinny_Layouts[] = {
{10 , "ThreeByThree4Alt2"},
{0 , NULL}
};
+static value_string_ext skinny_Layouts_ext = VALUE_STRING_EXT_INIT(skinny_Layouts);
static const value_string skinny_transmitOrReceive[] = {
{1 , "Station_Receive_only"},
@@ -868,6 +888,7 @@ static const value_string skinny_miscCommandType[] = {
{7 , "temporalSpatialTradeOff"},
{0 , NULL}
};
+static value_string_ext skinny_miscCommandType_ext = VALUE_STRING_EXT_INIT(skinny_miscCommandType);
static const value_string skinny_formatTypes[] = {
{1 , "sqcif (128x96)"},
@@ -878,6 +899,7 @@ static const value_string skinny_formatTypes[] = {
{6 , "custom_base"},
{0 , NULL}
};
+static value_string_ext skinny_formatTypes_ext = VALUE_STRING_EXT_INIT(skinny_formatTypes);
static const value_string cast_callSecurityStatusTypes[] = {
{0 , "CallSecurityStatusUnknown"},
@@ -907,23 +929,23 @@ static const value_string cast_callSecurityStatusTypes[] = {
#define StationMaxDisplayPromptStatusSize 32 /* max status text size in the display status message */
#define StationMaxDisplayNotifySize 32 /* max prompt text size in the display prompt message */
#define StationMaxAlarmMessageSize 80 /* max size for an alarm message */
-#define StationMaxUserDeviceDataSize 2000 /* max size of user data between application and device */
-#define StationMaxConference 32
-#define AppConferenceIDSize 32
-#define AppDataSize 24
-#define MAX_CUSTOM_PICTURES 6
-#define MAX_LAYOUT_WITH_SAME_SERVICE 5
-#define MAX_SERVICE_TYPE 4
-#define DeviceMaxCapabilities 18 /* max capabilities allowed in Cap response message */
+#define StationMaxUserDeviceDataSize 2000 /* max size of user data between application and device */
+#define StationMaxConference 32
+#define AppConferenceIDSize 32
+#define AppDataSize 24
+#define MAX_CUSTOM_PICTURES 6
+#define MAX_LAYOUT_WITH_SAME_SERVICE 5
+#define MAX_SERVICE_TYPE 4
+#define DeviceMaxCapabilities 18 /* max capabilities allowed in Cap response message */
#define StationMaxCapabilities DeviceMaxCapabilities
-#define StationMaxVideoCapabilities 10
-#define StationMaxDataCapabilities 5
-#define MAX_LEVEL_PREFERENCE 4
-#define MaxAnnouncementList 32
-#define StationMaxMonitorParties 16 /* Max Monitor Bridge whisper matrix parties, rm, M&R in Parche */
-#define StationMaxServiceURLSize 256 /* max number of service URLs length */
-#define MAX_PICTURE_FORMAT 5
-#define MAX_REFERENCE_PICTURE 4
+#define StationMaxVideoCapabilities 10
+#define StationMaxDataCapabilities 5
+#define MAX_LEVEL_PREFERENCE 4
+#define MaxAnnouncementList 32
+#define StationMaxMonitorParties 16 /* Max Monitor Bridge whisper matrix parties, rm, M&R in Parche */
+#define StationMaxServiceURLSize 256 /* max number of service URLs length */
+#define MAX_PICTURE_FORMAT 5
+#define MAX_REFERENCE_PICTURE 4
/* Initialize the protocol and registered fields */
static int proto_skinny = -1;
@@ -1249,7 +1271,7 @@ dissect_skinny_pdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
}
si = &pi_arr[pi_current];
si->messId = data_messageid;
- si->messageName = val_to_str(data_messageid, message_id, "0x%08X (Unknown)");
+ si->messageName = val_to_str_ext(data_messageid, &message_id_ext, "0x%08X (Unknown)");
si->callId = 0;
si->lineId = 0;
si->passThruId = 0;
@@ -2758,7 +2780,7 @@ proto_register_skinny(void)
/* FIXME: Enable use of message name ??? */
{ &hf_skinny_messageid,
{ "Message ID", "skinny.messageid",
- FT_UINT32, BASE_HEX, VALS(message_id), 0x0,
+ FT_UINT32, BASE_HEX|BASE_EXT_STRING, &message_id_ext, 0x0,
"The function requested/done with this message.",
HFILL }
},
@@ -2786,7 +2808,7 @@ proto_register_skinny(void)
{ &hf_skinny_deviceType,
{ "DeviceType", "skinny.deviceType",
- FT_UINT32, BASE_DEC, VALS(deviceTypes), 0x0,
+ FT_UINT32, BASE_DEC|BASE_EXT_STRING, &deviceTypes_ext, 0x0,
"DeviceType of the station.",
HFILL }
},
@@ -2807,7 +2829,7 @@ proto_register_skinny(void)
{ &hf_skinny_stationKeypadButton,
{ "KeypadButton", "skinny.stationKeypadButton",
- FT_UINT32, BASE_HEX, VALS(keypadButtons), 0x0,
+ FT_UINT32, BASE_HEX|BASE_EXT_STRING, &keypadButtons_ext, 0x0,
"The button pressed on the phone.",
HFILL }
},
@@ -2821,7 +2843,7 @@ proto_register_skinny(void)
{ &hf_skinny_stimulus,
{ "Stimulus", "skinny.stimulus",
- FT_UINT32, BASE_HEX, VALS(deviceStimuli), 0x0,
+ FT_UINT32, BASE_HEX|BASE_EXT_STRING, &deviceStimuli_ext, 0x0,
"Reason for the device stimulus message.",
HFILL }
},
@@ -2856,7 +2878,7 @@ proto_register_skinny(void)
{ &hf_skinny_payloadCapability,
{ "PayloadCapability", "skinny.payloadCapability",
- FT_UINT32, BASE_DEC, VALS(mediaPayloads), 0x0,
+ FT_UINT32, BASE_DEC|BASE_EXT_STRING, &mediaPayloads_ext, 0x0,
"The payload capability for this media capability structure.",
HFILL }
},
@@ -2870,7 +2892,7 @@ proto_register_skinny(void)
{ &hf_skinny_alarmSeverity,
{ "AlarmSeverity", "skinny.alarmSeverity",
- FT_UINT32, BASE_DEC, VALS(alarmSeverities), 0x0,
+ FT_UINT32, BASE_DEC|BASE_EXT_STRING, &alarmSeverities_ext, 0x0,
"The severity of the reported alarm.",
HFILL }
},
@@ -3003,7 +3025,7 @@ proto_register_skinny(void)
{ &hf_skinny_softKeyEvent,
{ "SoftKeyEvent", "skinny.softKeyEvent",
- FT_UINT32, BASE_DEC, VALS(softKeyEvents), 0x0,
+ FT_UINT32, BASE_DEC|BASE_EXT_STRING, &softKeyEvents_ext, 0x0,
"Which softkey event is being reported.",
HFILL }
},
@@ -3052,14 +3074,14 @@ proto_register_skinny(void)
{ &hf_skinny_buttonInstanceNumber,
{ "InstanceNumber", "skinny.buttonInstanceNumber",
- FT_UINT8, BASE_HEX, VALS(keypadButtons), 0x0,
+ FT_UINT8, BASE_HEX|BASE_EXT_STRING, &keypadButtons_ext, 0x0,
"The button instance number for a button or the StationKeyPad value, repeats allowed.",
HFILL }
},
{ &hf_skinny_buttonDefinition,
{ "ButtonDefinition", "skinny.buttonDefinition",
- FT_UINT8, BASE_HEX, VALS(buttonDefinitions), 0x0,
+ FT_UINT8, BASE_HEX|BASE_EXT_STRING, &buttonDefinitions_ext, 0x0,
"The button type for this instance (ie line, speed dial, ....",
HFILL }
},
@@ -3115,21 +3137,21 @@ proto_register_skinny(void)
{ &hf_skinny_softKeyTemplateIndex,
{ "SoftKeyTemplateIndex", "skinny.softKeyTemplateIndex",
- FT_UINT8, BASE_DEC, VALS(softKeyEvents), 0x0,
+ FT_UINT8, BASE_DEC|BASE_EXT_STRING, &softKeyEvents_ext, 0x0,
"Array of size 16 8-bit unsigned ints containing an index into the softKeyTemplate.",
HFILL }
},
{ &hf_skinny_softKeyInfoIndex,
{ "SoftKeyInfoIndex", "skinny.softKeyInfoIndex",
- FT_UINT16, BASE_DEC, VALS(softKeyIndexes), 0x0,
+ FT_UINT16, BASE_DEC|BASE_EXT_STRING, &softKeyIndexes_ext, 0x0,
"Array of size 16 16-bit unsigned integers containing an index into the soft key description information.",
HFILL }
},
{ &hf_skinny_softKeySetDescription,
{ "SoftKeySet", "skinny.softKeySetDescription",
- FT_UINT8, BASE_DEC, VALS(keySetNames), 0x0,
+ FT_UINT8, BASE_DEC|BASE_EXT_STRING, &keySetNames_ext, 0x0,
"A text description of what this softkey when this softkey set is displayed",
HFILL }
},
@@ -3255,7 +3277,7 @@ proto_register_skinny(void)
{ &hf_skinny_lampMode,
{ "LampMode", "skinny.lampMode",
- FT_UINT32, BASE_DEC, VALS(stationLampModes), 0x0,
+ FT_UINT32, BASE_DEC|BASE_EXT_STRING, &stationLampModes_ext, 0x0,
"The lamp mode",
HFILL }
},
@@ -3373,14 +3395,14 @@ proto_register_skinny(void)
},
{ &hf_skinny_callState,
{ "CallState", "skinny.callState",
- FT_UINT32, BASE_DEC, VALS(skinny_stationCallStates), 0x0,
+ FT_UINT32, BASE_DEC|BASE_EXT_STRING, &skinny_stationCallStates_ext, 0x0,
"The D channel call state of the call",
HFILL }
},
{ &hf_skinny_deviceTone,
{ "Tone", "skinny.deviceTone",
- FT_UINT32, BASE_HEX, VALS(skinny_deviceTones), 0x0,
+ FT_UINT32, BASE_HEX|BASE_EXT_STRING, &skinny_deviceTones_ext, 0x0,
"Which tone to play",
HFILL }
},
@@ -3429,7 +3451,7 @@ proto_register_skinny(void)
{ &hf_skinny_ringType,
{ "Ring Type", "skinny.ringType",
- FT_UINT32, BASE_HEX, VALS(skinny_ringTypes), 0x0,
+ FT_UINT32, BASE_HEX|BASE_EXT_STRING, &skinny_ringTypes_ext, 0x0,
"What type of ring to play",
HFILL }
},
@@ -3611,7 +3633,7 @@ proto_register_skinny(void)
{ &hf_skinny_sessionType,
{ "Session Type", "skinny.sessionType",
- FT_UINT32, BASE_DEC, VALS(skinny_sessionTypes), 0x0,
+ FT_UINT32, BASE_DEC|BASE_EXT_STRING, &skinny_sessionTypes_ext, 0x0,
"The type of this session.",
HFILL }
},
@@ -3751,7 +3773,7 @@ proto_register_skinny(void)
{ &hf_skinny_modifyConfResults,
{ "ModifyConfResults", "skinny.modifyConfResults",
- FT_UINT32, BASE_DEC, VALS(skinny_modifyConfResults), 0x0,
+ FT_UINT32, BASE_DEC|BASE_EXT_STRING, &skinny_modifyConfResults_ext, 0x0,
"The modify conference results",
HFILL }
},
@@ -3765,7 +3787,7 @@ proto_register_skinny(void)
{ &hf_skinny_addParticipantResults,
{ "AddParticipantResults", "skinny.addParticipantResults",
- FT_UINT32, BASE_DEC, VALS(skinny_addParticipantResults), 0x0,
+ FT_UINT32, BASE_DEC|BASE_EXT_STRING, &skinny_addParticipantResults_ext, 0x0,
"The add conference participant results",
HFILL }
},
@@ -3975,7 +3997,7 @@ proto_register_skinny(void)
{ &hf_skinny_layout,
{ "Layout", "skinny.layout",
- FT_UINT32, BASE_DEC, VALS(skinny_Layouts), 0x0,
+ FT_UINT32, BASE_DEC|BASE_EXT_STRING, &skinny_Layouts_ext, 0x0,
NULL,
HFILL }
},
@@ -4017,7 +4039,7 @@ proto_register_skinny(void)
{ &hf_skinny_format,
{ "Format", "skinny.format",
- FT_UINT32, BASE_DEC, VALS(skinny_formatTypes), 0x0,
+ FT_UINT32, BASE_DEC|BASE_EXT_STRING, &skinny_formatTypes_ext, 0x0,
"Format.",
HFILL }
},
@@ -4262,7 +4284,7 @@ proto_register_skinny(void)
{ &hf_skinny_miscCommandType,
{ "MiscCommandType", "skinny.miscCommandType",
- FT_UINT32, BASE_DEC, VALS(skinny_miscCommandType), 0x0,
+ FT_UINT32, BASE_DEC|BASE_EXT_STRING, &skinny_miscCommandType_ext, 0x0,
NULL,
HFILL }
},
diff --git a/epan/dissectors/packet-uma.c b/epan/dissectors/packet-uma.c
index b5c1bc0357..917107c9f5 100644
--- a/epan/dissectors/packet-uma.c
+++ b/epan/dissectors/packet-uma.c
@@ -89,25 +89,25 @@ static dissector_handle_t llc_handle;
/* Initialize the protocol and registered fields */
static int proto_uma = -1;
-static int hf_uma_length_indicator = -1;
+static int hf_uma_length_indicator = -1;
static int hf_uma_pd = -1;
static int hf_uma_skip_ind = -1;
-static int hf_uma_urr_msg_type = -1;
-static int hf_uma_urlc_msg_type = -1;
+static int hf_uma_urr_msg_type = -1;
+static int hf_uma_urlc_msg_type = -1;
static int hf_uma_urlc_TLLI = -1;
-static int hf_uma_urlc_seq_nr = -1;
+static int hf_uma_urlc_seq_nr = -1;
static int hf_uma_urr_IE = -1;
-static int hf_uma_urr_IE_len = -1;
+static int hf_uma_urr_IE_len = -1;
static int hf_uma_urr_mobile_identity_type = -1;
-static int hf_uma_urr_odde_even_ind = -1;
+static int hf_uma_urr_odde_even_ind = -1;
static int hf_uma_urr_imsi = -1;
static int hf_uma_urr_imei = -1;
-static int hf_uma_urr_imeisv = -1;
-static int hf_uma_urr_tmsi_p_tmsi = -1;
+static int hf_uma_urr_imeisv = -1;
+static int hf_uma_urr_tmsi_p_tmsi = -1;
static int hf_uma_urr_uri = -1;
static int hf_uma_urr_radio_type_of_id = -1;
-static int hf_uma_urr_radio_id = -1;
-static int hf_uma_urr_cell_id = -1;
+static int hf_uma_urr_radio_id = -1;
+static int hf_uma_urr_cell_id = -1;
static int hf_uma_urr_mcc = -1;
static int hf_uma_urr_mnc = -1;
static int hf_uma_urr_lac = -1;
@@ -118,11 +118,11 @@ static int hf_uma_urr_uc = -1;
static int hf_uma_urr_rrs = -1;
static int hf_uma_urr_gmsi = -1;
static int hf_uma_urr_psho = -1;
-static int hf_uma_urr_IP_Address_type = -1;
+static int hf_uma_urr_IP_Address_type = -1;
static int hf_uma_urr_FQDN = -1;
-static int hf_uma_urr_sgw_ipv4 = -1;
-static int hf_uma_urr_redirection_counter = -1;
-static int hf_uma_urr_dis_rej_cau = -1;
+static int hf_uma_urr_sgw_ipv4 = -1;
+static int hf_uma_urr_redirection_counter = -1;
+static int hf_uma_urr_dis_rej_cau = -1;
static int hf_uma_urr_MSCR = -1;
static int hf_uma_urr_ATT = -1;
static int hf_uma_urr_DTM = -1;
@@ -158,7 +158,7 @@ static int hf_uma_urr_TU3920_timer = -1;
static int hf_uma_urr_peak_tpt_cls = -1;
static int hf_uma_urr_radio_pri = -1;
static int hf_uma_urr_rlc_mode = -1;
-static int hf_uma_urr_ga_psr_cause = -1;
+static int hf_uma_urr_ga_psr_cause = -1;
static int hf_uma_urr_udr = -1;
static int hf_uma_urr_TU4001_timer = -1;
static int hf_uma_urr_LS = -1;
@@ -275,6 +275,7 @@ static const value_string uma_urr_msg_type_vals[] = {
{ 130, "GA-CSR REQUEST REJECT"},
{ 0, NULL }
};
+static value_string_ext uma_urr_msg_type_vals_ext = VALUE_STRING_EXT_INIT(uma_urr_msg_type_vals);
/*
* Message types for URLC signaling
*/
@@ -291,6 +292,8 @@ static const value_string uma_urlc_msg_type_vals[] = {
{ 12, "URLC STATUS"},
{ 0, NULL }
};
+static value_string_ext uma_urlc_msg_type_vals_ext = VALUE_STRING_EXT_INIT(uma_urlc_msg_type_vals);
+
/*
* IE type and identifiers for Unlicensed Radio Resources management
*/
@@ -368,6 +371,28 @@ static const value_string uma_urr_IE_type_vals[] = {
{ 71, "Required GAN Services"},
{ 72, "Broadcast Container"},
{ 73, "3G Cell Identity"},
+ { 74, "3G Security Capability"}, /* 11.2.108 */
+ { 75, "NAS Synchronisation Indicator"}, /* 11.2.109 */
+ { 76, "GANC TEID"}, /* 11.2.110 */
+ { 77, "MS TEID"}, /* 11.2.110 */
+ { 78, "UTRAN RRC Message"}, /* 11.2.111 */
+ { 79, "GAN Mode Indicator"}, /* 11.2.79 */
+ { 80, "CN Domain Identity"}, /* 11.2.80 */
+ { 81, "GAN Iu Mode Cell Description"}, /* 11.2.81 */
+ { 82, "3G UARFCN"}, /* 11.2.82 */
+ { 83, "RAB ID"}, /* 11.2.83 */
+ { 84, "RAB ID List"}, /* 11.2.84 */
+ { 85, "GA-RRC Establishment Cause"}, /* 11.2.85 */
+ { 86, "GA-RRC Cause"}, /* 11.2.86 */
+ { 87, "GA-RRC Paging Cause"}, /* 11.2.87 */
+ { 88, "Intra Domain NAS Node Selector"}, /* 11.2.88 */
+ { 89, "CTC Activation List"}, /* 11.2.89 */
+ { 90, "CTC Description"}, /* 11.2.90 */
+ { 91, "CTC Activation Ack List"}, /* 11.2.91 */
+ { 92, "CTC Activation Ack Description"}, /* 11.2.92 */
+ { 93, "CTC Modification List"}, /* 11.2.93 */
+ { 94, "CTC Modification Ack List"}, /* 11.2.94 */
+ { 95, "CTC Modification Ack Description"}, /* 11.2.95 */
{ 96, "MS Radio Identity"},
{ 97, "GANC IP Address"},
{ 98, "GANC Fully Qualified Domain/Host Name"},
@@ -378,47 +403,26 @@ static const value_string uma_urr_IE_type_vals[] = {
{ 105, "RTCP UDP port"},
{ 106, "GERAN Received Signal Level List"},
{ 107, "UTRAN Received Signal Level List"},
- { 108, "PS Handover to GERAN Command"}, /* 11.2.74 */
- { 109, "PS Handover to UTRAN Command"}, /* 11.2.75 */
- { 110, "PS Handover to GERAN PSI"}, /* 11.2.76 */
- { 111, "PS Handover to GERAN SI"}, /* 11.2.77 */
- { 112, "TU4004 Timer"}, /* 11.2.78 */
- { 79, "GAN Mode Indicator"}, /* 11.2.79 */
- { 80, "CN Domain Identity"}, /* 11.2.80 */
- { 81, "GAN Iu Mode Cell Description"}, /* 11.2.81 */
- { 82, "3G UARFCN"}, /* 11.2.82 */
- { 83, "RAB ID"}, /* 11.2.83 */
- { 84, "RAB ID List"}, /* 11.2.84 */
- { 85, "GA-RRC Establishment Cause"}, /* 11.2.85 */
- { 86, "GA-RRC Cause"}, /* 11.2.86 */
- { 87, "GA-RRC Paging Cause"}, /* 11.2.87 */
- { 88, "Intra Domain NAS Node Selector"}, /* 11.2.88 */
- { 89, "CTC Activation List"}, /* 11.2.89 */
- { 90, "CTC Description"}, /* 11.2.90 */
- { 91, "CTC Activation Ack List"}, /* 11.2.91 */
- { 92, "CTC Activation Ack Description"}, /* 11.2.92 */
- { 93, "CTC Modification List"}, /* 11.2.93 */
- { 94, "CTC Modification Ack List"}, /* 11.2.94 */
- { 95, "CTC Modification Ack Description"}, /* 11.2.95 */
- { 115, "PTC Activation List"}, /* 11.2.96 */
- { 116, "PTC Description"}, /* 11.2.97 */
- { 117, "PTC Activation Ack List"}, /* 11.2.98 */
- { 118, "PTC Activation Ack Description"}, /* 11.2.99 */
- { 119, "PTC Modification List"}, /* 11.2.100 */
- { 120, "PTC Modification Ack List"}, /* 11.2.101 */
+ { 108, "PS Handover to GERAN Command"}, /* 11.2.74 */
+ { 109, "PS Handover to UTRAN Command"}, /* 11.2.75 */
+ { 110, "PS Handover to GERAN PSI"}, /* 11.2.76 */
+ { 111, "PS Handover to GERAN SI"}, /* 11.2.77 */
+ { 112, "TU4004 Timer"}, /* 11.2.78 */
+ { 115, "PTC Activation List"}, /* 11.2.96 */
+ { 116, "PTC Description"}, /* 11.2.97 */
+ { 117, "PTC Activation Ack List"}, /* 11.2.98 */
+ { 118, "PTC Activation Ack Description"}, /* 11.2.99 */
+ { 119, "PTC Modification List"}, /* 11.2.100 */
+ { 120, "PTC Modification Ack List"}, /* 11.2.101 */
{ 121, "PTC Modification Ack Description"}, /* 11.2.102 */
- { 122, "RAB Configuration"}, /* 11.2.103 */
- { 123, "Multi-rate Configuration 2"}, /* 11.2.104 */
+ { 122, "RAB Configuration"}, /* 11.2.103 */
+ { 123, "Multi-rate Configuration 2"}, /* 11.2.104 */
{ 124, "Selected Integrity Protection Algorithm"}, /* 11.2.105 */
- { 125, "Selected Encryption Algorithm"}, /* 11.2.106 */
- { 126, "CN Domains to Handover"}, /* 11.2.107 */
- { 74, "3G Security Capability"}, /* 11.2.108 */
- { 75, "NAS Synchronisation Indicator"}, /* 11.2.109 */
- { 76, "GANC TEID"}, /* 11.2.110 */
- { 77, "MS TEID"}, /* 11.2.110 */
- { 78, "UTRAN RRC Message"}, /* 11.2.111 */
+ { 125, "Selected Encryption Algorithm"}, /* 11.2.106 */
+ { 126, "CN Domains to Handover"}, /* 11.2.107 */
{ 0, NULL }
};
+static value_string_ext uma_urr_IE_type_vals_ext = VALUE_STRING_EXT_INIT(uma_urr_IE_type_vals);
static const value_string uma_urr_mobile_identity_type_vals[] = {
{ 1, "IMSI"},
@@ -605,6 +609,8 @@ static const value_string uma_GRS_GSM_RR_State_vals[] = {
{ 7, "Unknown"},
{ 0, NULL }
};
+static value_string_ext uma_GRS_GSM_RR_State_vals_ext = VALUE_STRING_EXT_INIT(uma_GRS_GSM_RR_State_vals);
+
/* UMA Band (4 bit field) */
static const value_string uma_gan_band_vals[] = {
{ 0, "E-GSM is supported"},
@@ -617,6 +623,8 @@ static const value_string uma_gan_band_vals[] = {
{ 7, "GSM 700 is supported"},
{ 0, NULL }
};
+static value_string_ext uma_gan_band_vals_ext = VALUE_STRING_EXT_INIT(uma_gan_band_vals);
+
/*URS, URR State (octet 3) */
static const value_string URR_state_vals[] = {
{ 0, "GA-CSR is in GA-CSR-IDLE state"},
@@ -661,6 +669,7 @@ static const value_string register_reject_cause_vals[] = {
/* 12 to 255 Reserved for future use. */
{ 0, NULL }
};
+static value_string_ext register_reject_cause_vals_ext = VALUE_STRING_EXT_INIT(register_reject_cause_vals);
/* L3 Protocol discriminator values according to TS 24 007 (640) */
#if 0 /** See packet-gms_a-dtap.c **/
@@ -690,7 +699,7 @@ static const value_string protocol_discriminator_vals[] = {
* bits
* 4 3 2
*/
- static const value_string algorithm_identifier_vals[] = {
+static const value_string algorithm_identifier_vals[] = {
{ 0, "Cipher with algorithm A5/1"},
{ 1, "Cipher with algorithm A5/2"},
{ 2, "Cipher with algorithm A5/3"},
@@ -701,8 +710,10 @@ static const value_string protocol_discriminator_vals[] = {
{ 7, "Reserved"},
{ 0, NULL }
};
+static value_string_ext algorithm_identifier_vals_ext = VALUE_STRING_EXT_INIT(algorithm_identifier_vals);
+
/* GPRS Resumption */
- static const value_string GPRS_resumption_vals[] = {
+static const value_string GPRS_resumption_vals[] = {
{ 0, "Resumption of GPRS services not successfully acknowledged"},
{ 1, "Resumption of GPRS services successfully acknowledged"},
{ 0, NULL }
@@ -728,7 +739,7 @@ static const value_string radio_pri_vals[] = {
{ 1, "Radio priority 2"},
{ 2, "Radio priority 3"},
{ 3, "Radio priority 4"},
- { 3, "Radio Priority Unknown"},
+ { 3, "Radio Priority Unknown"}, /* XX: ?? */
{ 0, NULL }
};
@@ -758,6 +769,7 @@ static const value_string uma_ga_psr_cause_vals[] = {
{ 17, "PS handover failure - no uplink TBF allocation"},
{ 0, NULL }
};
+static value_string_ext uma_ga_psr_cause_vals_ext = VALUE_STRING_EXT_INIT(uma_ga_psr_cause_vals);
/* LS, Location Status (octet 3) */
static const value_string LS_vals[] = {
@@ -825,20 +837,22 @@ static const value_string uma_service_zone_icon_ind_vals[] = {
};
/*Establishment Cause (octet 3)*/
static const value_string establishment_cause_vals[] = {
- { 0xa0, "Emergency"},
- { 0xc0, "Call re-establishment"},
{ 0x00, "Location Update"},
{ 0x10, "Other SDCCH procedures including IMSI Detach, SMS, SS, paging response"},
/* note: Paging response for SDCCH needed is using codepoint 0001 0000 */
{ 0x20, "Paging response (TCH/F needed)"},
{ 0x30, "Paging response (TCH/F or TCH/H needed)"},
- { 0x80, "Paging response (any channel needed)"},
{ 0x40, "Originating speech call from dual-rate mobile station when TCH/H is sufficient"},
{ 0x50, "Originating data call from dual-rate mobile station when TCH/H is sufficient"},
+ { 0x80, "Paging response (any channel needed)"},
+ { 0xa0, "Emergency"},
+ { 0xc0, "Call re-establishment"},
{ 0xe0, "Originating speech call and TCH/F is needed"},
{ 0xf0, "Originating data call and TCH/F is needed"},
{ 0, NULL }
};
+static value_string_ext establishment_cause_vals_ext = VALUE_STRING_EXT_INIT(establishment_cause_vals);
+
/*CHANNEL (octet 3) */
static const value_string channel_vals[] = {
{ 0, "Any channel"},
@@ -902,7 +916,7 @@ dissect_uma_IE(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int offset)
ie_value = tvb_get_guint8(tvb,offset);
urr_ie_item = proto_tree_add_text(tree,tvb,offset,-1,"%s",
- val_to_str(ie_value, uma_urr_IE_type_vals, "Unknown IE (%u)"));
+ val_to_str_ext(ie_value, &uma_urr_IE_type_vals_ext, "Unknown IE (%u)"));
urr_ie_tree = proto_item_add_subtree(urr_ie_item, ett_urr_ie);
proto_tree_add_item(urr_ie_tree, hf_uma_urr_IE, tvb, offset, 1, FALSE);
@@ -1694,7 +1708,7 @@ dissect_uma(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
octet = tvb_get_guint8(tvb,offset);
proto_tree_add_item(uma_tree, hf_uma_urr_msg_type, tvb, offset, 1, FALSE);
if (check_col(pinfo->cinfo, COL_INFO))
- col_add_str(pinfo->cinfo, COL_INFO, val_to_str(octet, uma_urr_msg_type_vals, "Unknown URR (%u)"));
+ col_add_str(pinfo->cinfo, COL_INFO, val_to_str_ext(octet, &uma_urr_msg_type_vals_ext, "Unknown URR (%u)"));
while ((msg_len + 1) > offset ){
offset++;
offset = dissect_uma_IE(tvb, pinfo, uma_tree, offset);
@@ -1705,7 +1719,7 @@ dissect_uma(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
octet = tvb_get_guint8(tvb,offset);
proto_tree_add_item(uma_tree, hf_uma_urlc_msg_type, tvb, offset, 1, FALSE);
if (check_col(pinfo->cinfo, COL_INFO)){
- col_add_str(pinfo->cinfo, COL_INFO, val_to_str(octet, uma_urlc_msg_type_vals, "Unknown URLC (%u)"));
+ col_add_str(pinfo->cinfo, COL_INFO, val_to_str_ext(octet, &uma_urlc_msg_type_vals_ext, "Unknown URLC (%u)"));
col_set_fence(pinfo->cinfo,COL_INFO);
}
offset++;
@@ -1758,7 +1772,7 @@ dissect_uma_urlc_udp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
octet = tvb_get_guint8(tvb,offset);
proto_tree_add_item(uma_tree, hf_uma_urlc_msg_type, tvb, offset, 1, FALSE);
if (check_col(pinfo->cinfo, COL_INFO)){
- col_add_fstr(pinfo->cinfo, COL_INFO, "%s ",val_to_str(octet, uma_urlc_msg_type_vals, "Unknown URLC (%u)"));
+ col_add_fstr(pinfo->cinfo, COL_INFO, "%s ",val_to_str_ext(octet, &uma_urlc_msg_type_vals_ext, "Unknown URLC (%u)"));
col_set_fence(pinfo->cinfo,COL_INFO);
}
msg_len = tvb_length_remaining(tvb,offset) - 1;
@@ -1857,12 +1871,12 @@ proto_register_uma(void)
},
{ &hf_uma_urr_msg_type,
{ "URR Message Type", "uma.urr.msg.type",
- FT_UINT16, BASE_DEC, VALS(uma_urr_msg_type_vals), 0x0,
+ FT_UINT16, BASE_DEC|BASE_EXT_STRING, &uma_urr_msg_type_vals_ext, 0x0,
NULL, HFILL }
},
{ &hf_uma_urlc_msg_type,
{ "URLC Message Type", "uma.urlc.msg.type",
- FT_UINT8, BASE_DEC, VALS(uma_urlc_msg_type_vals), 0x0,
+ FT_UINT8, BASE_DEC|BASE_EXT_STRING, &uma_urlc_msg_type_vals_ext, 0x0,
NULL, HFILL }
},
{ &hf_uma_urlc_TLLI,
@@ -1877,7 +1891,7 @@ proto_register_uma(void)
},
{ &hf_uma_urr_IE,
{ "URR Information Element","uma.urr.ie.type",
- FT_UINT8, BASE_DEC, VALS(uma_urr_IE_type_vals), 0x0,
+ FT_UINT8, BASE_DEC|BASE_EXT_STRING, &uma_urr_IE_type_vals_ext, 0x0,
NULL, HFILL }
},
{ &hf_uma_urr_IE_len,
@@ -2099,12 +2113,12 @@ proto_register_uma(void)
},
{ &hf_uma_urr_GSM_RR_state,
{ "GSM RR State value","uma.urr.gsmrrstate",
- FT_UINT8,BASE_DEC, VALS(uma_GRS_GSM_RR_State_vals), 0x7,
+ FT_UINT8,BASE_DEC|BASE_EXT_STRING, &uma_GRS_GSM_RR_State_vals_ext, 0x7,
NULL, HFILL }
},
{ &hf_uma_urr_gan_band,
{ "UMA Band","uma.urr.umaband",
- FT_UINT8,BASE_DEC, VALS(uma_gan_band_vals), 0x0f,
+ FT_UINT8,BASE_DEC|BASE_EXT_STRING, &uma_gan_band_vals_ext, 0x0f,
NULL, HFILL }
},
{ &hf_uma_urr_URR_state,
@@ -2114,7 +2128,7 @@ proto_register_uma(void)
},
{ &hf_uma_urr_register_reject_cause,
{ "Register Reject Cause","uma.urr.state",
- FT_UINT8,BASE_DEC, VALS(register_reject_cause_vals), 0x0,
+ FT_UINT8,BASE_DEC|BASE_EXT_STRING, &register_reject_cause_vals_ext, 0x0,
NULL, HFILL }
},
{ &hf_uma_urr_TU3906_timer,
@@ -2154,7 +2168,7 @@ proto_register_uma(void)
},
{ &hf_uma_urr_algorithm_id,
{ "Algorithm identifier","uma.urr.algorithm_identifier",
- FT_UINT8,BASE_DEC, VALS(algorithm_identifier_vals), 0xe,
+ FT_UINT8,BASE_DEC|BASE_EXT_STRING, &algorithm_identifier_vals_ext, 0xe,
"Algorithm_identifier", HFILL }
},
{ &hf_uma_urr_GPRS_resumption,
@@ -2189,7 +2203,7 @@ proto_register_uma(void)
},
{ &hf_uma_urr_ga_psr_cause,
{ "GA-PSR Cause","uma.urr.ga_psr_cause",
- FT_UINT8,BASE_DEC, VALS(uma_ga_psr_cause_vals), 0x0,
+ FT_UINT8,BASE_DEC|BASE_EXT_STRING, &uma_ga_psr_cause_vals_ext, 0x0,
NULL, HFILL }
},
{ &hf_uma_urr_udr,
@@ -2234,7 +2248,7 @@ proto_register_uma(void)
},
{ &hf_uma_urr_establishment_cause,
{ "Establishment Cause","uma.urr.establishment_cause",
- FT_UINT8,BASE_DEC, VALS(establishment_cause_vals), 0x0,
+ FT_UINT8,BASE_DEC|BASE_EXT_STRING, &establishment_cause_vals_ext, 0x0,
NULL, HFILL }
},
{ &hf_uma_urr_channel,