Fix unused function warnings

svn path=/trunk/; revision=39338
This commit is contained in:
Anders Broman 2011-10-10 17:42:43 +00:00
parent 56a684a625
commit b79dfbe405
7 changed files with 84 additions and 674 deletions

View File

@ -6,6 +6,21 @@
#.MODULE
#.OMIT_ASSIGNMENT
CalledNumber
CallReference
ChargeIndicator
MscNo
SystemType
SGSNMTLCSRecord
SGSNMOLCSRecord
SGSNNILCSRecord
LCSCause
LCSClientIdentity
LCSQoSInfo
LocationAreaAndCell
PositioningData
#.EXPORTS
GPRSCallEventRecord
GPRSCallEventRecord_PDU

View File

@ -48,8 +48,6 @@ static int ett_gprscdr = -1;
static int ett_gprscdr_timestamp = -1;
#include "packet-gprscdr-ett.c"
static dissector_handle_t gprscdr_handle;
#include "packet-gprscdr-fn.c"

View File

@ -7,6 +7,16 @@
#.MODULE_IMPORT
#.OMIT_ASSIGNMENT
ExtendCarrier
SPEECHMODE
DATAMODE
CALLMODE
MAC-DATA
FRAG6
LengthIndicationMacData
#.EXPORTS
U-ALERT
@ -50,7 +60,6 @@ D-MM-STATUS
#.PDU
AACH
MAC-DATA
MAC-FRAG
MAC-FRAG120
MAC-END-UPLINK

View File

