aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-gsm_bssmap_le.c
diff options
context:
space:
mode:
authorBill Meier <wmeier@newsguy.com>2009-01-28 21:52:57 +0000
committerBill Meier <wmeier@newsguy.com>2009-01-28 21:52:57 +0000
commit0e1613fbe598912370b0b57b0fec0e8bbc33a04a (patch)
treed9f7c69a0c0818a539cd0a3ff9d6e7768a5f13fb /epan/dissectors/packet-gsm_bssmap_le.c
parent3c11319ea43806d417003c7b2fd825e6b3759c67 (diff)
Minor changes mostly related to proto_register & proto_reg_handoff;
- Use 'dissector standard template format' - Remove 'once-only' ["if (!initialized) ..."] if not req'd - Misc Also: adjust some indentation svn path=/trunk/; revision=27324
Diffstat (limited to 'epan/dissectors/packet-gsm_bssmap_le.c')
-rw-r--r--epan/dissectors/packet-gsm_bssmap_le.c631
1 files changed, 315 insertions, 316 deletions
diff --git a/epan/dissectors/packet-gsm_bssmap_le.c b/epan/dissectors/packet-gsm_bssmap_le.c
index dcdfd20ec0..8b3d15b3b5 100644
--- a/epan/dissectors/packet-gsm_bssmap_le.c
+++ b/epan/dissectors/packet-gsm_bssmap_le.c
@@ -58,19 +58,19 @@
const value_string gsm_bssmap_le_msg_strings[] = {
{ 0, "Reserved" },
- { 1, "Reserved" },
- { 2, "Reserved" },
- { 3, "Reserved" },
- { 4, "Reserved" },
- { BSSMAP_LE_PERFORM_LOCATION_REQUEST, "Perform Location Request" },
- { BSSMAP_LE_PERFORM_LOCATION_RESPONSE, "Perform Location Response" },
- { BSSMAP_LE_PERFORM_LOCATION_ABORT, "Perform Location Abort" },
- { BSSMAP_LE_PERFORM_LOCATION_INFORMATION, "Perform Location Information" },
- { BSSMAP_LE_CONNECTION_ORIENTED_INFORMATION, "Connection Oriented Information" },
- { BSSMAP_LE_CONNECTIONLESS_INFORMATION, "Connectionless Information" },
- { BSSMAP_LE_RESET, "Reset" },
- { BSSMAP_LE_RESET_ACKNOWLEDGE, "Reset Acknowledge" },
- { 0, NULL } /*Null terminated list. Make sure we add this to our value/string structures. */
+ { 1, "Reserved" },
+ { 2, "Reserved" },
+ { 3, "Reserved" },
+ { 4, "Reserved" },
+ { BSSMAP_LE_PERFORM_LOCATION_REQUEST, "Perform Location Request" },
+ { BSSMAP_LE_PERFORM_LOCATION_RESPONSE, "Perform Location Response" },
+ { BSSMAP_LE_PERFORM_LOCATION_ABORT, "Perform Location Abort" },
+ { BSSMAP_LE_PERFORM_LOCATION_INFORMATION, "Perform Location Information" },
+ { BSSMAP_LE_CONNECTION_ORIENTED_INFORMATION, "Connection Oriented Information" },
+ { BSSMAP_LE_CONNECTIONLESS_INFORMATION, "Connectionless Information" },
+ { BSSMAP_LE_RESET, "Reset" },
+ { BSSMAP_LE_RESET_ACKNOWLEDGE, "Reset Acknowledge" },
+ { 0, NULL } /*Null terminated list. Make sure we add this to our value/string structures. */
};
/* Information Element definitions */
@@ -106,37 +106,37 @@ const value_string gsm_bssmap_le_msg_strings[] = {
#define BSSMAP_LE_IMEI 128
const value_string gsm_bssmap_le_elem_strings[] = {
- { BSSMAP_LE_LCS_QOS, "LCS QoS" },
- { BSSMAP_LE_LCS_PRIORITY, "LCS Priority" },
- { BSSMAP_LE_LOCATION_TYPE, "Location Type" },
- { BSSMAP_LE_GANSS_LOCATION_TYPE, "GANSS Location Type" },
- { BSSMAP_LE_GEOGRAPHIC_LOCATION, "Geographic Location" },
- { BSSMAP_LE_POSITIONING_DATA, "Positioning Data" },
- { BSSMAP_LE_GANSS_POSITIONING_DATA, "GANSS Positioning Data" },
- { BSSMAP_LE_VELOCITY_DATA, "Velocity Data" },
- { BSSMAP_LE_LCS_CAUSE, "LCS Cause" },
- { BSSMAP_LE_LCS_CLIENT_TYPE, "LCS Client Type" },
- { BSSMAP_LE_APDU, "APDU" },
- { BSSMAP_LE_NETWORK_ELEMENT_IDENTITY, "Network Element Identity" },
- { BSSMAP_LE_REQUESTED_GPS_ASSISTANCE_DATA, "Requested GPS Assistance Data" },
- { BSSMAP_LE_REQUESTED_GANSS_ASSISTANCE_DATA, "Requested GANSS Assistance Data" },
- { BSSMAP_LE_DECIPHERING_KEYS, "Deciphering Keys" },
- { BSSMAP_LE_RETURN_ERROR_REQUEST, "Return Error Request" },
- { BSSMAP_LE_RETURN_ERROR_CAUSE, "Return Error Cause" },
- { BSSMAP_LE_SEGMENTATION, "Segmentation" },
- { BSSMAP_LE_CLASSMARK_INFORMATION_TYPE_3, "Classmark Information Type 3" },
- { BSSMAP_LE_CAUSE, "Cause" },
- { BSSMAP_LE_CELL_IDENTIFIER, "Cell Identifier" },
- { BSSMAP_LE_CHOSEN_CHANNEL, "Chosen Channel" },
- { BSSMAP_LE_IMSI, "IMSI" },
- { BSSMAP_LE_RESERVED_NOTE1, "Reserved" },
- { BSSMAP_LE_RESERVED_NOTE2, "Reserved" },
- { BSSMAP_LE_RESERVED_NOTE3, "Reserved" },
- { BSSMAP_LE_LCS_CAPABILITY, "LCS Capability" },
- { BSSMAP_LE_PACKET_MEASUREMENT_REPORT, "Packet Measurement Report" },
- { BSSMAP_LE_CELL_IDENTITY_LIST, "Cell Identity List" },
- { BSSMAP_LE_IMEI, "IMEI" },
- { 0, NULL }
+ { BSSMAP_LE_LCS_QOS, "LCS QoS" },
+ { BSSMAP_LE_LCS_PRIORITY, "LCS Priority" },
+ { BSSMAP_LE_LOCATION_TYPE, "Location Type" },
+ { BSSMAP_LE_GANSS_LOCATION_TYPE, "GANSS Location Type" },
+ { BSSMAP_LE_GEOGRAPHIC_LOCATION, "Geographic Location" },
+ { BSSMAP_LE_POSITIONING_DATA, "Positioning Data" },
+ { BSSMAP_LE_GANSS_POSITIONING_DATA, "GANSS Positioning Data" },
+ { BSSMAP_LE_VELOCITY_DATA, "Velocity Data" },
+ { BSSMAP_LE_LCS_CAUSE, "LCS Cause" },
+ { BSSMAP_LE_LCS_CLIENT_TYPE, "LCS Client Type" },
+ { BSSMAP_LE_APDU, "APDU" },
+ { BSSMAP_LE_NETWORK_ELEMENT_IDENTITY, "Network Element Identity" },
+ { BSSMAP_LE_REQUESTED_GPS_ASSISTANCE_DATA, "Requested GPS Assistance Data" },
+ { BSSMAP_LE_REQUESTED_GANSS_ASSISTANCE_DATA, "Requested GANSS Assistance Data" },
+ { BSSMAP_LE_DECIPHERING_KEYS, "Deciphering Keys" },
+ { BSSMAP_LE_RETURN_ERROR_REQUEST, "Return Error Request" },
+ { BSSMAP_LE_RETURN_ERROR_CAUSE, "Return Error Cause" },
+ { BSSMAP_LE_SEGMENTATION, "Segmentation" },
+ { BSSMAP_LE_CLASSMARK_INFORMATION_TYPE_3, "Classmark Information Type 3" },
+ { BSSMAP_LE_CAUSE, "Cause" },
+ { BSSMAP_LE_CELL_IDENTIFIER, "Cell Identifier" },
+ { BSSMAP_LE_CHOSEN_CHANNEL, "Chosen Channel" },
+ { BSSMAP_LE_IMSI, "IMSI" },
+ { BSSMAP_LE_RESERVED_NOTE1, "Reserved" },
+ { BSSMAP_LE_RESERVED_NOTE2, "Reserved" },
+ { BSSMAP_LE_RESERVED_NOTE3, "Reserved" },
+ { BSSMAP_LE_LCS_CAPABILITY, "LCS Capability" },
+ { BSSMAP_LE_PACKET_MEASUREMENT_REPORT, "Packet Measurement Report" },
+ { BSSMAP_LE_CELL_IDENTITY_LIST, "Cell Identity List" },
+ { BSSMAP_LE_IMEI, "IMEI" },
+ { 0, NULL }
};
static const value_string gsm_apdu_protocol_id_strings[] = {
@@ -149,39 +149,39 @@ static const value_string gsm_apdu_protocol_id_strings[] = {
/* Velocity Requested definitions */
static const value_string bssmap_le_velocity_requested_vals[] = {
- { 0, "do not report velocity" },
- { 1, "report velocity if available" },
- { 0, NULL}
+ { 0, "do not report velocity" },
+ { 1, "report velocity if available" },
+ { 0, NULL}
};
/* Vertical Coordinate definitions */
static const value_string bssmap_le_vertical_coordinate_indicator_vals[] = {
- { 0, "vertical coordinate not requested" },
- { 1, "vertical coordinate is requested" },
- { 0, NULL}
+ { 0, "vertical coordinate not requested" },
+ { 1, "vertical coordinate is requested" },
+ { 0, NULL}
};
/* Horizontal Accuracy definitions */
static const value_string bssmap_le_horizontal_accuracy_indicator_vals[] = {
- { 0, "horizontal accuracy is not specified" },
- { 1, "horizontal accuracy is specified" },
- { 0, NULL}
+ { 0, "horizontal accuracy is not specified" },
+ { 1, "horizontal accuracy is specified" },
+ { 0, NULL}
};
/* Vertical Accuracy definitions */
static const value_string bssmap_le_vertical_accuracy_indicator_vals[] = {
- { 0, "vertical accuracy is not specified" },
- { 1, "vertical accuracy is specified" },
- { 0, NULL}
+ { 0, "vertical accuracy is not specified" },
+ { 1, "vertical accuracy is specified" },
+ { 0, NULL}
};
/* Response Time definitions */
static const value_string bssmap_le_response_time_definitions_vals[] = {
- { 0, "Response Time is not specified" },
- { 1, "Low Delay" },
- { 2, "Delay Tolerant" },
- { 3, "reserved" },
- { 0, NULL}
+ { 0, "Response Time is not specified" },
+ { 1, "Low Delay" },
+ { 2, "Delay Tolerant" },
+ { 3, "reserved" },
+ { 0, NULL}
};
/* Initialize the protocol and registered fields */
@@ -300,26 +300,26 @@ de_bmaple_apdu(tvbuff_t *tvb, proto_tree *tree, guint32 offset, guint len, gchar
static guint16
de_bmaple_decihp_keys(tvbuff_t *tvb, proto_tree *tree, guint32 offset, guint len _U_, gchar *add_string _U_, int string_len _U_)
{
- gint bit_offset;
+ gint bit_offset;
- /* Spare bits */
- bit_offset = (offset<<3);
- proto_tree_add_bits_item(tree, hf_gsm_bssmap_le_spare, tvb, bit_offset, 7, FALSE);
- bit_offset += 7;
+ /* Spare bits */
+ bit_offset = (offset<<3);
+ proto_tree_add_bits_item(tree, hf_gsm_bssmap_le_spare, tvb, bit_offset, 7, FALSE);
+ bit_offset += 7;
- /* Extract the Ciphering Key Flag and add to protocol tree */
- proto_tree_add_bits_item(tree, hf_gsm_bssmap_le_ciphering_key_flag, tvb, bit_offset, 1, FALSE);
- bit_offset++;
- offset++;
+ /* Extract the Ciphering Key Flag and add to protocol tree */
+ proto_tree_add_bits_item(tree, hf_gsm_bssmap_le_ciphering_key_flag, tvb, bit_offset, 1, FALSE);
+ bit_offset++;
+ offset++;
- /* Extract the Current Deciphering Key Value and add to protocol tree */
- proto_tree_add_bits_item(tree, hf_gsm_bssmap_le_current_deciphering_key_value, tvb, bit_offset, 56, FALSE);
- bit_offset += 56;
- offset += 7;
+ /* Extract the Current Deciphering Key Value and add to protocol tree */
+ proto_tree_add_bits_item(tree, hf_gsm_bssmap_le_current_deciphering_key_value, tvb, bit_offset, 56, FALSE);
+ bit_offset += 56;
+ offset += 7;
- /* Extract the Next Deciphering Key Value and add to protocol tree */
- proto_tree_add_bits_item(tree, hf_gsm_bssmap_le_next_deciphering_key_value, tvb, bit_offset, 56, FALSE);
- offset += 7;
+ /* Extract the Next Deciphering Key Value and add to protocol tree */
+ proto_tree_add_bits_item(tree, hf_gsm_bssmap_le_next_deciphering_key_value, tvb, bit_offset, 56, FALSE);
+ offset += 7;
return(len);
}
@@ -344,36 +344,36 @@ de_bmaple_decihp_keys(tvbuff_t *tvb, proto_tree *tree, guint32 offset, guint len
* 10.13 LCS Cause
*/
static const value_string bssmap_le_lcs_cause_values[] = {
- { 0, "Unspecified" },
- { 1, "System Failure" },
- { 2, "Protocol Error" },
- { 3, "Data missing in position request" },
- { 4, "Unexpected data value in position request" },
- { 5, "Position method failure" },
- { 6, "Target MS Unreachable" },
- { 7, "Location request aborted" },
- { 8, "Facility not supported" },
- { 9, "Inter-BSC Handover Ongoing" },
- { 10, "Intra-BSC Handover Complete" },
- { 11, "Congestion" },
- { 12, "Inter NSE cell change" },
- { 13, "Routing Area Update" },
- { 14, "PTMSI reallocation" },
- { 15, "Suspension of GPRS services" },
- { 0, NULL}
+ { 0, "Unspecified" },
+ { 1, "System Failure" },
+ { 2, "Protocol Error" },
+ { 3, "Data missing in position request" },
+ { 4, "Unexpected data value in position request" },
+ { 5, "Position method failure" },
+ { 6, "Target MS Unreachable" },
+ { 7, "Location request aborted" },
+ { 8, "Facility not supported" },
+ { 9, "Inter-BSC Handover Ongoing" },
+ { 10, "Intra-BSC Handover Complete" },
+ { 11, "Congestion" },
+ { 12, "Inter NSE cell change" },
+ { 13, "Routing Area Update" },
+ { 14, "PTMSI reallocation" },
+ { 15, "Suspension of GPRS services" },
+ { 0, NULL}
};
static const value_string bssmap_le_position_method_failure_diagnostic_vals[] = {
- { 0, "Congestion" },
- { 1, "insufficientResources" },
- { 2, "insufficientMeasurementData" },
- { 3, "inconsistentMeasurementData" },
- { 4, "locationProcedureNotCompleted" },
- { 5, "locationProcedureNotSupportedByTargetMS" },
- { 6, "qoSNotAttainable" },
- { 7, "positionMethodNotAvailableInNetwork" },
- { 8, "positionMethodNotAvailableInLocaitonArea" },
- { 0, NULL}
+ { 0, "Congestion" },
+ { 1, "insufficientResources" },
+ { 2, "insufficientMeasurementData" },
+ { 3, "inconsistentMeasurementData" },
+ { 4, "locationProcedureNotCompleted" },
+ { 5, "locationProcedureNotSupportedByTargetMS" },
+ { 6, "qoSNotAttainable" },
+ { 7, "positionMethodNotAvailableInNetwork" },
+ { 8, "positionMethodNotAvailableInLocaitonArea" },
+ { 0, NULL}
};
static guint16
de_bmaple_cause(tvbuff_t *tvb, proto_tree *tree, guint32 offset, guint len _U_, gchar *add_string _U_, int string_len _U_)
@@ -382,16 +382,16 @@ de_bmaple_cause(tvbuff_t *tvb, proto_tree *tree, guint32 offset, guint len _U_,
curr_offset = offset;
- /* cause value */
+ /* cause value */
proto_tree_add_item(tree, hf_gsm_bssmap_le_lcs_cause_value, tvb, curr_offset, 1, FALSE);
- curr_offset++;
+ curr_offset++;
- if (len == 2)
- {
- /* Diagnostic value (note) */
+ if (len == 2)
+ {
+ /* Diagnostic value (note) */
proto_tree_add_item(tree, hf_gsm_bssmap_le_diagnostic_value, tvb, curr_offset, 1, FALSE);
- curr_offset++;
- }
+ curr_offset++;
+ }
return(curr_offset - offset);
}
@@ -400,39 +400,39 @@ de_bmaple_cause(tvbuff_t *tvb, proto_tree *tree, guint32 offset, guint len _U_,
*/
/* Client Category definitions */
static const value_string bssmap_le_client_category[] = {
- { 0, "Value Added Client" },
- { 2, "PLMN Operator" },
- { 3, "Emergency Services"},
- { 4, "Lawful Intercept Services"},
- { 0, NULL}
+ { 0, "Value Added Client" },
+ { 2, "PLMN Operator" },
+ { 3, "Emergency Services"},
+ { 4, "Lawful Intercept Services"},
+ { 0, NULL}
};
/* Client Subtype definitions */
static const value_string bssmap_le_client_subtype[] = {
- { 0, "unspecified" },
- { 1, "broadcast service" },
- { 2, "O&M" },
- { 3, "anonymous statistics" },
- { 4, "Target MS service support" },
- { 0, NULL}
+ { 0, "unspecified" },
+ { 1, "broadcast service" },
+ { 2, "O&M" },
+ { 3, "anonymous statistics" },
+ { 4, "Target MS service support" },
+ { 0, NULL}
};
static guint16
de_bmaple_client(tvbuff_t *tvb, proto_tree *tree, guint32 offset, guint len _U_, gchar *add_string _U_, int string_len _U_)
{
guint32 curr_offset;
- guint8 bitCount;
+ guint8 bitCount;
- bitCount = offset<<3;
+ bitCount = offset<<3;
curr_offset = offset;
- /* Extract the client category and add to protocol tree */
- proto_tree_add_bits_item(tree, hf_gsm_bssmap_le_client_category, tvb, bitCount, 4, FALSE);
- bitCount = bitCount + 4;
+ /* Extract the client category and add to protocol tree */
+ proto_tree_add_bits_item(tree, hf_gsm_bssmap_le_client_category, tvb, bitCount, 4, FALSE);
+ bitCount = bitCount + 4;
- /* Extract the client subtype and add to protocol tree */
- proto_tree_add_bits_item(tree, hf_gsm_bssmap_le_client_subtype, tvb, bitCount, 4, FALSE);
- bitCount = bitCount + 4;
+ /* Extract the client subtype and add to protocol tree */
+ proto_tree_add_bits_item(tree, hf_gsm_bssmap_le_client_subtype, tvb, bitCount, 4, FALSE);
+ bitCount = bitCount + 4;
curr_offset++;
return(curr_offset - offset);
@@ -447,54 +447,54 @@ de_bmaple_client(tvbuff_t *tvb, proto_tree *tree, guint32 offset, guint len _U_,
static guint16
de_bmaple_lcs_qos(tvbuff_t *tvb, proto_tree *tree, guint32 offset, guint len _U_, gchar *add_string _U_, int string_len _U_)
{
- guint64 verticalCoordIndicator, velocityRequested, horizontalAccuracyIndicator, verticalAccuracyIndicator;
- guint16 bitCount;
-
- bitCount = offset << 3;
-
- proto_tree_add_bits_item(tree, hf_gsm_bssmap_le_spare, tvb, bitCount, 6, FALSE);
- bitCount = bitCount + 6;
-
- /* Extract Velocity requested element */
- proto_tree_add_bits_ret_val(tree, hf_gsm_bssmap_le_velocity_requested, tvb, bitCount, 1, &velocityRequested, FALSE);
- bitCount++;
-
- /* Extract vertical coordinator element */
- proto_tree_add_bits_ret_val(tree, hf_gsm_bssmap_le_vertical_coordinate_indicator, tvb, bitCount, 1, &verticalCoordIndicator, FALSE);
- bitCount++;
-
- /* Extract horizontal accuracy element */
- proto_tree_add_bits_ret_val(tree, hf_gsm_bssmap_le_horizontal_accuracy_indicator, tvb, bitCount, 1, &horizontalAccuracyIndicator, FALSE);
- bitCount++;
-
- if(horizontalAccuracyIndicator == 1)
- {
- proto_tree_add_bits_item(tree, hf_gsm_bssmap_le_horizontal_accuracy, tvb, bitCount, 7, FALSE);
- bitCount = bitCount + 7;
- }
- else
- {
- proto_tree_add_bits_item(tree, hf_gsm_bssmap_le_spare, tvb, bitCount, 7, FALSE);
- bitCount = bitCount + 7;
- }
-
- /* Extract vertical accuracy element */
- proto_tree_add_bits_ret_val(tree, hf_gsm_bssmap_le_vertical_accuracy_indicator, tvb, bitCount, 1, &verticalAccuracyIndicator, FALSE);
- bitCount++;
-
- if(verticalAccuracyIndicator == 1)
- {
- proto_tree_add_bits_item(tree, hf_gsm_bssmap_le_vertical_accuracy, tvb, bitCount, 7, FALSE);
- bitCount = bitCount + 7;
- }
- else
- {
- proto_tree_add_bits_item(tree, hf_gsm_bssmap_le_spare, tvb, bitCount, 7, FALSE);
- bitCount = bitCount + 7;
- }
-
- proto_tree_add_bits_item(tree, hf_gsm_bssmap_le_response_time_category, tvb, bitCount, 2, FALSE);
- bitCount = bitCount + 2;
+ guint64 verticalCoordIndicator, velocityRequested, horizontalAccuracyIndicator, verticalAccuracyIndicator;
+ guint16 bitCount;
+
+ bitCount = offset << 3;
+
+ proto_tree_add_bits_item(tree, hf_gsm_bssmap_le_spare, tvb, bitCount, 6, FALSE);
+ bitCount = bitCount + 6;
+
+ /* Extract Velocity requested element */
+ proto_tree_add_bits_ret_val(tree, hf_gsm_bssmap_le_velocity_requested, tvb, bitCount, 1, &velocityRequested, FALSE);
+ bitCount++;
+
+ /* Extract vertical coordinator element */
+ proto_tree_add_bits_ret_val(tree, hf_gsm_bssmap_le_vertical_coordinate_indicator, tvb, bitCount, 1, &verticalCoordIndicator, FALSE);
+ bitCount++;
+
+ /* Extract horizontal accuracy element */
+ proto_tree_add_bits_ret_val(tree, hf_gsm_bssmap_le_horizontal_accuracy_indicator, tvb, bitCount, 1, &horizontalAccuracyIndicator, FALSE);
+ bitCount++;
+
+ if(horizontalAccuracyIndicator == 1)
+ {
+ proto_tree_add_bits_item(tree, hf_gsm_bssmap_le_horizontal_accuracy, tvb, bitCount, 7, FALSE);
+ bitCount = bitCount + 7;
+ }
+ else
+ {
+ proto_tree_add_bits_item(tree, hf_gsm_bssmap_le_spare, tvb, bitCount, 7, FALSE);
+ bitCount = bitCount + 7;
+ }
+
+ /* Extract vertical accuracy element */
+ proto_tree_add_bits_ret_val(tree, hf_gsm_bssmap_le_vertical_accuracy_indicator, tvb, bitCount, 1, &verticalAccuracyIndicator, FALSE);
+ bitCount++;
+
+ if(verticalAccuracyIndicator == 1)
+ {
+ proto_tree_add_bits_item(tree, hf_gsm_bssmap_le_vertical_accuracy, tvb, bitCount, 7, FALSE);
+ bitCount = bitCount + 7;
+ }
+ else
+ {
+ proto_tree_add_bits_item(tree, hf_gsm_bssmap_le_spare, tvb, bitCount, 7, FALSE);
+ bitCount = bitCount + 7;
+ }
+
+ proto_tree_add_bits_item(tree, hf_gsm_bssmap_le_response_time_category, tvb, bitCount, 2, FALSE);
+ bitCount = bitCount + 2;
return(len);
}
@@ -566,8 +566,8 @@ be_lcs_capability(tvbuff_t *tvb, proto_tree *tree, guint32 offset, guint len _U_
static guint16
be_packet_meas_rep(tvbuff_t *tvb, proto_tree *tree, guint32 offset, guint len _U_, gchar *add_string _U_, int string_len _U_)
{
- /* Extract the Packet Measurement Report element and add to protocol tree */
- proto_tree_add_text(tree, tvb, offset, len, "Not decoded yet");
+ /* Extract the Packet Measurement Report element and add to protocol tree */
+ proto_tree_add_text(tree, tvb, offset, len, "Not decoded yet");
return len;
}
@@ -582,7 +582,7 @@ static guint16
be_measured_cell_identity(tvbuff_t *tvb, proto_tree *tree, guint32 offset, guint len _U_, gchar *add_string _U_, int string_len _U_)
{
/* Extract the Measured Cell Identity List element and add to protocol tree */
- proto_tree_add_text(tree, tvb, offset, len, "Not decoded yet");
+ proto_tree_add_text(tree, tvb, offset, len, "Not decoded yet");
return len;
}
@@ -852,141 +852,6 @@ static void (*bssmap_le_msg_fcn[])(tvbuff_t *tvb, proto_tree *tree, guint32 offs
NULL, /* NONE */
};
-/* Register the protocol with Wireshark */
-void
-proto_register_gsm_bssmap_le(void)
-{
- guint i;
- guint last_offset;
-
- /* Setup list of header fields */
- static hf_register_info hf[] =
- {
- { &hf_gsm_bssmap_le_msg_type,
- { "BSSMAP LE Message Type", "bssmap_le.msgtype",
- FT_UINT8, BASE_HEX, VALS(gsm_bssmap_le_msg_strings), 0x0,
- "", HFILL }
- },
- { &hf_gsm_bssmap_le_elem_id,
- { "Element ID", "bssmap_le.elem_id",
- FT_UINT8, BASE_DEC, NULL, 0,
- "", HFILL }
- },
- { &hf_gsm_bssmap_le_apdu_protocol_id,
- { "Protocol ID", "bssmap_le.apdu_protocol_id",
- FT_UINT8, BASE_DEC, VALS(gsm_apdu_protocol_id_strings), 0x0,
- "APDU embedded protocol id", HFILL }
- },
- { &hf_gsm_bssmap_le_spare,
- { "Spare", "gsm_bssmap_le.spare",
- FT_UINT8, BASE_HEX, NULL, 0x0,
- "Spare", HFILL}
- },
- { &hf_gsm_bssmap_le_ciphering_key_flag,
- { "Ciphering Key Flag", "gsm_bssmap_le.decipheringKeys.flag",
- FT_UINT8, BASE_DEC, NULL, 0x0,
- "Ciphering Key Flag", HFILL}
- },
- { &hf_gsm_bssmap_le_current_deciphering_key_value,
- { "Current Deciphering Key Value", "gsm_bssmap_le.decipheringKeys.current",
- FT_UINT8, BASE_DEC, NULL, 0x0, "Current Deciphering Key Value",
- HFILL}
- },
- { &hf_gsm_bssmap_le_next_deciphering_key_value,
- { "Next Deciphering Key Value", "gsm_bssmap_le.decipheringKeys.next",
- FT_UINT8, BASE_DEC, NULL, 0x0,
- "Next Deciphering Key Value", HFILL}
- },
- { &hf_gsm_bssmap_le_lcs_cause_value,
- { "Cause Value", "gsm_bssmap_le.lcsCauseValue",
- FT_UINT8, BASE_HEX, VALS(bssmap_le_lcs_cause_values), 0x0,
- "Cause Value", HFILL}
- },
- { &hf_gsm_bssmap_le_diagnostic_value,
- { "Diagnostic Value", "gsm_bssmap_le.diagnosticValue",
- FT_UINT8, BASE_HEX, VALS(bssmap_le_position_method_failure_diagnostic_vals), 0x0,
- "Diagnostic Value", HFILL}
- },
- { &hf_gsm_bssmap_le_client_category,
- { "Client Category", "gsm_bssmap_le.lcsClientType.clientCategory",
- FT_UINT8, BASE_HEX, VALS(bssmap_le_client_category), 0x0,
- "Client Category", HFILL}
- },
- { &hf_gsm_bssmap_le_client_subtype,
- { "Client Subtype", "gsm_bssmap_le.lcsClientType.clientSubtype",
- FT_UINT8, BASE_HEX, VALS(bssmap_le_client_subtype), 0x0,
- "Client Subtype", HFILL}
- },
- { &hf_gsm_bssmap_le_velocity_requested,
- { "Velocity Requested", "gsm_bssmap_le.lcsQos.velocityRequested",
- FT_UINT8, BASE_HEX, VALS(bssmap_le_velocity_requested_vals), 0x0,
- "Velocity Requested", HFILL}
- },
- { &hf_gsm_bssmap_le_vertical_coordinate_indicator,
- { "Vertical Coordinate Indicator", "gsm_bssmap_le.lcsQos.verticalCoordinateIndicator",
- FT_UINT8, BASE_HEX, VALS(bssmap_le_vertical_coordinate_indicator_vals), 0x0,
- "Vertical Coordinate Indicator", HFILL}
- },
- { &hf_gsm_bssmap_le_horizontal_accuracy_indicator,
- { "Horizontal Accuracy Indicator", "gsm_bssmap_le.lcsQos.horizontalAccuracyIndicator",
- FT_UINT8, BASE_HEX, VALS(bssmap_le_horizontal_accuracy_indicator_vals), 0x0,
- "Horizontal Accuracy Indicator", HFILL}
- },
- { &hf_gsm_bssmap_le_horizontal_accuracy,
- { "Horizontal Accuracy", "gsm_bssmap_le.lcsQos.horizontalAccuracy",
- FT_UINT8, BASE_HEX, NULL, 0x0,
- "Horizontal Accuracy", HFILL}
- },
- { &hf_gsm_bssmap_le_vertical_accuracy,
- { "Vertical Accuracy", "gsm_bssmap_le.lcsQos.verticalAccuracy",
- FT_UINT8, BASE_HEX, NULL, 0x0,
- "Vertical Accuracy", HFILL}
- },
- { &hf_gsm_bssmap_le_vertical_accuracy_indicator,
- { "Vertical Accuracy Indicator", "gsm_bssmap_le.lcsQos.verticalAccuracyIndicator",
- FT_UINT8, BASE_HEX, VALS(bssmap_le_vertical_accuracy_indicator_vals), 0x0,
- "Vertical Accuracy Indicator", HFILL}
- },
- { &hf_gsm_bssmap_le_response_time_category,
- { "Response Time Category", "gsm_bssmap_le.lcsQos.responseTimeCategory",
- FT_UINT8, BASE_HEX, VALS(bssmap_le_response_time_definitions_vals), 0x0,
- "Response Time Category", HFILL}
- },
-
- };
- /* Setup protocol subtree array */
-#define NUM_INDIVIDUAL_ELEMS 1
- static gint *ett[NUM_INDIVIDUAL_ELEMS + NUM_GSM_BSSMAP_LE_MSG +
- NUM_GSM_BSSMAP_LE_ELEM];
-
- ett[0] = &ett_bssmap_le_msg;
-
- last_offset = NUM_INDIVIDUAL_ELEMS;
-
- for (i=0; i < NUM_GSM_BSSMAP_LE_MSG; i++, last_offset++)
- {
- ett_gsm_bssmap_le_msg[i] = -1;
- ett[last_offset] = &ett_gsm_bssmap_le_msg[i];
- }
-
- for (i=0; i < NUM_GSM_BSSMAP_LE_ELEM; i++, last_offset++)
- {
- ett_gsm_bssmap_le_elem[i] = -1;
- ett[last_offset] = &ett_gsm_bssmap_le_elem[i];
- }
-
- /* Register the protocol name and description */
-
- proto_bssmap_le =
- proto_register_protocol("Lb-I/F BSSMAP LE", "GSM BSSMAP LE", "gsm_bssmap_le");
-
- proto_register_field_array(proto_bssmap_le, hf, array_length(hf));
-
- proto_register_subtree_array(ett, array_length(ett));
-
- register_dissector("gsm_bssmap_le", dissect_bssmap_le, proto_bssmap_le);
-}
-
void
dissect_bssmap_le(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
{
@@ -1100,6 +965,140 @@ dissect_bssmap_le(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
}
}
+/* Register the protocol with Wireshark */
+void
+proto_register_gsm_bssmap_le(void)
+{
+ guint i;
+ guint last_offset;
+
+ /* Setup list of header fields */
+ static hf_register_info hf[] = {
+ { &hf_gsm_bssmap_le_msg_type,
+ { "BSSMAP LE Message Type", "bssmap_le.msgtype",
+ FT_UINT8, BASE_HEX, VALS(gsm_bssmap_le_msg_strings), 0x0,
+ "", HFILL }
+ },
+ { &hf_gsm_bssmap_le_elem_id,
+ { "Element ID", "bssmap_le.elem_id",
+ FT_UINT8, BASE_DEC, NULL, 0,
+ "", HFILL }
+ },
+ { &hf_gsm_bssmap_le_apdu_protocol_id,
+ { "Protocol ID", "bssmap_le.apdu_protocol_id",
+ FT_UINT8, BASE_DEC, VALS(gsm_apdu_protocol_id_strings), 0x0,
+ "APDU embedded protocol id", HFILL }
+ },
+ { &hf_gsm_bssmap_le_spare,
+ { "Spare", "gsm_bssmap_le.spare",
+ FT_UINT8, BASE_HEX, NULL, 0x0,
+ "Spare", HFILL}
+ },
+ { &hf_gsm_bssmap_le_ciphering_key_flag,
+ { "Ciphering Key Flag", "gsm_bssmap_le.decipheringKeys.flag",
+ FT_UINT8, BASE_DEC, NULL, 0x0,
+ "Ciphering Key Flag", HFILL}
+ },
+ { &hf_gsm_bssmap_le_current_deciphering_key_value,
+ { "Current Deciphering Key Value", "gsm_bssmap_le.decipheringKeys.current",
+ FT_UINT8, BASE_DEC, NULL, 0x0, "Current Deciphering Key Value",
+ HFILL}
+ },
+ { &hf_gsm_bssmap_le_next_deciphering_key_value,
+ { "Next Deciphering Key Value", "gsm_bssmap_le.decipheringKeys.next",
+ FT_UINT8, BASE_DEC, NULL, 0x0,
+ "Next Deciphering Key Value", HFILL}
+ },
+ { &hf_gsm_bssmap_le_lcs_cause_value,
+ { "Cause Value", "gsm_bssmap_le.lcsCauseValue",
+ FT_UINT8, BASE_HEX, VALS(bssmap_le_lcs_cause_values), 0x0,
+ "Cause Value", HFILL}
+ },
+ { &hf_gsm_bssmap_le_diagnostic_value,
+ { "Diagnostic Value", "gsm_bssmap_le.diagnosticValue",
+ FT_UINT8, BASE_HEX, VALS(bssmap_le_position_method_failure_diagnostic_vals), 0x0,
+ "Diagnostic Value", HFILL}
+ },
+ { &hf_gsm_bssmap_le_client_category,
+ { "Client Category", "gsm_bssmap_le.lcsClientType.clientCategory",
+ FT_UINT8, BASE_HEX, VALS(bssmap_le_client_category), 0x0,
+ "Client Category", HFILL}
+ },
+ { &hf_gsm_bssmap_le_client_subtype,
+ { "Client Subtype", "gsm_bssmap_le.lcsClientType.clientSubtype",
+ FT_UINT8, BASE_HEX, VALS(bssmap_le_client_subtype), 0x0,
+ "Client Subtype", HFILL}
+ },
+ { &hf_gsm_bssmap_le_velocity_requested,
+ { "Velocity Requested", "gsm_bssmap_le.lcsQos.velocityRequested",
+ FT_UINT8, BASE_HEX, VALS(bssmap_le_velocity_requested_vals), 0x0,
+ "Velocity Requested", HFILL}
+ },
+ { &hf_gsm_bssmap_le_vertical_coordinate_indicator,
+ { "Vertical Coordinate Indicator", "gsm_bssmap_le.lcsQos.verticalCoordinateIndicator",
+ FT_UINT8, BASE_HEX, VALS(bssmap_le_vertical_coordinate_indicator_vals), 0x0,
+ "Vertical Coordinate Indicator", HFILL}
+ },
+ { &hf_gsm_bssmap_le_horizontal_accuracy_indicator,
+ { "Horizontal Accuracy Indicator", "gsm_bssmap_le.lcsQos.horizontalAccuracyIndicator",
+ FT_UINT8, BASE_HEX, VALS(bssmap_le_horizontal_accuracy_indicator_vals), 0x0,
+ "Horizontal Accuracy Indicator", HFILL}
+ },
+ { &hf_gsm_bssmap_le_horizontal_accuracy,
+ { "Horizontal Accuracy", "gsm_bssmap_le.lcsQos.horizontalAccuracy",
+ FT_UINT8, BASE_HEX, NULL, 0x0,
+ "Horizontal Accuracy", HFILL}
+ },
+ { &hf_gsm_bssmap_le_vertical_accuracy,
+ { "Vertical Accuracy", "gsm_bssmap_le.lcsQos.verticalAccuracy",
+ FT_UINT8, BASE_HEX, NULL, 0x0,
+ "Vertical Accuracy", HFILL}
+ },
+ { &hf_gsm_bssmap_le_vertical_accuracy_indicator,
+ { "Vertical Accuracy Indicator", "gsm_bssmap_le.lcsQos.verticalAccuracyIndicator",
+ FT_UINT8, BASE_HEX, VALS(bssmap_le_vertical_accuracy_indicator_vals), 0x0,
+ "Vertical Accuracy Indicator", HFILL}
+ },
+ { &hf_gsm_bssmap_le_response_time_category,
+ { "Response Time Category", "gsm_bssmap_le.lcsQos.responseTimeCategory",
+ FT_UINT8, BASE_HEX, VALS(bssmap_le_response_time_definitions_vals), 0x0,
+ "Response Time Category", HFILL}
+ },
+
+ };
+ /* Setup protocol subtree array */
+#define NUM_INDIVIDUAL_ELEMS 1
+ static gint *ett[NUM_INDIVIDUAL_ELEMS + NUM_GSM_BSSMAP_LE_MSG +
+ NUM_GSM_BSSMAP_LE_ELEM];
+
+ ett[0] = &ett_bssmap_le_msg;
+
+ last_offset = NUM_INDIVIDUAL_ELEMS;
+
+ for (i=0; i < NUM_GSM_BSSMAP_LE_MSG; i++, last_offset++)
+ {
+ ett_gsm_bssmap_le_msg[i] = -1;
+ ett[last_offset] = &ett_gsm_bssmap_le_msg[i];
+ }
+
+ for (i=0; i < NUM_GSM_BSSMAP_LE_ELEM; i++, last_offset++)
+ {
+ ett_gsm_bssmap_le_elem[i] = -1;
+ ett[last_offset] = &ett_gsm_bssmap_le_elem[i];
+ }
+
+ /* Register the protocol name and description */
+
+ proto_bssmap_le =
+ proto_register_protocol("Lb-I/F BSSMAP LE", "GSM BSSMAP LE", "gsm_bssmap_le");
+
+ proto_register_field_array(proto_bssmap_le, hf, array_length(hf));
+
+ proto_register_subtree_array(ett, array_length(ett));
+
+ register_dissector("gsm_bssmap_le", dissect_bssmap_le, proto_bssmap_le);
+}
+
void
proto_reg_handoff_gsm_bssmap_le(void)
{