@ -1,7 +1,7 @@
/* Do not modify this file. */
/* It is created automatically by the ASN.1 to Wireshark dissector compiler */
/* packet-gprscdr.c */
/* ../../tools/asn2wrs.py -b -e -p gprscdr -c ./gprscdr.cnf -s ./packet-gprscdr-template -D . 3GPPGenericChargingDataTypes.asn GPRSChargingDataTypes.asn */
/* ../../tools/asn2wrs.py -b -e -p gprscdr -c ./gprscdr.cnf -s ./packet-gprscdr-template -D . -O ../../epan/dissectors 3GPPGenericChargingDataTypes.asn GPRSChargingDataTypes.asn */
/* Input file: packet-gprscdr-template.c */
@ -67,11 +67,6 @@ static int hf_gprscdr_iPBinV4Address = -1; /* OCTET_STRING_SIZE_4 */
static int hf_gprscdr_iPBinV6Address = -1; /* OCTET_STRING_SIZE_16 */
static int hf_gprscdr_iPTextV4Address = -1; /* IA5String_SIZE_7_15 */
static int hf_gprscdr_iPTextV6Address = -1; /* IA5String_SIZE_15_45 */
static int hf_gprscdr_lcsClientExternalID = -1; /* LCSClientExternalID */
static int hf_gprscdr_lcsClientDialedByMS = -1; /* AddressString */
static int hf_gprscdr_lcsClientInternalID = -1; /* LCSClientInternalID */
static int hf_gprscdr_locationAreaCode = -1; /* LocationAreaCode */
static int hf_gprscdr_cellId = -1; /* CellId */
static int hf_gprscdr_ManagementExtensions_item = -1; /* ManagementExtension */
static int hf_gprscdr_identifier = -1; /* OBJECT_IDENTIFIER */
static int hf_gprscdr_significance = -1; /* BOOLEAN */
@ -124,6 +119,7 @@ static int hf_gprscdr_servedIMEI = -1; /* IMEI */
static int hf_gprscdr_sgsnAddress_01 = -1; /* GSNAddress */
static int hf_gprscdr_msNetworkCapability = -1; /* MSNetworkCapability */
static int hf_gprscdr_routingArea = -1; /* RoutingAreaCode */
static int hf_gprscdr_locationAreaCode = -1; /* LocationAreaCode */
static int hf_gprscdr_cellIdentifier = -1; /* CellId */
static int hf_gprscdr_changeLocation = -1; /* SEQUENCE_OF_ChangeLocation */
static int hf_gprscdr_changeLocation_item = -1; /* ChangeLocation */
@ -141,20 +137,6 @@ static int hf_gprscdr_eventTimeStamp = -1; /* TimeStamp */
static int hf_gprscdr_smsResult = -1; /* SMSResult */
static int hf_gprscdr_destinationNumber = -1; /* SmsTpDestinationNumber */
static int hf_gprscdr_cAMELInformationSMS = -1; /* CAMELInformationSMS */
static int hf_gprscdr_lcsClientType = -1; /* LCSClientType */
static int hf_gprscdr_lcsClientIdentity = -1; /* LCSClientIdentity */
static int hf_gprscdr_locationType = -1; /* LocationType */
static int hf_gprscdr_lcsQos = -1; /* LCSQoSInfo */
static int hf_gprscdr_lcsPriority = -1; /* LCS_Priority */
static int hf_gprscdr_mlcNumber = -1; /* ISDN_AddressString */
static int hf_gprscdr_measurementDuration = -1; /* CallDuration */
static int hf_gprscdr_notificationToMSUser = -1; /* NotificationToMSUser */
static int hf_gprscdr_privacyOverride = -1; /* NULL */
static int hf_gprscdr_location = -1; /* LocationAreaAndCell */
static int hf_gprscdr_locationEstimate = -1; /* Ext_GeographicalInformation */
static int hf_gprscdr_positioningData = -1; /* PositioningData */
static int hf_gprscdr_lcsCause = -1; /* LCSCause */
static int hf_gprscdr_locationMethod = -1; /* LocationMethod */
static int hf_gprscdr_listofDownstreamNodes = -1; /* SEQUENCE_OF_RouteingAreaCode */
static int hf_gprscdr_listofDownstreamNodes_item = -1; /* RouteingAreaCode */
static int hf_gprscdr_numberofReceivingUE = -1; /* INTEGER */
@ -194,6 +176,7 @@ static int hf_gprscdr_datavolumeFBCUplink = -1; /* DataVolumeGPRS */
static int hf_gprscdr_datavolumeFBCDownlink = -1; /* DataVolumeGPRS */
static int hf_gprscdr_timeOfReport = -1; /* TimeStamp */
static int hf_gprscdr_routingAreaCode = -1; /* RoutingAreaCode */
static int hf_gprscdr_cellId = -1; /* CellId */
static int hf_gprscdr_iPAddress = -1; /* IPAddress */
static int hf_gprscdr_eTSIAddress = -1; /* ETSIAddress */
static int hf_gprscdr_pSFreeFormatData = -1; /* FreeFormatData */
@ -226,9 +209,7 @@ static gint ett_gprscdr_Diagnostics = -1;
static gint ett_gprscdr_IPAddress = -1;
static gint ett_gprscdr_IPBinaryAddress = -1;
static gint ett_gprscdr_IPTextRepresentedAddress = -1;
static gint ett_gprscdr_LCSClientIdentity = -1;
static gint ett_gprscdr_LevelOfCAMELService = -1;
static gint ett_gprscdr_LocationAreaAndCell = -1;
static gint ett_gprscdr_ManagementExtensions = -1;
static gint ett_gprscdr_ManagementExtension = -1;
static gint ett_gprscdr_GPRSCallEventRecord = -1;
@ -242,9 +223,6 @@ static gint ett_gprscdr_SEQUENCE_OF_ChangeLocation = -1;
static gint ett_gprscdr_SGSNPDPRecord = -1;
static gint ett_gprscdr_SGSNSMORecord = -1;
static gint ett_gprscdr_SGSNSMTRecord = -1;
static gint ett_gprscdr_SGSNMTLCSRecord = -1;
static gint ett_gprscdr_SGSNMOLCSRecord = -1;
static gint ett_gprscdr_SGSNNILCSRecord = -1;
static gint ett_gprscdr_SGSNMBMSRecord = -1;
static gint ett_gprscdr_SEQUENCE_OF_RouteingAreaCode = -1;
static gint ett_gprscdr_GGSNMBMSRecord = -1;
@ -261,8 +239,6 @@ static gint ett_gprscdr_MBMSInformation = -1;
/*--- End of included file: packet-gprscdr-ett.c ---*/
#line 50 "../../asn1/gprscdr/packet-gprscdr-template.c"
static dissector_handle_t gprscdr_handle;
/*--- Included file: packet-gprscdr-fn.c ---*/
#line 1 "../../asn1/gprscdr/packet-gprscdr-fn.c"
@ -287,15 +263,6 @@ dissect_gprscdr_CallDuration(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int o
}
static int
dissect_gprscdr_CalledNumber(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_gprscdr_BCDDirectoryNumber(implicit_tag, tvb, offset, actx, tree, hf_index);
return offset;
}
static const value_string gprscdr_CallEventRecordType_vals[] = {
{ 0, "moCallRecord" },
{ 1, "mtCallRecord" },
@ -399,16 +366,6 @@ dissect_gprscdr_CallingNumber(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int
static int
dissect_gprscdr_CallReference(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
NULL);
return offset;
}
static int
dissect_gprscdr_CellId(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
@ -418,22 +375,6 @@ dissect_gprscdr_CellId(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset
}
static const value_string gprscdr_ChargeIndicator_vals[] = {
{ 0, "noCharge" },
{ 1, "charge" },
{ 0, NULL }
};
static int
dissect_gprscdr_ChargeIndicator(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
NULL);
return offset;
}
static int
dissect_gprscdr_INTEGER(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
@ -465,7 +406,7 @@ dissect_gprscdr_BOOLEAN(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset
static int
dissect_gprscdr_T_information(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 26 "../../asn1/gprscdr/gprscdr.cnf"
#line 41 "../../asn1/gprscdr/gprscdr.cnf"
proto_tree_add_text(tree, tvb, offset, -1, "Not dissected");
@ -633,42 +574,6 @@ dissect_gprscdr_IPAddress(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offs
}
static int
dissect_gprscdr_LCSCause(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
NULL);
return offset;
}
static const ber_sequence_t LCSClientIdentity_sequence[] = {
{ &hf_gprscdr_lcsClientExternalID, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_LCSClientExternalID },
{ &hf_gprscdr_lcsClientDialedByMS, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_AddressString },
{ &hf_gprscdr_lcsClientInternalID, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_LCSClientInternalID },
{ NULL, 0, 0, 0, NULL }
};
static int
dissect_gprscdr_LCSClientIdentity(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
LCSClientIdentity_sequence, hf_index, ett_gprscdr_LCSClientIdentity);
return offset;
}
static int
dissect_gprscdr_LCSQoSInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
NULL);
return offset;
}
static const asn_namedbit LevelOfCAMELService_bits[] = {
{ 0, &hf_gprscdr_LevelOfCAMELService_basic, -1, -1, "basic", NULL },
{ 1, &hf_gprscdr_LevelOfCAMELService_callDurationSupervision, -1, -1, "callDurationSupervision", NULL },
@ -706,21 +611,6 @@ dissect_gprscdr_LocationAreaCode(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, i
}
static const ber_sequence_t LocationAreaAndCell_sequence[] = {
{ &hf_gprscdr_locationAreaCode, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gprscdr_LocationAreaCode },
{ &hf_gprscdr_cellId , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gprscdr_CellId },
{ NULL, 0, 0, 0, NULL }
};
static int
dissect_gprscdr_LocationAreaAndCell(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
LocationAreaAndCell_sequence, hf_index, ett_gprscdr_LocationAreaAndCell);
return offset;
}
static const ber_sequence_t ManagementExtensions_set_of[1] = {
{ &hf_gprscdr_ManagementExtensions_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gprscdr_ManagementExtension },
};
@ -745,15 +635,6 @@ dissect_gprscdr_MessageReference(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, i
static int
dissect_gprscdr_MscNo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_gsm_map_ISDN_AddressString(implicit_tag, tvb, offset, actx, tree, hf_index);
return offset;
}
static int
dissect_gprscdr_MSISDN(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_gsm_map_ISDN_AddressString(implicit_tag, tvb, offset, actx, tree, hf_index);
@ -773,16 +654,6 @@ dissect_gprscdr_MSTimeZone(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int off
static int
dissect_gprscdr_PositioningData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
NULL);
return offset;
}
static int
dissect_gprscdr_RecordingEntity(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_gsm_map_AddressString(implicit_tag, tvb, offset, actx, tree, hf_index);
@ -810,23 +681,6 @@ dissect_gprscdr_SmsTpDestinationNumber(gboolean implicit_tag _U_, tvbuff_t *tvb
}
static const value_string gprscdr_SystemType_vals[] = {
{ 0, "unknown" },
{ 1, "iuUTRAN" },
{ 2, "gERAN" },
{ 0, NULL }
};
static int
dissect_gprscdr_SystemType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
NULL);
return offset;
}
static int
dissect_gprscdr_TimeStamp(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
@ -1913,125 +1767,6 @@ dissect_gprscdr_GPRSCallEventRecord(gboolean implicit_tag _U_, tvbuff_t *tvb _U_
return offset;
}
static const ber_sequence_t SGSNMTLCSRecord_set[] = {
{ &hf_gprscdr_recordType , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gprscdr_CallEventRecordType },
{ &hf_gprscdr_recordingEntity, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gprscdr_RecordingEntity },
{ &hf_gprscdr_lcsClientType, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_LCSClientType },
{ &hf_gprscdr_lcsClientIdentity, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_gprscdr_LCSClientIdentity },
{ &hf_gprscdr_servedIMSI , BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
{ &hf_gprscdr_servedMSISDN, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_MSISDN },
{ &hf_gprscdr_sgsnAddress_01, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gprscdr_GSNAddress },
{ &hf_gprscdr_locationType, BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_LocationType },
{ &hf_gprscdr_lcsQos , BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_LCSQoSInfo },
{ &hf_gprscdr_lcsPriority , BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_LCS_Priority },
{ &hf_gprscdr_mlcNumber , BER_CLASS_CON, 10, BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
{ &hf_gprscdr_eventTimeStamp, BER_CLASS_CON, 11, BER_FLAGS_IMPLTAG, dissect_gprscdr_TimeStamp },
{ &hf_gprscdr_measurementDuration, BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_CallDuration },
{ &hf_gprscdr_notificationToMSUser, BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NotificationToMSUser },
{ &hf_gprscdr_privacyOverride, BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_NULL },
{ &hf_gprscdr_location , BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_LocationAreaAndCell },
{ &hf_gprscdr_routingArea , BER_CLASS_CON, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_RoutingAreaCode },
{ &hf_gprscdr_locationEstimate, BER_CLASS_CON, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_Ext_GeographicalInformation },
{ &hf_gprscdr_positioningData, BER_CLASS_CON, 18, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_PositioningData },
{ &hf_gprscdr_lcsCause , BER_CLASS_CON, 19, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_LCSCause },
{ &hf_gprscdr_diagnostics , BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gprscdr_Diagnostics },
{ &hf_gprscdr_nodeID , BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_NodeID },
{ &hf_gprscdr_localSequenceNumber, BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_LocalSequenceNumber },
{ &hf_gprscdr_chargingCharacteristics, BER_CLASS_CON, 23, BER_FLAGS_IMPLTAG, dissect_gprscdr_ChargingCharacteristics },
{ &hf_gprscdr_chChSelectionMode, BER_CLASS_CON, 24, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_ChChSelectionMode },
{ &hf_gprscdr_rATType , BER_CLASS_CON, 25, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_RATType },
{ &hf_gprscdr_recordExtensions, BER_CLASS_CON, 26, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_ManagementExtensions },
{ &hf_gprscdr_causeForRecClosing, BER_CLASS_CON, 27, BER_FLAGS_IMPLTAG, dissect_gprscdr_CauseForRecClosing },
{ NULL, 0, 0, 0, NULL }
};
static int
dissect_gprscdr_SGSNMTLCSRecord(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
SGSNMTLCSRecord_set, hf_index, ett_gprscdr_SGSNMTLCSRecord);
return offset;
}
static const ber_sequence_t SGSNMOLCSRecord_set[] = {
{ &hf_gprscdr_recordType , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gprscdr_CallEventRecordType },
{ &hf_gprscdr_recordingEntity, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gprscdr_RecordingEntity },
{ &hf_gprscdr_lcsClientType, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_LCSClientType },
{ &hf_gprscdr_lcsClientIdentity, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_LCSClientIdentity },
{ &hf_gprscdr_servedIMSI , BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
{ &hf_gprscdr_servedMSISDN, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_MSISDN },
{ &hf_gprscdr_sgsnAddress_01, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gprscdr_GSNAddress },
{ &hf_gprscdr_locationMethod, BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_gsm_ss_LocationMethod },
{ &hf_gprscdr_lcsQos , BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_LCSQoSInfo },
{ &hf_gprscdr_lcsPriority , BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_LCS_Priority },
{ &hf_gprscdr_mlcNumber , BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
{ &hf_gprscdr_eventTimeStamp, BER_CLASS_CON, 11, BER_FLAGS_IMPLTAG, dissect_gprscdr_TimeStamp },
{ &hf_gprscdr_measurementDuration, BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_CallDuration },
{ &hf_gprscdr_location , BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_LocationAreaAndCell },
{ &hf_gprscdr_routingArea , BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_RoutingAreaCode },
{ &hf_gprscdr_locationEstimate, BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_Ext_GeographicalInformation },
{ &hf_gprscdr_positioningData, BER_CLASS_CON, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_PositioningData },
{ &hf_gprscdr_lcsCause , BER_CLASS_CON, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_LCSCause },
{ &hf_gprscdr_diagnostics , BER_CLASS_CON, 18, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gprscdr_Diagnostics },
{ &hf_gprscdr_nodeID , BER_CLASS_CON, 19, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_NodeID },
{ &hf_gprscdr_localSequenceNumber, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_LocalSequenceNumber },
{ &hf_gprscdr_chargingCharacteristics, BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_gprscdr_ChargingCharacteristics },
{ &hf_gprscdr_chChSelectionMode, BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_ChChSelectionMode },
{ &hf_gprscdr_rATType , BER_CLASS_CON, 23, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_RATType },
{ &hf_gprscdr_recordExtensions, BER_CLASS_CON, 24, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_ManagementExtensions },
{ &hf_gprscdr_causeForRecClosing, BER_CLASS_CON, 25, BER_FLAGS_IMPLTAG, dissect_gprscdr_CauseForRecClosing },
{ NULL, 0, 0, 0, NULL }
};
static int
dissect_gprscdr_SGSNMOLCSRecord(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
SGSNMOLCSRecord_set, hf_index, ett_gprscdr_SGSNMOLCSRecord);
return offset;
}
static const ber_sequence_t SGSNNILCSRecord_set[] = {
{ &hf_gprscdr_recordType , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gprscdr_CallEventRecordType },
{ &hf_gprscdr_recordingEntity, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gprscdr_RecordingEntity },
{ &hf_gprscdr_lcsClientType, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_LCSClientType },
{ &hf_gprscdr_lcsClientIdentity, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_LCSClientIdentity },
{ &hf_gprscdr_servedIMSI , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
{ &hf_gprscdr_servedMSISDN, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_MSISDN },
{ &hf_gprscdr_sgsnAddress_01, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gprscdr_GSNAddress },
{ &hf_gprscdr_servedIMEI , BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMEI },
{ &hf_gprscdr_lcsQos , BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_LCSQoSInfo },
{ &hf_gprscdr_lcsPriority , BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_LCS_Priority },
{ &hf_gprscdr_mlcNumber , BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
{ &hf_gprscdr_eventTimeStamp, BER_CLASS_CON, 11, BER_FLAGS_IMPLTAG, dissect_gprscdr_TimeStamp },
{ &hf_gprscdr_measurementDuration, BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_CallDuration },
{ &hf_gprscdr_location , BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_LocationAreaAndCell },
{ &hf_gprscdr_routingArea , BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_RoutingAreaCode },
{ &hf_gprscdr_locationEstimate, BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_Ext_GeographicalInformation },
{ &hf_gprscdr_positioningData, BER_CLASS_CON, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_PositioningData },
{ &hf_gprscdr_lcsCause , BER_CLASS_CON, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_LCSCause },
{ &hf_gprscdr_diagnostics , BER_CLASS_CON, 18, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gprscdr_Diagnostics },
{ &hf_gprscdr_nodeID , BER_CLASS_CON, 19, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_NodeID },
{ &hf_gprscdr_localSequenceNumber, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_LocalSequenceNumber },
{ &hf_gprscdr_chargingCharacteristics, BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_gprscdr_ChargingCharacteristics },
{ &hf_gprscdr_chChSelectionMode, BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_ChChSelectionMode },
{ &hf_gprscdr_rATType , BER_CLASS_CON, 23, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_RATType },
{ &hf_gprscdr_recordExtensions, BER_CLASS_CON, 24, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gprscdr_ManagementExtensions },
{ &hf_gprscdr_causeForRecClosing, BER_CLASS_CON, 25, BER_FLAGS_IMPLTAG, dissect_gprscdr_CauseForRecClosing },
{ NULL, 0, 0, 0, NULL }
};
static int
dissect_gprscdr_SGSNNILCSRecord(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
SGSNNILCSRecord_set, hf_index, ett_gprscdr_SGSNNILCSRecord);
return offset;
}
/*--- PDUs ---*/
int dissect_gprscdr_GPRSCallEventRecord_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
@ -2044,7 +1779,7 @@ int dissect_gprscdr_GPRSCallEventRecord_PDU(tvbuff_t *tvb _U_, packet_info *pinf
/*--- End of included file: packet-gprscdr-fn.c ---*/
#line 54 "../../asn1/gprscdr/packet-gprscdr-template.c"
#line 52 "../../asn1/gprscdr/packet-gprscdr-template.c"
@ -2113,26 +1848,6 @@ proto_register_gprscdr(void)
{ "iPTextV6Address", "gprscdr.iPTextV6Address",
FT_STRING, BASE_NONE, NULL, 0,
"IA5String_SIZE_15_45", HFILL }},
{ &hf_gprscdr_lcsClientExternalID,
{ "lcsClientExternalID", "gprscdr.lcsClientExternalID",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_gprscdr_lcsClientDialedByMS,
{ "lcsClientDialedByMS", "gprscdr.lcsClientDialedByMS",
FT_BYTES, BASE_NONE, NULL, 0,
"AddressString", HFILL }},
{ &hf_gprscdr_lcsClientInternalID,
{ "lcsClientInternalID", "gprscdr.lcsClientInternalID",
FT_UINT32, BASE_DEC, VALS(gsm_map_LCSClientInternalID_vals), 0,
NULL, HFILL }},
{ &hf_gprscdr_locationAreaCode,
{ "locationAreaCode", "gprscdr.locationAreaCode",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_gprscdr_cellId,
{ "cellId", "gprscdr.cellId",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_gprscdr_ManagementExtensions_item,
{ "ManagementExtension", "gprscdr.ManagementExtension",
FT_NONE, BASE_NONE, NULL, 0,
@ -2341,6 +2056,10 @@ proto_register_gprscdr(void)
{ "routingArea", "gprscdr.routingArea",
FT_BYTES, BASE_NONE, NULL, 0,
"RoutingAreaCode", HFILL }},
{ &hf_gprscdr_locationAreaCode,
{ "locationAreaCode", "gprscdr.locationAreaCode",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_gprscdr_cellIdentifier,
{ "cellIdentifier", "gprscdr.cellIdentifier",
FT_BYTES, BASE_NONE, NULL, 0,
@ -2409,62 +2128,6 @@ proto_register_gprscdr(void)
{ "cAMELInformationSMS", "gprscdr.cAMELInformationSMS",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_gprscdr_lcsClientType,
{ "lcsClientType", "gprscdr.lcsClientType",
FT_UINT32, BASE_DEC, VALS(gsm_map_lcs_LCSClientType_vals), 0,
NULL, HFILL }},
{ &hf_gprscdr_lcsClientIdentity,
{ "lcsClientIdentity", "gprscdr.lcsClientIdentity",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_gprscdr_locationType,
{ "locationType", "gprscdr.locationType",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_gprscdr_lcsQos,
{ "lcsQos", "gprscdr.lcsQos",
FT_BYTES, BASE_NONE, NULL, 0,
"LCSQoSInfo", HFILL }},
{ &hf_gprscdr_lcsPriority,
{ "lcsPriority", "gprscdr.lcsPriority",
FT_BYTES, BASE_NONE, NULL, 0,
"LCS_Priority", HFILL }},
{ &hf_gprscdr_mlcNumber,
{ "mlcNumber", "gprscdr.mlcNumber",
FT_BYTES, BASE_NONE, NULL, 0,
"ISDN_AddressString", HFILL }},
{ &hf_gprscdr_measurementDuration,
{ "measurementDuration", "gprscdr.measurementDuration",
FT_INT32, BASE_DEC, NULL, 0,
"CallDuration", HFILL }},
{ &hf_gprscdr_notificationToMSUser,
{ "notificationToMSUser", "gprscdr.notificationToMSUser",
FT_UINT32, BASE_DEC, VALS(gsm_map_ms_NotificationToMSUser_vals), 0,
NULL, HFILL }},
{ &hf_gprscdr_privacyOverride,
{ "privacyOverride", "gprscdr.privacyOverride",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_gprscdr_location,
{ "location", "gprscdr.location",
FT_NONE, BASE_NONE, NULL, 0,
"LocationAreaAndCell", HFILL }},
{ &hf_gprscdr_locationEstimate,
{ "locationEstimate", "gprscdr.locationEstimate",
FT_BYTES, BASE_NONE, NULL, 0,
"Ext_GeographicalInformation", HFILL }},
{ &hf_gprscdr_positioningData,
{ "positioningData", "gprscdr.positioningData",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_gprscdr_lcsCause,
{ "lcsCause", "gprscdr.lcsCause",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_gprscdr_locationMethod,
{ "locationMethod", "gprscdr.locationMethod",
FT_UINT32, BASE_DEC, VALS(gsm_ss_LocationMethod_vals), 0,
NULL, HFILL }},
{ &hf_gprscdr_listofDownstreamNodes,
{ "listofDownstreamNodes", "gprscdr.listofDownstreamNodes",
FT_UINT32, BASE_DEC, NULL, 0,
@ -2621,6 +2284,10 @@ proto_register_gprscdr(void)
{ "routingAreaCode", "gprscdr.routingAreaCode",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_gprscdr_cellId,
{ "cellId", "gprscdr.cellId",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_gprscdr_iPAddress,
{ "iPAddress", "gprscdr.iPAddress",
FT_UINT32, BASE_DEC, VALS(gprscdr_IPAddress_vals), 0,
@ -2695,7 +2362,7 @@ proto_register_gprscdr(void)
NULL, HFILL }},
/*--- End of included file: packet-gprscdr-hfarr.c ---*/
#line 64 "../../asn1/gprscdr/packet-gprscdr-template.c"
#line 62 "../../asn1/gprscdr/packet-gprscdr-template.c"
};
/* List of subtrees */
@ -2709,9 +2376,7 @@ proto_register_gprscdr(void)
&ett_gprscdr_IPAddress,
&ett_gprscdr_IPBinaryAddress,
&ett_gprscdr_IPTextRepresentedAddress,
&ett_gprscdr_LCSClientIdentity,
&ett_gprscdr_LevelOfCAMELService,
&ett_gprscdr_LocationAreaAndCell,
&ett_gprscdr_ManagementExtensions,
&ett_gprscdr_ManagementExtension,
&ett_gprscdr_GPRSCallEventRecord,
@ -2725,9 +2390,6 @@ proto_register_gprscdr(void)
&ett_gprscdr_SGSNPDPRecord,
&ett_gprscdr_SGSNSMORecord,
&ett_gprscdr_SGSNSMTRecord,
&ett_gprscdr_SGSNMTLCSRecord,
&ett_gprscdr_SGSNMOLCSRecord,
&ett_gprscdr_SGSNNILCSRecord,
&ett_gprscdr_SGSNMBMSRecord,
&ett_gprscdr_SEQUENCE_OF_RouteingAreaCode,
&ett_gprscdr_GGSNMBMSRecord,
@ -2742,7 +2404,7 @@ proto_register_gprscdr(void)
&ett_gprscdr_MBMSInformation,
/*--- End of included file: packet-gprscdr-ettarr.c ---*/
#line 71 "../../asn1/gprscdr/packet-gprscdr-template.c"
#line 69 "../../asn1/gprscdr/packet-gprscdr-template.c"
};
proto_gprscdr = proto_register_protocol(PNAME, PSNAME, PFNAME);

View File

@ -1,7 +1,7 @@
/* Do not modify this file. */
/* It is created automatically by the ASN.1 to Wireshark dissector compiler */
/* packet-gprscdr.h */
/* ../../tools/asn2wrs.py -b -e -p gprscdr -c ./gprscdr.cnf -s ./packet-gprscdr-template -D . 3GPPGenericChargingDataTypes.asn GPRSChargingDataTypes.asn */
/* ../../tools/asn2wrs.py -b -e -p gprscdr -c ./gprscdr.cnf -s ./packet-gprscdr-template -D . -O ../../epan/dissectors 3GPPGenericChargingDataTypes.asn GPRSChargingDataTypes.asn */
/* Input file: packet-gprscdr-template.h */

View File

@ -1,7 +1,7 @@
/* Do not modify this file. */
/* It is created automatically by the ASN.1 to Wireshark dissector compiler */
/* packet-tetra.c */
/* ../../tools/asn2wrs.py -u -p tetra -c ./tetra.cnf -s ./packet-tetra-template -D . tetra.asn */
/* ../../tools/asn2wrs.py -u -p tetra -c ./tetra.cnf -s ./packet-tetra-template -D . -O ../../epan/dissectors tetra.asn */
/* Input file: packet-tetra-template.c */
@ -96,7 +96,6 @@ static int hf_tetra_AACH_PDU = -1; /* AACH */
static int hf_tetra_BSCH_PDU = -1; /* BSCH */
static int hf_tetra_BNCH_PDU = -1; /* BNCH */
static int hf_tetra_MAC_ACCESS_PDU = -1; /* MAC_ACCESS */
static int hf_tetra_MAC_DATA_PDU = -1; /* MAC_DATA */
static int hf_tetra_MAC_FRAG_PDU = -1; /* MAC_FRAG */
static int hf_tetra_MAC_FRAG120_PDU = -1; /* MAC_FRAG120 */
static int hf_tetra_MAC_END_UPLINK_PDU = -1; /* MAC_END_UPLINK */
@ -242,9 +241,6 @@ static int hf_tetra_capacityRequest = -1; /* FRAG */
static int hf_tetra_tm_sdu_01 = -1; /* U_LLC_PDU */
static int hf_tetra_frag = -1; /* Frag1 */
static int hf_tetra_reservation_requirement = -1; /* SLOT_APPLY */
static int hf_tetra_lengthIndicationOrCapacityRequest_01 = -1; /* T_lengthIndicationOrCapacityRequest_01 */
static int hf_tetra_lengthIndication_01 = -1; /* LengthIndicationMacData */
static int hf_tetra_capacityRequest_01 = -1; /* FRAG6 */
static int hf_tetra_sub_type = -1; /* INTEGER_0_1 */
static int hf_tetra_tm_sdu_02 = -1; /* BIT_STRING_SIZE_264 */
static int hf_tetra_tm_sdu_03 = -1; /* BIT_STRING_SIZE_120 */
@ -256,7 +252,7 @@ static int hf_tetra_lengthInd_ReservationReq_01 = -1; /* T_lengthInd_Reservatio
static int hf_tetra_lengthInd = -1; /* LengthIndMacHu */
static int hf_tetra_tm_sdu_06 = -1; /* BIT_STRING_SIZE_85 */
static int hf_tetra_position_of_grant = -1; /* Position_Of_Grant */
static int hf_tetra_lengthIndication_02 = -1; /* LengthIndicationMacEndDl */
static int hf_tetra_lengthIndication_01 = -1; /* LengthIndicationMacEndDl */
static int hf_tetra_slot_granting = -1; /* T_slot_granting */
static int hf_tetra_none = -1; /* NULL */
static int hf_tetra_slot_granting_param = -1; /* SlotGranting */
@ -288,7 +284,7 @@ static int hf_tetra_channel_allocation_01 = -1; /* T_channel_allocation_01 */
static int hf_tetra_tm_sdu_08 = -1; /* BIT_STRING_SIZE_111 */
static int hf_tetra_encryption_mode = -1; /* INTEGER_0_3 */
static int hf_tetra_access_ack = -1; /* T_access_ack */
static int hf_tetra_lengthIndication_03 = -1; /* LengthIndicationMacResource */
static int hf_tetra_lengthIndication_02 = -1; /* LengthIndicationMacResource */
static int hf_tetra_address_01 = -1; /* AddressMacResource */
static int hf_tetra_power_control = -1; /* T_power_control */
static int hf_tetra_powerParameters = -1; /* PowerControl */
@ -308,8 +304,6 @@ static int hf_tetra_eventlabel = -1; /* INTEGER_0_1023 */
static int hf_tetra_ventlabel = -1; /* INTEGER_0_1023 */
static int hf_tetra_usage_maker = -1; /* INTEGER_0_63 */
static int hf_tetra_smi_eventlabel = -1; /* BIT_STRING_SIZE_34 */
static int hf_tetra_freq_band = -1; /* INTEGER_0_15 */
static int hf_tetra_reverse_operation_02 = -1; /* BOOLEAN */
static int hf_tetra_broadcast_channel = -1; /* INTEGER_0_1 */
static int hf_tetra_access_code = -1; /* INTEGER_0_3 */
static int hf_tetra_imm_01 = -1; /* INTEGER_0_15 */
@ -677,11 +671,6 @@ static int hf_tetra_optional_elements_25 = -1; /* T_optional_elements_25 */
static int hf_tetra_type2_element_03 = -1; /* T_type2_element_03 */
static int hf_tetra_type3_05 = -1; /* T_type3_05 */
static int hf_tetra_type3_elements_05 = -1; /* T_type3_elements_05 */
static int hf_tetra_encryption_flag = -1; /* INTEGER_0_1 */
static int hf_tetra_communication_type = -1; /* CALLMODE */
static int hf_tetra_speech_service = -1; /* INTEGER_0_3 */
static int hf_tetra_communication_type_01 = -1; /* INTEGER_0_3 */
static int hf_tetra_slots_per_frame = -1; /* INTEGER_0_3 */
static int hf_tetra_called_party_sna = -1; /* INTEGER_0_255 */
static int hf_tetra_called_party_ssi = -1; /* INTEGER_0_16777215 */
static int hf_tetra_called_party_ssi_extention = -1; /* T_called_party_ssi_extention */
@ -730,9 +719,6 @@ static gint ett_tetra_U_MLE_PDU = -1;
static gint ett_tetra_ComplexSDU = -1;
static gint ett_tetra_T_lengthIndicationOrCapacityRequest = -1;
static gint ett_tetra_FRAG = -1;
static gint ett_tetra_MAC_DATA = -1;
static gint ett_tetra_T_lengthIndicationOrCapacityRequest_01 = -1;
static gint ett_tetra_FRAG6 = -1;
static gint ett_tetra_MAC_FRAG = -1;
static gint ett_tetra_MAC_FRAG120 = -1;
static gint ett_tetra_MAC_END_UPLINK = -1;
@ -763,7 +749,6 @@ static gint ett_tetra_SMI_NEED = -1;
static gint ett_tetra_SSI_EVENT_NEED = -1;
static gint ett_tetra_SSI_USAGE_NEED = -1;
static gint ett_tetra_SMI_EVENT_NEED = -1;
static gint ett_tetra_ExtendCarrier = -1;
static gint ett_tetra_MAC_ACCESS_DEFINE = -1;
static gint ett_tetra_T_optional_field = -1;
static gint ett_tetra_D_LLC_PDU = -1;
@ -970,8 +955,6 @@ static gint ett_tetra_T_optional_elements_25 = -1;
static gint ett_tetra_T_type2_element_03 = -1;
static gint ett_tetra_T_type3_05 = -1;
static gint ett_tetra_T_type3_elements_05 = -1;
static gint ett_tetra_SPEECHMODE = -1;
static gint ett_tetra_DATAMODE = -1;
static gint ett_tetra_Calling_party_address_type = -1;
static gint ett_tetra_T_called_party_ssi_extention = -1;
static gint ett_tetra_Proprietary = -1;
@ -2528,7 +2511,7 @@ static const per_sequence_t U_LOCATION_UPDATE_DEMAND_sequence[] = {
int
dissect_tetra_U_LOCATION_UPDATE_DEMAND(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 93 "../../asn1/tetra/tetra.cnf"
#line 102 "../../asn1/tetra/tetra.cnf"
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_tetra_U_LOCATION_UPDATE_DEMAND, U_LOCATION_UPDATE_DEMAND_sequence);
@ -2563,7 +2546,7 @@ static const per_sequence_t U_MM_STATUS_sequence[] = {
int
dissect_tetra_U_MM_STATUS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 229 "../../asn1/tetra/tetra.cnf"
#line 238 "../../asn1/tetra/tetra.cnf"
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_tetra_U_MM_STATUS, U_MM_STATUS_sequence);
@ -2790,7 +2773,7 @@ static const per_sequence_t U_ATTACH_DETACH_GROUP_IDENTITY_sequence[] = {
int
dissect_tetra_U_ATTACH_DETACH_GROUP_IDENTITY(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 239 "../../asn1/tetra/tetra.cnf"
#line 248 "../../asn1/tetra/tetra.cnf"
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_tetra_U_ATTACH_DETACH_GROUP_IDENTITY, U_ATTACH_DETACH_GROUP_IDENTITY_sequence);
@ -2885,7 +2868,7 @@ static const per_sequence_t U_ATTACH_DETACH_GROUP_IDENTITY_ACK_sequence[] = {
int
dissect_tetra_U_ATTACH_DETACH_GROUP_IDENTITY_ACK(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 244 "../../asn1/tetra/tetra.cnf"
#line 253 "../../asn1/tetra/tetra.cnf"
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_tetra_U_ATTACH_DETACH_GROUP_IDENTITY_ACK, U_ATTACH_DETACH_GROUP_IDENTITY_ACK_sequence);
@ -3177,7 +3160,7 @@ static const per_sequence_t U_ALERT_sequence[] = {
int
dissect_tetra_U_ALERT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 178 "../../asn1/tetra/tetra.cnf"
#line 187 "../../asn1/tetra/tetra.cnf"
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_tetra_U_ALERT, U_ALERT_sequence);
@ -3295,7 +3278,7 @@ static const per_sequence_t U_CONNECT_sequence[] = {
int
dissect_tetra_U_CONNECT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 183 "../../asn1/tetra/tetra.cnf"
#line 192 "../../asn1/tetra/tetra.cnf"
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_tetra_U_CONNECT, U_CONNECT_sequence);
@ -3383,7 +3366,7 @@ static const per_sequence_t U_DISCONNECT_sequence[] = {
int
dissect_tetra_U_DISCONNECT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 188 "../../asn1/tetra/tetra.cnf"
#line 197 "../../asn1/tetra/tetra.cnf"
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_tetra_U_DISCONNECT, U_DISCONNECT_sequence);
@ -3417,7 +3400,7 @@ static const per_sequence_t U_RELEASE_sequence[] = {
int
dissect_tetra_U_RELEASE(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 70 "../../asn1/tetra/tetra.cnf"
#line 79 "../../asn1/tetra/tetra.cnf"
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_tetra_U_RELEASE, U_RELEASE_sequence);
@ -3592,7 +3575,7 @@ static const per_sequence_t U_SETUP_sequence[] = {
int
dissect_tetra_U_SETUP(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 198 "../../asn1/tetra/tetra.cnf"
#line 207 "../../asn1/tetra/tetra.cnf"
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_tetra_U_SETUP, U_SETUP_sequence);
@ -3648,7 +3631,7 @@ static const per_sequence_t U_STATUS_sequence[] = {
int
dissect_tetra_U_STATUS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 203 "../../asn1/tetra/tetra.cnf"
#line 212 "../../asn1/tetra/tetra.cnf"
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_tetra_U_STATUS, U_STATUS_sequence);
@ -3725,7 +3708,7 @@ static const per_sequence_t U_TX_CEASED_sequence[] = {
int
dissect_tetra_U_TX_CEASED(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 223 "../../asn1/tetra/tetra.cnf"
#line 232 "../../asn1/tetra/tetra.cnf"
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_tetra_U_TX_CEASED, U_TX_CEASED_sequence);
@ -3805,7 +3788,7 @@ static const per_sequence_t U_TX_DEMAND_sequence[] = {
int
dissect_tetra_U_TX_DEMAND(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 218 "../../asn1/tetra/tetra.cnf"
#line 227 "../../asn1/tetra/tetra.cnf"
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_tetra_U_TX_DEMAND, U_TX_DEMAND_sequence);
@ -3894,7 +3877,7 @@ static const per_sequence_t U_CALL_RESTORE_sequence[] = {
int
dissect_tetra_U_CALL_RESTORE(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 213 "../../asn1/tetra/tetra.cnf"
#line 222 "../../asn1/tetra/tetra.cnf"
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_tetra_U_CALL_RESTORE, U_CALL_RESTORE_sequence);
@ -3986,7 +3969,7 @@ static const per_sequence_t U_SDS_DATA_sequence[] = {
int
dissect_tetra_U_SDS_DATA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 208 "../../asn1/tetra/tetra.cnf"
#line 217 "../../asn1/tetra/tetra.cnf"
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_tetra_U_SDS_DATA, U_SDS_DATA_sequence);
@ -4655,141 +4638,6 @@ dissect_tetra_MAC_ACCESS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_
}
static const value_string tetra_LengthIndicationMacData_vals[] = {
{ 0, "null" },
{ 1, "reserved-1" },
{ 2, "reserved-2" },
{ 3, "bits-24" },
{ 4, "bits-32" },
{ 5, "bits-40" },
{ 6, "bits-48" },
{ 7, "bits-56" },
{ 8, "bits-64" },
{ 9, "bits-72" },
{ 10, "bits-80" },
{ 11, "bits-88" },
{ 12, "bits-96" },
{ 13, "bits-104" },
{ 14, "bits-112" },
{ 15, "bits-120" },
{ 16, "bits-128" },
{ 17, "bits-136" },
{ 18, "bits-144" },
{ 19, "bits-152" },
{ 20, "bits-160" },
{ 21, "bits-168" },
{ 22, "bits-176" },
{ 23, "bits-184" },
{ 24, "bits-192" },
{ 25, "bits-200" },
{ 26, "bits-208" },
{ 27, "bits-216" },
{ 28, "bits-224" },
{ 29, "bits-232" },
{ 30, "bits-240" },
{ 31, "bits-248" },
{ 32, "bits-256" },
{ 33, "bits-264" },
{ 34, "bits-272" },
{ 35, "reserved-35" },
{ 36, "reserved-36" },
{ 37, "reserved-37" },
{ 38, "reserved-38" },
{ 39, "reserved-39" },
{ 40, "reserved-40" },
{ 41, "reserved-41" },
{ 42, "reserved-42" },
{ 43, "reserved-43" },
{ 44, "reserved-44" },
{ 45, "reserved-45" },
{ 46, "reserved-46" },
{ 47, "reserved-47" },
{ 48, "reserved-48" },
{ 49, "reserved-49" },
{ 50, "reserved-50" },
{ 51, "reserved-51" },
{ 52, "reserved-52" },
{ 53, "reserved-53" },
{ 54, "reserved-54" },
{ 55, "reserved-55" },
{ 56, "reserved-56" },
{ 57, "reserved-57" },
{ 58, "reserved-58" },
{ 59, "reserved-59" },
{ 60, "reserved-60" },
{ 61, "reserved-61" },
{ 62, "second-halfslot-stolen" },
{ 63, "start-frag" },
{ 0, NULL }
};
static int
dissect_tetra_LengthIndicationMacData(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
64, NULL, FALSE, 0, NULL);
return offset;
}
static const per_sequence_t FRAG6_sequence[] = {
{ &hf_tetra_frag , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_tetra_Frag1 },
{ &hf_tetra_reservation_requirement, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_tetra_SLOT_APPLY },
{ &hf_tetra_reserved_01 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_tetra_INTEGER_0_1 },
{ NULL, 0, 0, NULL }
};
static int
dissect_tetra_FRAG6(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_tetra_FRAG6, FRAG6_sequence);
return offset;
}
static const value_string tetra_T_lengthIndicationOrCapacityRequest_01_vals[] = {
{ 0, "lengthIndication" },
{ 1, "capacityRequest" },
{ 0, NULL }
};
static const per_choice_t T_lengthIndicationOrCapacityRequest_01_choice[] = {
{ 0, &hf_tetra_lengthIndication_01, ASN1_NO_EXTENSIONS , dissect_tetra_LengthIndicationMacData },
{ 1, &hf_tetra_capacityRequest_01, ASN1_NO_EXTENSIONS , dissect_tetra_FRAG6 },
{ 0, NULL, 0, NULL }
};
static int
dissect_tetra_T_lengthIndicationOrCapacityRequest_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_tetra_T_lengthIndicationOrCapacityRequest_01, T_lengthIndicationOrCapacityRequest_01_choice,
NULL);
return offset;
}
static const per_sequence_t MAC_DATA_sequence[] = {
{ &hf_tetra_pdu_type , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_tetra_INTEGER_0_3 },
{ &hf_tetra_fill_bit_indication, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_tetra_Fill_Bit_Indication },
{ &hf_tetra_encrypted_flag, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_tetra_Encrypted_Flag },
{ &hf_tetra_address , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_tetra_Address },
{ &hf_tetra_lengthIndicationOrCapacityRequest_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_tetra_T_lengthIndicationOrCapacityRequest_01 },
{ &hf_tetra_tm_sdu_01 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_tetra_U_LLC_PDU },
{ NULL, 0, 0, NULL }
};
static int
dissect_tetra_MAC_DATA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_tetra_MAC_DATA, MAC_DATA_sequence);
return offset;
}
static int
dissect_tetra_BIT_STRING_SIZE_264(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
@ -5503,7 +5351,7 @@ static const per_sequence_t MAC_END_DOWNLINK_sequence[] = {
{ &hf_tetra_sub_type , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_tetra_INTEGER_0_1 },
{ &hf_tetra_fill_bit_indication, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_tetra_Fill_Bit_Indication },
{ &hf_tetra_position_of_grant, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_tetra_Position_Of_Grant },
{ &hf_tetra_lengthIndication_02, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_tetra_LengthIndicationMacEndDl },
{ &hf_tetra_lengthIndication_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_tetra_LengthIndicationMacEndDl },
{ &hf_tetra_slot_granting , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_tetra_T_slot_granting },
{ &hf_tetra_channel_allocation, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_tetra_T_channel_allocation },
{ &hf_tetra_tm_sdu_07 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_tetra_BIT_STRING_SIZE_255 },
@ -5577,7 +5425,7 @@ static const per_sequence_t MAC_END_DOWN111_sequence[] = {
{ &hf_tetra_pdu_type_02 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_tetra_INTEGER_0_7 },
{ &hf_tetra_fill_bit_ind , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_tetra_BOOLEAN },
{ &hf_tetra_position_of_grant_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_tetra_INTEGER_0_1 },
{ &hf_tetra_lengthIndication_02, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_tetra_LengthIndicationMacEndDl },
{ &hf_tetra_lengthIndication_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_tetra_LengthIndicationMacEndDl },
{ &hf_tetra_slot_granting_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_tetra_T_slot_granting_01 },
{ &hf_tetra_channel_allocation_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_tetra_T_channel_allocation_01 },
{ &hf_tetra_tm_sdu_08 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_tetra_BIT_STRING_SIZE_111 },
@ -6104,7 +5952,7 @@ static const per_sequence_t D_LOCATION_UPDATE_ACCEPT_sequence[] = {
int
dissect_tetra_D_LOCATION_UPDATE_ACCEPT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 99 "../../asn1/tetra/tetra.cnf"
#line 108 "../../asn1/tetra/tetra.cnf"
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_tetra_D_LOCATION_UPDATE_ACCEPT, D_LOCATION_UPDATE_ACCEPT_sequence);
@ -6124,7 +5972,7 @@ static const per_sequence_t D_LOCATION_UPDATE_REJECT_sequence[] = {
int
dissect_tetra_D_LOCATION_UPDATE_REJECT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 249 "../../asn1/tetra/tetra.cnf"
#line 258 "../../asn1/tetra/tetra.cnf"
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_tetra_D_LOCATION_UPDATE_REJECT, D_LOCATION_UPDATE_REJECT_sequence);
@ -6343,7 +6191,7 @@ static const per_sequence_t D_ATTACH_DETACH_GROUP_IDENTITY_sequence[] = {
int
dissect_tetra_D_ATTACH_DETACH_GROUP_IDENTITY(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 254 "../../asn1/tetra/tetra.cnf"
#line 263 "../../asn1/tetra/tetra.cnf"
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_tetra_D_ATTACH_DETACH_GROUP_IDENTITY, D_ATTACH_DETACH_GROUP_IDENTITY_sequence);
@ -6438,7 +6286,7 @@ static const per_sequence_t D_ATTACH_DETACH_GROUP_IDENTITY_ACK_sequence[] = {
int
dissect_tetra_D_ATTACH_DETACH_GROUP_IDENTITY_ACK(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 259 "../../asn1/tetra/tetra.cnf"
#line 268 "../../asn1/tetra/tetra.cnf"
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_tetra_D_ATTACH_DETACH_GROUP_IDENTITY_ACK, D_ATTACH_DETACH_GROUP_IDENTITY_ACK_sequence);
@ -6456,7 +6304,7 @@ static const per_sequence_t D_MM_STATUS_sequence[] = {
int
dissect_tetra_D_MM_STATUS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 234 "../../asn1/tetra/tetra.cnf"
#line 243 "../../asn1/tetra/tetra.cnf"
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_tetra_D_MM_STATUS, D_MM_STATUS_sequence);
@ -6649,7 +6497,7 @@ static const per_sequence_t D_ALERT_sequence[] = {
int
dissect_tetra_D_ALERT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 130 "../../asn1/tetra/tetra.cnf"
#line 139 "../../asn1/tetra/tetra.cnf"
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_tetra_D_ALERT, D_ALERT_sequence);
@ -6798,7 +6646,7 @@ static const per_sequence_t D_CALL_PROCEEDING_sequence[] = {
int
dissect_tetra_D_CALL_PROCEEDING(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 82 "../../asn1/tetra/tetra.cnf"
#line 91 "../../asn1/tetra/tetra.cnf"
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_tetra_D_CALL_PROCEEDING, D_CALL_PROCEEDING_sequence);
@ -6989,7 +6837,7 @@ static const per_sequence_t D_CONNECT_sequence[] = {
int
dissect_tetra_D_CONNECT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 105 "../../asn1/tetra/tetra.cnf"
#line 114 "../../asn1/tetra/tetra.cnf"
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_tetra_D_CONNECT, D_CONNECT_sequence);
@ -7092,7 +6940,7 @@ static const per_sequence_t D_CONNECT_ACK_sequence[] = {
int
dissect_tetra_D_CONNECT_ACK(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 115 "../../asn1/tetra/tetra.cnf"
#line 124 "../../asn1/tetra/tetra.cnf"
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_tetra_D_CONNECT_ACK, D_CONNECT_ACK_sequence);
@ -7111,7 +6959,7 @@ static const per_sequence_t D_DISCONNECT_sequence[] = {
int
dissect_tetra_D_DISCONNECT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 125 "../../asn1/tetra/tetra.cnf"
#line 134 "../../asn1/tetra/tetra.cnf"
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_tetra_D_DISCONNECT, D_DISCONNECT_sequence);
@ -7131,7 +6979,7 @@ static const per_sequence_t D_INFO_sequence[] = {
int
dissect_tetra_D_INFO(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 120 "../../asn1/tetra/tetra.cnf"
#line 129 "../../asn1/tetra/tetra.cnf"
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_tetra_D_INFO, D_INFO_sequence);
@ -7232,7 +7080,7 @@ static const per_sequence_t D_RELEASE_sequence[] = {
int
dissect_tetra_D_RELEASE(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 75 "../../asn1/tetra/tetra.cnf"
#line 84 "../../asn1/tetra/tetra.cnf"
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_tetra_D_RELEASE, D_RELEASE_sequence);
@ -7382,7 +7230,7 @@ static const per_sequence_t D_SETUP_sequence[] = {
int
dissect_tetra_D_SETUP(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 87 "../../asn1/tetra/tetra.cnf"
#line 96 "../../asn1/tetra/tetra.cnf"
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_tetra_D_SETUP, D_SETUP_sequence);
@ -7437,7 +7285,7 @@ static const per_sequence_t D_STATUS_sequence[] = {
int
dissect_tetra_D_STATUS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 141 "../../asn1/tetra/tetra.cnf"
#line 150 "../../asn1/tetra/tetra.cnf"
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_tetra_D_STATUS, D_STATUS_sequence);
@ -7538,7 +7386,7 @@ static const per_sequence_t D_TX_CEASED_sequence[] = {
int
dissect_tetra_D_TX_CEASED(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 135 "../../asn1/tetra/tetra.cnf"
#line 144 "../../asn1/tetra/tetra.cnf"
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_tetra_D_TX_CEASED, D_TX_CEASED_sequence);
@ -7558,7 +7406,7 @@ static const per_sequence_t D_TX_CONTINUE_sequence[] = {
int
dissect_tetra_D_TX_CONTINUE(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 146 "../../asn1/tetra/tetra.cnf"
#line 155 "../../asn1/tetra/tetra.cnf"
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_tetra_D_TX_CONTINUE, D_TX_CONTINUE_sequence);
@ -7580,7 +7428,7 @@ static const per_sequence_t D_TX_GRANTED_sequence[] = {
int
dissect_tetra_D_TX_GRANTED(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 151 "../../asn1/tetra/tetra.cnf"
#line 160 "../../asn1/tetra/tetra.cnf"
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_tetra_D_TX_GRANTED, D_TX_GRANTED_sequence);
@ -7600,7 +7448,7 @@ static const per_sequence_t D_TX_WAIT_sequence[] = {
int
dissect_tetra_D_TX_WAIT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 157 "../../asn1/tetra/tetra.cnf"
#line 166 "../../asn1/tetra/tetra.cnf"
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_tetra_D_TX_WAIT, D_TX_WAIT_sequence);
@ -7830,7 +7678,7 @@ static const per_sequence_t D_CALL_RESTORE_sequence[] = {
int
dissect_tetra_D_CALL_RESTORE(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 162 "../../asn1/tetra/tetra.cnf"
#line 171 "../../asn1/tetra/tetra.cnf"
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_tetra_D_CALL_RESTORE, D_CALL_RESTORE_sequence);
@ -7911,7 +7759,7 @@ static const per_sequence_t D_SDS_DATA_sequence[] = {
int
dissect_tetra_D_SDS_DATA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 167 "../../asn1/tetra/tetra.cnf"
#line 176 "../../asn1/tetra/tetra.cnf"
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_tetra_D_SDS_DATA, D_SDS_DATA_sequence);
@ -8616,7 +8464,7 @@ static const per_sequence_t MAC_RESOURCE_sequence[] = {
{ &hf_tetra_position_of_grant, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_tetra_Position_Of_Grant },
{ &hf_tetra_encryption_mode, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_tetra_INTEGER_0_3 },
{ &hf_tetra_access_ack , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_tetra_T_access_ack },
{ &hf_tetra_lengthIndication_03, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_tetra_LengthIndicationMacResource },
{ &hf_tetra_lengthIndication_02, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_tetra_LengthIndicationMacResource },
{ &hf_tetra_address_01 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_tetra_AddressMacResource },
{ NULL, 0, 0, NULL }
};
@ -8630,23 +8478,6 @@ dissect_tetra_MAC_RESOURCE(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _
}
static const per_sequence_t ExtendCarrier_sequence[] = {
{ &hf_tetra_freq_band , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_tetra_INTEGER_0_15 },
{ &hf_tetra_offset_01 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_tetra_INTEGER_0_3 },
{ &hf_tetra_duplex_spacing, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_tetra_INTEGER_0_7 },
{ &hf_tetra_reverse_operation_02, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_tetra_BOOLEAN },
{ NULL, 0, 0, NULL }
};
static int
dissect_tetra_ExtendCarrier(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_tetra_ExtendCarrier, ExtendCarrier_sequence);
return offset;
}
static int
dissect_tetra_INTEGER_0_33554431(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
@ -8707,56 +8538,6 @@ dissect_tetra_MAC_ACCESS_DEFINE(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *a
return offset;
}
static const value_string tetra_CALLMODE_vals[] = {
{ 0, "single-call" },
{ 1, "group-call" },
{ 2, "reserve" },
{ 3, "broadcase" },
{ 0, NULL }
};
static int
dissect_tetra_CALLMODE(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
4, NULL, FALSE, 0, NULL);
return offset;
}
static const per_sequence_t SPEECHMODE_sequence[] = {
{ &hf_tetra_encryption_flag, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_tetra_INTEGER_0_1 },
{ &hf_tetra_communication_type, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_tetra_CALLMODE },
{ &hf_tetra_speech_service, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_tetra_INTEGER_0_3 },
{ NULL, 0, 0, NULL }
};
static int
dissect_tetra_SPEECHMODE(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_tetra_SPEECHMODE, SPEECHMODE_sequence);
return offset;
}
static const per_sequence_t DATAMODE_sequence[] = {
{ &hf_tetra_encryption_flag, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_tetra_INTEGER_0_1 },
{ &hf_tetra_communication_type_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_tetra_INTEGER_0_3 },
{ &hf_tetra_slots_per_frame, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_tetra_INTEGER_0_3 },
{ NULL, 0, 0, NULL }
};
static int
dissect_tetra_DATAMODE(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_tetra_DATAMODE, DATAMODE_sequence);
return offset;
}
/*--- PDUs ---*/
static void dissect_AACH_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
@ -8779,11 +8560,6 @@ static void dissect_MAC_ACCESS_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, pr
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
dissect_tetra_MAC_ACCESS(tvb, 0, &asn1_ctx, tree, hf_tetra_MAC_ACCESS_PDU);
}
static void dissect_MAC_DATA_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
dissect_tetra_MAC_DATA(tvb, 0, &asn1_ctx, tree, hf_tetra_MAC_DATA_PDU);
}
static void dissect_MAC_FRAG_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
@ -9360,10 +9136,6 @@ void proto_register_tetra (void)
{ "MAC-ACCESS", "tetra.MAC_ACCESS",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_tetra_MAC_DATA_PDU,
{ "MAC-DATA", "tetra.MAC_DATA",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_tetra_MAC_FRAG_PDU,
{ "MAC-FRAG", "tetra.MAC_FRAG",
FT_NONE, BASE_NONE, NULL, 0,
@ -9944,18 +9716,6 @@ void proto_register_tetra (void)
{ "reservation-requirement", "tetra.reservation_requirement",
FT_UINT32, BASE_DEC, VALS(tetra_SLOT_APPLY_vals), 0,
"SLOT_APPLY", HFILL }},
{ &hf_tetra_lengthIndicationOrCapacityRequest_01,
{ "lengthIndicationOrCapacityRequest", "tetra.lengthIndicationOrCapacityRequest",
FT_UINT32, BASE_DEC, VALS(tetra_T_lengthIndicationOrCapacityRequest_01_vals), 0,
"T_lengthIndicationOrCapacityRequest_01", HFILL }},
{ &hf_tetra_lengthIndication_01,
{ "lengthIndication", "tetra.lengthIndication",
FT_UINT32, BASE_DEC, VALS(tetra_LengthIndicationMacData_vals), 0,
"LengthIndicationMacData", HFILL }},
{ &hf_tetra_capacityRequest_01,
{ "capacityRequest", "tetra.capacityRequest",
FT_NONE, BASE_NONE, NULL, 0,
"FRAG6", HFILL }},
{ &hf_tetra_sub_type,
{ "sub-type", "tetra.sub_type",
FT_UINT32, BASE_DEC, NULL, 0,
@ -10000,7 +9760,7 @@ void proto_register_tetra (void)
{ "position-of-grant", "tetra.position_of_grant",
FT_UINT32, BASE_DEC, VALS(tetra_Position_Of_Grant_vals), 0,
NULL, HFILL }},
{ &hf_tetra_lengthIndication_02,
{ &hf_tetra_lengthIndication_01,
{ "lengthIndication", "tetra.lengthIndication",
FT_UINT32, BASE_DEC, VALS(tetra_LengthIndicationMacEndDl_vals), 0,
"LengthIndicationMacEndDl", HFILL }},
@ -10128,7 +9888,7 @@ void proto_register_tetra (void)
{ "access-ack", "tetra.access_ack",
FT_UINT32, BASE_DEC, VALS(tetra_T_access_ack_vals), 0,
NULL, HFILL }},
{ &hf_tetra_lengthIndication_03,
{ &hf_tetra_lengthIndication_02,
{ "lengthIndication", "tetra.lengthIndication",
FT_UINT32, BASE_DEC, VALS(tetra_LengthIndicationMacResource_vals), 0,
"LengthIndicationMacResource", HFILL }},
@ -10208,14 +9968,6 @@ void proto_register_tetra (void)
{ "smi-eventlabel", "tetra.smi_eventlabel",
FT_BYTES, BASE_NONE, NULL, 0,
"BIT_STRING_SIZE_34", HFILL }},
{ &hf_tetra_freq_band,
{ "freq-band", "tetra.freq_band",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_15", HFILL }},
{ &hf_tetra_reverse_operation_02,
{ "reverse-operation", "tetra.reverse_operation",
FT_BOOLEAN, BASE_NONE, NULL, 0,
"BOOLEAN", HFILL }},
{ &hf_tetra_broadcast_channel,
{ "broadcast-channel", "tetra.broadcast_channel",
FT_UINT32, BASE_DEC, NULL, 0,
@ -11684,26 +11436,6 @@ void proto_register_tetra (void)
{ "type3-elements", "tetra.type3_elements",
FT_NONE, BASE_NONE, NULL, 0,
"T_type3_elements_05", HFILL }},
{ &hf_tetra_encryption_flag,
{ "encryption-flag", "tetra.encryption_flag",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_1", HFILL }},
{ &hf_tetra_communication_type,
{ "communication-type", "tetra.communication_type",
FT_UINT32, BASE_DEC, VALS(tetra_CALLMODE_vals), 0,
"CALLMODE", HFILL }},
{ &hf_tetra_speech_service,
{ "speech-service", "tetra.speech_service",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_3", HFILL }},
{ &hf_tetra_communication_type_01,
{ "communication-type", "tetra.communication_type",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_3", HFILL }},
{ &hf_tetra_slots_per_frame,
{ "slots-per-frame", "tetra.slots_per_frame",
FT_UINT32, BASE_DEC, NULL, 0,
"INTEGER_0_3", HFILL }},
{ &hf_tetra_called_party_sna,
{ "called-party-sna", "tetra.called_party_sna",
FT_UINT32, BASE_DEC, NULL, 0,
@ -11782,9 +11514,6 @@ void proto_register_tetra (void)
&ett_tetra_ComplexSDU,
&ett_tetra_T_lengthIndicationOrCapacityRequest,
&ett_tetra_FRAG,
&ett_tetra_MAC_DATA,
&ett_tetra_T_lengthIndicationOrCapacityRequest_01,
&ett_tetra_FRAG6,
&ett_tetra_MAC_FRAG,
&ett_tetra_MAC_FRAG120,
&ett_tetra_MAC_END_UPLINK,
@ -11815,7 +11544,6 @@ void proto_register_tetra (void)
&ett_tetra_SSI_EVENT_NEED,
&ett_tetra_SSI_USAGE_NEED,
&ett_tetra_SMI_EVENT_NEED,
&ett_tetra_ExtendCarrier,
&ett_tetra_MAC_ACCESS_DEFINE,
&ett_tetra_T_optional_field,
&ett_tetra_D_LLC_PDU,
@ -12022,8 +11750,6 @@ void proto_register_tetra (void)
&ett_tetra_T_type2_element_03,
&ett_tetra_T_type3_05,
&ett_tetra_T_type3_elements_05,
&ett_tetra_SPEECHMODE,
&ett_tetra_DATAMODE,
&ett_tetra_Calling_party_address_type,
&ett_tetra_T_called_party_ssi_extention,
&ett_tetra_Proprietary,

View File

@ -1,7 +1,7 @@
/* Do not modify this file. */
/* It is created automatically by the ASN.1 to Wireshark dissector compiler */
/* packet-tetra.h */
/* ../../tools/asn2wrs.py -u -p tetra -c ./tetra.cnf -s ./packet-tetra-template -D . tetra.asn */
/* ../../tools/asn2wrs.py -u -p tetra -c ./tetra.cnf -s ./packet-tetra-template -D . -O ../../epan/dissectors tetra.asn */
/* Input file: packet-tetra-template.h */