1 /* Do not modify this file. Changes will be overwritten.                      */
2 /* Generated automatically by the ASN.1 to Wireshark dissector compiler       */
3 /* packet-mms.c                                                               */
4 /* asn2wrs.py -b -p mms -c ./mms.cnf -s ./packet-mms-template -D . -O ../.. mms.asn */
5 
6 /* Input file: packet-mms-template.c */
7 
8 #line 1 "./asn1/mms/packet-mms-template.c"
9 /* packet-mms_asn1.c
10  *
11  * Ronnie Sahlberg 2005
12  *
13  * Wireshark - Network traffic analyzer
14  * By Gerald Combs <gerald@wireshark.org>
15  * Copyright 1998 Gerald Combs
16  *
17  * SPDX-License-Identifier: GPL-2.0-or-later
18  */
19 
20 #include "config.h"
21 
22 #include <epan/packet.h>
23 #include <epan/prefs.h>
24 #include <epan/asn1.h>
25 #include <epan/expert.h>
26 #include <epan/proto_data.h>
27 
28 #include "packet-ber.h"
29 #include "packet-acse.h"
30 #include "packet-mms.h"
31 
32 #define PNAME  "MMS"
33 #define PSNAME "MMS"
34 #define PFNAME "mms"
35 
36 void proto_register_mms(void);
37 void proto_reg_handoff_mms(void);
38 
39 /* Initialize the protocol and registered fields */
40 static int proto_mms = -1;
41 
42 
43 /*--- Included file: packet-mms-hf.c ---*/
44 #line 1 "./asn1/mms/packet-mms-hf.c"
45 static int hf_mms_confirmed_RequestPDU = -1;      /* Confirmed_RequestPDU */
46 static int hf_mms_confirmed_ResponsePDU = -1;     /* Confirmed_ResponsePDU */
47 static int hf_mms_confirmed_ErrorPDU = -1;        /* Confirmed_ErrorPDU */
48 static int hf_mms_unconfirmed_PDU = -1;           /* Unconfirmed_PDU */
49 static int hf_mms_rejectPDU = -1;                 /* RejectPDU */
50 static int hf_mms_cancel_RequestPDU = -1;         /* Cancel_RequestPDU */
51 static int hf_mms_cancel_ResponsePDU = -1;        /* Cancel_ResponsePDU */
52 static int hf_mms_cancel_ErrorPDU = -1;           /* Cancel_ErrorPDU */
53 static int hf_mms_initiate_RequestPDU = -1;       /* Initiate_RequestPDU */
54 static int hf_mms_initiate_ResponsePDU = -1;      /* Initiate_ResponsePDU */
55 static int hf_mms_initiate_ErrorPDU = -1;         /* Initiate_ErrorPDU */
56 static int hf_mms_conclude_RequestPDU = -1;       /* Conclude_RequestPDU */
57 static int hf_mms_conclude_ResponsePDU = -1;      /* Conclude_ResponsePDU */
58 static int hf_mms_conclude_ErrorPDU = -1;         /* Conclude_ErrorPDU */
59 static int hf_mms_invokeID = -1;                  /* Unsigned32 */
60 static int hf_mms_listOfModifier = -1;            /* SEQUENCE_OF_Modifier */
61 static int hf_mms_listOfModifier_item = -1;       /* Modifier */
62 static int hf_mms_confirmedServiceRequest = -1;   /* ConfirmedServiceRequest */
63 static int hf_mms_cs_request_detail = -1;         /* CS_Request_Detail */
64 static int hf_mms_unconfirmedService = -1;        /* UnconfirmedService */
65 static int hf_mms_confirmedServiceResponse = -1;  /* ConfirmedServiceResponse */
66 static int hf_mms_modifierPosition = -1;          /* Unsigned32 */
67 static int hf_mms_serviceError = -1;              /* ServiceError */
68 static int hf_mms_informationReport = -1;         /* InformationReport */
69 static int hf_mms_unsolicitedStatus = -1;         /* UnsolicitedStatus */
70 static int hf_mms_eventNotification = -1;         /* EventNotification */
71 static int hf_mms_attach_To_Event_Condition = -1;  /* AttachToEventCondition */
72 static int hf_mms_attach_To_Semaphore = -1;       /* AttachToSemaphore */
73 static int hf_mms_status = -1;                    /* Status_Request */
74 static int hf_mms_getNameList = -1;               /* GetNameList_Request */
75 static int hf_mms_identify = -1;                  /* Identify_Request */
76 static int hf_mms_rename = -1;                    /* Rename_Request */
77 static int hf_mms_read = -1;                      /* Read_Request */
78 static int hf_mms_write = -1;                     /* Write_Request */
79 static int hf_mms_getVariableAccessAttributes = -1;  /* GetVariableAccessAttributes_Request */
80 static int hf_mms_defineNamedVariable = -1;       /* DefineNamedVariable_Request */
81 static int hf_mms_defineScatteredAccess = -1;     /* DefineScatteredAccess_Request */
82 static int hf_mms_getScatteredAccessAttributes = -1;  /* GetScatteredAccessAttributes_Request */
83 static int hf_mms_deleteVariableAccess = -1;      /* DeleteVariableAccess_Request */
84 static int hf_mms_defineNamedVariableList = -1;   /* DefineNamedVariableList_Request */
85 static int hf_mms_getNamedVariableListAttributes = -1;  /* GetNamedVariableListAttributes_Request */
86 static int hf_mms_deleteNamedVariableList = -1;   /* DeleteNamedVariableList_Request */
87 static int hf_mms_defineNamedType = -1;           /* DefineNamedType_Request */
88 static int hf_mms_getNamedTypeAttributes = -1;    /* GetNamedTypeAttributes_Request */
89 static int hf_mms_deleteNamedType = -1;           /* DeleteNamedType_Request */
90 static int hf_mms_input = -1;                     /* Input_Request */
91 static int hf_mms_output = -1;                    /* Output_Request */
92 static int hf_mms_takeControl = -1;               /* TakeControl_Request */
93 static int hf_mms_relinquishControl = -1;         /* RelinquishControl_Request */
94 static int hf_mms_defineSemaphore = -1;           /* DefineSemaphore_Request */
95 static int hf_mms_deleteSemaphore = -1;           /* DeleteSemaphore_Request */
96 static int hf_mms_reportSemaphoreStatus = -1;     /* ReportSemaphoreStatus_Request */
97 static int hf_mms_reportPoolSemaphoreStatus = -1;  /* ReportPoolSemaphoreStatus_Request */
98 static int hf_mms_reportSemaphoreEntryStatus = -1;  /* ReportSemaphoreEntryStatus_Request */
99 static int hf_mms_initiateDownloadSequence = -1;  /* InitiateDownloadSequence_Request */
100 static int hf_mms_downloadSegment = -1;           /* DownloadSegment_Request */
101 static int hf_mms_terminateDownloadSequence = -1;  /* TerminateDownloadSequence_Request */
102 static int hf_mms_initiateUploadSequence = -1;    /* InitiateUploadSequence_Request */
103 static int hf_mms_uploadSegment = -1;             /* UploadSegment_Request */
104 static int hf_mms_terminateUploadSequence = -1;   /* TerminateUploadSequence_Request */
105 static int hf_mms_requestDomainDownload = -1;     /* RequestDomainDownload_Request */
106 static int hf_mms_requestDomainUpload = -1;       /* RequestDomainUpload_Request */
107 static int hf_mms_loadDomainContent = -1;         /* LoadDomainContent_Request */
108 static int hf_mms_storeDomainContent = -1;        /* StoreDomainContent_Request */
109 static int hf_mms_deleteDomain = -1;              /* DeleteDomain_Request */
110 static int hf_mms_getDomainAttributes = -1;       /* GetDomainAttributes_Request */
111 static int hf_mms_createProgramInvocation = -1;   /* CreateProgramInvocation_Request */
112 static int hf_mms_deleteProgramInvocation = -1;   /* DeleteProgramInvocation_Request */
113 static int hf_mms_start = -1;                     /* Start_Request */
114 static int hf_mms_stop = -1;                      /* Stop_Request */
115 static int hf_mms_resume = -1;                    /* Resume_Request */
116 static int hf_mms_reset = -1;                     /* Reset_Request */
117 static int hf_mms_kill = -1;                      /* Kill_Request */
118 static int hf_mms_getProgramInvocationAttributes = -1;  /* GetProgramInvocationAttributes_Request */
119 static int hf_mms_obtainFile = -1;                /* ObtainFile_Request */
120 static int hf_mms_defineEventCondition = -1;      /* DefineEventCondition_Request */
121 static int hf_mms_confirmedServiceRequest_deleteEventCondition = -1;  /* DeleteEventCondition_Request */
122 static int hf_mms_getEventConditionAttributes = -1;  /* GetEventConditionAttributes_Request */
123 static int hf_mms_reportEventConditionStatus = -1;  /* ReportEventConditionStatus_Request */
124 static int hf_mms_alterEventConditionMonitoring = -1;  /* AlterEventConditionMonitoring_Request */
125 static int hf_mms_triggerEvent = -1;              /* TriggerEvent_Request */
126 static int hf_mms_defineEventAction = -1;         /* DefineEventAction_Request */
127 static int hf_mms_confirmedServiceRequest_deleteEventAction = -1;  /* DeleteEventAction_Request */
128 static int hf_mms_getEventActionAttributes = -1;  /* GetEventActionAttributes_Request */
129 static int hf_mms_reportEventActionStatus = -1;   /* ReportEventActionStatus_Request */
130 static int hf_mms_defineEventEnrollment = -1;     /* DefineEventEnrollment_Request */
131 static int hf_mms_confirmedServiceRequest_deleteEventEnrollment = -1;  /* DeleteEventEnrollment_Request */
132 static int hf_mms_alterEventEnrollment = -1;      /* AlterEventEnrollment_Request */
133 static int hf_mms_reportEventEnrollmentStatus = -1;  /* ReportEventEnrollmentStatus_Request */
134 static int hf_mms_getEventEnrollmentAttributes = -1;  /* GetEventEnrollmentAttributes_Request */
135 static int hf_mms_acknowledgeEventNotification = -1;  /* AcknowledgeEventNotification_Request */
136 static int hf_mms_getAlarmSummary = -1;           /* GetAlarmSummary_Request */
137 static int hf_mms_getAlarmEnrollmentSummary = -1;  /* GetAlarmEnrollmentSummary_Request */
138 static int hf_mms_readJournal = -1;               /* ReadJournal_Request */
139 static int hf_mms_writeJournal = -1;              /* WriteJournal_Request */
140 static int hf_mms_initializeJournal = -1;         /* InitializeJournal_Request */
141 static int hf_mms_reportJournalStatus = -1;       /* ReportJournalStatus_Request */
142 static int hf_mms_createJournal = -1;             /* CreateJournal_Request */
143 static int hf_mms_deleteJournal = -1;             /* DeleteJournal_Request */
144 static int hf_mms_getCapabilityList = -1;         /* GetCapabilityList_Request */
145 static int hf_mms_fileOpen = -1;                  /* FileOpen_Request */
146 static int hf_mms_fileRead = -1;                  /* FileRead_Request */
147 static int hf_mms_fileClose = -1;                 /* FileClose_Request */
148 static int hf_mms_fileRename = -1;                /* FileRename_Request */
149 static int hf_mms_fileDelete = -1;                /* FileDelete_Request */
150 static int hf_mms_fileDirectory = -1;             /* FileDirectory_Request */
151 static int hf_mms_foo = -1;                       /* INTEGER */
152 static int hf_mms_status_01 = -1;                 /* Status_Response */
153 static int hf_mms_getNameList_01 = -1;            /* GetNameList_Response */
154 static int hf_mms_identify_01 = -1;               /* Identify_Response */
155 static int hf_mms_rename_01 = -1;                 /* Rename_Response */
156 static int hf_mms_read_01 = -1;                   /* Read_Response */
157 static int hf_mms_write_01 = -1;                  /* Write_Response */
158 static int hf_mms_getVariableAccessAttributes_01 = -1;  /* GetVariableAccessAttributes_Response */
159 static int hf_mms_defineNamedVariable_01 = -1;    /* DefineNamedVariable_Response */
160 static int hf_mms_defineScatteredAccess_01 = -1;  /* DefineScatteredAccess_Response */
161 static int hf_mms_getScatteredAccessAttributes_01 = -1;  /* GetScatteredAccessAttributes_Response */
162 static int hf_mms_deleteVariableAccess_01 = -1;   /* DeleteVariableAccess_Response */
163 static int hf_mms_defineNamedVariableList_01 = -1;  /* DefineNamedVariableList_Response */
164 static int hf_mms_getNamedVariableListAttributes_01 = -1;  /* GetNamedVariableListAttributes_Response */
165 static int hf_mms_deleteNamedVariableList_01 = -1;  /* DeleteNamedVariableList_Response */
166 static int hf_mms_defineNamedType_01 = -1;        /* DefineNamedType_Response */
167 static int hf_mms_getNamedTypeAttributes_01 = -1;  /* GetNamedTypeAttributes_Response */
168 static int hf_mms_deleteNamedType_01 = -1;        /* DeleteNamedType_Response */
169 static int hf_mms_input_01 = -1;                  /* Input_Response */
170 static int hf_mms_output_01 = -1;                 /* Output_Response */
171 static int hf_mms_takeControl_01 = -1;            /* TakeControl_Response */
172 static int hf_mms_relinquishControl_01 = -1;      /* RelinquishControl_Response */
173 static int hf_mms_defineSemaphore_01 = -1;        /* DefineSemaphore_Response */
174 static int hf_mms_deleteSemaphore_01 = -1;        /* DeleteSemaphore_Response */
175 static int hf_mms_reportSemaphoreStatus_01 = -1;  /* ReportSemaphoreStatus_Response */
176 static int hf_mms_reportPoolSemaphoreStatus_01 = -1;  /* ReportPoolSemaphoreStatus_Response */
177 static int hf_mms_reportSemaphoreEntryStatus_01 = -1;  /* ReportSemaphoreEntryStatus_Response */
178 static int hf_mms_initiateDownloadSequence_01 = -1;  /* InitiateDownloadSequence_Response */
179 static int hf_mms_downloadSegment_01 = -1;        /* DownloadSegment_Response */
180 static int hf_mms_terminateDownloadSequence_01 = -1;  /* TerminateDownloadSequence_Response */
181 static int hf_mms_initiateUploadSequence_01 = -1;  /* InitiateUploadSequence_Response */
182 static int hf_mms_uploadSegment_01 = -1;          /* UploadSegment_Response */
183 static int hf_mms_terminateUploadSequence_01 = -1;  /* TerminateUploadSequence_Response */
184 static int hf_mms_requestDomainDownLoad = -1;     /* RequestDomainDownload_Response */
185 static int hf_mms_requestDomainUpload_01 = -1;    /* RequestDomainUpload_Response */
186 static int hf_mms_loadDomainContent_01 = -1;      /* LoadDomainContent_Response */
187 static int hf_mms_storeDomainContent_01 = -1;     /* StoreDomainContent_Response */
188 static int hf_mms_deleteDomain_01 = -1;           /* DeleteDomain_Response */
189 static int hf_mms_getDomainAttributes_01 = -1;    /* GetDomainAttributes_Response */
190 static int hf_mms_createProgramInvocation_01 = -1;  /* CreateProgramInvocation_Response */
191 static int hf_mms_deleteProgramInvocation_01 = -1;  /* DeleteProgramInvocation_Response */
192 static int hf_mms_start_01 = -1;                  /* Start_Response */
193 static int hf_mms_stop_01 = -1;                   /* Stop_Response */
194 static int hf_mms_resume_01 = -1;                 /* Resume_Response */
195 static int hf_mms_reset_01 = -1;                  /* Reset_Response */
196 static int hf_mms_kill_01 = -1;                   /* Kill_Response */
197 static int hf_mms_getProgramInvocationAttributes_01 = -1;  /* GetProgramInvocationAttributes_Response */
198 static int hf_mms_obtainFile_01 = -1;             /* ObtainFile_Response */
199 static int hf_mms_fileOpen_01 = -1;               /* FileOpen_Response */
200 static int hf_mms_defineEventCondition_01 = -1;   /* DefineEventCondition_Response */
201 static int hf_mms_confirmedServiceResponse_deleteEventCondition = -1;  /* DeleteEventCondition_Response */
202 static int hf_mms_getEventConditionAttributes_01 = -1;  /* GetEventConditionAttributes_Response */
203 static int hf_mms_reportEventConditionStatus_01 = -1;  /* ReportEventConditionStatus_Response */
204 static int hf_mms_alterEventConditionMonitoring_01 = -1;  /* AlterEventConditionMonitoring_Response */
205 static int hf_mms_triggerEvent_01 = -1;           /* TriggerEvent_Response */
206 static int hf_mms_defineEventAction_01 = -1;      /* DefineEventAction_Response */
207 static int hf_mms_deleteEventAction = -1;         /* DeleteEventAction_Response */
208 static int hf_mms_getEventActionAttributes_01 = -1;  /* GetEventActionAttributes_Response */
209 static int hf_mms_reportActionStatus = -1;        /* ReportEventActionStatus_Response */
210 static int hf_mms_defineEventEnrollment_01 = -1;  /* DefineEventEnrollment_Response */
211 static int hf_mms_confirmedServiceResponse_deleteEventEnrollment = -1;  /* DeleteEventEnrollment_Response */
212 static int hf_mms_alterEventEnrollment_01 = -1;   /* AlterEventEnrollment_Response */
213 static int hf_mms_reportEventEnrollmentStatus_01 = -1;  /* ReportEventEnrollmentStatus_Response */
214 static int hf_mms_getEventEnrollmentAttributes_01 = -1;  /* GetEventEnrollmentAttributes_Response */
215 static int hf_mms_acknowledgeEventNotification_01 = -1;  /* AcknowledgeEventNotification_Response */
216 static int hf_mms_getAlarmSummary_01 = -1;        /* GetAlarmSummary_Response */
217 static int hf_mms_getAlarmEnrollmentSummary_01 = -1;  /* GetAlarmEnrollmentSummary_Response */
218 static int hf_mms_readJournal_01 = -1;            /* ReadJournal_Response */
219 static int hf_mms_writeJournal_01 = -1;           /* WriteJournal_Response */
220 static int hf_mms_initializeJournal_01 = -1;      /* InitializeJournal_Response */
221 static int hf_mms_reportJournalStatus_01 = -1;    /* ReportJournalStatus_Response */
222 static int hf_mms_createJournal_01 = -1;          /* CreateJournal_Response */
223 static int hf_mms_deleteJournal_01 = -1;          /* DeleteJournal_Response */
224 static int hf_mms_getCapabilityList_01 = -1;      /* GetCapabilityList_Response */
225 static int hf_mms_fileRead_01 = -1;               /* FileRead_Response */
226 static int hf_mms_fileClose_01 = -1;              /* FileClose_Response */
227 static int hf_mms_fileRename_01 = -1;             /* FileRename_Response */
228 static int hf_mms_fileDelete_01 = -1;             /* FileDelete_Response */
229 static int hf_mms_fileDirectory_01 = -1;          /* FileDirectory_Response */
230 static int hf_mms_FileName_item = -1;             /* GraphicString */
231 static int hf_mms_vmd_specific = -1;              /* Identifier */
232 static int hf_mms_domain_specific = -1;           /* T_domain_specific */
233 static int hf_mms_domainId = -1;                  /* Identifier */
234 static int hf_mms_itemId = -1;                    /* Identifier */
235 static int hf_mms_aa_specific = -1;               /* Identifier */
236 static int hf_mms_ap_title = -1;                  /* T_ap_title */
237 static int hf_mms_ap_invocation_id = -1;          /* T_ap_invocation_id */
238 static int hf_mms_ae_qualifier = -1;              /* T_ae_qualifier */
239 static int hf_mms_ae_invocation_id = -1;          /* T_ae_invocation_id */
240 static int hf_mms_localDetailCalling = -1;        /* Integer32 */
241 static int hf_mms_proposedMaxServOutstandingCalling = -1;  /* Integer16 */
242 static int hf_mms_proposedMaxServOutstandingCalled = -1;  /* Integer16 */
243 static int hf_mms_proposedDataStructureNestingLevel = -1;  /* Integer8 */
244 static int hf_mms_mmsInitRequestDetail = -1;      /* InitRequestDetail */
245 static int hf_mms_proposedVersionNumber = -1;     /* Integer16 */
246 static int hf_mms_proposedParameterCBB = -1;      /* ParameterSupportOptions */
247 static int hf_mms_servicesSupportedCalling = -1;  /* ServiceSupportOptions */
248 static int hf_mms_localDetailCalled = -1;         /* Integer32 */
249 static int hf_mms_negociatedMaxServOutstandingCalling = -1;  /* Integer16 */
250 static int hf_mms_negociatedMaxServOutstandingCalled = -1;  /* Integer16 */
251 static int hf_mms_negociatedDataStructureNestingLevel = -1;  /* Integer8 */
252 static int hf_mms_mmsInitResponseDetail = -1;     /* InitResponseDetail */
253 static int hf_mms_negociatedVersionNumber = -1;   /* Integer16 */
254 static int hf_mms_negociatedParameterCBB = -1;    /* ParameterSupportOptions */
255 static int hf_mms_servicesSupportedCalled = -1;   /* ServiceSupportOptions */
256 static int hf_mms_originalInvokeID = -1;          /* Unsigned32 */
257 static int hf_mms_errorClass = -1;                /* T_errorClass */
258 static int hf_mms_vmd_state = -1;                 /* T_vmd_state */
259 static int hf_mms_application_reference = -1;     /* T_application_reference */
260 static int hf_mms_definition = -1;                /* T_definition */
261 static int hf_mms_resource = -1;                  /* T_resource */
262 static int hf_mms_service = -1;                   /* T_service */
263 static int hf_mms_service_preempt = -1;           /* T_service_preempt */
264 static int hf_mms_time_resolution = -1;           /* T_time_resolution */
265 static int hf_mms_access = -1;                    /* T_access */
266 static int hf_mms_initiate = -1;                  /* T_initiate */
267 static int hf_mms_conclude = -1;                  /* T_conclude */
268 static int hf_mms_cancel = -1;                    /* T_cancel */
269 static int hf_mms_file = -1;                      /* T_file */
270 static int hf_mms_others = -1;                    /* INTEGER */
271 static int hf_mms_additionalCode = -1;            /* INTEGER */
272 static int hf_mms_additionalDescription = -1;     /* VisibleString */
273 static int hf_mms_serviceSpecificInformation = -1;  /* T_serviceSpecificInformation */
274 static int hf_mms_obtainFile_02 = -1;             /* ObtainFile_Error */
275 static int hf_mms_start_02 = -1;                  /* Start_Error */
276 static int hf_mms_stop_02 = -1;                   /* Stop_Error */
277 static int hf_mms_resume_02 = -1;                 /* Resume_Error */
278 static int hf_mms_reset_02 = -1;                  /* Reset_Error */
279 static int hf_mms_deleteVariableAccess_02 = -1;   /* DeleteVariableAccess_Error */
280 static int hf_mms_deleteNamedVariableList_02 = -1;  /* DeleteNamedVariableList_Error */
281 static int hf_mms_deleteNamedType_02 = -1;        /* DeleteNamedType_Error */
282 static int hf_mms_defineEventEnrollment_Error = -1;  /* DefineEventEnrollment_Error */
283 static int hf_mms_fileRename_02 = -1;             /* FileRename_Error */
284 static int hf_mms_additionalService = -1;         /* AdditionalService_Error */
285 static int hf_mms_changeAccessControl = -1;       /* ChangeAccessControl_Error */
286 static int hf_mms_defineEcl = -1;                 /* DefineEventConditionList_Error */
287 static int hf_mms_addECLReference = -1;           /* AddEventConditionListReference_Error */
288 static int hf_mms_removeECLReference = -1;        /* RemoveEventConditionListReference_Error */
289 static int hf_mms_initiateUC = -1;                /* InitiateUnitControl_Error */
290 static int hf_mms_startUC = -1;                   /* StartUnitControl_Error */
291 static int hf_mms_stopUC = -1;                    /* StopUnitControl_Error */
292 static int hf_mms_deleteUC = -1;                  /* DeleteUnitControl_Error */
293 static int hf_mms_loadUCFromFile = -1;            /* LoadUnitControlFromFile_Error */
294 static int hf_mms_eventCondition = -1;            /* ObjectName */
295 static int hf_mms_eventConditionList = -1;        /* ObjectName */
296 static int hf_mms_domain = -1;                    /* Identifier */
297 static int hf_mms_programInvocation = -1;         /* Identifier */
298 static int hf_mms_programInvocationName = -1;     /* Identifier */
299 static int hf_mms_programInvocationState = -1;    /* ProgramInvocationState */
300 static int hf_mms_none = -1;                      /* NULL */
301 static int hf_mms_rejectReason = -1;              /* T_rejectReason */
302 static int hf_mms_confirmed_requestPDU = -1;      /* T_confirmed_requestPDU */
303 static int hf_mms_confirmed_responsePDU = -1;     /* T_confirmed_responsePDU */
304 static int hf_mms_confirmed_errorPDU = -1;        /* T_confirmed_errorPDU */
305 static int hf_mms_unconfirmedPDU = -1;            /* T_unconfirmedPDU */
306 static int hf_mms_pdu_error = -1;                 /* T_pdu_error */
307 static int hf_mms_cancel_requestPDU = -1;         /* T_cancel_requestPDU */
308 static int hf_mms_cancel_responsePDU = -1;        /* T_cancel_responsePDU */
309 static int hf_mms_cancel_errorPDU = -1;           /* T_cancel_errorPDU */
310 static int hf_mms_conclude_requestPDU = -1;       /* T_conclude_requestPDU */
311 static int hf_mms_conclude_responsePDU = -1;      /* T_conclude_responsePDU */
312 static int hf_mms_conclude_errorPDU = -1;         /* T_conclude_errorPDU */
313 static int hf_mms_vmdLogicalStatus = -1;          /* T_vmdLogicalStatus */
314 static int hf_mms_vmdPhysicalStatus = -1;         /* T_vmdPhysicalStatus */
315 static int hf_mms_localDetail = -1;               /* BIT_STRING_SIZE_0_128 */
316 static int hf_mms_extendedObjectClass = -1;       /* T_extendedObjectClass */
317 static int hf_mms_objectClass = -1;               /* T_objectClass */
318 static int hf_mms_objectScope = -1;               /* T_objectScope */
319 static int hf_mms_vmdSpecific = -1;               /* NULL */
320 static int hf_mms_domainSpecific = -1;            /* Identifier */
321 static int hf_mms_aaSpecific = -1;                /* NULL */
322 static int hf_mms_getNameList_Request_continueAfter = -1;  /* Identifier */
323 static int hf_mms_listOfIdentifier = -1;          /* SEQUENCE_OF_Identifier */
324 static int hf_mms_listOfIdentifier_item = -1;     /* Identifier */
325 static int hf_mms_moreFollows = -1;               /* BOOLEAN */
326 static int hf_mms_vendorName = -1;                /* VisibleString */
327 static int hf_mms_modelName = -1;                 /* VisibleString */
328 static int hf_mms_revision = -1;                  /* VisibleString */
329 static int hf_mms_listOfAbstractSyntaxes = -1;    /* T_listOfAbstractSyntaxes */
330 static int hf_mms_listOfAbstractSyntaxes_item = -1;  /* OBJECT_IDENTIFIER */
331 static int hf_mms_extendedObjectClass_01 = -1;    /* T_extendedObjectClass_01 */
332 static int hf_mms_objectClass_01 = -1;            /* T_objectClass_01 */
333 static int hf_mms_currentName = -1;               /* ObjectName */
334 static int hf_mms_newIdentifier = -1;             /* Identifier */
335 static int hf_mms_getCapabilityList_Request_continueAfter = -1;  /* VisibleString */
336 static int hf_mms_listOfCapabilities = -1;        /* T_listOfCapabilities */
337 static int hf_mms_listOfCapabilities_item = -1;   /* VisibleString */
338 static int hf_mms_domainName = -1;                /* Identifier */
339 static int hf_mms_listOfCapabilities_01 = -1;     /* T_listOfCapabilities_01 */
340 static int hf_mms_sharable = -1;                  /* BOOLEAN */
341 static int hf_mms_loadData = -1;                  /* T_loadData */
342 static int hf_mms_non_coded = -1;                 /* OCTET_STRING */
343 static int hf_mms_coded = -1;                     /* EXTERNALt */
344 static int hf_mms_discard = -1;                   /* ServiceError */
345 static int hf_mms_ulsmID = -1;                    /* Integer32 */
346 static int hf_mms_listOfCapabilities_02 = -1;     /* T_listOfCapabilities_02 */
347 static int hf_mms_loadData_01 = -1;               /* T_loadData_01 */
348 static int hf_mms_listOfCapabilities_03 = -1;     /* T_listOfCapabilities_03 */
349 static int hf_mms_fileName = -1;                  /* FileName */
350 static int hf_mms_listOfCapabilities_04 = -1;     /* T_listOfCapabilities_04 */
351 static int hf_mms_thirdParty = -1;                /* ApplicationReference */
352 static int hf_mms_filenName = -1;                 /* FileName */
353 static int hf_mms_listOfCapabilities_05 = -1;     /* T_listOfCapabilities_05 */
354 static int hf_mms_getDomainAttributes_Response_state = -1;  /* DomainState */
355 static int hf_mms_mmsDeletable = -1;              /* BOOLEAN */
356 static int hf_mms_listOfProgramInvocations = -1;  /* SEQUENCE_OF_Identifier */
357 static int hf_mms_listOfProgramInvocations_item = -1;  /* Identifier */
358 static int hf_mms_uploadInProgress = -1;          /* Integer8 */
359 static int hf_mms_listOfDomainName = -1;          /* SEQUENCE_OF_Identifier */
360 static int hf_mms_listOfDomainName_item = -1;     /* Identifier */
361 static int hf_mms_reusable = -1;                  /* BOOLEAN */
362 static int hf_mms_monitorType = -1;               /* BOOLEAN */
363 static int hf_mms_executionArgument = -1;         /* T_executionArgument */
364 static int hf_mms_simpleString = -1;              /* VisibleString */
365 static int hf_mms_encodedString = -1;             /* EXTERNALt */
366 static int hf_mms_executionArgument_01 = -1;      /* T_executionArgument_01 */
367 static int hf_mms_getProgramInvocationAttributes_Response_state = -1;  /* ProgramInvocationState */
368 static int hf_mms_listOfDomainNames = -1;         /* SEQUENCE_OF_Identifier */
369 static int hf_mms_listOfDomainNames_item = -1;    /* Identifier */
370 static int hf_mms_monitor = -1;                   /* BOOLEAN */
371 static int hf_mms_startArgument = -1;             /* VisibleString */
372 static int hf_mms_executionArgument_02 = -1;      /* T_executionArgument_02 */
373 static int hf_mms_typeName = -1;                  /* ObjectName */
374 static int hf_mms_array = -1;                     /* T_array */
375 static int hf_mms_packed = -1;                    /* BOOLEAN */
376 static int hf_mms_numberOfElements = -1;          /* Unsigned32 */
377 static int hf_mms_elementType = -1;               /* TypeSpecification */
378 static int hf_mms_structure = -1;                 /* T_structure */
379 static int hf_mms_components = -1;                /* T_components */
380 static int hf_mms_components_item = -1;           /* T_components_item */
381 static int hf_mms_componentName = -1;             /* Identifier */
382 static int hf_mms_componentType = -1;             /* TypeSpecification */
383 static int hf_mms_boolean = -1;                   /* NULL */
384 static int hf_mms_typeSpecification_bit_string = -1;  /* Integer32 */
385 static int hf_mms_integer = -1;                   /* Unsigned8 */
386 static int hf_mms_unsigned = -1;                  /* Unsigned8 */
387 static int hf_mms_typeSpecification_octet_string = -1;  /* Integer32 */
388 static int hf_mms_typeSpecification_visible_string = -1;  /* Integer32 */
389 static int hf_mms_generalized_time = -1;          /* NULL */
390 static int hf_mms_typeSpecification_binary_time = -1;  /* BOOLEAN */
391 static int hf_mms_bcd = -1;                       /* Unsigned8 */
392 static int hf_mms_objId = -1;                     /* NULL */
393 static int hf_mms_AlternateAccess_item = -1;      /* AlternateAccess_item */
394 static int hf_mms_unnamed = -1;                   /* AlternateAccessSelection */
395 static int hf_mms_named = -1;                     /* T_named */
396 static int hf_mms_accesst = -1;                   /* AlternateAccessSelection */
397 static int hf_mms_selectAlternateAccess = -1;     /* T_selectAlternateAccess */
398 static int hf_mms_accessSelection = -1;           /* T_accessSelection */
399 static int hf_mms_component = -1;                 /* Identifier */
400 static int hf_mms_index = -1;                     /* Unsigned32 */
401 static int hf_mms_indexRange = -1;                /* T_indexRange */
402 static int hf_mms_lowIndex = -1;                  /* Unsigned32 */
403 static int hf_mms_allElements = -1;               /* NULL */
404 static int hf_mms_alternateAccess = -1;           /* AlternateAccess */
405 static int hf_mms_selectAccess = -1;              /* T_selectAccess */
406 static int hf_mms_indexRange_01 = -1;             /* T_indexRange_01 */
407 static int hf_mms_nmberOfElements = -1;           /* Unsigned32 */
408 static int hf_mms_specificationWithResult = -1;   /* BOOLEAN */
409 static int hf_mms_variableAccessSpecificatn = -1;  /* VariableAccessSpecification */
410 static int hf_mms_listOfAccessResult = -1;        /* SEQUENCE_OF_AccessResult */
411 static int hf_mms_listOfAccessResult_item = -1;   /* AccessResult */
412 static int hf_mms_listOfData = -1;                /* SEQUENCE_OF_Data */
413 static int hf_mms_listOfData_item = -1;           /* Data */
414 static int hf_mms_Write_Response_item = -1;       /* Write_Response_item */
415 static int hf_mms_failure = -1;                   /* DataAccessError */
416 static int hf_mms_success = -1;                   /* NULL */
417 static int hf_mms_variableAccessSpecification = -1;  /* VariableAccessSpecification */
418 static int hf_mms_name = -1;                      /* ObjectName */
419 static int hf_mms_address = -1;                   /* Address */
420 static int hf_mms_typeSpecification = -1;         /* TypeSpecification */
421 static int hf_mms_variableName = -1;              /* ObjectName */
422 static int hf_mms_scatteredAccessName = -1;       /* ObjectName */
423 static int hf_mms_scatteredAccessDescription = -1;  /* ScatteredAccessDescription */
424 static int hf_mms_scopeOfDelete = -1;             /* T_scopeOfDelete */
425 static int hf_mms_listOfName = -1;                /* SEQUENCE_OF_ObjectName */
426 static int hf_mms_listOfName_item = -1;           /* ObjectName */
427 static int hf_mms_numberMatched = -1;             /* Unsigned32 */
428 static int hf_mms_numberDeleted = -1;             /* Unsigned32 */
429 static int hf_mms_variableListName = -1;          /* ObjectName */
430 static int hf_mms_listOfVariable = -1;            /* T_listOfVariable */
431 static int hf_mms_listOfVariable_item = -1;       /* T_listOfVariable_item */
432 static int hf_mms_variableSpecification = -1;     /* VariableSpecification */
433 static int hf_mms_listOfVariable_01 = -1;         /* T_listOfVariable_01 */
434 static int hf_mms_listOfVariable_item_01 = -1;    /* T_listOfVariable_item_01 */
435 static int hf_mms_scopeOfDelete_01 = -1;          /* T_scopeOfDelete_01 */
436 static int hf_mms_listOfVariableListName = -1;    /* SEQUENCE_OF_ObjectName */
437 static int hf_mms_listOfVariableListName_item = -1;  /* ObjectName */
438 static int hf_mms_scopeOfDelete_02 = -1;          /* T_scopeOfDelete_02 */
439 static int hf_mms_listOfTypeName = -1;            /* SEQUENCE_OF_ObjectName */
440 static int hf_mms_listOfTypeName_item = -1;       /* ObjectName */
441 static int hf_mms_success_01 = -1;                /* Data */
442 static int hf_mms_array_01 = -1;                  /* SEQUENCE_OF_Data */
443 static int hf_mms_array_item = -1;                /* Data */
444 static int hf_mms_structure_01 = -1;              /* SEQUENCE_OF_Data */
445 static int hf_mms_structure_item = -1;            /* Data */
446 static int hf_mms_boolean_01 = -1;                /* BOOLEAN */
447 static int hf_mms_data_bit_string = -1;           /* BIT_STRING */
448 static int hf_mms_integer_01 = -1;                /* INTEGER */
449 static int hf_mms_unsigned_01 = -1;               /* INTEGER */
450 static int hf_mms_floating_point = -1;            /* FloatingPoint */
451 static int hf_mms_data_octet_string = -1;         /* OCTET_STRING */
452 static int hf_mms_data_visible_string = -1;       /* VisibleString */
453 static int hf_mms_data_binary_time = -1;          /* TimeOfDay */
454 static int hf_mms_bcd_01 = -1;                    /* INTEGER */
455 static int hf_mms_booleanArray = -1;              /* BIT_STRING */
456 static int hf_mms_objId_01 = -1;                  /* OBJECT_IDENTIFIER */
457 static int hf_mms_mMSString = -1;                 /* MMSString */
458 static int hf_mms_utc_time = -1;                  /* UtcTime */
459 static int hf_mms_listOfVariable_02 = -1;         /* T_listOfVariable_02 */
460 static int hf_mms_listOfVariable_item_02 = -1;    /* T_listOfVariable_item_02 */
461 static int hf_mms_ScatteredAccessDescription_item = -1;  /* ScatteredAccessDescription_item */
462 static int hf_mms_variableDescription = -1;       /* T_variableDescription */
463 static int hf_mms_invalidated = -1;               /* NULL */
464 static int hf_mms_numericAddress = -1;            /* Unsigned32 */
465 static int hf_mms_symbolicAddress = -1;           /* VisibleString */
466 static int hf_mms_unconstrainedAddress = -1;      /* OCTET_STRING */
467 static int hf_mms_semaphoreName = -1;             /* ObjectName */
468 static int hf_mms_namedToken = -1;                /* Identifier */
469 static int hf_mms_priority = -1;                  /* Priority */
470 static int hf_mms_acceptableDelay = -1;           /* Unsigned32 */
471 static int hf_mms_controlTimeOut = -1;            /* Unsigned32 */
472 static int hf_mms_abortOnTimeOut = -1;            /* BOOLEAN */
473 static int hf_mms_relinquishIfConnectionLost = -1;  /* BOOLEAN */
474 static int hf_mms_applicationToPreempt = -1;      /* ApplicationReference */
475 static int hf_mms_noResult = -1;                  /* NULL */
476 static int hf_mms_numbersOfTokens = -1;           /* Unsigned16 */
477 static int hf_mms_class = -1;                     /* T_class */
478 static int hf_mms_numberOfTokens = -1;            /* Unsigned16 */
479 static int hf_mms_numberOfOwnedTokens = -1;       /* Unsigned16 */
480 static int hf_mms_numberOfHungTokens = -1;        /* Unsigned16 */
481 static int hf_mms_nameToStartAfter = -1;          /* Identifier */
482 static int hf_mms_listOfNamedTokens = -1;         /* T_listOfNamedTokens */
483 static int hf_mms_listOfNamedTokens_item = -1;    /* T_listOfNamedTokens_item */
484 static int hf_mms_freeNamedToken = -1;            /* Identifier */
485 static int hf_mms_ownedNamedToken = -1;           /* Identifier */
486 static int hf_mms_hungNamedToken = -1;            /* Identifier */
487 static int hf_mms_reportSemaphoreEntryStatus_Request_state = -1;  /* T_reportSemaphoreEntryStatus_Request_state */
488 static int hf_mms_entryIdToStartAfter = -1;       /* OCTET_STRING */
489 static int hf_mms_listOfSemaphoreEntry = -1;      /* SEQUENCE_OF_SemaphoreEntry */
490 static int hf_mms_listOfSemaphoreEntry_item = -1;  /* SemaphoreEntry */
491 static int hf_mms_entryId = -1;                   /* OCTET_STRING */
492 static int hf_mms_entryClass = -1;                /* T_entryClass */
493 static int hf_mms_applicationReference = -1;      /* ApplicationReference */
494 static int hf_mms_remainingTimeOut = -1;          /* Unsigned32 */
495 static int hf_mms_operatorStationName = -1;       /* Identifier */
496 static int hf_mms_echo = -1;                      /* BOOLEAN */
497 static int hf_mms_listOfPromptData = -1;          /* T_listOfPromptData */
498 static int hf_mms_listOfPromptData_item = -1;     /* VisibleString */
499 static int hf_mms_inputTimeOut = -1;              /* Unsigned32 */
500 static int hf_mms_listOfOutputData = -1;          /* T_listOfOutputData */
501 static int hf_mms_listOfOutputData_item = -1;     /* VisibleString */
502 static int hf_mms_eventConditionName = -1;        /* ObjectName */
503 static int hf_mms_class_01 = -1;                  /* EC_Class */
504 static int hf_mms_prio_rity = -1;                 /* Priority */
505 static int hf_mms_severity = -1;                  /* Unsigned8 */
506 static int hf_mms_alarmSummaryReports = -1;       /* BOOLEAN */
507 static int hf_mms_monitoredVariable = -1;         /* VariableSpecification */
508 static int hf_mms_evaluationInterval = -1;        /* Unsigned32 */
509 static int hf_mms_specific = -1;                  /* SEQUENCE_OF_ObjectName */
510 static int hf_mms_specific_item = -1;             /* ObjectName */
511 static int hf_mms_aa_specific_01 = -1;            /* NULL */
512 static int hf_mms_vmd = -1;                       /* NULL */
513 static int hf_mms_monitoredVariable_01 = -1;      /* T_monitoredVariable */
514 static int hf_mms_variableReference = -1;         /* VariableSpecification */
515 static int hf_mms_undefined = -1;                 /* NULL */
516 static int hf_mms_currentState = -1;              /* EC_State */
517 static int hf_mms_numberOfEventEnrollments = -1;  /* Unsigned32 */
518 static int hf_mms_enabled = -1;                   /* BOOLEAN */
519 static int hf_mms_timeOfLastTransitionToActive = -1;  /* EventTime */
520 static int hf_mms_timeOfLastTransitionToIdle = -1;  /* EventTime */
521 static int hf_mms_eventActionName = -1;           /* ObjectName */
522 static int hf_mms_eventEnrollmentName = -1;       /* ObjectName */
523 static int hf_mms_eventConditionTransition = -1;  /* Transitions */
524 static int hf_mms_alarmAcknowledgementRule = -1;  /* AlarmAckRule */
525 static int hf_mms_clientApplication = -1;         /* ApplicationReference */
526 static int hf_mms_ec = -1;                        /* ObjectName */
527 static int hf_mms_ea = -1;                        /* ObjectName */
528 static int hf_mms_scopeOfRequest = -1;            /* T_scopeOfRequest */
529 static int hf_mms_eventEnrollmentNames = -1;      /* SEQUENCE_OF_ObjectName */
530 static int hf_mms_eventEnrollmentNames_item = -1;  /* ObjectName */
531 static int hf_mms_getEventEnrollmentAttributes_Request_continueAfter = -1;  /* ObjectName */
532 static int hf_mms_eventConditionName_01 = -1;     /* T_eventConditionName */
533 static int hf_mms_eventActionName_01 = -1;        /* T_eventActionName */
534 static int hf_mms_eventAction = -1;               /* ObjectName */
535 static int hf_mms_enrollmentClass = -1;           /* EE_Class */
536 static int hf_mms_duration = -1;                  /* EE_Duration */
537 static int hf_mms_remainingAcceptableDelay = -1;  /* Unsigned32 */
538 static int hf_mms_listOfEventEnrollment = -1;     /* SEQUENCE_OF_EventEnrollment */
539 static int hf_mms_listOfEventEnrollment_item = -1;  /* EventEnrollment */
540 static int hf_mms_eventConditionTransitions = -1;  /* Transitions */
541 static int hf_mms_notificationLost = -1;          /* BOOLEAN */
542 static int hf_mms_alarmAcknowledgmentRule = -1;   /* AlarmAckRule */
543 static int hf_mms_currentState_01 = -1;           /* EE_State */
544 static int hf_mms_currentState_02 = -1;           /* T_currentState */
545 static int hf_mms_alterEventEnrollment_Response_currentState_state = -1;  /* EE_State */
546 static int hf_mms_transitionTime = -1;            /* EventTime */
547 static int hf_mms_acknowledgedState = -1;         /* EC_State */
548 static int hf_mms_timeOfAcknowledgedTransition = -1;  /* EventTime */
549 static int hf_mms_enrollmentsOnly = -1;           /* BOOLEAN */
550 static int hf_mms_activeAlarmsOnly = -1;          /* BOOLEAN */
551 static int hf_mms_acknowledgmentFilter = -1;      /* T_acknowledgmentFilter */
552 static int hf_mms_severityFilter = -1;            /* T_severityFilter */
553 static int hf_mms_mostSevere = -1;                /* Unsigned8 */
554 static int hf_mms_leastSevere = -1;               /* Unsigned8 */
555 static int hf_mms_continueAfter = -1;             /* ObjectName */
556 static int hf_mms_listOfAlarmSummary = -1;        /* SEQUENCE_OF_AlarmSummary */
557 static int hf_mms_listOfAlarmSummary_item = -1;   /* AlarmSummary */
558 static int hf_mms_unacknowledgedState = -1;       /* T_unacknowledgedState */
559 static int hf_mms_acknowledgmentFilter_01 = -1;   /* T_acknowledgmentFilter_01 */
560 static int hf_mms_severityFilter_01 = -1;         /* T_severityFilter_01 */
561 static int hf_mms_getAlarmEnrollmentSummary_Request_continueAfter = -1;  /* ObjectName */
562 static int hf_mms_listOfAlarmEnrollmentSummary = -1;  /* SEQUENCE_OF_AlarmEnrollmentSummary */
563 static int hf_mms_listOfAlarmEnrollmentSummary_item = -1;  /* AlarmEnrollmentSummary */
564 static int hf_mms_enrollementState = -1;          /* EE_State */
565 static int hf_mms_timeActiveAcknowledged = -1;    /* EventTime */
566 static int hf_mms_timeIdleAcknowledged = -1;      /* EventTime */
567 static int hf_mms_eventConditionName_02 = -1;     /* T_eventConditionName_01 */
568 static int hf_mms_actionResult = -1;              /* T_actionResult */
569 static int hf_mms_eventActioName = -1;            /* ObjectName */
570 static int hf_mms_eventActionResult = -1;         /* T_eventActionResult */
571 static int hf_mms_success_02 = -1;                /* ConfirmedServiceResponse */
572 static int hf_mms_failure_01 = -1;                /* ServiceError */
573 static int hf_mms_causingTransitions = -1;        /* Transitions */
574 static int hf_mms_timeOfDayT = -1;                /* TimeOfDay */
575 static int hf_mms_timeSequenceIdentifier = -1;    /* Unsigned32 */
576 static int hf_mms_journalName = -1;               /* ObjectName */
577 static int hf_mms_rangeStartSpecification = -1;   /* T_rangeStartSpecification */
578 static int hf_mms_startingTime = -1;              /* TimeOfDay */
579 static int hf_mms_startingEntry = -1;             /* OCTET_STRING */
580 static int hf_mms_rangeStopSpecification = -1;    /* T_rangeStopSpecification */
581 static int hf_mms_endingTime = -1;                /* TimeOfDay */
582 static int hf_mms_numberOfEntries = -1;           /* Integer32 */
583 static int hf_mms_listOfVariables = -1;           /* T_listOfVariables */
584 static int hf_mms_listOfVariables_item = -1;      /* VisibleString */
585 static int hf_mms_entryToStartAfter = -1;         /* T_entryToStartAfter */
586 static int hf_mms_timeSpecification = -1;         /* TimeOfDay */
587 static int hf_mms_entrySpecification = -1;        /* OCTET_STRING */
588 static int hf_mms_listOfJournalEntry = -1;        /* SEQUENCE_OF_JournalEntry */
589 static int hf_mms_listOfJournalEntry_item = -1;   /* JournalEntry */
590 static int hf_mms_entryIdentifier = -1;           /* OCTET_STRING */
591 static int hf_mms_originatingApplication = -1;    /* ApplicationReference */
592 static int hf_mms_entryContent = -1;              /* EntryContent */
593 static int hf_mms_listOfJournalEntry_01 = -1;     /* SEQUENCE_OF_EntryContent */
594 static int hf_mms_listOfJournalEntry_item_01 = -1;  /* EntryContent */
595 static int hf_mms_limitSpecification = -1;        /* T_limitSpecification */
596 static int hf_mms_limitingTime = -1;              /* TimeOfDay */
597 static int hf_mms_limitingEntry = -1;             /* OCTET_STRING */
598 static int hf_mms_currentEntries = -1;            /* Unsigned32 */
599 static int hf_mms_occurenceTime = -1;             /* TimeOfDay */
600 static int hf_mms_additionalDetail = -1;          /* JOU_Additional_Detail */
601 static int hf_mms_entryForm = -1;                 /* T_entryForm */
602 static int hf_mms_data = -1;                      /* T_data */
603 static int hf_mms_event = -1;                     /* T_event */
604 static int hf_mms_listOfVariables_01 = -1;        /* T_listOfVariables_01 */
605 static int hf_mms_listOfVariables_item_01 = -1;   /* T_listOfVariables_item */
606 static int hf_mms_variableTag = -1;               /* VisibleString */
607 static int hf_mms_valueSpecification = -1;        /* Data */
608 static int hf_mms_annotation = -1;                /* VisibleString */
609 static int hf_mms_sourceFileServer = -1;          /* ApplicationReference */
610 static int hf_mms_sourceFile = -1;                /* FileName */
611 static int hf_mms_destinationFile = -1;           /* FileName */
612 static int hf_mms_initialPosition = -1;           /* Unsigned32 */
613 static int hf_mms_frsmID = -1;                    /* Integer32 */
614 static int hf_mms_fileAttributes = -1;            /* FileAttributes */
615 static int hf_mms_fileData = -1;                  /* OCTET_STRING */
616 static int hf_mms_currentFileName = -1;           /* FileName */
617 static int hf_mms_newFileName = -1;               /* FileName */
618 static int hf_mms_fileSpecification = -1;         /* FileName */
619 static int hf_mms_fileDirectory_Request_continueAfter = -1;  /* FileName */
620 static int hf_mms_listOfDirectoryEntry = -1;      /* SEQUENCE_OF_DirectoryEntry */
621 static int hf_mms_listOfDirectoryEntry_item = -1;  /* DirectoryEntry */
622 static int hf_mms_filename = -1;                  /* FileName */
623 static int hf_mms_sizeOfFile = -1;                /* Unsigned32 */
624 static int hf_mms_lastModified = -1;              /* GeneralizedTime */
625 /* named bits */
626 static int hf_mms_ParameterSupportOptions_str1 = -1;
627 static int hf_mms_ParameterSupportOptions_str2 = -1;
628 static int hf_mms_ParameterSupportOptions_vnam = -1;
629 static int hf_mms_ParameterSupportOptions_valt = -1;
630 static int hf_mms_ParameterSupportOptions_vadr = -1;
631 static int hf_mms_ParameterSupportOptions_vsca = -1;
632 static int hf_mms_ParameterSupportOptions_tpy = -1;
633 static int hf_mms_ParameterSupportOptions_vlis = -1;
634 static int hf_mms_ParameterSupportOptions_real = -1;
635 static int hf_mms_ParameterSupportOptions_spare_bit9 = -1;
636 static int hf_mms_ParameterSupportOptions_cei = -1;
637 static int hf_mms_ServiceSupportOptions_status = -1;
638 static int hf_mms_ServiceSupportOptions_getNameList = -1;
639 static int hf_mms_ServiceSupportOptions_identify = -1;
640 static int hf_mms_ServiceSupportOptions_rename = -1;
641 static int hf_mms_ServiceSupportOptions_read = -1;
642 static int hf_mms_ServiceSupportOptions_write = -1;
643 static int hf_mms_ServiceSupportOptions_getVariableAccessAttributes = -1;
644 static int hf_mms_ServiceSupportOptions_defineNamedVariable = -1;
645 static int hf_mms_ServiceSupportOptions_defineScatteredAccess = -1;
646 static int hf_mms_ServiceSupportOptions_getScatteredAccessAttributes = -1;
647 static int hf_mms_ServiceSupportOptions_deleteVariableAccess = -1;
648 static int hf_mms_ServiceSupportOptions_defineNamedVariableList = -1;
649 static int hf_mms_ServiceSupportOptions_getNamedVariableListAttributes = -1;
650 static int hf_mms_ServiceSupportOptions_deleteNamedVariableList = -1;
651 static int hf_mms_ServiceSupportOptions_defineNamedType = -1;
652 static int hf_mms_ServiceSupportOptions_getNamedTypeAttributes = -1;
653 static int hf_mms_ServiceSupportOptions_deleteNamedType = -1;
654 static int hf_mms_ServiceSupportOptions_input = -1;
655 static int hf_mms_ServiceSupportOptions_output = -1;
656 static int hf_mms_ServiceSupportOptions_takeControl = -1;
657 static int hf_mms_ServiceSupportOptions_relinquishControl = -1;
658 static int hf_mms_ServiceSupportOptions_defineSemaphore = -1;
659 static int hf_mms_ServiceSupportOptions_deleteSemaphore = -1;
660 static int hf_mms_ServiceSupportOptions_reportSemaphoreStatus = -1;
661 static int hf_mms_ServiceSupportOptions_reportPoolSemaphoreStatus = -1;
662 static int hf_mms_ServiceSupportOptions_reportSemaphoreEntryStatus = -1;
663 static int hf_mms_ServiceSupportOptions_initiateDownloadSequence = -1;
664 static int hf_mms_ServiceSupportOptions_downloadSegment = -1;
665 static int hf_mms_ServiceSupportOptions_terminateDownloadSequence = -1;
666 static int hf_mms_ServiceSupportOptions_initiateUploadSequence = -1;
667 static int hf_mms_ServiceSupportOptions_uploadSegment = -1;
668 static int hf_mms_ServiceSupportOptions_terminateUploadSequence = -1;
669 static int hf_mms_ServiceSupportOptions_requestDomainDownload = -1;
670 static int hf_mms_ServiceSupportOptions_requestDomainUpload = -1;
671 static int hf_mms_ServiceSupportOptions_loadDomainContent = -1;
672 static int hf_mms_ServiceSupportOptions_storeDomainContent = -1;
673 static int hf_mms_ServiceSupportOptions_deleteDomain = -1;
674 static int hf_mms_ServiceSupportOptions_getDomainAttributes = -1;
675 static int hf_mms_ServiceSupportOptions_createProgramInvocation = -1;
676 static int hf_mms_ServiceSupportOptions_deleteProgramInvocation = -1;
677 static int hf_mms_ServiceSupportOptions_start = -1;
678 static int hf_mms_ServiceSupportOptions_stop = -1;
679 static int hf_mms_ServiceSupportOptions_resume = -1;
680 static int hf_mms_ServiceSupportOptions_reset = -1;
681 static int hf_mms_ServiceSupportOptions_kill = -1;
682 static int hf_mms_ServiceSupportOptions_getProgramInvocationAttributes = -1;
683 static int hf_mms_ServiceSupportOptions_obtainFile = -1;
684 static int hf_mms_ServiceSupportOptions_defineEventCondition = -1;
685 static int hf_mms_ServiceSupportOptions_deleteEventCondition = -1;
686 static int hf_mms_ServiceSupportOptions_getEventConditionAttributes = -1;
687 static int hf_mms_ServiceSupportOptions_reportEventConditionStatus = -1;
688 static int hf_mms_ServiceSupportOptions_alterEventConditionMonitoring = -1;
689 static int hf_mms_ServiceSupportOptions_triggerEvent = -1;
690 static int hf_mms_ServiceSupportOptions_defineEventAction = -1;
691 static int hf_mms_ServiceSupportOptions_deleteEventAction = -1;
692 static int hf_mms_ServiceSupportOptions_getEventActionAttributes = -1;
693 static int hf_mms_ServiceSupportOptions_reportActionStatus = -1;
694 static int hf_mms_ServiceSupportOptions_defineEventEnrollment = -1;
695 static int hf_mms_ServiceSupportOptions_deleteEventEnrollment = -1;
696 static int hf_mms_ServiceSupportOptions_alterEventEnrollment = -1;
697 static int hf_mms_ServiceSupportOptions_reportEventEnrollmentStatus = -1;
698 static int hf_mms_ServiceSupportOptions_getEventEnrollmentAttributes = -1;
699 static int hf_mms_ServiceSupportOptions_acknowledgeEventNotification = -1;
700 static int hf_mms_ServiceSupportOptions_getAlarmSummary = -1;
701 static int hf_mms_ServiceSupportOptions_getAlarmEnrollmentSummary = -1;
702 static int hf_mms_ServiceSupportOptions_readJournal = -1;
703 static int hf_mms_ServiceSupportOptions_writeJournal = -1;
704 static int hf_mms_ServiceSupportOptions_initializeJournal = -1;
705 static int hf_mms_ServiceSupportOptions_reportJournalStatus = -1;
706 static int hf_mms_ServiceSupportOptions_createJournal = -1;
707 static int hf_mms_ServiceSupportOptions_deleteJournal = -1;
708 static int hf_mms_ServiceSupportOptions_getCapabilityList = -1;
709 static int hf_mms_ServiceSupportOptions_fileOpen = -1;
710 static int hf_mms_ServiceSupportOptions_fileRead = -1;
711 static int hf_mms_ServiceSupportOptions_fileClose = -1;
712 static int hf_mms_ServiceSupportOptions_fileRename = -1;
713 static int hf_mms_ServiceSupportOptions_fileDelete = -1;
714 static int hf_mms_ServiceSupportOptions_fileDirectory = -1;
715 static int hf_mms_ServiceSupportOptions_unsolicitedStatus = -1;
716 static int hf_mms_ServiceSupportOptions_informationReport = -1;
717 static int hf_mms_ServiceSupportOptions_eventNotification = -1;
718 static int hf_mms_ServiceSupportOptions_attachToEventCondition = -1;
719 static int hf_mms_ServiceSupportOptions_attachToSemaphore = -1;
720 static int hf_mms_ServiceSupportOptions_conclude = -1;
721 static int hf_mms_ServiceSupportOptions_cancel = -1;
722 static int hf_mms_Transitions_idle_to_disabled = -1;
723 static int hf_mms_Transitions_active_to_disabled = -1;
724 static int hf_mms_Transitions_disabled_to_idle = -1;
725 static int hf_mms_Transitions_active_to_idle = -1;
726 static int hf_mms_Transitions_disabled_to_active = -1;
727 static int hf_mms_Transitions_idle_to_active = -1;
728 static int hf_mms_Transitions_any_to_deleted = -1;
729 
730 /*--- End of included file: packet-mms-hf.c ---*/
731 #line 35 "./asn1/mms/packet-mms-template.c"
732 
733 /* Initialize the subtree pointers */
734 static gint ett_mms = -1;
735 
736 /*--- Included file: packet-mms-ett.c ---*/
737 #line 1 "./asn1/mms/packet-mms-ett.c"
738 static gint ett_mms_MMSpdu = -1;
739 static gint ett_mms_Confirmed_RequestPDU = -1;
740 static gint ett_mms_SEQUENCE_OF_Modifier = -1;
741 static gint ett_mms_Unconfirmed_PDU = -1;
742 static gint ett_mms_Confirmed_ResponsePDU = -1;
743 static gint ett_mms_Confirmed_ErrorPDU = -1;
744 static gint ett_mms_UnconfirmedService = -1;
745 static gint ett_mms_Modifier = -1;
746 static gint ett_mms_ConfirmedServiceRequest = -1;
747 static gint ett_mms_CS_Request_Detail = -1;
748 static gint ett_mms_ConfirmedServiceResponse = -1;
749 static gint ett_mms_FileName = -1;
750 static gint ett_mms_ObjectName = -1;
751 static gint ett_mms_T_domain_specific = -1;
752 static gint ett_mms_ApplicationReference = -1;
753 static gint ett_mms_Initiate_RequestPDU = -1;
754 static gint ett_mms_InitRequestDetail = -1;
755 static gint ett_mms_Initiate_ResponsePDU = -1;
756 static gint ett_mms_InitResponseDetail = -1;
757 static gint ett_mms_ParameterSupportOptions = -1;
758 static gint ett_mms_ServiceSupportOptions = -1;
759 static gint ett_mms_Cancel_ErrorPDU = -1;
760 static gint ett_mms_ServiceError = -1;
761 static gint ett_mms_T_errorClass = -1;
762 static gint ett_mms_T_serviceSpecificInformation = -1;
763 static gint ett_mms_AdditionalService_Error = -1;
764 static gint ett_mms_RemoveEventConditionListReference_Error = -1;
765 static gint ett_mms_InitiateUnitControl_Error = -1;
766 static gint ett_mms_StartUnitControl_Error = -1;
767 static gint ett_mms_StopUnitControl_Error = -1;
768 static gint ett_mms_DeleteUnitControl_Error = -1;
769 static gint ett_mms_LoadUnitControlFromFile_Error = -1;
770 static gint ett_mms_RejectPDU = -1;
771 static gint ett_mms_T_rejectReason = -1;
772 static gint ett_mms_Status_Response = -1;
773 static gint ett_mms_GetNameList_Request = -1;
774 static gint ett_mms_T_extendedObjectClass = -1;
775 static gint ett_mms_T_objectScope = -1;
776 static gint ett_mms_GetNameList_Response = -1;
777 static gint ett_mms_SEQUENCE_OF_Identifier = -1;
778 static gint ett_mms_Identify_Response = -1;
779 static gint ett_mms_T_listOfAbstractSyntaxes = -1;
780 static gint ett_mms_Rename_Request = -1;
781 static gint ett_mms_T_extendedObjectClass_01 = -1;
782 static gint ett_mms_GetCapabilityList_Request = -1;
783 static gint ett_mms_GetCapabilityList_Response = -1;
784 static gint ett_mms_T_listOfCapabilities = -1;
785 static gint ett_mms_InitiateDownloadSequence_Request = -1;
786 static gint ett_mms_T_listOfCapabilities_01 = -1;
787 static gint ett_mms_DownloadSegment_Response = -1;
788 static gint ett_mms_T_loadData = -1;
789 static gint ett_mms_TerminateDownloadSequence_Request = -1;
790 static gint ett_mms_InitiateUploadSequence_Response = -1;
791 static gint ett_mms_T_listOfCapabilities_02 = -1;
792 static gint ett_mms_UploadSegment_Response = -1;
793 static gint ett_mms_T_loadData_01 = -1;
794 static gint ett_mms_RequestDomainDownload_Request = -1;
795 static gint ett_mms_T_listOfCapabilities_03 = -1;
796 static gint ett_mms_RequestDomainUpload_Request = -1;
797 static gint ett_mms_LoadDomainContent_Request = -1;
798 static gint ett_mms_T_listOfCapabilities_04 = -1;
799 static gint ett_mms_StoreDomainContent_Request = -1;
800 static gint ett_mms_GetDomainAttributes_Response = -1;
801 static gint ett_mms_T_listOfCapabilities_05 = -1;
802 static gint ett_mms_CreateProgramInvocation_Request = -1;
803 static gint ett_mms_Start_Request = -1;
804 static gint ett_mms_T_executionArgument = -1;
805 static gint ett_mms_Stop_Request = -1;
806 static gint ett_mms_Resume_Request = -1;
807 static gint ett_mms_T_executionArgument_01 = -1;
808 static gint ett_mms_Reset_Request = -1;
809 static gint ett_mms_Kill_Request = -1;
810 static gint ett_mms_GetProgramInvocationAttributes_Response = -1;
811 static gint ett_mms_T_executionArgument_02 = -1;
812 static gint ett_mms_TypeSpecification = -1;
813 static gint ett_mms_T_array = -1;
814 static gint ett_mms_T_structure = -1;
815 static gint ett_mms_T_components = -1;
816 static gint ett_mms_T_components_item = -1;
817 static gint ett_mms_AlternateAccess = -1;
818 static gint ett_mms_AlternateAccess_item = -1;
819 static gint ett_mms_T_named = -1;
820 static gint ett_mms_AlternateAccessSelection = -1;
821 static gint ett_mms_T_selectAlternateAccess = -1;
822 static gint ett_mms_T_accessSelection = -1;
823 static gint ett_mms_T_indexRange = -1;
824 static gint ett_mms_T_selectAccess = -1;
825 static gint ett_mms_T_indexRange_01 = -1;
826 static gint ett_mms_Read_Request = -1;
827 static gint ett_mms_Read_Response = -1;
828 static gint ett_mms_SEQUENCE_OF_AccessResult = -1;
829 static gint ett_mms_Write_Request = -1;
830 static gint ett_mms_SEQUENCE_OF_Data = -1;
831 static gint ett_mms_Write_Response = -1;
832 static gint ett_mms_Write_Response_item = -1;
833 static gint ett_mms_InformationReport = -1;
834 static gint ett_mms_GetVariableAccessAttributes_Request = -1;
835 static gint ett_mms_GetVariableAccessAttributes_Response = -1;
836 static gint ett_mms_DefineNamedVariable_Request = -1;
837 static gint ett_mms_DefineScatteredAccess_Request = -1;
838 static gint ett_mms_GetScatteredAccessAttributes_Response = -1;
839 static gint ett_mms_DeleteVariableAccess_Request = -1;
840 static gint ett_mms_SEQUENCE_OF_ObjectName = -1;
841 static gint ett_mms_DeleteVariableAccess_Response = -1;
842 static gint ett_mms_DefineNamedVariableList_Request = -1;
843 static gint ett_mms_T_listOfVariable = -1;
844 static gint ett_mms_T_listOfVariable_item = -1;
845 static gint ett_mms_GetNamedVariableListAttributes_Response = -1;
846 static gint ett_mms_T_listOfVariable_01 = -1;
847 static gint ett_mms_T_listOfVariable_item_01 = -1;
848 static gint ett_mms_DeleteNamedVariableList_Request = -1;
849 static gint ett_mms_DeleteNamedVariableList_Response = -1;
850 static gint ett_mms_DefineNamedType_Request = -1;
851 static gint ett_mms_GetNamedTypeAttributes_Response = -1;
852 static gint ett_mms_DeleteNamedType_Request = -1;
853 static gint ett_mms_DeleteNamedType_Response = -1;
854 static gint ett_mms_AccessResult = -1;
855 static gint ett_mms_Data = -1;
856 static gint ett_mms_VariableAccessSpecification = -1;
857 static gint ett_mms_T_listOfVariable_02 = -1;
858 static gint ett_mms_T_listOfVariable_item_02 = -1;
859 static gint ett_mms_ScatteredAccessDescription = -1;
860 static gint ett_mms_ScatteredAccessDescription_item = -1;
861 static gint ett_mms_VariableSpecification = -1;
862 static gint ett_mms_T_variableDescription = -1;
863 static gint ett_mms_Address = -1;
864 static gint ett_mms_TakeControl_Request = -1;
865 static gint ett_mms_TakeControl_Response = -1;
866 static gint ett_mms_RelinquishControl_Request = -1;
867 static gint ett_mms_DefineSemaphore_Request = -1;
868 static gint ett_mms_ReportSemaphoreStatus_Response = -1;
869 static gint ett_mms_ReportPoolSemaphoreStatus_Request = -1;
870 static gint ett_mms_ReportPoolSemaphoreStatus_Response = -1;
871 static gint ett_mms_T_listOfNamedTokens = -1;
872 static gint ett_mms_T_listOfNamedTokens_item = -1;
873 static gint ett_mms_ReportSemaphoreEntryStatus_Request = -1;
874 static gint ett_mms_ReportSemaphoreEntryStatus_Response = -1;
875 static gint ett_mms_SEQUENCE_OF_SemaphoreEntry = -1;
876 static gint ett_mms_AttachToSemaphore = -1;
877 static gint ett_mms_SemaphoreEntry = -1;
878 static gint ett_mms_Input_Request = -1;
879 static gint ett_mms_T_listOfPromptData = -1;
880 static gint ett_mms_Output_Request = -1;
881 static gint ett_mms_T_listOfOutputData = -1;
882 static gint ett_mms_DefineEventCondition_Request = -1;
883 static gint ett_mms_DeleteEventCondition_Request = -1;
884 static gint ett_mms_GetEventConditionAttributes_Response = -1;
885 static gint ett_mms_T_monitoredVariable = -1;
886 static gint ett_mms_ReportEventConditionStatus_Response = -1;
887 static gint ett_mms_AlterEventConditionMonitoring_Request = -1;
888 static gint ett_mms_TriggerEvent_Request = -1;
889 static gint ett_mms_DefineEventAction_Request = -1;
890 static gint ett_mms_DeleteEventAction_Request = -1;
891 static gint ett_mms_GetEventActionAttributes_Response = -1;
892 static gint ett_mms_DefineEventEnrollment_Request = -1;
893 static gint ett_mms_DeleteEventEnrollment_Request = -1;
894 static gint ett_mms_GetEventEnrollmentAttributes_Request = -1;
895 static gint ett_mms_EventEnrollment = -1;
896 static gint ett_mms_T_eventConditionName = -1;
897 static gint ett_mms_T_eventActionName = -1;
898 static gint ett_mms_GetEventEnrollmentAttributes_Response = -1;
899 static gint ett_mms_SEQUENCE_OF_EventEnrollment = -1;
900 static gint ett_mms_ReportEventEnrollmentStatus_Response = -1;
901 static gint ett_mms_AlterEventEnrollment_Request = -1;
902 static gint ett_mms_AlterEventEnrollment_Response = -1;
903 static gint ett_mms_T_currentState = -1;
904 static gint ett_mms_AcknowledgeEventNotification_Request = -1;
905 static gint ett_mms_GetAlarmSummary_Request = -1;
906 static gint ett_mms_T_severityFilter = -1;
907 static gint ett_mms_GetAlarmSummary_Response = -1;
908 static gint ett_mms_SEQUENCE_OF_AlarmSummary = -1;
909 static gint ett_mms_AlarmSummary = -1;
910 static gint ett_mms_GetAlarmEnrollmentSummary_Request = -1;
911 static gint ett_mms_T_severityFilter_01 = -1;
912 static gint ett_mms_GetAlarmEnrollmentSummary_Response = -1;
913 static gint ett_mms_SEQUENCE_OF_AlarmEnrollmentSummary = -1;
914 static gint ett_mms_AlarmEnrollmentSummary = -1;
915 static gint ett_mms_EventNotification = -1;
916 static gint ett_mms_T_eventConditionName_01 = -1;
917 static gint ett_mms_T_actionResult = -1;
918 static gint ett_mms_T_eventActionResult = -1;
919 static gint ett_mms_AttachToEventCondition = -1;
920 static gint ett_mms_EventTime = -1;
921 static gint ett_mms_Transitions = -1;
922 static gint ett_mms_ReadJournal_Request = -1;
923 static gint ett_mms_T_rangeStartSpecification = -1;
924 static gint ett_mms_T_rangeStopSpecification = -1;
925 static gint ett_mms_T_listOfVariables = -1;
926 static gint ett_mms_T_entryToStartAfter = -1;
927 static gint ett_mms_ReadJournal_Response = -1;
928 static gint ett_mms_SEQUENCE_OF_JournalEntry = -1;
929 static gint ett_mms_JournalEntry = -1;
930 static gint ett_mms_WriteJournal_Request = -1;
931 static gint ett_mms_SEQUENCE_OF_EntryContent = -1;
932 static gint ett_mms_InitializeJournal_Request = -1;
933 static gint ett_mms_T_limitSpecification = -1;
934 static gint ett_mms_ReportJournalStatus_Response = -1;
935 static gint ett_mms_CreateJournal_Request = -1;
936 static gint ett_mms_DeleteJournal_Request = -1;
937 static gint ett_mms_EntryContent = -1;
938 static gint ett_mms_T_entryForm = -1;
939 static gint ett_mms_T_data = -1;
940 static gint ett_mms_T_event = -1;
941 static gint ett_mms_T_listOfVariables_01 = -1;
942 static gint ett_mms_T_listOfVariables_item = -1;
943 static gint ett_mms_ObtainFile_Request = -1;
944 static gint ett_mms_FileOpen_Request = -1;
945 static gint ett_mms_FileOpen_Response = -1;
946 static gint ett_mms_FileRead_Response = -1;
947 static gint ett_mms_FileRename_Request = -1;
948 static gint ett_mms_FileDirectory_Request = -1;
949 static gint ett_mms_FileDirectory_Response = -1;
950 static gint ett_mms_SEQUENCE_OF_DirectoryEntry = -1;
951 static gint ett_mms_DirectoryEntry = -1;
952 static gint ett_mms_FileAttributes = -1;
953 
954 /*--- End of included file: packet-mms-ett.c ---*/
955 #line 39 "./asn1/mms/packet-mms-template.c"
956 
957 static expert_field ei_mms_mal_timeofday_encoding = EI_INIT;
958 static expert_field ei_mms_mal_utctime_encoding = EI_INIT;
959 static expert_field ei_mms_zero_pdu = EI_INIT;
960 
961 /*****************************************************************************/
962 /* Packet private data                                                       */
963 /* For this dissector, all access to actx->private_data should be made       */
964 /* through this API, which ensures that they will not overwrite each other!! */
965 /*****************************************************************************/
966 
967 #define BUFFER_SIZE_PRE 10
968 #define BUFFER_SIZE_MORE 1024
969 
970 typedef struct mms_private_data_t
971 {
972 	char preCinfo[BUFFER_SIZE_PRE];
973 	char moreCinfo[BUFFER_SIZE_MORE];
974 } mms_private_data_t;
975 
976 
977 /* Helper function to get or create the private data struct */
978 static
mms_get_private_data(asn1_ctx_t * actx)979 mms_private_data_t* mms_get_private_data(asn1_ctx_t *actx)
980 {
981 	packet_info *pinfo = actx->pinfo;
982 	mms_private_data_t *private_data = (mms_private_data_t *)p_get_proto_data(pinfo->pool, pinfo, proto_mms, pinfo->curr_layer_num);
983 	if(private_data != NULL )
984 		return private_data;
985 	else {
986 		private_data = wmem_new0(pinfo->pool, mms_private_data_t);
987 		p_add_proto_data(pinfo->pool, pinfo, proto_mms, pinfo->curr_layer_num, private_data);
988 		return private_data;
989 	}
990 }
991 
992 /* Helper function to test presence of private data struct */
993 static gboolean
mms_has_private_data(asn1_ctx_t * actx)994 mms_has_private_data(asn1_ctx_t *actx)
995 {
996 	packet_info *pinfo = actx->pinfo;
997 	return (p_get_proto_data(pinfo->pool, pinfo, proto_mms, pinfo->curr_layer_num) != NULL);
998 }
999 
1000 static void
private_data_add_preCinfo(asn1_ctx_t * actx,guint32 val)1001 private_data_add_preCinfo(asn1_ctx_t *actx, guint32 val)
1002 {
1003 	mms_private_data_t *private_data = (mms_private_data_t*)mms_get_private_data(actx);
1004 	g_snprintf(private_data->preCinfo, BUFFER_SIZE_PRE, "%02d ", val);
1005 }
1006 
1007 static char*
private_data_get_preCinfo(asn1_ctx_t * actx)1008 private_data_get_preCinfo(asn1_ctx_t *actx)
1009 {
1010 	mms_private_data_t *private_data = (mms_private_data_t*)mms_get_private_data(actx);
1011 	return private_data->preCinfo;
1012 }
1013 
1014 static void
private_data_add_moreCinfo_id(asn1_ctx_t * actx,tvbuff_t * tvb)1015 private_data_add_moreCinfo_id(asn1_ctx_t *actx, tvbuff_t *tvb)
1016 {
1017 	mms_private_data_t *private_data = (mms_private_data_t*)mms_get_private_data(actx);
1018 	(void) g_strlcat(private_data->moreCinfo, " ", BUFFER_SIZE_MORE);
1019 	(void) g_strlcat(private_data->moreCinfo, tvb_get_string_enc(actx->pinfo->pool,
1020 				tvb, 2, tvb_get_guint8(tvb, 1), ENC_STRING), BUFFER_SIZE_MORE);
1021 }
1022 
1023 static void
private_data_add_moreCinfo_float(asn1_ctx_t * actx,tvbuff_t * tvb)1024 private_data_add_moreCinfo_float(asn1_ctx_t *actx, tvbuff_t *tvb)
1025 {
1026 	mms_private_data_t *private_data = (mms_private_data_t*)mms_get_private_data(actx);
1027 	g_snprintf(private_data->moreCinfo, BUFFER_SIZE_MORE,
1028 				" %f", tvb_get_ieee_float(tvb, 1, ENC_BIG_ENDIAN));
1029 }
1030 
1031 static char*
private_data_get_moreCinfo(asn1_ctx_t * actx)1032 private_data_get_moreCinfo(asn1_ctx_t *actx)
1033 {
1034 	mms_private_data_t *private_data = (mms_private_data_t*)mms_get_private_data(actx);
1035 	return private_data->moreCinfo;
1036 }
1037 
1038 /*****************************************************************************/
1039 
1040 
1041 
1042 /*--- Included file: packet-mms-fn.c ---*/
1043 #line 1 "./asn1/mms/packet-mms-fn.c"
1044 /*--- Cyclic dependencies ---*/
1045 
1046 /* TypeSpecification -> TypeSpecification/array -> TypeSpecification */
1047 /* TypeSpecification -> TypeSpecification/structure -> TypeSpecification/structure/components -> TypeSpecification/structure/components/_item -> TypeSpecification */
1048 static int dissect_mms_TypeSpecification(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
1049 
1050 /* VariableSpecification -> ScatteredAccessDescription -> ScatteredAccessDescription/_item -> VariableSpecification */
1051 static int dissect_mms_VariableSpecification(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
1052 
1053 /* AlternateAccess -> AlternateAccess/_item -> AlternateAccessSelection -> AlternateAccessSelection/selectAlternateAccess -> AlternateAccess */
1054 static int dissect_mms_AlternateAccess(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
1055 
1056 /* Data -> Data/array -> Data */
1057 static int dissect_mms_Data(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
1058 
1059 
1060 
1061 
1062 static int
dissect_mms_Unsigned32(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)1063 dissect_mms_Unsigned32(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1064 #line 189 "./asn1/mms/mms.cnf"
1065 	guint32 val;
1066   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
1067                                                 &val);
1068 
1069 	if (hf_index == hf_mms_invokeID)
1070 		private_data_add_preCinfo(actx, val);
1071 
1072 
1073 
1074   return offset;
1075 }
1076 
1077 
1078 
1079 static int
dissect_mms_Identifier(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)1080 dissect_mms_Identifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1081 #line 199 "./asn1/mms/mms.cnf"
1082 	int offset_id = offset;
1083   offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_VisibleString,
1084                                             actx, tree, tvb, offset, hf_index,
1085                                             NULL);
1086 
1087 	if ((hf_index == hf_mms_domainId) || (hf_index == hf_mms_itemId)) {
1088 		if (tvb_get_guint8(tvb, offset_id) == 0x1a)
1089 			private_data_add_moreCinfo_id(actx,tvb);
1090 	}
1091 
1092   return offset;
1093 }
1094 
1095 
1096 static const ber_sequence_t T_domain_specific_sequence[] = {
1097   { &hf_mms_domainId        , BER_CLASS_UNI, BER_UNI_TAG_VisibleString, BER_FLAGS_NOOWNTAG, dissect_mms_Identifier },
1098   { &hf_mms_itemId          , BER_CLASS_UNI, BER_UNI_TAG_VisibleString, BER_FLAGS_NOOWNTAG, dissect_mms_Identifier },
1099   { NULL, 0, 0, 0, NULL }
1100 };
1101 
1102 static int
dissect_mms_T_domain_specific(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)1103 dissect_mms_T_domain_specific(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1104   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1105                                    T_domain_specific_sequence, hf_index, ett_mms_T_domain_specific);
1106 
1107   return offset;
1108 }
1109 
1110 
1111 static const value_string mms_ObjectName_vals[] = {
1112   {   0, "vmd-specific" },
1113   {   1, "domain-specific" },
1114   {   2, "aa-specific" },
1115   { 0, NULL }
1116 };
1117 
1118 static const ber_choice_t ObjectName_choice[] = {
1119   {   0, &hf_mms_vmd_specific    , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mms_Identifier },
1120   {   1, &hf_mms_domain_specific , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_mms_T_domain_specific },
1121   {   2, &hf_mms_aa_specific     , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_mms_Identifier },
1122   { 0, NULL, 0, 0, 0, NULL }
1123 };
1124 
1125 static int
dissect_mms_ObjectName(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)1126 dissect_mms_ObjectName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1127   offset = dissect_ber_choice(actx, tree, tvb, offset,
1128                                  ObjectName_choice, hf_index, ett_mms_ObjectName,
1129                                  NULL);
1130 
1131   return offset;
1132 }
1133 
1134 
1135 static int * const Transitions_bits[] = {
1136   &hf_mms_Transitions_idle_to_disabled,
1137   &hf_mms_Transitions_active_to_disabled,
1138   &hf_mms_Transitions_disabled_to_idle,
1139   &hf_mms_Transitions_active_to_idle,
1140   &hf_mms_Transitions_disabled_to_active,
1141   &hf_mms_Transitions_idle_to_active,
1142   &hf_mms_Transitions_any_to_deleted,
1143   NULL
1144 };
1145 
1146 static int
dissect_mms_Transitions(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)1147 dissect_mms_Transitions(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1148   offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
1149                                     Transitions_bits, 7, hf_index, ett_mms_Transitions,
1150                                     NULL);
1151 
1152   return offset;
1153 }
1154 
1155 
1156 static const ber_sequence_t AttachToEventCondition_sequence[] = {
1157   { &hf_mms_eventEnrollmentName, BER_CLASS_CON, 0, BER_FLAGS_NOTCHKTAG, dissect_mms_ObjectName },
1158   { &hf_mms_eventConditionName, BER_CLASS_CON, 1, BER_FLAGS_NOTCHKTAG, dissect_mms_ObjectName },
1159   { &hf_mms_causingTransitions, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_mms_Transitions },
1160   { &hf_mms_acceptableDelay , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_Unsigned32 },
1161   { NULL, 0, 0, 0, NULL }
1162 };
1163 
1164 static int
dissect_mms_AttachToEventCondition(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)1165 dissect_mms_AttachToEventCondition(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1166   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1167                                    AttachToEventCondition_sequence, hf_index, ett_mms_AttachToEventCondition);
1168 
1169   return offset;
1170 }
1171 
1172 
1173 
1174 static int
dissect_mms_Unsigned8(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)1175 dissect_mms_Unsigned8(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1176   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
1177                                                 NULL);
1178 
1179   return offset;
1180 }
1181 
1182 
1183 
1184 static int
dissect_mms_Priority(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)1185 dissect_mms_Priority(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1186   offset = dissect_mms_Unsigned8(implicit_tag, tvb, offset, actx, tree, hf_index);
1187 
1188   return offset;
1189 }
1190 
1191 
1192 
1193 static int
dissect_mms_BOOLEAN(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)1194 dissect_mms_BOOLEAN(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1195   offset = dissect_ber_boolean(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
1196 
1197   return offset;
1198 }
1199 
1200 
1201 static const ber_sequence_t AttachToSemaphore_sequence[] = {
1202   { &hf_mms_semaphoreName   , BER_CLASS_CON, 0, BER_FLAGS_NOTCHKTAG, dissect_mms_ObjectName },
1203   { &hf_mms_namedToken      , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_Identifier },
1204   { &hf_mms_priority        , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_Priority },
1205   { &hf_mms_acceptableDelay , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_Unsigned32 },
1206   { &hf_mms_controlTimeOut  , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_Unsigned32 },
1207   { &hf_mms_abortOnTimeOut  , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_BOOLEAN },
1208   { &hf_mms_relinquishIfConnectionLost, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_BOOLEAN },
1209   { NULL, 0, 0, 0, NULL }
1210 };
1211 
1212 static int
dissect_mms_AttachToSemaphore(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)1213 dissect_mms_AttachToSemaphore(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1214   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1215                                    AttachToSemaphore_sequence, hf_index, ett_mms_AttachToSemaphore);
1216 
1217   return offset;
1218 }
1219 
1220 
1221 static const value_string mms_Modifier_vals[] = {
1222   {   0, "attach-To-Event-Condition" },
1223   {   1, "attach-To-Semaphore" },
1224   { 0, NULL }
1225 };
1226 
1227 static const ber_choice_t Modifier_choice[] = {
1228   {   0, &hf_mms_attach_To_Event_Condition, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mms_AttachToEventCondition },
1229   {   1, &hf_mms_attach_To_Semaphore, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_mms_AttachToSemaphore },
1230   { 0, NULL, 0, 0, 0, NULL }
1231 };
1232 
1233 static int
dissect_mms_Modifier(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)1234 dissect_mms_Modifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1235   offset = dissect_ber_choice(actx, tree, tvb, offset,
1236                                  Modifier_choice, hf_index, ett_mms_Modifier,
1237                                  NULL);
1238 
1239   return offset;
1240 }
1241 
1242 
1243 static const ber_sequence_t SEQUENCE_OF_Modifier_sequence_of[1] = {
1244   { &hf_mms_listOfModifier_item, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_mms_Modifier },
1245 };
1246 
1247 static int
dissect_mms_SEQUENCE_OF_Modifier(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)1248 dissect_mms_SEQUENCE_OF_Modifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1249   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
1250                                       SEQUENCE_OF_Modifier_sequence_of, hf_index, ett_mms_SEQUENCE_OF_Modifier);
1251 
1252   return offset;
1253 }
1254 
1255 
1256 
1257 static int
dissect_mms_Status_Request(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)1258 dissect_mms_Status_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1259   offset = dissect_ber_boolean(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
1260 
1261   return offset;
1262 }
1263 
1264 
1265 static const value_string mms_T_objectClass_vals[] = {
1266   {   0, "nammedVariable" },
1267   {   1, "scatteredAccess" },
1268   {   2, "namedVariableList" },
1269   {   3, "namedType" },
1270   {   4, "semaphore" },
1271   {   5, "eventCondition" },
1272   {   6, "eventAction" },
1273   {   7, "eventEnrollment" },
1274   {   8, "journal" },
1275   {   9, "domain" },
1276   {  10, "programInvocation" },
1277   {  11, "operatorStation" },
1278   { 0, NULL }
1279 };
1280 
1281 
1282 static int
dissect_mms_T_objectClass(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)1283 dissect_mms_T_objectClass(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1284   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
1285                                                 NULL);
1286 
1287   return offset;
1288 }
1289 
1290 
1291 static const value_string mms_T_extendedObjectClass_vals[] = {
1292   {   0, "objectClass" },
1293   { 0, NULL }
1294 };
1295 
1296 static const ber_choice_t T_extendedObjectClass_choice[] = {
1297   {   0, &hf_mms_objectClass     , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mms_T_objectClass },
1298   { 0, NULL, 0, 0, 0, NULL }
1299 };
1300 
1301 static int
dissect_mms_T_extendedObjectClass(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)1302 dissect_mms_T_extendedObjectClass(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1303   offset = dissect_ber_choice(actx, tree, tvb, offset,
1304                                  T_extendedObjectClass_choice, hf_index, ett_mms_T_extendedObjectClass,
1305                                  NULL);
1306 
1307   return offset;
1308 }
1309 
1310 
1311 
1312 static int
dissect_mms_NULL(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)1313 dissect_mms_NULL(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1314   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
1315 
1316   return offset;
1317 }
1318 
1319 
1320 static const value_string mms_T_objectScope_vals[] = {
1321   {   0, "vmdSpecific" },
1322   {   1, "domainSpecific" },
1323   {   2, "aaSpecific" },
1324   { 0, NULL }
1325 };
1326 
1327 static const ber_choice_t T_objectScope_choice[] = {
1328   {   0, &hf_mms_vmdSpecific     , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mms_NULL },
1329   {   1, &hf_mms_domainSpecific  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_mms_Identifier },
1330   {   2, &hf_mms_aaSpecific      , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_mms_NULL },
1331   { 0, NULL, 0, 0, 0, NULL }
1332 };
1333 
1334 static int
dissect_mms_T_objectScope(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)1335 dissect_mms_T_objectScope(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1336   offset = dissect_ber_choice(actx, tree, tvb, offset,
1337                                  T_objectScope_choice, hf_index, ett_mms_T_objectScope,
1338                                  NULL);
1339 
1340   return offset;
1341 }
1342 
1343 
1344 static const ber_sequence_t GetNameList_Request_sequence[] = {
1345   { &hf_mms_extendedObjectClass, BER_CLASS_CON, 0, 0, dissect_mms_T_extendedObjectClass },
1346   { &hf_mms_objectScope     , BER_CLASS_CON, 1, 0, dissect_mms_T_objectScope },
1347   { &hf_mms_getNameList_Request_continueAfter, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_Identifier },
1348   { NULL, 0, 0, 0, NULL }
1349 };
1350 
1351 static int
dissect_mms_GetNameList_Request(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)1352 dissect_mms_GetNameList_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1353   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1354                                    GetNameList_Request_sequence, hf_index, ett_mms_GetNameList_Request);
1355 
1356   return offset;
1357 }
1358 
1359 
1360 
1361 static int
dissect_mms_Identify_Request(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)1362 dissect_mms_Identify_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1363   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
1364 
1365   return offset;
1366 }
1367 
1368 
1369 static const value_string mms_T_objectClass_01_vals[] = {
1370   {   0, "namedVariable" },
1371   {   1, "scatteredAccess" },
1372   {   2, "namedVariableList" },
1373   {   3, "namedType" },
1374   {   4, "semaphore" },
1375   {   5, "eventCondition" },
1376   {   6, "eventAction" },
1377   {   7, "eventEnrollment" },
1378   {   8, "journal" },
1379   {   9, "domain" },
1380   {  10, "programInvocation" },
1381   {  11, "operatorStation" },
1382   { 0, NULL }
1383 };
1384 
1385 
1386 static int
dissect_mms_T_objectClass_01(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)1387 dissect_mms_T_objectClass_01(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1388   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
1389                                                 NULL);
1390 
1391   return offset;
1392 }
1393 
1394 
1395 static const value_string mms_T_extendedObjectClass_01_vals[] = {
1396   {   0, "objectClass" },
1397   { 0, NULL }
1398 };
1399 
1400 static const ber_choice_t T_extendedObjectClass_01_choice[] = {
1401   {   0, &hf_mms_objectClass_01  , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mms_T_objectClass_01 },
1402   { 0, NULL, 0, 0, 0, NULL }
1403 };
1404 
1405 static int
dissect_mms_T_extendedObjectClass_01(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)1406 dissect_mms_T_extendedObjectClass_01(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1407   offset = dissect_ber_choice(actx, tree, tvb, offset,
1408                                  T_extendedObjectClass_01_choice, hf_index, ett_mms_T_extendedObjectClass_01,
1409                                  NULL);
1410 
1411   return offset;
1412 }
1413 
1414 
1415 static const ber_sequence_t Rename_Request_sequence[] = {
1416   { &hf_mms_extendedObjectClass_01, BER_CLASS_CON, 0, 0, dissect_mms_T_extendedObjectClass_01 },
1417   { &hf_mms_currentName     , BER_CLASS_CON, 1, BER_FLAGS_NOTCHKTAG, dissect_mms_ObjectName },
1418   { &hf_mms_newIdentifier   , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_mms_Identifier },
1419   { NULL, 0, 0, 0, NULL }
1420 };
1421 
1422 static int
dissect_mms_Rename_Request(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)1423 dissect_mms_Rename_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1424   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1425                                    Rename_Request_sequence, hf_index, ett_mms_Rename_Request);
1426 
1427   return offset;
1428 }
1429 
1430 
1431 
1432 static int
dissect_mms_VisibleString(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)1433 dissect_mms_VisibleString(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1434   offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_VisibleString,
1435                                             actx, tree, tvb, offset, hf_index,
1436                                             NULL);
1437 
1438   return offset;
1439 }
1440 
1441 
1442 
1443 static int
dissect_mms_OCTET_STRING(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)1444 dissect_mms_OCTET_STRING(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1445   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
1446                                        NULL);
1447 
1448   return offset;
1449 }
1450 
1451 
1452 static const value_string mms_Address_vals[] = {
1453   {   0, "numericAddress" },
1454   {   1, "symbolicAddress" },
1455   {   2, "unconstrainedAddress" },
1456   { 0, NULL }
1457 };
1458 
1459 static const ber_choice_t Address_choice[] = {
1460   {   0, &hf_mms_numericAddress  , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mms_Unsigned32 },
1461   {   1, &hf_mms_symbolicAddress , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_mms_VisibleString },
1462   {   2, &hf_mms_unconstrainedAddress, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_mms_OCTET_STRING },
1463   { 0, NULL, 0, 0, 0, NULL }
1464 };
1465 
1466 static int
dissect_mms_Address(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)1467 dissect_mms_Address(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1468   offset = dissect_ber_choice(actx, tree, tvb, offset,
1469                                  Address_choice, hf_index, ett_mms_Address,
1470                                  NULL);
1471 
1472   return offset;
1473 }
1474 
1475 
1476 static const ber_sequence_t T_array_sequence[] = {
1477   { &hf_mms_packed          , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_BOOLEAN },
1478   { &hf_mms_numberOfElements, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_mms_Unsigned32 },
1479   { &hf_mms_elementType     , BER_CLASS_CON, 2, BER_FLAGS_NOTCHKTAG, dissect_mms_TypeSpecification },
1480   { NULL, 0, 0, 0, NULL }
1481 };
1482 
1483 static int
dissect_mms_T_array(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)1484 dissect_mms_T_array(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1485   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1486                                    T_array_sequence, hf_index, ett_mms_T_array);
1487 
1488   return offset;
1489 }
1490 
1491 
1492 static const ber_sequence_t T_components_item_sequence[] = {
1493   { &hf_mms_componentName   , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_Identifier },
1494   { &hf_mms_componentType   , BER_CLASS_CON, 1, BER_FLAGS_NOTCHKTAG, dissect_mms_TypeSpecification },
1495   { NULL, 0, 0, 0, NULL }
1496 };
1497 
1498 static int
dissect_mms_T_components_item(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)1499 dissect_mms_T_components_item(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1500   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1501                                    T_components_item_sequence, hf_index, ett_mms_T_components_item);
1502 
1503   return offset;
1504 }
1505 
1506 
1507 static const ber_sequence_t T_components_sequence_of[1] = {
1508   { &hf_mms_components_item , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_mms_T_components_item },
1509 };
1510 
1511 static int
dissect_mms_T_components(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)1512 dissect_mms_T_components(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1513   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
1514                                       T_components_sequence_of, hf_index, ett_mms_T_components);
1515 
1516   return offset;
1517 }
1518 
1519 
1520 static const ber_sequence_t T_structure_sequence[] = {
1521   { &hf_mms_packed          , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_BOOLEAN },
1522   { &hf_mms_components      , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_mms_T_components },
1523   { NULL, 0, 0, 0, NULL }
1524 };
1525 
1526 static int
dissect_mms_T_structure(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)1527 dissect_mms_T_structure(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1528   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1529                                    T_structure_sequence, hf_index, ett_mms_T_structure);
1530 
1531   return offset;
1532 }
1533 
1534 
1535 
1536 static int
dissect_mms_Integer32(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)1537 dissect_mms_Integer32(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1538   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
1539                                                 NULL);
1540 
1541   return offset;
1542 }
1543 
1544 
1545 static const value_string mms_TypeSpecification_vals[] = {
1546   {   0, "typeName" },
1547   {   1, "array" },
1548   {   2, "structure" },
1549   {   3, "boolean" },
1550   {   4, "bit-string" },
1551   {   5, "integer" },
1552   {   6, "unsigned" },
1553   {   9, "octet-string" },
1554   {  10, "visible-string" },
1555   {  11, "generalized-time" },
1556   {  12, "binary-time" },
1557   {  13, "bcd" },
1558   {  15, "objId" },
1559   { 0, NULL }
1560 };
1561 
1562 static const ber_choice_t TypeSpecification_choice[] = {
1563   {   0, &hf_mms_typeName        , BER_CLASS_CON, 0, 0, dissect_mms_ObjectName },
1564   {   1, &hf_mms_array           , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_mms_T_array },
1565   {   2, &hf_mms_structure       , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_mms_T_structure },
1566   {   3, &hf_mms_boolean         , BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_mms_NULL },
1567   {   4, &hf_mms_typeSpecification_bit_string, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_mms_Integer32 },
1568   {   5, &hf_mms_integer         , BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_mms_Unsigned8 },
1569   {   6, &hf_mms_unsigned        , BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_mms_Unsigned8 },
1570   {   9, &hf_mms_typeSpecification_octet_string, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_mms_Integer32 },
1571   {  10, &hf_mms_typeSpecification_visible_string, BER_CLASS_CON, 10, BER_FLAGS_IMPLTAG, dissect_mms_Integer32 },
1572   {  11, &hf_mms_generalized_time, BER_CLASS_CON, 11, BER_FLAGS_IMPLTAG, dissect_mms_NULL },
1573   {  12, &hf_mms_typeSpecification_binary_time, BER_CLASS_CON, 12, BER_FLAGS_IMPLTAG, dissect_mms_BOOLEAN },
1574   {  13, &hf_mms_bcd             , BER_CLASS_CON, 13, BER_FLAGS_IMPLTAG, dissect_mms_Unsigned8 },
1575   {  15, &hf_mms_objId           , BER_CLASS_CON, 15, BER_FLAGS_IMPLTAG, dissect_mms_NULL },
1576   { 0, NULL, 0, 0, 0, NULL }
1577 };
1578 
1579 static int
dissect_mms_TypeSpecification(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)1580 dissect_mms_TypeSpecification(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1581   offset = dissect_ber_choice(actx, tree, tvb, offset,
1582                                  TypeSpecification_choice, hf_index, ett_mms_TypeSpecification,
1583                                  NULL);
1584 
1585   return offset;
1586 }
1587 
1588 
1589 static const ber_sequence_t T_variableDescription_sequence[] = {
1590   { &hf_mms_address         , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_mms_Address },
1591   { &hf_mms_typeSpecification, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_mms_TypeSpecification },
1592   { NULL, 0, 0, 0, NULL }
1593 };
1594 
1595 static int
dissect_mms_T_variableDescription(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)1596 dissect_mms_T_variableDescription(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1597   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1598                                    T_variableDescription_sequence, hf_index, ett_mms_T_variableDescription);
1599 
1600   return offset;
1601 }
1602 
1603 
1604 static const ber_sequence_t T_indexRange_sequence[] = {
1605   { &hf_mms_lowIndex        , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mms_Unsigned32 },
1606   { &hf_mms_numberOfElements, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_mms_Unsigned32 },
1607   { NULL, 0, 0, 0, NULL }
1608 };
1609 
1610 static int
dissect_mms_T_indexRange(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)1611 dissect_mms_T_indexRange(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1612   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1613                                    T_indexRange_sequence, hf_index, ett_mms_T_indexRange);
1614 
1615   return offset;
1616 }
1617 
1618 
1619 static const value_string mms_T_accessSelection_vals[] = {
1620   {   0, "component" },
1621   {   1, "index" },
1622   {   2, "indexRange" },
1623   {   3, "allElements" },
1624   { 0, NULL }
1625 };
1626 
1627 static const ber_choice_t T_accessSelection_choice[] = {
1628   {   0, &hf_mms_component       , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mms_Identifier },
1629   {   1, &hf_mms_index           , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_mms_Unsigned32 },
1630   {   2, &hf_mms_indexRange      , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_mms_T_indexRange },
1631   {   3, &hf_mms_allElements     , BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_mms_NULL },
1632   { 0, NULL, 0, 0, 0, NULL }
1633 };
1634 
1635 static int
dissect_mms_T_accessSelection(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)1636 dissect_mms_T_accessSelection(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1637   offset = dissect_ber_choice(actx, tree, tvb, offset,
1638                                  T_accessSelection_choice, hf_index, ett_mms_T_accessSelection,
1639                                  NULL);
1640 
1641   return offset;
1642 }
1643 
1644 
1645 static const ber_sequence_t T_selectAlternateAccess_sequence[] = {
1646   { &hf_mms_accessSelection , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_mms_T_accessSelection },
1647   { &hf_mms_alternateAccess , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_mms_AlternateAccess },
1648   { NULL, 0, 0, 0, NULL }
1649 };
1650 
1651 static int
dissect_mms_T_selectAlternateAccess(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)1652 dissect_mms_T_selectAlternateAccess(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1653   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1654                                    T_selectAlternateAccess_sequence, hf_index, ett_mms_T_selectAlternateAccess);
1655 
1656   return offset;
1657 }
1658 
1659 
1660 static const ber_sequence_t T_indexRange_01_sequence[] = {
1661   { &hf_mms_lowIndex        , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mms_Unsigned32 },
1662   { &hf_mms_nmberOfElements , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_mms_Unsigned32 },
1663   { NULL, 0, 0, 0, NULL }
1664 };
1665 
1666 static int
dissect_mms_T_indexRange_01(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)1667 dissect_mms_T_indexRange_01(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1668   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1669                                    T_indexRange_01_sequence, hf_index, ett_mms_T_indexRange_01);
1670 
1671   return offset;
1672 }
1673 
1674 
1675 static const value_string mms_T_selectAccess_vals[] = {
1676   {   1, "component" },
1677   {   2, "index" },
1678   {   3, "indexRange" },
1679   {   4, "allElements" },
1680   { 0, NULL }
1681 };
1682 
1683 static const ber_choice_t T_selectAccess_choice[] = {
1684   {   1, &hf_mms_component       , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_mms_Identifier },
1685   {   2, &hf_mms_index           , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_mms_Unsigned32 },
1686   {   3, &hf_mms_indexRange_01   , BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_mms_T_indexRange_01 },
1687   {   4, &hf_mms_allElements     , BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_mms_NULL },
1688   { 0, NULL, 0, 0, 0, NULL }
1689 };
1690 
1691 static int
dissect_mms_T_selectAccess(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)1692 dissect_mms_T_selectAccess(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1693   offset = dissect_ber_choice(actx, tree, tvb, offset,
1694                                  T_selectAccess_choice, hf_index, ett_mms_T_selectAccess,
1695                                  NULL);
1696 
1697   return offset;
1698 }
1699 
1700 
1701 static const value_string mms_AlternateAccessSelection_vals[] = {
1702   {   0, "selectAlternateAccess" },
1703   {   1, "selectAccess" },
1704   { 0, NULL }
1705 };
1706 
1707 static const ber_choice_t AlternateAccessSelection_choice[] = {
1708   {   0, &hf_mms_selectAlternateAccess, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mms_T_selectAlternateAccess },
1709   {   1, &hf_mms_selectAccess    , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_mms_T_selectAccess },
1710   { 0, NULL, 0, 0, 0, NULL }
1711 };
1712 
1713 static int
dissect_mms_AlternateAccessSelection(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)1714 dissect_mms_AlternateAccessSelection(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1715   offset = dissect_ber_choice(actx, tree, tvb, offset,
1716                                  AlternateAccessSelection_choice, hf_index, ett_mms_AlternateAccessSelection,
1717                                  NULL);
1718 
1719   return offset;
1720 }
1721 
1722 
1723 static const ber_sequence_t T_named_sequence[] = {
1724   { &hf_mms_componentName   , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mms_Identifier },
1725   { &hf_mms_accesst         , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_mms_AlternateAccessSelection },
1726   { NULL, 0, 0, 0, NULL }
1727 };
1728 
1729 static int
dissect_mms_T_named(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)1730 dissect_mms_T_named(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1731   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1732                                    T_named_sequence, hf_index, ett_mms_T_named);
1733 
1734   return offset;
1735 }
1736 
1737 
1738 static const value_string mms_AlternateAccess_item_vals[] = {
1739   {   0, "unnamed" },
1740   {   1, "named" },
1741   { 0, NULL }
1742 };
1743 
1744 static const ber_choice_t AlternateAccess_item_choice[] = {
1745   {   0, &hf_mms_unnamed         , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_mms_AlternateAccessSelection },
1746   {   1, &hf_mms_named           , BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_mms_T_named },
1747   { 0, NULL, 0, 0, 0, NULL }
1748 };
1749 
1750 static int
dissect_mms_AlternateAccess_item(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)1751 dissect_mms_AlternateAccess_item(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1752   offset = dissect_ber_choice(actx, tree, tvb, offset,
1753                                  AlternateAccess_item_choice, hf_index, ett_mms_AlternateAccess_item,
1754                                  NULL);
1755 
1756   return offset;
1757 }
1758 
1759 
1760 static const ber_sequence_t AlternateAccess_sequence_of[1] = {
1761   { &hf_mms_AlternateAccess_item, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_mms_AlternateAccess_item },
1762 };
1763 
1764 static int
dissect_mms_AlternateAccess(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)1765 dissect_mms_AlternateAccess(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1766   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
1767                                       AlternateAccess_sequence_of, hf_index, ett_mms_AlternateAccess);
1768 
1769   return offset;
1770 }
1771 
1772 
1773 static const ber_sequence_t ScatteredAccessDescription_item_sequence[] = {
1774   { &hf_mms_componentName   , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_Identifier },
1775   { &hf_mms_variableSpecification, BER_CLASS_CON, 1, BER_FLAGS_NOTCHKTAG, dissect_mms_VariableSpecification },
1776   { &hf_mms_alternateAccess , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_AlternateAccess },
1777   { NULL, 0, 0, 0, NULL }
1778 };
1779 
1780 static int
dissect_mms_ScatteredAccessDescription_item(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)1781 dissect_mms_ScatteredAccessDescription_item(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1782   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1783                                    ScatteredAccessDescription_item_sequence, hf_index, ett_mms_ScatteredAccessDescription_item);
1784 
1785   return offset;
1786 }
1787 
1788 
1789 static const ber_sequence_t ScatteredAccessDescription_sequence_of[1] = {
1790   { &hf_mms_ScatteredAccessDescription_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_mms_ScatteredAccessDescription_item },
1791 };
1792 
1793 static int
dissect_mms_ScatteredAccessDescription(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)1794 dissect_mms_ScatteredAccessDescription(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1795   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
1796                                       ScatteredAccessDescription_sequence_of, hf_index, ett_mms_ScatteredAccessDescription);
1797 
1798   return offset;
1799 }
1800 
1801 
1802 static const value_string mms_VariableSpecification_vals[] = {
1803   {   0, "name" },
1804   {   1, "address" },
1805   {   2, "variableDescription" },
1806   {   3, "scatteredAccessDescription" },
1807   {   4, "invalidated" },
1808   { 0, NULL }
1809 };
1810 
1811 static const ber_choice_t VariableSpecification_choice[] = {
1812   {   0, &hf_mms_name            , BER_CLASS_CON, 0, 0, dissect_mms_ObjectName },
1813   {   1, &hf_mms_address         , BER_CLASS_CON, 1, 0, dissect_mms_Address },
1814   {   2, &hf_mms_variableDescription, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_mms_T_variableDescription },
1815   {   3, &hf_mms_scatteredAccessDescription, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_mms_ScatteredAccessDescription },
1816   {   4, &hf_mms_invalidated     , BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_mms_NULL },
1817   { 0, NULL, 0, 0, 0, NULL }
1818 };
1819 
1820 static int
dissect_mms_VariableSpecification(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)1821 dissect_mms_VariableSpecification(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1822   offset = dissect_ber_choice(actx, tree, tvb, offset,
1823                                  VariableSpecification_choice, hf_index, ett_mms_VariableSpecification,
1824                                  NULL);
1825 
1826   return offset;
1827 }
1828 
1829 
1830 static const ber_sequence_t T_listOfVariable_item_02_sequence[] = {
1831   { &hf_mms_variableSpecification, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_mms_VariableSpecification },
1832   { &hf_mms_alternateAccess , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_AlternateAccess },
1833   { NULL, 0, 0, 0, NULL }
1834 };
1835 
1836 static int
dissect_mms_T_listOfVariable_item_02(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)1837 dissect_mms_T_listOfVariable_item_02(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1838   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1839                                    T_listOfVariable_item_02_sequence, hf_index, ett_mms_T_listOfVariable_item_02);
1840 
1841   return offset;
1842 }
1843 
1844 
1845 static const ber_sequence_t T_listOfVariable_02_sequence_of[1] = {
1846   { &hf_mms_listOfVariable_item_02, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_mms_T_listOfVariable_item_02 },
1847 };
1848 
1849 static int
dissect_mms_T_listOfVariable_02(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)1850 dissect_mms_T_listOfVariable_02(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1851   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
1852                                       T_listOfVariable_02_sequence_of, hf_index, ett_mms_T_listOfVariable_02);
1853 
1854   return offset;
1855 }
1856 
1857 
1858 static const value_string mms_VariableAccessSpecification_vals[] = {
1859   {   0, "listOfVariable" },
1860   {   1, "variableListName" },
1861   { 0, NULL }
1862 };
1863 
1864 static const ber_choice_t VariableAccessSpecification_choice[] = {
1865   {   0, &hf_mms_listOfVariable_02, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mms_T_listOfVariable_02 },
1866   {   1, &hf_mms_variableListName, BER_CLASS_CON, 1, 0, dissect_mms_ObjectName },
1867   { 0, NULL, 0, 0, 0, NULL }
1868 };
1869 
1870 static int
dissect_mms_VariableAccessSpecification(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)1871 dissect_mms_VariableAccessSpecification(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1872   offset = dissect_ber_choice(actx, tree, tvb, offset,
1873                                  VariableAccessSpecification_choice, hf_index, ett_mms_VariableAccessSpecification,
1874                                  NULL);
1875 
1876   return offset;
1877 }
1878 
1879 
1880 static const ber_sequence_t Read_Request_sequence[] = {
1881   { &hf_mms_specificationWithResult, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_BOOLEAN },
1882   { &hf_mms_variableAccessSpecificatn, BER_CLASS_CON, 1, BER_FLAGS_NOTCHKTAG, dissect_mms_VariableAccessSpecification },
1883   { NULL, 0, 0, 0, NULL }
1884 };
1885 
1886 static int
dissect_mms_Read_Request(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)1887 dissect_mms_Read_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1888   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1889                                    Read_Request_sequence, hf_index, ett_mms_Read_Request);
1890 
1891   return offset;
1892 }
1893 
1894 
1895 static const ber_sequence_t SEQUENCE_OF_Data_sequence_of[1] = {
1896   { &hf_mms_listOfData_item , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_mms_Data },
1897 };
1898 
1899 static int
dissect_mms_SEQUENCE_OF_Data(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)1900 dissect_mms_SEQUENCE_OF_Data(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1901   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
1902                                       SEQUENCE_OF_Data_sequence_of, hf_index, ett_mms_SEQUENCE_OF_Data);
1903 
1904   return offset;
1905 }
1906 
1907 
1908 
1909 static int
dissect_mms_BIT_STRING(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)1910 dissect_mms_BIT_STRING(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1911   offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
1912                                     NULL, 0, hf_index, -1,
1913                                     NULL);
1914 
1915   return offset;
1916 }
1917 
1918 
1919 
1920 static int
dissect_mms_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_)1921 dissect_mms_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_) {
1922   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
1923                                                 NULL);
1924 
1925   return offset;
1926 }
1927 
1928 
1929 
1930 static int
dissect_mms_FloatingPoint(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)1931 dissect_mms_FloatingPoint(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1932 #line 195 "./asn1/mms/mms.cnf"
1933   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
1934                                        NULL);
1935 
1936 	private_data_add_moreCinfo_float(actx, tvb);
1937 
1938 
1939 
1940   return offset;
1941 }
1942 
1943 
1944 
1945 static int
dissect_mms_TimeOfDay(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)1946 dissect_mms_TimeOfDay(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1947 #line 100 "./asn1/mms/mms.cnf"
1948 
1949 	guint32 len;
1950 	guint32 milliseconds;
1951 	guint16 days;
1952 	gchar *	ptime;
1953 	nstime_t ts;
1954 
1955 	len = tvb_reported_length_remaining(tvb, offset);
1956 
1957 	if(len == 4)
1958 	{
1959 		milliseconds = tvb_get_ntohl(tvb, offset);
1960 		ptime = signed_time_msecs_to_str(actx->pinfo->pool, milliseconds);
1961 
1962 		if(hf_index >= 0)
1963 		{
1964 			proto_tree_add_string(tree, hf_index, tvb, offset, len, ptime);
1965 		}
1966 		return offset;
1967 	}
1968 
1969 	if(len == 6)
1970 	{
1971 		milliseconds = tvb_get_ntohl(tvb, offset);
1972 		days = tvb_get_ntohs(tvb, offset+4);
1973 
1974 		/* 5113 days between 01-01-1970 and 01-01-1984 */
1975 		/* 86400 seconds in one day */
1976 
1977 		ts.secs = (days + 5113) * 86400 + milliseconds / 1000;
1978 		ts.nsecs = (milliseconds % 1000) * 1000000U;
1979 
1980 		ptime = abs_time_to_str(actx->pinfo->pool, &ts, ABSOLUTE_TIME_UTC, TRUE);
1981 		if(hf_index >= 0)
1982 		{
1983 			proto_tree_add_string(tree, hf_index, tvb, offset, len, ptime);
1984 		}
1985 
1986 		return offset;
1987 	}
1988 
1989 	proto_tree_add_expert_format(tree, actx->pinfo, &ei_mms_mal_timeofday_encoding,
1990 			tvb, offset, len, "BER Error: malformed TimeOfDay encoding, length must be 4 or 6 bytes");
1991 	if(hf_index >= 0)
1992 	{
1993 		proto_tree_add_string(tree, hf_index, tvb, offset, len, "????");
1994 	}
1995 	return offset;
1996 
1997 
1998 
1999 
2000   return offset;
2001 }
2002 
2003 
2004 
2005 static int
dissect_mms_OBJECT_IDENTIFIER(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)2006 dissect_mms_OBJECT_IDENTIFIER(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2007   offset = dissect_ber_object_identifier(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
2008 
2009   return offset;
2010 }
2011 
2012 
2013 
2014 static int
dissect_mms_MMSString(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)2015 dissect_mms_MMSString(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2016   offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_UTF8String,
2017                                             actx, tree, tvb, offset, hf_index,
2018                                             NULL);
2019 
2020   return offset;
2021 }
2022 
2023 
2024 
2025 static int
dissect_mms_UtcTime(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)2026 dissect_mms_UtcTime(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2027 #line 151 "./asn1/mms/mms.cnf"
2028 
2029 	guint32 len;
2030 	guint32 seconds;
2031 	guint32	fraction;
2032 	guint32 nanoseconds;
2033 	nstime_t ts;
2034 	gchar *	ptime;
2035 
2036 	len = tvb_reported_length_remaining(tvb, offset);
2037 
2038 	if(len != 8)
2039 	{
2040 		proto_tree_add_expert_format(tree, actx->pinfo, &ei_mms_mal_utctime_encoding,
2041 				tvb, offset, len, "BER Error: malformed IEC61850 UTCTime encoding, length must be 8 bytes");
2042 		if(hf_index >= 0)
2043 		{
2044 			proto_tree_add_string(tree, hf_index, tvb, offset, len, "????");
2045 		}
2046 		return offset;
2047 	}
2048 
2049 	seconds = tvb_get_ntohl(tvb, offset);
2050 	fraction = tvb_get_ntoh24(tvb, offset+4) * 0x100; /* Only 3 bytes are recommended */
2051 	nanoseconds = (guint32)( ((guint64)fraction * G_GUINT64_CONSTANT(1000000000)) / G_GUINT64_CONSTANT(0x100000000) ) ;
2052 
2053 	ts.secs = seconds;
2054 	ts.nsecs = nanoseconds;
2055 
2056 	ptime = abs_time_to_str(actx->pinfo->pool, &ts, ABSOLUTE_TIME_UTC, TRUE);
2057 
2058 	if(hf_index >= 0)
2059 	{
2060 		proto_tree_add_string(tree, hf_index, tvb, offset, len, ptime);
2061 	}
2062 
2063 	return offset;
2064 
2065 
2066 
2067   return offset;
2068 }
2069 
2070 
2071 static const value_string mms_Data_vals[] = {
2072   {   1, "array" },
2073   {   2, "structure" },
2074   {   3, "boolean" },
2075   {   4, "bit-string" },
2076   {   5, "integer" },
2077   {   6, "unsigned" },
2078   {   7, "floating-point" },
2079   {   9, "octet-string" },
2080   {  10, "visible-string" },
2081   {  12, "binary-time" },
2082   {  13, "bcd" },
2083   {  14, "booleanArray" },
2084   {  15, "objId" },
2085   {  16, "mMSString" },
2086   {  17, "utc-time" },
2087   { 0, NULL }
2088 };
2089 
2090 static const ber_choice_t Data_choice[] = {
2091   {   1, &hf_mms_array_01        , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_mms_SEQUENCE_OF_Data },
2092   {   2, &hf_mms_structure_01    , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_mms_SEQUENCE_OF_Data },
2093   {   3, &hf_mms_boolean_01      , BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_mms_BOOLEAN },
2094   {   4, &hf_mms_data_bit_string , BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_mms_BIT_STRING },
2095   {   5, &hf_mms_integer_01      , BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_mms_INTEGER },
2096   {   6, &hf_mms_unsigned_01     , BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_mms_INTEGER },
2097   {   7, &hf_mms_floating_point  , BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_mms_FloatingPoint },
2098   {   9, &hf_mms_data_octet_string, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_mms_OCTET_STRING },
2099   {  10, &hf_mms_data_visible_string, BER_CLASS_CON, 10, BER_FLAGS_IMPLTAG, dissect_mms_VisibleString },
2100   {  12, &hf_mms_data_binary_time, BER_CLASS_CON, 12, BER_FLAGS_IMPLTAG, dissect_mms_TimeOfDay },
2101   {  13, &hf_mms_bcd_01          , BER_CLASS_CON, 13, BER_FLAGS_IMPLTAG, dissect_mms_INTEGER },
2102   {  14, &hf_mms_booleanArray    , BER_CLASS_CON, 14, BER_FLAGS_IMPLTAG, dissect_mms_BIT_STRING },
2103   {  15, &hf_mms_objId_01        , BER_CLASS_CON, 15, BER_FLAGS_IMPLTAG, dissect_mms_OBJECT_IDENTIFIER },
2104   {  16, &hf_mms_mMSString       , BER_CLASS_CON, 16, BER_FLAGS_IMPLTAG, dissect_mms_MMSString },
2105   {  17, &hf_mms_utc_time        , BER_CLASS_CON, 17, BER_FLAGS_IMPLTAG, dissect_mms_UtcTime },
2106   { 0, NULL, 0, 0, 0, NULL }
2107 };
2108 
2109 static int
dissect_mms_Data(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)2110 dissect_mms_Data(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2111   offset = dissect_ber_choice(actx, tree, tvb, offset,
2112                                  Data_choice, hf_index, ett_mms_Data,
2113                                  NULL);
2114 
2115   return offset;
2116 }
2117 
2118 
2119 static const ber_sequence_t Write_Request_sequence[] = {
2120   { &hf_mms_variableAccessSpecificatn, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_mms_VariableAccessSpecification },
2121   { &hf_mms_listOfData      , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mms_SEQUENCE_OF_Data },
2122   { NULL, 0, 0, 0, NULL }
2123 };
2124 
2125 static int
dissect_mms_Write_Request(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)2126 dissect_mms_Write_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2127   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2128                                    Write_Request_sequence, hf_index, ett_mms_Write_Request);
2129 
2130   return offset;
2131 }
2132 
2133 
2134 static const value_string mms_GetVariableAccessAttributes_Request_vals[] = {
2135   {   0, "name" },
2136   {   1, "address" },
2137   { 0, NULL }
2138 };
2139 
2140 static const ber_choice_t GetVariableAccessAttributes_Request_choice[] = {
2141   {   0, &hf_mms_name            , BER_CLASS_CON, 0, 0, dissect_mms_ObjectName },
2142   {   1, &hf_mms_address         , BER_CLASS_CON, 1, 0, dissect_mms_Address },
2143   { 0, NULL, 0, 0, 0, NULL }
2144 };
2145 
2146 static int
dissect_mms_GetVariableAccessAttributes_Request(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)2147 dissect_mms_GetVariableAccessAttributes_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2148   offset = dissect_ber_choice(actx, tree, tvb, offset,
2149                                  GetVariableAccessAttributes_Request_choice, hf_index, ett_mms_GetVariableAccessAttributes_Request,
2150                                  NULL);
2151 
2152   return offset;
2153 }
2154 
2155 
2156 static const ber_sequence_t DefineNamedVariable_Request_sequence[] = {
2157   { &hf_mms_variableName    , BER_CLASS_CON, 0, BER_FLAGS_NOTCHKTAG, dissect_mms_ObjectName },
2158   { &hf_mms_address         , BER_CLASS_CON, 1, BER_FLAGS_NOTCHKTAG, dissect_mms_Address },
2159   { &hf_mms_typeSpecification, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_mms_TypeSpecification },
2160   { NULL, 0, 0, 0, NULL }
2161 };
2162 
2163 static int
dissect_mms_DefineNamedVariable_Request(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)2164 dissect_mms_DefineNamedVariable_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2165   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2166                                    DefineNamedVariable_Request_sequence, hf_index, ett_mms_DefineNamedVariable_Request);
2167 
2168   return offset;
2169 }
2170 
2171 
2172 static const ber_sequence_t DefineScatteredAccess_Request_sequence[] = {
2173   { &hf_mms_scatteredAccessName, BER_CLASS_CON, 0, BER_FLAGS_NOTCHKTAG, dissect_mms_ObjectName },
2174   { &hf_mms_scatteredAccessDescription, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_mms_ScatteredAccessDescription },
2175   { NULL, 0, 0, 0, NULL }
2176 };
2177 
2178 static int
dissect_mms_DefineScatteredAccess_Request(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)2179 dissect_mms_DefineScatteredAccess_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2180   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2181                                    DefineScatteredAccess_Request_sequence, hf_index, ett_mms_DefineScatteredAccess_Request);
2182 
2183   return offset;
2184 }
2185 
2186 
2187 
2188 static int
dissect_mms_GetScatteredAccessAttributes_Request(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)2189 dissect_mms_GetScatteredAccessAttributes_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2190   offset = dissect_mms_ObjectName(implicit_tag, tvb, offset, actx, tree, hf_index);
2191 
2192   return offset;
2193 }
2194 
2195 
2196 static const value_string mms_T_scopeOfDelete_vals[] = {
2197   {   0, "specific" },
2198   {   1, "aa-specific" },
2199   {   2, "domain" },
2200   {   3, "vmd" },
2201   { 0, NULL }
2202 };
2203 
2204 
2205 static int
dissect_mms_T_scopeOfDelete(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)2206 dissect_mms_T_scopeOfDelete(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2207   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
2208                                                 NULL);
2209 
2210   return offset;
2211 }
2212 
2213 
2214 static const ber_sequence_t SEQUENCE_OF_ObjectName_sequence_of[1] = {
2215   { &hf_mms_listOfName_item , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_mms_ObjectName },
2216 };
2217 
2218 static int
dissect_mms_SEQUENCE_OF_ObjectName(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)2219 dissect_mms_SEQUENCE_OF_ObjectName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2220   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
2221                                       SEQUENCE_OF_ObjectName_sequence_of, hf_index, ett_mms_SEQUENCE_OF_ObjectName);
2222 
2223   return offset;
2224 }
2225 
2226 
2227 static const ber_sequence_t DeleteVariableAccess_Request_sequence[] = {
2228   { &hf_mms_scopeOfDelete   , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_T_scopeOfDelete },
2229   { &hf_mms_listOfName      , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_SEQUENCE_OF_ObjectName },
2230   { &hf_mms_domainName      , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_Identifier },
2231   { NULL, 0, 0, 0, NULL }
2232 };
2233 
2234 static int
dissect_mms_DeleteVariableAccess_Request(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)2235 dissect_mms_DeleteVariableAccess_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2236   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2237                                    DeleteVariableAccess_Request_sequence, hf_index, ett_mms_DeleteVariableAccess_Request);
2238 
2239   return offset;
2240 }
2241 
2242 
2243 static const ber_sequence_t T_listOfVariable_item_sequence[] = {
2244   { &hf_mms_variableSpecification, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_mms_VariableSpecification },
2245   { &hf_mms_alternateAccess , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_AlternateAccess },
2246   { NULL, 0, 0, 0, NULL }
2247 };
2248 
2249 static int
dissect_mms_T_listOfVariable_item(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)2250 dissect_mms_T_listOfVariable_item(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2251   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2252                                    T_listOfVariable_item_sequence, hf_index, ett_mms_T_listOfVariable_item);
2253 
2254   return offset;
2255 }
2256 
2257 
2258 static const ber_sequence_t T_listOfVariable_sequence_of[1] = {
2259   { &hf_mms_listOfVariable_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_mms_T_listOfVariable_item },
2260 };
2261 
2262 static int
dissect_mms_T_listOfVariable(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)2263 dissect_mms_T_listOfVariable(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2264   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
2265                                       T_listOfVariable_sequence_of, hf_index, ett_mms_T_listOfVariable);
2266 
2267   return offset;
2268 }
2269 
2270 
2271 static const ber_sequence_t DefineNamedVariableList_Request_sequence[] = {
2272   { &hf_mms_variableListName, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_mms_ObjectName },
2273   { &hf_mms_listOfVariable  , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mms_T_listOfVariable },
2274   { NULL, 0, 0, 0, NULL }
2275 };
2276 
2277 static int
dissect_mms_DefineNamedVariableList_Request(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)2278 dissect_mms_DefineNamedVariableList_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2279   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2280                                    DefineNamedVariableList_Request_sequence, hf_index, ett_mms_DefineNamedVariableList_Request);
2281 
2282   return offset;
2283 }
2284 
2285 
2286 
2287 static int
dissect_mms_GetNamedVariableListAttributes_Request(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)2288 dissect_mms_GetNamedVariableListAttributes_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2289   offset = dissect_mms_ObjectName(implicit_tag, tvb, offset, actx, tree, hf_index);
2290 
2291   return offset;
2292 }
2293 
2294 
2295 static const value_string mms_T_scopeOfDelete_01_vals[] = {
2296   {   0, "specific" },
2297   {   1, "aa-specific" },
2298   {   2, "domain" },
2299   {   3, "vmd" },
2300   { 0, NULL }
2301 };
2302 
2303 
2304 static int
dissect_mms_T_scopeOfDelete_01(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)2305 dissect_mms_T_scopeOfDelete_01(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2306   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
2307                                                 NULL);
2308 
2309   return offset;
2310 }
2311 
2312 
2313 static const ber_sequence_t DeleteNamedVariableList_Request_sequence[] = {
2314   { &hf_mms_scopeOfDelete_01, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_T_scopeOfDelete_01 },
2315   { &hf_mms_listOfVariableListName, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_SEQUENCE_OF_ObjectName },
2316   { &hf_mms_domainName      , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_Identifier },
2317   { NULL, 0, 0, 0, NULL }
2318 };
2319 
2320 static int
dissect_mms_DeleteNamedVariableList_Request(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)2321 dissect_mms_DeleteNamedVariableList_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2322   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2323                                    DeleteNamedVariableList_Request_sequence, hf_index, ett_mms_DeleteNamedVariableList_Request);
2324 
2325   return offset;
2326 }
2327 
2328 
2329 static const ber_sequence_t DefineNamedType_Request_sequence[] = {
2330   { &hf_mms_typeName        , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_mms_ObjectName },
2331   { &hf_mms_typeSpecification, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_mms_TypeSpecification },
2332   { NULL, 0, 0, 0, NULL }
2333 };
2334 
2335 static int
dissect_mms_DefineNamedType_Request(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)2336 dissect_mms_DefineNamedType_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2337   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2338                                    DefineNamedType_Request_sequence, hf_index, ett_mms_DefineNamedType_Request);
2339 
2340   return offset;
2341 }
2342 
2343 
2344 
2345 static int
dissect_mms_GetNamedTypeAttributes_Request(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)2346 dissect_mms_GetNamedTypeAttributes_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2347   offset = dissect_mms_ObjectName(implicit_tag, tvb, offset, actx, tree, hf_index);
2348 
2349   return offset;
2350 }
2351 
2352 
2353 static const value_string mms_T_scopeOfDelete_02_vals[] = {
2354   {   0, "specific" },
2355   {   1, "aa-specific" },
2356   {   2, "domain" },
2357   {   3, "vmd" },
2358   { 0, NULL }
2359 };
2360 
2361 
2362 static int
dissect_mms_T_scopeOfDelete_02(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)2363 dissect_mms_T_scopeOfDelete_02(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2364   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
2365                                                 NULL);
2366 
2367   return offset;
2368 }
2369 
2370 
2371 static const ber_sequence_t DeleteNamedType_Request_sequence[] = {
2372   { &hf_mms_scopeOfDelete_02, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_T_scopeOfDelete_02 },
2373   { &hf_mms_listOfTypeName  , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_SEQUENCE_OF_ObjectName },
2374   { &hf_mms_domainName      , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_Identifier },
2375   { NULL, 0, 0, 0, NULL }
2376 };
2377 
2378 static int
dissect_mms_DeleteNamedType_Request(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)2379 dissect_mms_DeleteNamedType_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2380   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2381                                    DeleteNamedType_Request_sequence, hf_index, ett_mms_DeleteNamedType_Request);
2382 
2383   return offset;
2384 }
2385 
2386 
2387 static const ber_sequence_t T_listOfPromptData_sequence_of[1] = {
2388   { &hf_mms_listOfPromptData_item, BER_CLASS_UNI, BER_UNI_TAG_VisibleString, BER_FLAGS_NOOWNTAG, dissect_mms_VisibleString },
2389 };
2390 
2391 static int
dissect_mms_T_listOfPromptData(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)2392 dissect_mms_T_listOfPromptData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2393   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
2394                                       T_listOfPromptData_sequence_of, hf_index, ett_mms_T_listOfPromptData);
2395 
2396   return offset;
2397 }
2398 
2399 
2400 static const ber_sequence_t Input_Request_sequence[] = {
2401   { &hf_mms_operatorStationName, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mms_Identifier },
2402   { &hf_mms_echo            , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_BOOLEAN },
2403   { &hf_mms_listOfPromptData, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_T_listOfPromptData },
2404   { &hf_mms_inputTimeOut    , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_Unsigned32 },
2405   { NULL, 0, 0, 0, NULL }
2406 };
2407 
2408 static int
dissect_mms_Input_Request(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)2409 dissect_mms_Input_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2410   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2411                                    Input_Request_sequence, hf_index, ett_mms_Input_Request);
2412 
2413   return offset;
2414 }
2415 
2416 
2417 static const ber_sequence_t T_listOfOutputData_sequence_of[1] = {
2418   { &hf_mms_listOfOutputData_item, BER_CLASS_UNI, BER_UNI_TAG_VisibleString, BER_FLAGS_NOOWNTAG, dissect_mms_VisibleString },
2419 };
2420 
2421 static int
dissect_mms_T_listOfOutputData(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)2422 dissect_mms_T_listOfOutputData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2423   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
2424                                       T_listOfOutputData_sequence_of, hf_index, ett_mms_T_listOfOutputData);
2425 
2426   return offset;
2427 }
2428 
2429 
2430 static const ber_sequence_t Output_Request_sequence[] = {
2431   { &hf_mms_operatorStationName, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mms_Identifier },
2432   { &hf_mms_listOfOutputData, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_mms_T_listOfOutputData },
2433   { NULL, 0, 0, 0, NULL }
2434 };
2435 
2436 static int
dissect_mms_Output_Request(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)2437 dissect_mms_Output_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2438   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2439                                    Output_Request_sequence, hf_index, ett_mms_Output_Request);
2440 
2441   return offset;
2442 }
2443 
2444 
2445 
2446 static int
dissect_mms_T_ap_title(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)2447 dissect_mms_T_ap_title(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2448 #line 74 "./asn1/mms/mms.cnf"
2449 	offset=dissect_acse_AP_title(FALSE, tvb, offset, actx, tree, hf_mms_ap_title);
2450 
2451 
2452 
2453   return offset;
2454 }
2455 
2456 
2457 
2458 static int
dissect_mms_T_ap_invocation_id(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)2459 dissect_mms_T_ap_invocation_id(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2460 #line 77 "./asn1/mms/mms.cnf"
2461 	offset=dissect_acse_AP_invocation_identifier(FALSE, tvb, offset, actx, tree, hf_mms_ap_invocation_id);
2462 
2463 
2464 
2465   return offset;
2466 }
2467 
2468 
2469 
2470 static int
dissect_mms_T_ae_qualifier(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)2471 dissect_mms_T_ae_qualifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2472 #line 80 "./asn1/mms/mms.cnf"
2473 	offset=dissect_acse_AE_qualifier(FALSE, tvb, offset, actx, tree, hf_mms_ae_qualifier);
2474 
2475 
2476 
2477   return offset;
2478 }
2479 
2480 
2481 
2482 static int
dissect_mms_T_ae_invocation_id(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)2483 dissect_mms_T_ae_invocation_id(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2484 #line 83 "./asn1/mms/mms.cnf"
2485 	offset=dissect_acse_AE_invocation_identifier(FALSE, tvb, offset, actx, tree, hf_mms_ae_invocation_id);
2486 
2487 
2488 
2489   return offset;
2490 }
2491 
2492 
2493 static const ber_sequence_t ApplicationReference_sequence[] = {
2494   { &hf_mms_ap_title        , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_mms_T_ap_title },
2495   { &hf_mms_ap_invocation_id, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_mms_T_ap_invocation_id },
2496   { &hf_mms_ae_qualifier    , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_mms_T_ae_qualifier },
2497   { &hf_mms_ae_invocation_id, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_mms_T_ae_invocation_id },
2498   { NULL, 0, 0, 0, NULL }
2499 };
2500 
2501 static int
dissect_mms_ApplicationReference(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)2502 dissect_mms_ApplicationReference(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2503   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2504                                    ApplicationReference_sequence, hf_index, ett_mms_ApplicationReference);
2505 
2506   return offset;
2507 }
2508 
2509 
2510 static const ber_sequence_t TakeControl_Request_sequence[] = {
2511   { &hf_mms_semaphoreName   , BER_CLASS_CON, 0, BER_FLAGS_NOTCHKTAG, dissect_mms_ObjectName },
2512   { &hf_mms_namedToken      , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_Identifier },
2513   { &hf_mms_priority        , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_Priority },
2514   { &hf_mms_acceptableDelay , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_Unsigned32 },
2515   { &hf_mms_controlTimeOut  , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_Unsigned32 },
2516   { &hf_mms_abortOnTimeOut  , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_BOOLEAN },
2517   { &hf_mms_relinquishIfConnectionLost, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_BOOLEAN },
2518   { &hf_mms_applicationToPreempt, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_ApplicationReference },
2519   { NULL, 0, 0, 0, NULL }
2520 };
2521 
2522 static int
dissect_mms_TakeControl_Request(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)2523 dissect_mms_TakeControl_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2524   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2525                                    TakeControl_Request_sequence, hf_index, ett_mms_TakeControl_Request);
2526 
2527   return offset;
2528 }
2529 
2530 
2531 static const ber_sequence_t RelinquishControl_Request_sequence[] = {
2532   { &hf_mms_semaphoreName   , BER_CLASS_CON, 0, BER_FLAGS_NOTCHKTAG, dissect_mms_ObjectName },
2533   { &hf_mms_namedToken      , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_Identifier },
2534   { NULL, 0, 0, 0, NULL }
2535 };
2536 
2537 static int
dissect_mms_RelinquishControl_Request(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)2538 dissect_mms_RelinquishControl_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2539   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2540                                    RelinquishControl_Request_sequence, hf_index, ett_mms_RelinquishControl_Request);
2541 
2542   return offset;
2543 }
2544 
2545 
2546 
2547 static int
dissect_mms_Unsigned16(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)2548 dissect_mms_Unsigned16(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2549   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
2550                                                 NULL);
2551 
2552   return offset;
2553 }
2554 
2555 
2556 static const ber_sequence_t DefineSemaphore_Request_sequence[] = {
2557   { &hf_mms_semaphoreName   , BER_CLASS_CON, 0, BER_FLAGS_NOTCHKTAG, dissect_mms_ObjectName },
2558   { &hf_mms_numbersOfTokens , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_mms_Unsigned16 },
2559   { NULL, 0, 0, 0, NULL }
2560 };
2561 
2562 static int
dissect_mms_DefineSemaphore_Request(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)2563 dissect_mms_DefineSemaphore_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2564   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2565                                    DefineSemaphore_Request_sequence, hf_index, ett_mms_DefineSemaphore_Request);
2566 
2567   return offset;
2568 }
2569 
2570 
2571 
2572 static int
dissect_mms_DeleteSemaphore_Request(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)2573 dissect_mms_DeleteSemaphore_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2574   offset = dissect_mms_ObjectName(implicit_tag, tvb, offset, actx, tree, hf_index);
2575 
2576   return offset;
2577 }
2578 
2579 
2580 
2581 static int
dissect_mms_ReportSemaphoreStatus_Request(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)2582 dissect_mms_ReportSemaphoreStatus_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2583   offset = dissect_mms_ObjectName(implicit_tag, tvb, offset, actx, tree, hf_index);
2584 
2585   return offset;
2586 }
2587 
2588 
2589 static const ber_sequence_t ReportPoolSemaphoreStatus_Request_sequence[] = {
2590   { &hf_mms_semaphoreName   , BER_CLASS_CON, 0, BER_FLAGS_NOTCHKTAG, dissect_mms_ObjectName },
2591   { &hf_mms_nameToStartAfter, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_Identifier },
2592   { NULL, 0, 0, 0, NULL }
2593 };
2594 
2595 static int
dissect_mms_ReportPoolSemaphoreStatus_Request(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)2596 dissect_mms_ReportPoolSemaphoreStatus_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2597   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2598                                    ReportPoolSemaphoreStatus_Request_sequence, hf_index, ett_mms_ReportPoolSemaphoreStatus_Request);
2599 
2600   return offset;
2601 }
2602 
2603 
2604 static const value_string mms_T_reportSemaphoreEntryStatus_Request_state_vals[] = {
2605   {   0, "queued" },
2606   {   1, "owner" },
2607   {   2, "hung" },
2608   { 0, NULL }
2609 };
2610 
2611 
2612 static int
dissect_mms_T_reportSemaphoreEntryStatus_Request_state(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)2613 dissect_mms_T_reportSemaphoreEntryStatus_Request_state(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2614   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
2615                                                 NULL);
2616 
2617   return offset;
2618 }
2619 
2620 
2621 static const ber_sequence_t ReportSemaphoreEntryStatus_Request_sequence[] = {
2622   { &hf_mms_semaphoreName   , BER_CLASS_CON, 0, BER_FLAGS_NOTCHKTAG, dissect_mms_ObjectName },
2623   { &hf_mms_reportSemaphoreEntryStatus_Request_state, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_mms_T_reportSemaphoreEntryStatus_Request_state },
2624   { &hf_mms_entryIdToStartAfter, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_OCTET_STRING },
2625   { NULL, 0, 0, 0, NULL }
2626 };
2627 
2628 static int
dissect_mms_ReportSemaphoreEntryStatus_Request(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)2629 dissect_mms_ReportSemaphoreEntryStatus_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2630   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2631                                    ReportSemaphoreEntryStatus_Request_sequence, hf_index, ett_mms_ReportSemaphoreEntryStatus_Request);
2632 
2633   return offset;
2634 }
2635 
2636 
2637 static const ber_sequence_t T_listOfCapabilities_01_sequence_of[1] = {
2638   { &hf_mms_listOfCapabilities_item, BER_CLASS_UNI, BER_UNI_TAG_VisibleString, BER_FLAGS_NOOWNTAG, dissect_mms_VisibleString },
2639 };
2640 
2641 static int
dissect_mms_T_listOfCapabilities_01(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)2642 dissect_mms_T_listOfCapabilities_01(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2643   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
2644                                       T_listOfCapabilities_01_sequence_of, hf_index, ett_mms_T_listOfCapabilities_01);
2645 
2646   return offset;
2647 }
2648 
2649 
2650 static const ber_sequence_t InitiateDownloadSequence_Request_sequence[] = {
2651   { &hf_mms_domainName      , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mms_Identifier },
2652   { &hf_mms_listOfCapabilities_01, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_mms_T_listOfCapabilities_01 },
2653   { &hf_mms_sharable        , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_mms_BOOLEAN },
2654   { NULL, 0, 0, 0, NULL }
2655 };
2656 
2657 static int
dissect_mms_InitiateDownloadSequence_Request(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)2658 dissect_mms_InitiateDownloadSequence_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2659   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2660                                    InitiateDownloadSequence_Request_sequence, hf_index, ett_mms_InitiateDownloadSequence_Request);
2661 
2662   return offset;
2663 }
2664 
2665 
2666 
2667 static int
dissect_mms_DownloadSegment_Request(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)2668 dissect_mms_DownloadSegment_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2669   offset = dissect_mms_Identifier(implicit_tag, tvb, offset, actx, tree, hf_index);
2670 
2671   return offset;
2672 }
2673 
2674 
2675 static const value_string mms_T_vmd_state_vals[] = {
2676   {   0, "other" },
2677   {   1, "vmd-state-conflict" },
2678   {   2, "vmd-operational-problem" },
2679   {   3, "domain-transfer-problem" },
2680   {   4, "state-machine-id-invalid" },
2681   { 0, NULL }
2682 };
2683 
2684 
2685 static int
dissect_mms_T_vmd_state(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)2686 dissect_mms_T_vmd_state(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2687   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
2688                                                 NULL);
2689 
2690   return offset;
2691 }
2692 
2693 
2694 static const value_string mms_T_application_reference_vals[] = {
2695   {   0, "other" },
2696   {   1, "aplication-unreachable" },
2697   {   2, "connection-lost" },
2698   {   3, "application-reference-invalid" },
2699   {   4, "context-unsupported" },
2700   { 0, NULL }
2701 };
2702 
2703 
2704 static int
dissect_mms_T_application_reference(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)2705 dissect_mms_T_application_reference(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2706   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
2707                                                 NULL);
2708 
2709   return offset;
2710 }
2711 
2712 
2713 static const value_string mms_T_definition_vals[] = {
2714   {   0, "other" },
2715   {   1, "object-undefined" },
2716   {   2, "invalid-address" },
2717   {   3, "type-unsupported" },
2718   {   4, "type-inconsistent" },
2719   {   5, "object-exists" },
2720   {   6, "object-attribute-inconsistent" },
2721   { 0, NULL }
2722 };
2723 
2724 
2725 static int
dissect_mms_T_definition(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)2726 dissect_mms_T_definition(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2727   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
2728                                                 NULL);
2729 
2730   return offset;
2731 }
2732 
2733 
2734 static const value_string mms_T_resource_vals[] = {
2735   {   0, "other" },
2736   {   1, "memory-unavailable" },
2737   {   2, "processor-resource-unavailable" },
2738   {   3, "mass-storage-unavailable" },
2739   {   4, "capability-unavailable" },
2740   {   5, "capability-unknown" },
2741   { 0, NULL }
2742 };
2743 
2744 
2745 static int
dissect_mms_T_resource(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)2746 dissect_mms_T_resource(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2747   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
2748                                                 NULL);
2749 
2750   return offset;
2751 }
2752 
2753 
2754 static const value_string mms_T_service_vals[] = {
2755   {   0, "other" },
2756   {   1, "primitives-out-of-sequence" },
2757   {   2, "object-sate-conflict" },
2758   {   3, "pdu-size" },
2759   {   4, "continuation-invalid" },
2760   {   5, "object-constraint-conflict" },
2761   { 0, NULL }
2762 };
2763 
2764 
2765 static int
dissect_mms_T_service(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)2766 dissect_mms_T_service(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2767   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
2768                                                 NULL);
2769 
2770   return offset;
2771 }
2772 
2773 
2774 static const value_string mms_T_service_preempt_vals[] = {
2775   {   0, "other" },
2776   {   1, "timeout" },
2777   {   2, "deadlock" },
2778   {   3, "cancel" },
2779   { 0, NULL }
2780 };
2781 
2782 
2783 static int
dissect_mms_T_service_preempt(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)2784 dissect_mms_T_service_preempt(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2785   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
2786                                                 NULL);
2787 
2788   return offset;
2789 }
2790 
2791 
2792 static const value_string mms_T_time_resolution_vals[] = {
2793   {   0, "other" },
2794   {   1, "unsupportable-time-resolution" },
2795   { 0, NULL }
2796 };
2797 
2798 
2799 static int
dissect_mms_T_time_resolution(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)2800 dissect_mms_T_time_resolution(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2801   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
2802                                                 NULL);
2803 
2804   return offset;
2805 }
2806 
2807 
2808 static const value_string mms_T_access_vals[] = {
2809   {   0, "other" },
2810   {   1, "object-access-unsupported" },
2811   {   2, "object-non-existent" },
2812   {   3, "object-access-denied" },
2813   {   4, "object-invalidated" },
2814   { 0, NULL }
2815 };
2816 
2817 
2818 static int
dissect_mms_T_access(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)2819 dissect_mms_T_access(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2820   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
2821                                                 NULL);
2822 
2823   return offset;
2824 }
2825 
2826 
2827 static const value_string mms_T_initiate_vals[] = {
2828   {   0, "other" },
2829   {   1, "version-incompatible" },
2830   {   2, "max-segment-insufficient" },
2831   {   3, "max-services-outstanding-calling-insufficient" },
2832   {   4, "max-services-outstanding-called-insufficient" },
2833   {   5, "service-CBB-insufficient" },
2834   {   6, "parameter-CBB-insufficient" },
2835   {   7, "nesting-level-insufficient" },
2836   { 0, NULL }
2837 };
2838 
2839 
2840 static int
dissect_mms_T_initiate(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)2841 dissect_mms_T_initiate(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2842   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
2843                                                 NULL);
2844 
2845   return offset;
2846 }
2847 
2848 
2849 static const value_string mms_T_conclude_vals[] = {
2850   {   0, "other" },
2851   {   1, "further-communication-required" },
2852   { 0, NULL }
2853 };
2854 
2855 
2856 static int
dissect_mms_T_conclude(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)2857 dissect_mms_T_conclude(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2858   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
2859                                                 NULL);
2860 
2861   return offset;
2862 }
2863 
2864 
2865 static const value_string mms_T_cancel_vals[] = {
2866   {   0, "other" },
2867   {   1, "invoke-id-unknown" },
2868   {   2, "cancel-not-possible" },
2869   { 0, NULL }
2870 };
2871 
2872 
2873 static int
dissect_mms_T_cancel(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)2874 dissect_mms_T_cancel(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2875   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
2876                                                 NULL);
2877 
2878   return offset;
2879 }
2880 
2881 
2882 static const value_string mms_T_file_vals[] = {
2883   {   0, "other" },
2884   {   1, "filename-ambiguous" },
2885   {   2, "file-busy" },
2886   {   3, "filename-syntax-error" },
2887   {   4, "content-type-invalid" },
2888   {   5, "position-invalid" },
2889   {   6, "file-acces-denied" },
2890   {   7, "file-non-existent" },
2891   {   8, "duplicate-filename" },
2892   {   9, "insufficient-space-in-filestore" },
2893   { 0, NULL }
2894 };
2895 
2896 
2897 static int
dissect_mms_T_file(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)2898 dissect_mms_T_file(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2899   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
2900                                                 NULL);
2901 
2902   return offset;
2903 }
2904 
2905 
2906 static const value_string mms_T_errorClass_vals[] = {
2907   {   0, "vmd-state" },
2908   {   1, "application-reference" },
2909   {   2, "definition" },
2910   {   3, "resource" },
2911   {   4, "service" },
2912   {   5, "service-preempt" },
2913   {   6, "time-resolution" },
2914   {   7, "access" },
2915   {   8, "initiate" },
2916   {   9, "conclude" },
2917   {  10, "cancel" },
2918   {  11, "file" },
2919   {  12, "others" },
2920   { 0, NULL }
2921 };
2922 
2923 static const ber_choice_t T_errorClass_choice[] = {
2924   {   0, &hf_mms_vmd_state       , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mms_T_vmd_state },
2925   {   1, &hf_mms_application_reference, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_mms_T_application_reference },
2926   {   2, &hf_mms_definition      , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_mms_T_definition },
2927   {   3, &hf_mms_resource        , BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_mms_T_resource },
2928   {   4, &hf_mms_service         , BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_mms_T_service },
2929   {   5, &hf_mms_service_preempt , BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_mms_T_service_preempt },
2930   {   6, &hf_mms_time_resolution , BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_mms_T_time_resolution },
2931   {   7, &hf_mms_access          , BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_mms_T_access },
2932   {   8, &hf_mms_initiate        , BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_mms_T_initiate },
2933   {   9, &hf_mms_conclude        , BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_mms_T_conclude },
2934   {  10, &hf_mms_cancel          , BER_CLASS_CON, 10, BER_FLAGS_IMPLTAG, dissect_mms_T_cancel },
2935   {  11, &hf_mms_file            , BER_CLASS_CON, 11, BER_FLAGS_IMPLTAG, dissect_mms_T_file },
2936   {  12, &hf_mms_others          , BER_CLASS_CON, 12, BER_FLAGS_IMPLTAG, dissect_mms_INTEGER },
2937   { 0, NULL, 0, 0, 0, NULL }
2938 };
2939 
2940 static int
dissect_mms_T_errorClass(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)2941 dissect_mms_T_errorClass(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2942   offset = dissect_ber_choice(actx, tree, tvb, offset,
2943                                  T_errorClass_choice, hf_index, ett_mms_T_errorClass,
2944                                  NULL);
2945 
2946   return offset;
2947 }
2948 
2949 
2950 static const value_string mms_ObtainFile_Error_vals[] = {
2951   {   0, "source-file" },
2952   {   1, "destination-file" },
2953   { 0, NULL }
2954 };
2955 
2956 
2957 static int
dissect_mms_ObtainFile_Error(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)2958 dissect_mms_ObtainFile_Error(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2959   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
2960                                                 NULL);
2961 
2962   return offset;
2963 }
2964 
2965 
2966 static const value_string mms_ProgramInvocationState_vals[] = {
2967   {   0, "non-existent" },
2968   {   1, "unrunable" },
2969   {   2, "idle" },
2970   {   3, "running" },
2971   {   4, "stopped" },
2972   {   5, "starting" },
2973   {   6, "stopping" },
2974   {   7, "resuming" },
2975   {   8, "resetting" },
2976   { 0, NULL }
2977 };
2978 
2979 
2980 static int
dissect_mms_ProgramInvocationState(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)2981 dissect_mms_ProgramInvocationState(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2982   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
2983                                                 NULL);
2984 
2985   return offset;
2986 }
2987 
2988 
2989 
2990 static int
dissect_mms_Start_Error(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)2991 dissect_mms_Start_Error(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2992   offset = dissect_mms_ProgramInvocationState(implicit_tag, tvb, offset, actx, tree, hf_index);
2993 
2994   return offset;
2995 }
2996 
2997 
2998 
2999 static int
dissect_mms_Stop_Error(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)3000 dissect_mms_Stop_Error(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3001   offset = dissect_mms_ProgramInvocationState(implicit_tag, tvb, offset, actx, tree, hf_index);
3002 
3003   return offset;
3004 }
3005 
3006 
3007 
3008 static int
dissect_mms_Resume_Error(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)3009 dissect_mms_Resume_Error(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3010   offset = dissect_mms_ProgramInvocationState(implicit_tag, tvb, offset, actx, tree, hf_index);
3011 
3012   return offset;
3013 }
3014 
3015 
3016 
3017 static int
dissect_mms_Reset_Error(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)3018 dissect_mms_Reset_Error(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3019   offset = dissect_mms_ProgramInvocationState(implicit_tag, tvb, offset, actx, tree, hf_index);
3020 
3021   return offset;
3022 }
3023 
3024 
3025 
3026 static int
dissect_mms_DeleteVariableAccess_Error(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)3027 dissect_mms_DeleteVariableAccess_Error(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3028   offset = dissect_mms_Unsigned32(implicit_tag, tvb, offset, actx, tree, hf_index);
3029 
3030   return offset;
3031 }
3032 
3033 
3034 
3035 static int
dissect_mms_DeleteNamedVariableList_Error(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)3036 dissect_mms_DeleteNamedVariableList_Error(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3037   offset = dissect_mms_Unsigned32(implicit_tag, tvb, offset, actx, tree, hf_index);
3038 
3039   return offset;
3040 }
3041 
3042 
3043 
3044 static int
dissect_mms_DeleteNamedType_Error(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)3045 dissect_mms_DeleteNamedType_Error(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3046   offset = dissect_mms_Unsigned32(implicit_tag, tvb, offset, actx, tree, hf_index);
3047 
3048   return offset;
3049 }
3050 
3051 
3052 
3053 static int
dissect_mms_DefineEventEnrollment_Error(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)3054 dissect_mms_DefineEventEnrollment_Error(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3055   offset = dissect_mms_ObjectName(implicit_tag, tvb, offset, actx, tree, hf_index);
3056 
3057   return offset;
3058 }
3059 
3060 
3061 static const value_string mms_FileRename_Error_vals[] = {
3062   {   0, "source-file" },
3063   {   1, "destination-file" },
3064   { 0, NULL }
3065 };
3066 
3067 
3068 static int
dissect_mms_FileRename_Error(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)3069 dissect_mms_FileRename_Error(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3070   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
3071                                                 NULL);
3072 
3073   return offset;
3074 }
3075 
3076 
3077 
3078 static int
dissect_mms_DefineEventConditionList_Error(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)3079 dissect_mms_DefineEventConditionList_Error(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3080   offset = dissect_mms_ObjectName(implicit_tag, tvb, offset, actx, tree, hf_index);
3081 
3082   return offset;
3083 }
3084 
3085 
3086 
3087 static int
dissect_mms_AddEventConditionListReference_Error(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)3088 dissect_mms_AddEventConditionListReference_Error(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3089   offset = dissect_mms_ObjectName(implicit_tag, tvb, offset, actx, tree, hf_index);
3090 
3091   return offset;
3092 }
3093 
3094 
3095 static const value_string mms_RemoveEventConditionListReference_Error_vals[] = {
3096   {   0, "eventCondition" },
3097   {   1, "eventConditionList" },
3098   { 0, NULL }
3099 };
3100 
3101 static const ber_choice_t RemoveEventConditionListReference_Error_choice[] = {
3102   {   0, &hf_mms_eventCondition  , BER_CLASS_CON, 0, 0, dissect_mms_ObjectName },
3103   {   1, &hf_mms_eventConditionList, BER_CLASS_CON, 1, 0, dissect_mms_ObjectName },
3104   { 0, NULL, 0, 0, 0, NULL }
3105 };
3106 
3107 static int
dissect_mms_RemoveEventConditionListReference_Error(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)3108 dissect_mms_RemoveEventConditionListReference_Error(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3109   offset = dissect_ber_choice(actx, tree, tvb, offset,
3110                                  RemoveEventConditionListReference_Error_choice, hf_index, ett_mms_RemoveEventConditionListReference_Error,
3111                                  NULL);
3112 
3113   return offset;
3114 }
3115 
3116 
3117 static const value_string mms_InitiateUnitControl_Error_vals[] = {
3118   {   0, "domain" },
3119   {   1, "programInvocation" },
3120   { 0, NULL }
3121 };
3122 
3123 static const ber_choice_t InitiateUnitControl_Error_choice[] = {
3124   {   0, &hf_mms_domain          , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mms_Identifier },
3125   {   1, &hf_mms_programInvocation, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_mms_Identifier },
3126   { 0, NULL, 0, 0, 0, NULL }
3127 };
3128 
3129 static int
dissect_mms_InitiateUnitControl_Error(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)3130 dissect_mms_InitiateUnitControl_Error(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3131   offset = dissect_ber_choice(actx, tree, tvb, offset,
3132                                  InitiateUnitControl_Error_choice, hf_index, ett_mms_InitiateUnitControl_Error,
3133                                  NULL);
3134 
3135   return offset;
3136 }
3137 
3138 
3139 static const ber_sequence_t StartUnitControl_Error_sequence[] = {
3140   { &hf_mms_programInvocationName, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mms_Identifier },
3141   { &hf_mms_programInvocationState, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_mms_ProgramInvocationState },
3142   { NULL, 0, 0, 0, NULL }
3143 };
3144 
3145 static int
dissect_mms_StartUnitControl_Error(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)3146 dissect_mms_StartUnitControl_Error(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3147   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3148                                    StartUnitControl_Error_sequence, hf_index, ett_mms_StartUnitControl_Error);
3149 
3150   return offset;
3151 }
3152 
3153 
3154 static const ber_sequence_t StopUnitControl_Error_sequence[] = {
3155   { &hf_mms_programInvocationName, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mms_Identifier },
3156   { &hf_mms_programInvocationState, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_mms_ProgramInvocationState },
3157   { NULL, 0, 0, 0, NULL }
3158 };
3159 
3160 static int
dissect_mms_StopUnitControl_Error(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)3161 dissect_mms_StopUnitControl_Error(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3162   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3163                                    StopUnitControl_Error_sequence, hf_index, ett_mms_StopUnitControl_Error);
3164 
3165   return offset;
3166 }
3167 
3168 
3169 static const value_string mms_DeleteUnitControl_Error_vals[] = {
3170   {   0, "domain" },
3171   {   1, "programInvocation" },
3172   { 0, NULL }
3173 };
3174 
3175 static const ber_choice_t DeleteUnitControl_Error_choice[] = {
3176   {   0, &hf_mms_domain          , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mms_Identifier },
3177   {   1, &hf_mms_programInvocation, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_mms_Identifier },
3178   { 0, NULL, 0, 0, 0, NULL }
3179 };
3180 
3181 static int
dissect_mms_DeleteUnitControl_Error(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)3182 dissect_mms_DeleteUnitControl_Error(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3183   offset = dissect_ber_choice(actx, tree, tvb, offset,
3184                                  DeleteUnitControl_Error_choice, hf_index, ett_mms_DeleteUnitControl_Error,
3185                                  NULL);
3186 
3187   return offset;
3188 }
3189 
3190 
3191 static const value_string mms_LoadUnitControlFromFile_Error_vals[] = {
3192   {   0, "none" },
3193   {   1, "domain" },
3194   {   2, "programInvocation" },
3195   { 0, NULL }
3196 };
3197 
3198 static const ber_choice_t LoadUnitControlFromFile_Error_choice[] = {
3199   {   0, &hf_mms_none            , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mms_NULL },
3200   {   1, &hf_mms_domain          , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_mms_Identifier },
3201   {   2, &hf_mms_programInvocation, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_mms_Identifier },
3202   { 0, NULL, 0, 0, 0, NULL }
3203 };
3204 
3205 static int
dissect_mms_LoadUnitControlFromFile_Error(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)3206 dissect_mms_LoadUnitControlFromFile_Error(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3207   offset = dissect_ber_choice(actx, tree, tvb, offset,
3208                                  LoadUnitControlFromFile_Error_choice, hf_index, ett_mms_LoadUnitControlFromFile_Error,
3209                                  NULL);
3210 
3211   return offset;
3212 }
3213 
3214 
3215 static const value_string mms_AdditionalService_Error_vals[] = {
3216   {   0, "defineEcl" },
3217   {   1, "addECLReference" },
3218   {   2, "removeECLReference" },
3219   {   3, "initiateUC" },
3220   {   4, "startUC" },
3221   {   5, "stopUC" },
3222   {   6, "deleteUC" },
3223   {   7, "loadUCFromFile" },
3224   { 0, NULL }
3225 };
3226 
3227 static const ber_choice_t AdditionalService_Error_choice[] = {
3228   {   0, &hf_mms_defineEcl       , BER_CLASS_CON, 0, 0, dissect_mms_DefineEventConditionList_Error },
3229   {   1, &hf_mms_addECLReference , BER_CLASS_CON, 1, 0, dissect_mms_AddEventConditionListReference_Error },
3230   {   2, &hf_mms_removeECLReference, BER_CLASS_CON, 2, 0, dissect_mms_RemoveEventConditionListReference_Error },
3231   {   3, &hf_mms_initiateUC      , BER_CLASS_CON, 3, 0, dissect_mms_InitiateUnitControl_Error },
3232   {   4, &hf_mms_startUC         , BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_mms_StartUnitControl_Error },
3233   {   5, &hf_mms_stopUC          , BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_mms_StopUnitControl_Error },
3234   {   6, &hf_mms_deleteUC        , BER_CLASS_CON, 6, 0, dissect_mms_DeleteUnitControl_Error },
3235   {   7, &hf_mms_loadUCFromFile  , BER_CLASS_CON, 7, 0, dissect_mms_LoadUnitControlFromFile_Error },
3236   { 0, NULL, 0, 0, 0, NULL }
3237 };
3238 
3239 static int
dissect_mms_AdditionalService_Error(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)3240 dissect_mms_AdditionalService_Error(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3241   offset = dissect_ber_choice(actx, tree, tvb, offset,
3242                                  AdditionalService_Error_choice, hf_index, ett_mms_AdditionalService_Error,
3243                                  NULL);
3244 
3245   return offset;
3246 }
3247 
3248 
3249 
3250 static int
dissect_mms_ChangeAccessControl_Error(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)3251 dissect_mms_ChangeAccessControl_Error(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3252   offset = dissect_mms_Unsigned32(implicit_tag, tvb, offset, actx, tree, hf_index);
3253 
3254   return offset;
3255 }
3256 
3257 
3258 static const value_string mms_T_serviceSpecificInformation_vals[] = {
3259   {   0, "obtainFile" },
3260   {   1, "start" },
3261   {   2, "stop" },
3262   {   3, "resume" },
3263   {   4, "reset" },
3264   {   5, "deleteVariableAccess" },
3265   {   6, "deleteNamedVariableList" },
3266   {   7, "deleteNamedType" },
3267   {   8, "defineEventEnrollment-Error" },
3268   {   9, "fileRename" },
3269   {  10, "additionalService" },
3270   {  11, "changeAccessControl" },
3271   { 0, NULL }
3272 };
3273 
3274 static const ber_choice_t T_serviceSpecificInformation_choice[] = {
3275   {   0, &hf_mms_obtainFile_02   , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mms_ObtainFile_Error },
3276   {   1, &hf_mms_start_02        , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_mms_Start_Error },
3277   {   2, &hf_mms_stop_02         , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_mms_Stop_Error },
3278   {   3, &hf_mms_resume_02       , BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_mms_Resume_Error },
3279   {   4, &hf_mms_reset_02        , BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_mms_Reset_Error },
3280   {   5, &hf_mms_deleteVariableAccess_02, BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_mms_DeleteVariableAccess_Error },
3281   {   6, &hf_mms_deleteNamedVariableList_02, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_mms_DeleteNamedVariableList_Error },
3282   {   7, &hf_mms_deleteNamedType_02, BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_mms_DeleteNamedType_Error },
3283   {   8, &hf_mms_defineEventEnrollment_Error, BER_CLASS_CON, 8, 0, dissect_mms_DefineEventEnrollment_Error },
3284   {   9, &hf_mms_fileRename_02   , BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_mms_FileRename_Error },
3285   {  10, &hf_mms_additionalService, BER_CLASS_CON, 10, 0, dissect_mms_AdditionalService_Error },
3286   {  11, &hf_mms_changeAccessControl, BER_CLASS_CON, 11, BER_FLAGS_IMPLTAG, dissect_mms_ChangeAccessControl_Error },
3287   { 0, NULL, 0, 0, 0, NULL }
3288 };
3289 
3290 static int
dissect_mms_T_serviceSpecificInformation(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)3291 dissect_mms_T_serviceSpecificInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3292   offset = dissect_ber_choice(actx, tree, tvb, offset,
3293                                  T_serviceSpecificInformation_choice, hf_index, ett_mms_T_serviceSpecificInformation,
3294                                  NULL);
3295 
3296   return offset;
3297 }
3298 
3299 
3300 static const ber_sequence_t ServiceError_sequence[] = {
3301   { &hf_mms_errorClass      , BER_CLASS_CON, 0, 0, dissect_mms_T_errorClass },
3302   { &hf_mms_additionalCode  , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_INTEGER },
3303   { &hf_mms_additionalDescription, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_VisibleString },
3304   { &hf_mms_serviceSpecificInformation, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_mms_T_serviceSpecificInformation },
3305   { NULL, 0, 0, 0, NULL }
3306 };
3307 
3308 static int
dissect_mms_ServiceError(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)3309 dissect_mms_ServiceError(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3310   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3311                                    ServiceError_sequence, hf_index, ett_mms_ServiceError);
3312 
3313   return offset;
3314 }
3315 
3316 
3317 static const ber_sequence_t TerminateDownloadSequence_Request_sequence[] = {
3318   { &hf_mms_domainName      , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mms_Identifier },
3319   { &hf_mms_discard         , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_ServiceError },
3320   { NULL, 0, 0, 0, NULL }
3321 };
3322 
3323 static int
dissect_mms_TerminateDownloadSequence_Request(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)3324 dissect_mms_TerminateDownloadSequence_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3325   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3326                                    TerminateDownloadSequence_Request_sequence, hf_index, ett_mms_TerminateDownloadSequence_Request);
3327 
3328   return offset;
3329 }
3330 
3331 
3332 
3333 static int
dissect_mms_InitiateUploadSequence_Request(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)3334 dissect_mms_InitiateUploadSequence_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3335   offset = dissect_mms_Identifier(implicit_tag, tvb, offset, actx, tree, hf_index);
3336 
3337   return offset;
3338 }
3339 
3340 
3341 
3342 static int
dissect_mms_UploadSegment_Request(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)3343 dissect_mms_UploadSegment_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3344   offset = dissect_mms_Integer32(implicit_tag, tvb, offset, actx, tree, hf_index);
3345 
3346   return offset;
3347 }
3348 
3349 
3350 
3351 static int
dissect_mms_TerminateUploadSequence_Request(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)3352 dissect_mms_TerminateUploadSequence_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3353   offset = dissect_mms_Integer32(implicit_tag, tvb, offset, actx, tree, hf_index);
3354 
3355   return offset;
3356 }
3357 
3358 
3359 static const ber_sequence_t T_listOfCapabilities_03_sequence_of[1] = {
3360   { &hf_mms_listOfCapabilities_item, BER_CLASS_UNI, BER_UNI_TAG_VisibleString, BER_FLAGS_NOOWNTAG, dissect_mms_VisibleString },
3361 };
3362 
3363 static int
dissect_mms_T_listOfCapabilities_03(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)3364 dissect_mms_T_listOfCapabilities_03(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3365   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
3366                                       T_listOfCapabilities_03_sequence_of, hf_index, ett_mms_T_listOfCapabilities_03);
3367 
3368   return offset;
3369 }
3370 
3371 
3372 
3373 static int
dissect_mms_GraphicString(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)3374 dissect_mms_GraphicString(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3375   offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_GraphicString,
3376                                             actx, tree, tvb, offset, hf_index,
3377                                             NULL);
3378 
3379   return offset;
3380 }
3381 
3382 
3383 static const ber_sequence_t FileName_sequence_of[1] = {
3384   { &hf_mms_FileName_item   , BER_CLASS_UNI, BER_UNI_TAG_GraphicString, BER_FLAGS_NOOWNTAG, dissect_mms_GraphicString },
3385 };
3386 
3387 static int
dissect_mms_FileName(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)3388 dissect_mms_FileName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3389   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
3390                                       FileName_sequence_of, hf_index, ett_mms_FileName);
3391 
3392   return offset;
3393 }
3394 
3395 
3396 static const ber_sequence_t RequestDomainDownload_Request_sequence[] = {
3397   { &hf_mms_domainName      , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mms_Identifier },
3398   { &hf_mms_listOfCapabilities_03, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_T_listOfCapabilities_03 },
3399   { &hf_mms_sharable        , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_mms_BOOLEAN },
3400   { &hf_mms_fileName        , BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_mms_FileName },
3401   { NULL, 0, 0, 0, NULL }
3402 };
3403 
3404 static int
dissect_mms_RequestDomainDownload_Request(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)3405 dissect_mms_RequestDomainDownload_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3406   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3407                                    RequestDomainDownload_Request_sequence, hf_index, ett_mms_RequestDomainDownload_Request);
3408 
3409   return offset;
3410 }
3411 
3412 
3413 static const ber_sequence_t RequestDomainUpload_Request_sequence[] = {
3414   { &hf_mms_domainName      , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mms_Identifier },
3415   { &hf_mms_fileName        , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_mms_FileName },
3416   { NULL, 0, 0, 0, NULL }
3417 };
3418 
3419 static int
dissect_mms_RequestDomainUpload_Request(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)3420 dissect_mms_RequestDomainUpload_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3421   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3422                                    RequestDomainUpload_Request_sequence, hf_index, ett_mms_RequestDomainUpload_Request);
3423 
3424   return offset;
3425 }
3426 
3427 
3428 static const ber_sequence_t T_listOfCapabilities_04_sequence_of[1] = {
3429   { &hf_mms_listOfCapabilities_item, BER_CLASS_UNI, BER_UNI_TAG_VisibleString, BER_FLAGS_NOOWNTAG, dissect_mms_VisibleString },
3430 };
3431 
3432 static int
dissect_mms_T_listOfCapabilities_04(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)3433 dissect_mms_T_listOfCapabilities_04(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3434   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
3435                                       T_listOfCapabilities_04_sequence_of, hf_index, ett_mms_T_listOfCapabilities_04);
3436 
3437   return offset;
3438 }
3439 
3440 
3441 static const ber_sequence_t LoadDomainContent_Request_sequence[] = {
3442   { &hf_mms_domainName      , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mms_Identifier },
3443   { &hf_mms_listOfCapabilities_04, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_T_listOfCapabilities_04 },
3444   { &hf_mms_sharable        , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_mms_BOOLEAN },
3445   { &hf_mms_fileName        , BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_mms_FileName },
3446   { &hf_mms_thirdParty      , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_ApplicationReference },
3447   { NULL, 0, 0, 0, NULL }
3448 };
3449 
3450 static int
dissect_mms_LoadDomainContent_Request(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)3451 dissect_mms_LoadDomainContent_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3452   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3453                                    LoadDomainContent_Request_sequence, hf_index, ett_mms_LoadDomainContent_Request);
3454 
3455   return offset;
3456 }
3457 
3458 
3459 static const ber_sequence_t StoreDomainContent_Request_sequence[] = {
3460   { &hf_mms_domainName      , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mms_Identifier },
3461   { &hf_mms_filenName       , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_mms_FileName },
3462   { &hf_mms_thirdParty      , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_ApplicationReference },
3463   { NULL, 0, 0, 0, NULL }
3464 };
3465 
3466 static int
dissect_mms_StoreDomainContent_Request(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)3467 dissect_mms_StoreDomainContent_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3468   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3469                                    StoreDomainContent_Request_sequence, hf_index, ett_mms_StoreDomainContent_Request);
3470 
3471   return offset;
3472 }
3473 
3474 
3475 
3476 static int
dissect_mms_DeleteDomain_Request(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)3477 dissect_mms_DeleteDomain_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3478   offset = dissect_mms_Identifier(implicit_tag, tvb, offset, actx, tree, hf_index);
3479 
3480   return offset;
3481 }
3482 
3483 
3484 
3485 static int
dissect_mms_GetDomainAttributes_Request(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)3486 dissect_mms_GetDomainAttributes_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3487   offset = dissect_mms_Identifier(implicit_tag, tvb, offset, actx, tree, hf_index);
3488 
3489   return offset;
3490 }
3491 
3492 
3493 static const ber_sequence_t SEQUENCE_OF_Identifier_sequence_of[1] = {
3494   { &hf_mms_listOfIdentifier_item, BER_CLASS_UNI, BER_UNI_TAG_VisibleString, BER_FLAGS_NOOWNTAG, dissect_mms_Identifier },
3495 };
3496 
3497 static int
dissect_mms_SEQUENCE_OF_Identifier(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)3498 dissect_mms_SEQUENCE_OF_Identifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3499   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
3500                                       SEQUENCE_OF_Identifier_sequence_of, hf_index, ett_mms_SEQUENCE_OF_Identifier);
3501 
3502   return offset;
3503 }
3504 
3505 
3506 static const ber_sequence_t CreateProgramInvocation_Request_sequence[] = {
3507   { &hf_mms_programInvocationName, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mms_Identifier },
3508   { &hf_mms_listOfDomainName, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_mms_SEQUENCE_OF_Identifier },
3509   { &hf_mms_reusable        , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_BOOLEAN },
3510   { &hf_mms_monitorType     , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_BOOLEAN },
3511   { NULL, 0, 0, 0, NULL }
3512 };
3513 
3514 static int
dissect_mms_CreateProgramInvocation_Request(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)3515 dissect_mms_CreateProgramInvocation_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3516   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3517                                    CreateProgramInvocation_Request_sequence, hf_index, ett_mms_CreateProgramInvocation_Request);
3518 
3519   return offset;
3520 }
3521 
3522 
3523 
3524 static int
dissect_mms_DeleteProgramInvocation_Request(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)3525 dissect_mms_DeleteProgramInvocation_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3526   offset = dissect_mms_Identifier(implicit_tag, tvb, offset, actx, tree, hf_index);
3527 
3528   return offset;
3529 }
3530 
3531 
3532 static const value_string mms_T_executionArgument_vals[] = {
3533   {   0, "simpleString" },
3534   {   1, "encodedString" },
3535   { 0, NULL }
3536 };
3537 
3538 static const ber_choice_t T_executionArgument_choice[] = {
3539   {   0, &hf_mms_simpleString    , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_mms_VisibleString },
3540   {   1, &hf_mms_encodedString   , BER_CLASS_UNI, 8, BER_FLAGS_NOOWNTAG, dissect_acse_EXTERNALt },
3541   { 0, NULL, 0, 0, 0, NULL }
3542 };
3543 
3544 static int
dissect_mms_T_executionArgument(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)3545 dissect_mms_T_executionArgument(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3546   offset = dissect_ber_choice(actx, tree, tvb, offset,
3547                                  T_executionArgument_choice, hf_index, ett_mms_T_executionArgument,
3548                                  NULL);
3549 
3550   return offset;
3551 }
3552 
3553 
3554 static const ber_sequence_t Start_Request_sequence[] = {
3555   { &hf_mms_programInvocationName, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mms_Identifier },
3556   { &hf_mms_executionArgument, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_mms_T_executionArgument },
3557   { NULL, 0, 0, 0, NULL }
3558 };
3559 
3560 static int
dissect_mms_Start_Request(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)3561 dissect_mms_Start_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3562   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3563                                    Start_Request_sequence, hf_index, ett_mms_Start_Request);
3564 
3565   return offset;
3566 }
3567 
3568 
3569 static const ber_sequence_t Stop_Request_sequence[] = {
3570   { &hf_mms_programInvocationName, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mms_Identifier },
3571   { NULL, 0, 0, 0, NULL }
3572 };
3573 
3574 static int
dissect_mms_Stop_Request(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)3575 dissect_mms_Stop_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3576   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3577                                    Stop_Request_sequence, hf_index, ett_mms_Stop_Request);
3578 
3579   return offset;
3580 }
3581 
3582 
3583 static const value_string mms_T_executionArgument_01_vals[] = {
3584   {   0, "simpleString" },
3585   {   1, "encodedString" },
3586   { 0, NULL }
3587 };
3588 
3589 static const ber_choice_t T_executionArgument_01_choice[] = {
3590   {   0, &hf_mms_simpleString    , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_mms_VisibleString },
3591   {   1, &hf_mms_encodedString   , BER_CLASS_UNI, 8, BER_FLAGS_NOOWNTAG, dissect_acse_EXTERNALt },
3592   { 0, NULL, 0, 0, 0, NULL }
3593 };
3594 
3595 static int
dissect_mms_T_executionArgument_01(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)3596 dissect_mms_T_executionArgument_01(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3597   offset = dissect_ber_choice(actx, tree, tvb, offset,
3598                                  T_executionArgument_01_choice, hf_index, ett_mms_T_executionArgument_01,
3599                                  NULL);
3600 
3601   return offset;
3602 }
3603 
3604 
3605 static const ber_sequence_t Resume_Request_sequence[] = {
3606   { &hf_mms_programInvocationName, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mms_Identifier },
3607   { &hf_mms_executionArgument_01, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_mms_T_executionArgument_01 },
3608   { NULL, 0, 0, 0, NULL }
3609 };
3610 
3611 static int
dissect_mms_Resume_Request(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)3612 dissect_mms_Resume_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3613   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3614                                    Resume_Request_sequence, hf_index, ett_mms_Resume_Request);
3615 
3616   return offset;
3617 }
3618 
3619 
3620 static const ber_sequence_t Reset_Request_sequence[] = {
3621   { &hf_mms_programInvocationName, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mms_Identifier },
3622   { NULL, 0, 0, 0, NULL }
3623 };
3624 
3625 static int
dissect_mms_Reset_Request(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)3626 dissect_mms_Reset_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3627   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3628                                    Reset_Request_sequence, hf_index, ett_mms_Reset_Request);
3629 
3630   return offset;
3631 }
3632 
3633 
3634 static const ber_sequence_t Kill_Request_sequence[] = {
3635   { &hf_mms_programInvocationName, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mms_Identifier },
3636   { NULL, 0, 0, 0, NULL }
3637 };
3638 
3639 static int
dissect_mms_Kill_Request(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)3640 dissect_mms_Kill_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3641   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3642                                    Kill_Request_sequence, hf_index, ett_mms_Kill_Request);
3643 
3644   return offset;
3645 }
3646 
3647 
3648 
3649 static int
dissect_mms_GetProgramInvocationAttributes_Request(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)3650 dissect_mms_GetProgramInvocationAttributes_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3651   offset = dissect_mms_Identifier(implicit_tag, tvb, offset, actx, tree, hf_index);
3652 
3653   return offset;
3654 }
3655 
3656 
3657 static const ber_sequence_t ObtainFile_Request_sequence[] = {
3658   { &hf_mms_sourceFileServer, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_ApplicationReference },
3659   { &hf_mms_sourceFile      , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_mms_FileName },
3660   { &hf_mms_destinationFile , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_mms_FileName },
3661   { NULL, 0, 0, 0, NULL }
3662 };
3663 
3664 static int
dissect_mms_ObtainFile_Request(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)3665 dissect_mms_ObtainFile_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3666   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3667                                    ObtainFile_Request_sequence, hf_index, ett_mms_ObtainFile_Request);
3668 
3669   return offset;
3670 }
3671 
3672 
3673 static const value_string mms_EC_Class_vals[] = {
3674   {   0, "network-triggered" },
3675   {   1, "monitored" },
3676   { 0, NULL }
3677 };
3678 
3679 
3680 static int
dissect_mms_EC_Class(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)3681 dissect_mms_EC_Class(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3682   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
3683                                                 NULL);
3684 
3685   return offset;
3686 }
3687 
3688 
3689 static const ber_sequence_t DefineEventCondition_Request_sequence[] = {
3690   { &hf_mms_eventConditionName, BER_CLASS_CON, 0, BER_FLAGS_NOTCHKTAG, dissect_mms_ObjectName },
3691   { &hf_mms_class_01        , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_mms_EC_Class },
3692   { &hf_mms_prio_rity       , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_Priority },
3693   { &hf_mms_severity        , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_Unsigned8 },
3694   { &hf_mms_alarmSummaryReports, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_BOOLEAN },
3695   { &hf_mms_monitoredVariable, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_mms_VariableSpecification },
3696   { &hf_mms_evaluationInterval, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_Unsigned32 },
3697   { NULL, 0, 0, 0, NULL }
3698 };
3699 
3700 static int
dissect_mms_DefineEventCondition_Request(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)3701 dissect_mms_DefineEventCondition_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3702   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3703                                    DefineEventCondition_Request_sequence, hf_index, ett_mms_DefineEventCondition_Request);
3704 
3705   return offset;
3706 }
3707 
3708 
3709 static const value_string mms_DeleteEventCondition_Request_vals[] = {
3710   {   0, "specific" },
3711   {   1, "aa-specific" },
3712   {   2, "domain" },
3713   {   3, "vmd" },
3714   { 0, NULL }
3715 };
3716 
3717 static const ber_choice_t DeleteEventCondition_Request_choice[] = {
3718   {   0, &hf_mms_specific        , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mms_SEQUENCE_OF_ObjectName },
3719   {   1, &hf_mms_aa_specific_01  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_mms_NULL },
3720   {   2, &hf_mms_domain          , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_mms_Identifier },
3721   {   3, &hf_mms_vmd             , BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_mms_NULL },
3722   { 0, NULL, 0, 0, 0, NULL }
3723 };
3724 
3725 static int
dissect_mms_DeleteEventCondition_Request(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)3726 dissect_mms_DeleteEventCondition_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3727   offset = dissect_ber_choice(actx, tree, tvb, offset,
3728                                  DeleteEventCondition_Request_choice, hf_index, ett_mms_DeleteEventCondition_Request,
3729                                  NULL);
3730 
3731   return offset;
3732 }
3733 
3734 
3735 
3736 static int
dissect_mms_GetEventConditionAttributes_Request(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)3737 dissect_mms_GetEventConditionAttributes_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3738   offset = dissect_mms_ObjectName(implicit_tag, tvb, offset, actx, tree, hf_index);
3739 
3740   return offset;
3741 }
3742 
3743 
3744 
3745 static int
dissect_mms_ReportEventConditionStatus_Request(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)3746 dissect_mms_ReportEventConditionStatus_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3747   offset = dissect_mms_ObjectName(implicit_tag, tvb, offset, actx, tree, hf_index);
3748 
3749   return offset;
3750 }
3751 
3752 
3753 static const ber_sequence_t AlterEventConditionMonitoring_Request_sequence[] = {
3754   { &hf_mms_eventConditionName, BER_CLASS_CON, 0, BER_FLAGS_NOTCHKTAG, dissect_mms_ObjectName },
3755   { &hf_mms_enabled         , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_BOOLEAN },
3756   { &hf_mms_priority        , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_Priority },
3757   { &hf_mms_alarmSummaryReports, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_BOOLEAN },
3758   { &hf_mms_evaluationInterval, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_Unsigned32 },
3759   { NULL, 0, 0, 0, NULL }
3760 };
3761 
3762 static int
dissect_mms_AlterEventConditionMonitoring_Request(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)3763 dissect_mms_AlterEventConditionMonitoring_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3764   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3765                                    AlterEventConditionMonitoring_Request_sequence, hf_index, ett_mms_AlterEventConditionMonitoring_Request);
3766 
3767   return offset;
3768 }
3769 
3770 
3771 static const ber_sequence_t TriggerEvent_Request_sequence[] = {
3772   { &hf_mms_eventConditionName, BER_CLASS_CON, 0, BER_FLAGS_NOTCHKTAG, dissect_mms_ObjectName },
3773   { &hf_mms_priority        , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_Priority },
3774   { NULL, 0, 0, 0, NULL }
3775 };
3776 
3777 static int
dissect_mms_TriggerEvent_Request(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)3778 dissect_mms_TriggerEvent_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3779   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3780                                    TriggerEvent_Request_sequence, hf_index, ett_mms_TriggerEvent_Request);
3781 
3782   return offset;
3783 }
3784 
3785 
3786 static const ber_sequence_t DefineEventAction_Request_sequence[] = {
3787   { &hf_mms_eventActionName , BER_CLASS_CON, 0, BER_FLAGS_NOTCHKTAG, dissect_mms_ObjectName },
3788   { &hf_mms_listOfModifier  , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_SEQUENCE_OF_Modifier },
3789   { NULL, 0, 0, 0, NULL }
3790 };
3791 
3792 static int
dissect_mms_DefineEventAction_Request(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)3793 dissect_mms_DefineEventAction_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3794   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3795                                    DefineEventAction_Request_sequence, hf_index, ett_mms_DefineEventAction_Request);
3796 
3797   return offset;
3798 }
3799 
3800 
3801 static const value_string mms_DeleteEventAction_Request_vals[] = {
3802   {   0, "specific" },
3803   {   1, "aa-specific" },
3804   {   3, "domain" },
3805   {   4, "vmd" },
3806   { 0, NULL }
3807 };
3808 
3809 static const ber_choice_t DeleteEventAction_Request_choice[] = {
3810   {   0, &hf_mms_specific        , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mms_SEQUENCE_OF_ObjectName },
3811   {   1, &hf_mms_aa_specific_01  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_mms_NULL },
3812   {   3, &hf_mms_domain          , BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_mms_Identifier },
3813   {   4, &hf_mms_vmd             , BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_mms_NULL },
3814   { 0, NULL, 0, 0, 0, NULL }
3815 };
3816 
3817 static int
dissect_mms_DeleteEventAction_Request(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)3818 dissect_mms_DeleteEventAction_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3819   offset = dissect_ber_choice(actx, tree, tvb, offset,
3820                                  DeleteEventAction_Request_choice, hf_index, ett_mms_DeleteEventAction_Request,
3821                                  NULL);
3822 
3823   return offset;
3824 }
3825 
3826 
3827 
3828 static int
dissect_mms_GetEventActionAttributes_Request(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)3829 dissect_mms_GetEventActionAttributes_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3830   offset = dissect_mms_ObjectName(implicit_tag, tvb, offset, actx, tree, hf_index);
3831 
3832   return offset;
3833 }
3834 
3835 
3836 
3837 static int
dissect_mms_ReportEventActionStatus_Request(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)3838 dissect_mms_ReportEventActionStatus_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3839   offset = dissect_mms_ObjectName(implicit_tag, tvb, offset, actx, tree, hf_index);
3840 
3841   return offset;
3842 }
3843 
3844 
3845 static const value_string mms_AlarmAckRule_vals[] = {
3846   {   0, "none" },
3847   {   1, "simple" },
3848   {   2, "ack-active" },
3849   {   3, "ack-all" },
3850   { 0, NULL }
3851 };
3852 
3853 
3854 static int
dissect_mms_AlarmAckRule(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)3855 dissect_mms_AlarmAckRule(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3856   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
3857                                                 NULL);
3858 
3859   return offset;
3860 }
3861 
3862 
3863 static const ber_sequence_t DefineEventEnrollment_Request_sequence[] = {
3864   { &hf_mms_eventEnrollmentName, BER_CLASS_CON, 0, BER_FLAGS_NOTCHKTAG, dissect_mms_ObjectName },
3865   { &hf_mms_eventConditionName, BER_CLASS_CON, 1, BER_FLAGS_NOTCHKTAG, dissect_mms_ObjectName },
3866   { &hf_mms_eventConditionTransition, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_mms_Transitions },
3867   { &hf_mms_alarmAcknowledgementRule, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_mms_AlarmAckRule },
3868   { &hf_mms_eventActionName , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_mms_ObjectName },
3869   { &hf_mms_clientApplication, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL, dissect_mms_ApplicationReference },
3870   { NULL, 0, 0, 0, NULL }
3871 };
3872 
3873 static int
dissect_mms_DefineEventEnrollment_Request(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)3874 dissect_mms_DefineEventEnrollment_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3875   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3876                                    DefineEventEnrollment_Request_sequence, hf_index, ett_mms_DefineEventEnrollment_Request);
3877 
3878   return offset;
3879 }
3880 
3881 
3882 static const value_string mms_DeleteEventEnrollment_Request_vals[] = {
3883   {   0, "specific" },
3884   {   1, "ec" },
3885   {   2, "ea" },
3886   { 0, NULL }
3887 };
3888 
3889 static const ber_choice_t DeleteEventEnrollment_Request_choice[] = {
3890   {   0, &hf_mms_specific        , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mms_SEQUENCE_OF_ObjectName },
3891   {   1, &hf_mms_ec              , BER_CLASS_CON, 1, 0, dissect_mms_ObjectName },
3892   {   2, &hf_mms_ea              , BER_CLASS_CON, 2, 0, dissect_mms_ObjectName },
3893   { 0, NULL, 0, 0, 0, NULL }
3894 };
3895 
3896 static int
dissect_mms_DeleteEventEnrollment_Request(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)3897 dissect_mms_DeleteEventEnrollment_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3898   offset = dissect_ber_choice(actx, tree, tvb, offset,
3899                                  DeleteEventEnrollment_Request_choice, hf_index, ett_mms_DeleteEventEnrollment_Request,
3900                                  NULL);
3901 
3902   return offset;
3903 }
3904 
3905 
3906 static const ber_sequence_t AlterEventEnrollment_Request_sequence[] = {
3907   { &hf_mms_eventEnrollmentName, BER_CLASS_CON, 0, BER_FLAGS_NOTCHKTAG, dissect_mms_ObjectName },
3908   { &hf_mms_eventConditionTransitions, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_Transitions },
3909   { &hf_mms_alarmAcknowledgmentRule, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_AlarmAckRule },
3910   { NULL, 0, 0, 0, NULL }
3911 };
3912 
3913 static int
dissect_mms_AlterEventEnrollment_Request(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)3914 dissect_mms_AlterEventEnrollment_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3915   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3916                                    AlterEventEnrollment_Request_sequence, hf_index, ett_mms_AlterEventEnrollment_Request);
3917 
3918   return offset;
3919 }
3920 
3921 
3922 
3923 static int
dissect_mms_ReportEventEnrollmentStatus_Request(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)3924 dissect_mms_ReportEventEnrollmentStatus_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3925   offset = dissect_mms_ObjectName(implicit_tag, tvb, offset, actx, tree, hf_index);
3926 
3927   return offset;
3928 }
3929 
3930 
3931 static const value_string mms_T_scopeOfRequest_vals[] = {
3932   {   0, "specific" },
3933   {   1, "client" },
3934   {   2, "ec" },
3935   {   3, "ea" },
3936   { 0, NULL }
3937 };
3938 
3939 
3940 static int
dissect_mms_T_scopeOfRequest(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)3941 dissect_mms_T_scopeOfRequest(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3942   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
3943                                                 NULL);
3944 
3945   return offset;
3946 }
3947 
3948 
3949 static const ber_sequence_t GetEventEnrollmentAttributes_Request_sequence[] = {
3950   { &hf_mms_scopeOfRequest  , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_T_scopeOfRequest },
3951   { &hf_mms_eventEnrollmentNames, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_SEQUENCE_OF_ObjectName },
3952   { &hf_mms_clientApplication, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_mms_ApplicationReference },
3953   { &hf_mms_eventConditionName, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_mms_ObjectName },
3954   { &hf_mms_eventActionName , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_mms_ObjectName },
3955   { &hf_mms_getEventEnrollmentAttributes_Request_continueAfter, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_mms_ObjectName },
3956   { NULL, 0, 0, 0, NULL }
3957 };
3958 
3959 static int
dissect_mms_GetEventEnrollmentAttributes_Request(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)3960 dissect_mms_GetEventEnrollmentAttributes_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3961   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3962                                    GetEventEnrollmentAttributes_Request_sequence, hf_index, ett_mms_GetEventEnrollmentAttributes_Request);
3963 
3964   return offset;
3965 }
3966 
3967 
3968 static const value_string mms_EC_State_vals[] = {
3969   {   0, "disabled" },
3970   {   1, "idle" },
3971   {   2, "active" },
3972   { 0, NULL }
3973 };
3974 
3975 
3976 static int
dissect_mms_EC_State(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)3977 dissect_mms_EC_State(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3978   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
3979                                                 NULL);
3980 
3981   return offset;
3982 }
3983 
3984 
3985 static const value_string mms_EventTime_vals[] = {
3986   {   0, "timeOfDayT" },
3987   {   1, "timeSequenceIdentifier" },
3988   { 0, NULL }
3989 };
3990 
3991 static const ber_choice_t EventTime_choice[] = {
3992   {   0, &hf_mms_timeOfDayT      , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mms_TimeOfDay },
3993   {   1, &hf_mms_timeSequenceIdentifier, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_mms_Unsigned32 },
3994   { 0, NULL, 0, 0, 0, NULL }
3995 };
3996 
3997 static int
dissect_mms_EventTime(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)3998 dissect_mms_EventTime(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3999   offset = dissect_ber_choice(actx, tree, tvb, offset,
4000                                  EventTime_choice, hf_index, ett_mms_EventTime,
4001                                  NULL);
4002 
4003   return offset;
4004 }
4005 
4006 
4007 static const ber_sequence_t AcknowledgeEventNotification_Request_sequence[] = {
4008   { &hf_mms_eventEnrollmentName, BER_CLASS_CON, 0, BER_FLAGS_NOTCHKTAG, dissect_mms_ObjectName },
4009   { &hf_mms_acknowledgedState, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_mms_EC_State },
4010   { &hf_mms_timeOfAcknowledgedTransition, BER_CLASS_CON, 3, BER_FLAGS_NOTCHKTAG, dissect_mms_EventTime },
4011   { NULL, 0, 0, 0, NULL }
4012 };
4013 
4014 static int
dissect_mms_AcknowledgeEventNotification_Request(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)4015 dissect_mms_AcknowledgeEventNotification_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4016   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4017                                    AcknowledgeEventNotification_Request_sequence, hf_index, ett_mms_AcknowledgeEventNotification_Request);
4018 
4019   return offset;
4020 }
4021 
4022 
4023 static const value_string mms_T_acknowledgmentFilter_vals[] = {
4024   {   0, "not-acked" },
4025   {   1, "acked" },
4026   {   2, "all" },
4027   { 0, NULL }
4028 };
4029 
4030 
4031 static int
dissect_mms_T_acknowledgmentFilter(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)4032 dissect_mms_T_acknowledgmentFilter(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4033   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
4034                                                 NULL);
4035 
4036   return offset;
4037 }
4038 
4039 
4040 static const ber_sequence_t T_severityFilter_sequence[] = {
4041   { &hf_mms_mostSevere      , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mms_Unsigned8 },
4042   { &hf_mms_leastSevere     , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_mms_Unsigned8 },
4043   { NULL, 0, 0, 0, NULL }
4044 };
4045 
4046 static int
dissect_mms_T_severityFilter(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)4047 dissect_mms_T_severityFilter(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4048   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4049                                    T_severityFilter_sequence, hf_index, ett_mms_T_severityFilter);
4050 
4051   return offset;
4052 }
4053 
4054 
4055 static const ber_sequence_t GetAlarmSummary_Request_sequence[] = {
4056   { &hf_mms_enrollmentsOnly , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_BOOLEAN },
4057   { &hf_mms_activeAlarmsOnly, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_BOOLEAN },
4058   { &hf_mms_acknowledgmentFilter, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_T_acknowledgmentFilter },
4059   { &hf_mms_severityFilter  , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_T_severityFilter },
4060   { &hf_mms_continueAfter   , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_mms_ObjectName },
4061   { NULL, 0, 0, 0, NULL }
4062 };
4063 
4064 static int
dissect_mms_GetAlarmSummary_Request(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)4065 dissect_mms_GetAlarmSummary_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4066   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4067                                    GetAlarmSummary_Request_sequence, hf_index, ett_mms_GetAlarmSummary_Request);
4068 
4069   return offset;
4070 }
4071 
4072 
4073 static const value_string mms_T_acknowledgmentFilter_01_vals[] = {
4074   {   0, "not-acked" },
4075   {   1, "acked" },
4076   {   2, "all" },
4077   { 0, NULL }
4078 };
4079 
4080 
4081 static int
dissect_mms_T_acknowledgmentFilter_01(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)4082 dissect_mms_T_acknowledgmentFilter_01(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4083   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
4084                                                 NULL);
4085 
4086   return offset;
4087 }
4088 
4089 
4090 static const ber_sequence_t T_severityFilter_01_sequence[] = {
4091   { &hf_mms_mostSevere      , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mms_Unsigned8 },
4092   { &hf_mms_leastSevere     , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_mms_Unsigned8 },
4093   { NULL, 0, 0, 0, NULL }
4094 };
4095 
4096 static int
dissect_mms_T_severityFilter_01(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)4097 dissect_mms_T_severityFilter_01(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4098   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4099                                    T_severityFilter_01_sequence, hf_index, ett_mms_T_severityFilter_01);
4100 
4101   return offset;
4102 }
4103 
4104 
4105 static const ber_sequence_t GetAlarmEnrollmentSummary_Request_sequence[] = {
4106   { &hf_mms_enrollmentsOnly , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_BOOLEAN },
4107   { &hf_mms_activeAlarmsOnly, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_BOOLEAN },
4108   { &hf_mms_acknowledgmentFilter_01, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_T_acknowledgmentFilter_01 },
4109   { &hf_mms_severityFilter_01, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_T_severityFilter_01 },
4110   { &hf_mms_getAlarmEnrollmentSummary_Request_continueAfter, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_mms_ObjectName },
4111   { NULL, 0, 0, 0, NULL }
4112 };
4113 
4114 static int
dissect_mms_GetAlarmEnrollmentSummary_Request(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)4115 dissect_mms_GetAlarmEnrollmentSummary_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4116   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4117                                    GetAlarmEnrollmentSummary_Request_sequence, hf_index, ett_mms_GetAlarmEnrollmentSummary_Request);
4118 
4119   return offset;
4120 }
4121 
4122 
4123 static const value_string mms_T_rangeStartSpecification_vals[] = {
4124   {   0, "startingTime" },
4125   {   1, "startingEntry" },
4126   { 0, NULL }
4127 };
4128 
4129 static const ber_choice_t T_rangeStartSpecification_choice[] = {
4130   {   0, &hf_mms_startingTime    , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mms_TimeOfDay },
4131   {   1, &hf_mms_startingEntry   , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_mms_OCTET_STRING },
4132   { 0, NULL, 0, 0, 0, NULL }
4133 };
4134 
4135 static int
dissect_mms_T_rangeStartSpecification(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)4136 dissect_mms_T_rangeStartSpecification(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4137   offset = dissect_ber_choice(actx, tree, tvb, offset,
4138                                  T_rangeStartSpecification_choice, hf_index, ett_mms_T_rangeStartSpecification,
4139                                  NULL);
4140 
4141   return offset;
4142 }
4143 
4144 
4145 static const value_string mms_T_rangeStopSpecification_vals[] = {
4146   {   0, "endingTime" },
4147   {   1, "numberOfEntries" },
4148   { 0, NULL }
4149 };
4150 
4151 static const ber_choice_t T_rangeStopSpecification_choice[] = {
4152   {   0, &hf_mms_endingTime      , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mms_TimeOfDay },
4153   {   1, &hf_mms_numberOfEntries , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_mms_Integer32 },
4154   { 0, NULL, 0, 0, 0, NULL }
4155 };
4156 
4157 static int
dissect_mms_T_rangeStopSpecification(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)4158 dissect_mms_T_rangeStopSpecification(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4159   offset = dissect_ber_choice(actx, tree, tvb, offset,
4160                                  T_rangeStopSpecification_choice, hf_index, ett_mms_T_rangeStopSpecification,
4161                                  NULL);
4162 
4163   return offset;
4164 }
4165 
4166 
4167 static const ber_sequence_t T_listOfVariables_sequence_of[1] = {
4168   { &hf_mms_listOfVariables_item, BER_CLASS_UNI, BER_UNI_TAG_VisibleString, BER_FLAGS_NOOWNTAG, dissect_mms_VisibleString },
4169 };
4170 
4171 static int
dissect_mms_T_listOfVariables(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)4172 dissect_mms_T_listOfVariables(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4173   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
4174                                       T_listOfVariables_sequence_of, hf_index, ett_mms_T_listOfVariables);
4175 
4176   return offset;
4177 }
4178 
4179 
4180 static const ber_sequence_t T_entryToStartAfter_sequence[] = {
4181   { &hf_mms_timeSpecification, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mms_TimeOfDay },
4182   { &hf_mms_entrySpecification, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_mms_OCTET_STRING },
4183   { NULL, 0, 0, 0, NULL }
4184 };
4185 
4186 static int
dissect_mms_T_entryToStartAfter(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)4187 dissect_mms_T_entryToStartAfter(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4188   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4189                                    T_entryToStartAfter_sequence, hf_index, ett_mms_T_entryToStartAfter);
4190 
4191   return offset;
4192 }
4193 
4194 
4195 static const ber_sequence_t ReadJournal_Request_sequence[] = {
4196   { &hf_mms_journalName     , BER_CLASS_CON, 0, BER_FLAGS_NOTCHKTAG, dissect_mms_ObjectName },
4197   { &hf_mms_rangeStartSpecification, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_mms_T_rangeStartSpecification },
4198   { &hf_mms_rangeStopSpecification, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_mms_T_rangeStopSpecification },
4199   { &hf_mms_listOfVariables , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_T_listOfVariables },
4200   { &hf_mms_entryToStartAfter, BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_mms_T_entryToStartAfter },
4201   { NULL, 0, 0, 0, NULL }
4202 };
4203 
4204 static int
dissect_mms_ReadJournal_Request(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)4205 dissect_mms_ReadJournal_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4206   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4207                                    ReadJournal_Request_sequence, hf_index, ett_mms_ReadJournal_Request);
4208 
4209   return offset;
4210 }
4211 
4212 
4213 
4214 static int
dissect_mms_JOU_Additional_Detail(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)4215 dissect_mms_JOU_Additional_Detail(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4216   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
4217 
4218   return offset;
4219 }
4220 
4221 
4222 static const ber_sequence_t T_event_sequence[] = {
4223   { &hf_mms_eventConditionName, BER_CLASS_CON, 0, BER_FLAGS_NOTCHKTAG, dissect_mms_ObjectName },
4224   { &hf_mms_currentState    , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_mms_EC_State },
4225   { NULL, 0, 0, 0, NULL }
4226 };
4227 
4228 static int
dissect_mms_T_event(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)4229 dissect_mms_T_event(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4230   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4231                                    T_event_sequence, hf_index, ett_mms_T_event);
4232 
4233   return offset;
4234 }
4235 
4236 
4237 static const ber_sequence_t T_listOfVariables_item_sequence[] = {
4238   { &hf_mms_variableTag     , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mms_VisibleString },
4239   { &hf_mms_valueSpecification, BER_CLASS_CON, 1, BER_FLAGS_NOTCHKTAG, dissect_mms_Data },
4240   { NULL, 0, 0, 0, NULL }
4241 };
4242 
4243 static int
dissect_mms_T_listOfVariables_item(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)4244 dissect_mms_T_listOfVariables_item(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4245   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4246                                    T_listOfVariables_item_sequence, hf_index, ett_mms_T_listOfVariables_item);
4247 
4248   return offset;
4249 }
4250 
4251 
4252 static const ber_sequence_t T_listOfVariables_01_sequence_of[1] = {
4253   { &hf_mms_listOfVariables_item_01, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_mms_T_listOfVariables_item },
4254 };
4255 
4256 static int
dissect_mms_T_listOfVariables_01(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)4257 dissect_mms_T_listOfVariables_01(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4258   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
4259                                       T_listOfVariables_01_sequence_of, hf_index, ett_mms_T_listOfVariables_01);
4260 
4261   return offset;
4262 }
4263 
4264 
4265 static const ber_sequence_t T_data_sequence[] = {
4266   { &hf_mms_event           , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_T_event },
4267   { &hf_mms_listOfVariables_01, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_T_listOfVariables_01 },
4268   { NULL, 0, 0, 0, NULL }
4269 };
4270 
4271 static int
dissect_mms_T_data(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)4272 dissect_mms_T_data(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4273   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4274                                    T_data_sequence, hf_index, ett_mms_T_data);
4275 
4276   return offset;
4277 }
4278 
4279 
4280 static const value_string mms_T_entryForm_vals[] = {
4281   {   2, "data" },
4282   {   3, "annotation" },
4283   { 0, NULL }
4284 };
4285 
4286 static const ber_choice_t T_entryForm_choice[] = {
4287   {   2, &hf_mms_data            , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_mms_T_data },
4288   {   3, &hf_mms_annotation      , BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_mms_VisibleString },
4289   { 0, NULL, 0, 0, 0, NULL }
4290 };
4291 
4292 static int
dissect_mms_T_entryForm(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)4293 dissect_mms_T_entryForm(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4294   offset = dissect_ber_choice(actx, tree, tvb, offset,
4295                                  T_entryForm_choice, hf_index, ett_mms_T_entryForm,
4296                                  NULL);
4297 
4298   return offset;
4299 }
4300 
4301 
4302 static const ber_sequence_t EntryContent_sequence[] = {
4303   { &hf_mms_occurenceTime   , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mms_TimeOfDay },
4304   { &hf_mms_additionalDetail, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_mms_JOU_Additional_Detail },
4305   { &hf_mms_entryForm       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_mms_T_entryForm },
4306   { NULL, 0, 0, 0, NULL }
4307 };
4308 
4309 static int
dissect_mms_EntryContent(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)4310 dissect_mms_EntryContent(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4311   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4312                                    EntryContent_sequence, hf_index, ett_mms_EntryContent);
4313 
4314   return offset;
4315 }
4316 
4317 
4318 static const ber_sequence_t SEQUENCE_OF_EntryContent_sequence_of[1] = {
4319   { &hf_mms_listOfJournalEntry_item_01, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_mms_EntryContent },
4320 };
4321 
4322 static int
dissect_mms_SEQUENCE_OF_EntryContent(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)4323 dissect_mms_SEQUENCE_OF_EntryContent(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4324   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
4325                                       SEQUENCE_OF_EntryContent_sequence_of, hf_index, ett_mms_SEQUENCE_OF_EntryContent);
4326 
4327   return offset;
4328 }
4329 
4330 
4331 static const ber_sequence_t WriteJournal_Request_sequence[] = {
4332   { &hf_mms_journalName     , BER_CLASS_CON, 0, BER_FLAGS_NOTCHKTAG, dissect_mms_ObjectName },
4333   { &hf_mms_listOfJournalEntry_01, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_mms_SEQUENCE_OF_EntryContent },
4334   { NULL, 0, 0, 0, NULL }
4335 };
4336 
4337 static int
dissect_mms_WriteJournal_Request(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)4338 dissect_mms_WriteJournal_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4339   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4340                                    WriteJournal_Request_sequence, hf_index, ett_mms_WriteJournal_Request);
4341 
4342   return offset;
4343 }
4344 
4345 
4346 static const ber_sequence_t T_limitSpecification_sequence[] = {
4347   { &hf_mms_limitingTime    , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mms_TimeOfDay },
4348   { &hf_mms_limitingEntry   , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_OCTET_STRING },
4349   { NULL, 0, 0, 0, NULL }
4350 };
4351 
4352 static int
dissect_mms_T_limitSpecification(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)4353 dissect_mms_T_limitSpecification(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4354   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4355                                    T_limitSpecification_sequence, hf_index, ett_mms_T_limitSpecification);
4356 
4357   return offset;
4358 }
4359 
4360 
4361 static const ber_sequence_t InitializeJournal_Request_sequence[] = {
4362   { &hf_mms_journalName     , BER_CLASS_CON, 0, BER_FLAGS_NOTCHKTAG, dissect_mms_ObjectName },
4363   { &hf_mms_limitSpecification, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_T_limitSpecification },
4364   { NULL, 0, 0, 0, NULL }
4365 };
4366 
4367 static int
dissect_mms_InitializeJournal_Request(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)4368 dissect_mms_InitializeJournal_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4369   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4370                                    InitializeJournal_Request_sequence, hf_index, ett_mms_InitializeJournal_Request);
4371 
4372   return offset;
4373 }
4374 
4375 
4376 
4377 static int
dissect_mms_ReportJournalStatus_Request(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)4378 dissect_mms_ReportJournalStatus_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4379   offset = dissect_mms_ObjectName(implicit_tag, tvb, offset, actx, tree, hf_index);
4380 
4381   return offset;
4382 }
4383 
4384 
4385 static const ber_sequence_t CreateJournal_Request_sequence[] = {
4386   { &hf_mms_journalName     , BER_CLASS_CON, 0, BER_FLAGS_NOTCHKTAG, dissect_mms_ObjectName },
4387   { NULL, 0, 0, 0, NULL }
4388 };
4389 
4390 static int
dissect_mms_CreateJournal_Request(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)4391 dissect_mms_CreateJournal_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4392   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4393                                    CreateJournal_Request_sequence, hf_index, ett_mms_CreateJournal_Request);
4394 
4395   return offset;
4396 }
4397 
4398 
4399 static const ber_sequence_t DeleteJournal_Request_sequence[] = {
4400   { &hf_mms_journalName     , BER_CLASS_CON, 0, BER_FLAGS_NOTCHKTAG, dissect_mms_ObjectName },
4401   { NULL, 0, 0, 0, NULL }
4402 };
4403 
4404 static int
dissect_mms_DeleteJournal_Request(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)4405 dissect_mms_DeleteJournal_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4406   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4407                                    DeleteJournal_Request_sequence, hf_index, ett_mms_DeleteJournal_Request);
4408 
4409   return offset;
4410 }
4411 
4412 
4413 static const ber_sequence_t GetCapabilityList_Request_sequence[] = {
4414   { &hf_mms_getCapabilityList_Request_continueAfter, BER_CLASS_UNI, BER_UNI_TAG_VisibleString, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_mms_VisibleString },
4415   { NULL, 0, 0, 0, NULL }
4416 };
4417 
4418 static int
dissect_mms_GetCapabilityList_Request(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)4419 dissect_mms_GetCapabilityList_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4420   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4421                                    GetCapabilityList_Request_sequence, hf_index, ett_mms_GetCapabilityList_Request);
4422 
4423   return offset;
4424 }
4425 
4426 
4427 static const ber_sequence_t FileOpen_Request_sequence[] = {
4428   { &hf_mms_fileName        , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mms_FileName },
4429   { &hf_mms_initialPosition , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_mms_Unsigned32 },
4430   { NULL, 0, 0, 0, NULL }
4431 };
4432 
4433 static int
dissect_mms_FileOpen_Request(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)4434 dissect_mms_FileOpen_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4435   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4436                                    FileOpen_Request_sequence, hf_index, ett_mms_FileOpen_Request);
4437 
4438   return offset;
4439 }
4440 
4441 
4442 
4443 static int
dissect_mms_FileRead_Request(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)4444 dissect_mms_FileRead_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4445   offset = dissect_mms_Integer32(implicit_tag, tvb, offset, actx, tree, hf_index);
4446 
4447   return offset;
4448 }
4449 
4450 
4451 
4452 static int
dissect_mms_FileClose_Request(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)4453 dissect_mms_FileClose_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4454   offset = dissect_mms_Integer32(implicit_tag, tvb, offset, actx, tree, hf_index);
4455 
4456   return offset;
4457 }
4458 
4459 
4460 static const ber_sequence_t FileRename_Request_sequence[] = {
4461   { &hf_mms_currentFileName , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mms_FileName },
4462   { &hf_mms_newFileName     , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_mms_FileName },
4463   { NULL, 0, 0, 0, NULL }
4464 };
4465 
4466 static int
dissect_mms_FileRename_Request(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)4467 dissect_mms_FileRename_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4468   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4469                                    FileRename_Request_sequence, hf_index, ett_mms_FileRename_Request);
4470 
4471   return offset;
4472 }
4473 
4474 
4475 
4476 static int
dissect_mms_FileDelete_Request(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)4477 dissect_mms_FileDelete_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4478   offset = dissect_mms_FileName(implicit_tag, tvb, offset, actx, tree, hf_index);
4479 
4480   return offset;
4481 }
4482 
4483 
4484 static const ber_sequence_t FileDirectory_Request_sequence[] = {
4485   { &hf_mms_fileSpecification, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_FileName },
4486   { &hf_mms_fileDirectory_Request_continueAfter, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_FileName },
4487   { NULL, 0, 0, 0, NULL }
4488 };
4489 
4490 static int
dissect_mms_FileDirectory_Request(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)4491 dissect_mms_FileDirectory_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4492   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4493                                    FileDirectory_Request_sequence, hf_index, ett_mms_FileDirectory_Request);
4494 
4495   return offset;
4496 }
4497 
4498 
4499 static const value_string mms_ConfirmedServiceRequest_vals[] = {
4500   {   0, "status" },
4501   {   1, "getNameList" },
4502   {   2, "identify" },
4503   {   3, "rename" },
4504   {   4, "read" },
4505   {   5, "write" },
4506   {   6, "getVariableAccessAttributes" },
4507   {   7, "defineNamedVariable" },
4508   {   8, "defineScatteredAccess" },
4509   {   9, "getScatteredAccessAttributes" },
4510   {  10, "deleteVariableAccess" },
4511   {  11, "defineNamedVariableList" },
4512   {  12, "getNamedVariableListAttributes" },
4513   {  13, "deleteNamedVariableList" },
4514   {  14, "defineNamedType" },
4515   {  15, "getNamedTypeAttributes" },
4516   {  16, "deleteNamedType" },
4517   {  17, "input" },
4518   {  18, "output" },
4519   {  19, "takeControl" },
4520   {  20, "relinquishControl" },
4521   {  21, "defineSemaphore" },
4522   {  22, "deleteSemaphore" },
4523   {  23, "reportSemaphoreStatus" },
4524   {  24, "reportPoolSemaphoreStatus" },
4525   {  25, "reportSemaphoreEntryStatus" },
4526   {  26, "initiateDownloadSequence" },
4527   {  27, "downloadSegment" },
4528   {  28, "terminateDownloadSequence" },
4529   {  29, "initiateUploadSequence" },
4530   {  30, "uploadSegment" },
4531   {  31, "terminateUploadSequence" },
4532   {  32, "requestDomainDownload" },
4533   {  33, "requestDomainUpload" },
4534   {  34, "loadDomainContent" },
4535   {  35, "storeDomainContent" },
4536   {  36, "deleteDomain" },
4537   {  37, "getDomainAttributes" },
4538   {  38, "createProgramInvocation" },
4539   {  39, "deleteProgramInvocation" },
4540   {  40, "start" },
4541   {  41, "stop" },
4542   {  42, "resume" },
4543   {  43, "reset" },
4544   {  44, "kill" },
4545   {  45, "getProgramInvocationAttributes" },
4546   {  46, "obtainFile" },
4547   {  47, "defineEventCondition" },
4548   {  48, "deleteEventCondition" },
4549   {  49, "getEventConditionAttributes" },
4550   {  50, "reportEventConditionStatus" },
4551   {  51, "alterEventConditionMonitoring" },
4552   {  52, "triggerEvent" },
4553   {  53, "defineEventAction" },
4554   {  54, "deleteEventAction" },
4555   {  55, "getEventActionAttributes" },
4556   {  56, "reportEventActionStatus" },
4557   {  57, "defineEventEnrollment" },
4558   {  58, "deleteEventEnrollment" },
4559   {  59, "alterEventEnrollment" },
4560   {  60, "reportEventEnrollmentStatus" },
4561   {  61, "getEventEnrollmentAttributes" },
4562   {  62, "acknowledgeEventNotification" },
4563   {  63, "getAlarmSummary" },
4564   {  64, "getAlarmEnrollmentSummary" },
4565   {  65, "readJournal" },
4566   {  66, "writeJournal" },
4567   {  67, "initializeJournal" },
4568   {  68, "reportJournalStatus" },
4569   {  69, "createJournal" },
4570   {  70, "deleteJournal" },
4571   {  71, "getCapabilityList" },
4572   {  72, "fileOpen" },
4573   {  73, "fileRead" },
4574   {  74, "fileClose" },
4575   {  75, "fileRename" },
4576   {  76, "fileDelete" },
4577   {  77, "fileDirectory" },
4578   { 0, NULL }
4579 };
4580 
4581 static const ber_choice_t ConfirmedServiceRequest_choice[] = {
4582   {   0, &hf_mms_status          , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mms_Status_Request },
4583   {   1, &hf_mms_getNameList     , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_mms_GetNameList_Request },
4584   {   2, &hf_mms_identify        , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_mms_Identify_Request },
4585   {   3, &hf_mms_rename          , BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_mms_Rename_Request },
4586   {   4, &hf_mms_read            , BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_mms_Read_Request },
4587   {   5, &hf_mms_write           , BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_mms_Write_Request },
4588   {   6, &hf_mms_getVariableAccessAttributes, BER_CLASS_CON, 6, 0, dissect_mms_GetVariableAccessAttributes_Request },
4589   {   7, &hf_mms_defineNamedVariable, BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_mms_DefineNamedVariable_Request },
4590   {   8, &hf_mms_defineScatteredAccess, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_mms_DefineScatteredAccess_Request },
4591   {   9, &hf_mms_getScatteredAccessAttributes, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_mms_GetScatteredAccessAttributes_Request },
4592   {  10, &hf_mms_deleteVariableAccess, BER_CLASS_CON, 10, BER_FLAGS_IMPLTAG, dissect_mms_DeleteVariableAccess_Request },
4593   {  11, &hf_mms_defineNamedVariableList, BER_CLASS_CON, 11, BER_FLAGS_IMPLTAG, dissect_mms_DefineNamedVariableList_Request },
4594   {  12, &hf_mms_getNamedVariableListAttributes, BER_CLASS_CON, 12, BER_FLAGS_IMPLTAG, dissect_mms_GetNamedVariableListAttributes_Request },
4595   {  13, &hf_mms_deleteNamedVariableList, BER_CLASS_CON, 13, BER_FLAGS_IMPLTAG, dissect_mms_DeleteNamedVariableList_Request },
4596   {  14, &hf_mms_defineNamedType , BER_CLASS_CON, 14, BER_FLAGS_IMPLTAG, dissect_mms_DefineNamedType_Request },
4597   {  15, &hf_mms_getNamedTypeAttributes, BER_CLASS_CON, 15, BER_FLAGS_IMPLTAG, dissect_mms_GetNamedTypeAttributes_Request },
4598   {  16, &hf_mms_deleteNamedType , BER_CLASS_CON, 16, BER_FLAGS_IMPLTAG, dissect_mms_DeleteNamedType_Request },
4599   {  17, &hf_mms_input           , BER_CLASS_CON, 17, BER_FLAGS_IMPLTAG, dissect_mms_Input_Request },
4600   {  18, &hf_mms_output          , BER_CLASS_CON, 18, BER_FLAGS_IMPLTAG, dissect_mms_Output_Request },
4601   {  19, &hf_mms_takeControl     , BER_CLASS_CON, 19, BER_FLAGS_IMPLTAG, dissect_mms_TakeControl_Request },
4602   {  20, &hf_mms_relinquishControl, BER_CLASS_CON, 20, BER_FLAGS_IMPLTAG, dissect_mms_RelinquishControl_Request },
4603   {  21, &hf_mms_defineSemaphore , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_mms_DefineSemaphore_Request },
4604   {  22, &hf_mms_deleteSemaphore , BER_CLASS_CON, 22, BER_FLAGS_IMPLTAG, dissect_mms_DeleteSemaphore_Request },
4605   {  23, &hf_mms_reportSemaphoreStatus, BER_CLASS_CON, 23, BER_FLAGS_IMPLTAG, dissect_mms_ReportSemaphoreStatus_Request },
4606   {  24, &hf_mms_reportPoolSemaphoreStatus, BER_CLASS_CON, 24, BER_FLAGS_IMPLTAG, dissect_mms_ReportPoolSemaphoreStatus_Request },
4607   {  25, &hf_mms_reportSemaphoreEntryStatus, BER_CLASS_CON, 25, BER_FLAGS_IMPLTAG, dissect_mms_ReportSemaphoreEntryStatus_Request },
4608   {  26, &hf_mms_initiateDownloadSequence, BER_CLASS_CON, 26, BER_FLAGS_IMPLTAG, dissect_mms_InitiateDownloadSequence_Request },
4609   {  27, &hf_mms_downloadSegment , BER_CLASS_CON, 27, BER_FLAGS_IMPLTAG, dissect_mms_DownloadSegment_Request },
4610   {  28, &hf_mms_terminateDownloadSequence, BER_CLASS_CON, 28, BER_FLAGS_IMPLTAG, dissect_mms_TerminateDownloadSequence_Request },
4611   {  29, &hf_mms_initiateUploadSequence, BER_CLASS_CON, 29, BER_FLAGS_IMPLTAG, dissect_mms_InitiateUploadSequence_Request },
4612   {  30, &hf_mms_uploadSegment   , BER_CLASS_CON, 30, BER_FLAGS_IMPLTAG, dissect_mms_UploadSegment_Request },
4613   {  31, &hf_mms_terminateUploadSequence, BER_CLASS_CON, 31, BER_FLAGS_IMPLTAG, dissect_mms_TerminateUploadSequence_Request },
4614   {  32, &hf_mms_requestDomainDownload, BER_CLASS_CON, 32, BER_FLAGS_IMPLTAG, dissect_mms_RequestDomainDownload_Request },
4615   {  33, &hf_mms_requestDomainUpload, BER_CLASS_CON, 33, BER_FLAGS_IMPLTAG, dissect_mms_RequestDomainUpload_Request },
4616   {  34, &hf_mms_loadDomainContent, BER_CLASS_CON, 34, BER_FLAGS_IMPLTAG, dissect_mms_LoadDomainContent_Request },
4617   {  35, &hf_mms_storeDomainContent, BER_CLASS_CON, 35, BER_FLAGS_IMPLTAG, dissect_mms_StoreDomainContent_Request },
4618   {  36, &hf_mms_deleteDomain    , BER_CLASS_CON, 36, BER_FLAGS_IMPLTAG, dissect_mms_DeleteDomain_Request },
4619   {  37, &hf_mms_getDomainAttributes, BER_CLASS_CON, 37, BER_FLAGS_IMPLTAG, dissect_mms_GetDomainAttributes_Request },
4620   {  38, &hf_mms_createProgramInvocation, BER_CLASS_CON, 38, BER_FLAGS_IMPLTAG, dissect_mms_CreateProgramInvocation_Request },
4621   {  39, &hf_mms_deleteProgramInvocation, BER_CLASS_CON, 39, BER_FLAGS_IMPLTAG, dissect_mms_DeleteProgramInvocation_Request },
4622   {  40, &hf_mms_start           , BER_CLASS_CON, 40, BER_FLAGS_IMPLTAG, dissect_mms_Start_Request },
4623   {  41, &hf_mms_stop            , BER_CLASS_CON, 41, BER_FLAGS_IMPLTAG, dissect_mms_Stop_Request },
4624   {  42, &hf_mms_resume          , BER_CLASS_CON, 42, BER_FLAGS_IMPLTAG, dissect_mms_Resume_Request },
4625   {  43, &hf_mms_reset           , BER_CLASS_CON, 43, BER_FLAGS_IMPLTAG, dissect_mms_Reset_Request },
4626   {  44, &hf_mms_kill            , BER_CLASS_CON, 44, BER_FLAGS_IMPLTAG, dissect_mms_Kill_Request },
4627   {  45, &hf_mms_getProgramInvocationAttributes, BER_CLASS_CON, 45, BER_FLAGS_IMPLTAG, dissect_mms_GetProgramInvocationAttributes_Request },
4628   {  46, &hf_mms_obtainFile      , BER_CLASS_CON, 46, BER_FLAGS_IMPLTAG, dissect_mms_ObtainFile_Request },
4629   {  47, &hf_mms_defineEventCondition, BER_CLASS_CON, 47, BER_FLAGS_IMPLTAG, dissect_mms_DefineEventCondition_Request },
4630   {  48, &hf_mms_confirmedServiceRequest_deleteEventCondition, BER_CLASS_CON, 48, 0, dissect_mms_DeleteEventCondition_Request },
4631   {  49, &hf_mms_getEventConditionAttributes, BER_CLASS_CON, 49, 0, dissect_mms_GetEventConditionAttributes_Request },
4632   {  50, &hf_mms_reportEventConditionStatus, BER_CLASS_CON, 50, 0, dissect_mms_ReportEventConditionStatus_Request },
4633   {  51, &hf_mms_alterEventConditionMonitoring, BER_CLASS_CON, 51, BER_FLAGS_IMPLTAG, dissect_mms_AlterEventConditionMonitoring_Request },
4634   {  52, &hf_mms_triggerEvent    , BER_CLASS_CON, 52, BER_FLAGS_IMPLTAG, dissect_mms_TriggerEvent_Request },
4635   {  53, &hf_mms_defineEventAction, BER_CLASS_CON, 53, BER_FLAGS_IMPLTAG, dissect_mms_DefineEventAction_Request },
4636   {  54, &hf_mms_confirmedServiceRequest_deleteEventAction, BER_CLASS_CON, 54, 0, dissect_mms_DeleteEventAction_Request },
4637   {  55, &hf_mms_getEventActionAttributes, BER_CLASS_CON, 55, 0, dissect_mms_GetEventActionAttributes_Request },
4638   {  56, &hf_mms_reportEventActionStatus, BER_CLASS_CON, 56, 0, dissect_mms_ReportEventActionStatus_Request },
4639   {  57, &hf_mms_defineEventEnrollment, BER_CLASS_CON, 57, BER_FLAGS_IMPLTAG, dissect_mms_DefineEventEnrollment_Request },
4640   {  58, &hf_mms_confirmedServiceRequest_deleteEventEnrollment, BER_CLASS_CON, 58, 0, dissect_mms_DeleteEventEnrollment_Request },
4641   {  59, &hf_mms_alterEventEnrollment, BER_CLASS_CON, 59, BER_FLAGS_IMPLTAG, dissect_mms_AlterEventEnrollment_Request },
4642   {  60, &hf_mms_reportEventEnrollmentStatus, BER_CLASS_CON, 60, 0, dissect_mms_ReportEventEnrollmentStatus_Request },
4643   {  61, &hf_mms_getEventEnrollmentAttributes, BER_CLASS_CON, 61, BER_FLAGS_IMPLTAG, dissect_mms_GetEventEnrollmentAttributes_Request },
4644   {  62, &hf_mms_acknowledgeEventNotification, BER_CLASS_CON, 62, BER_FLAGS_IMPLTAG, dissect_mms_AcknowledgeEventNotification_Request },
4645   {  63, &hf_mms_getAlarmSummary , BER_CLASS_CON, 63, BER_FLAGS_IMPLTAG, dissect_mms_GetAlarmSummary_Request },
4646   {  64, &hf_mms_getAlarmEnrollmentSummary, BER_CLASS_CON, 64, BER_FLAGS_IMPLTAG, dissect_mms_GetAlarmEnrollmentSummary_Request },
4647   {  65, &hf_mms_readJournal     , BER_CLASS_CON, 65, BER_FLAGS_IMPLTAG, dissect_mms_ReadJournal_Request },
4648   {  66, &hf_mms_writeJournal    , BER_CLASS_CON, 66, BER_FLAGS_IMPLTAG, dissect_mms_WriteJournal_Request },
4649   {  67, &hf_mms_initializeJournal, BER_CLASS_CON, 67, BER_FLAGS_IMPLTAG, dissect_mms_InitializeJournal_Request },
4650   {  68, &hf_mms_reportJournalStatus, BER_CLASS_CON, 68, BER_FLAGS_IMPLTAG, dissect_mms_ReportJournalStatus_Request },
4651   {  69, &hf_mms_createJournal   , BER_CLASS_CON, 69, BER_FLAGS_IMPLTAG, dissect_mms_CreateJournal_Request },
4652   {  70, &hf_mms_deleteJournal   , BER_CLASS_CON, 70, BER_FLAGS_IMPLTAG, dissect_mms_DeleteJournal_Request },
4653   {  71, &hf_mms_getCapabilityList, BER_CLASS_CON, 71, BER_FLAGS_IMPLTAG, dissect_mms_GetCapabilityList_Request },
4654   {  72, &hf_mms_fileOpen        , BER_CLASS_CON, 72, BER_FLAGS_IMPLTAG, dissect_mms_FileOpen_Request },
4655   {  73, &hf_mms_fileRead        , BER_CLASS_CON, 73, BER_FLAGS_IMPLTAG, dissect_mms_FileRead_Request },
4656   {  74, &hf_mms_fileClose       , BER_CLASS_CON, 74, BER_FLAGS_IMPLTAG, dissect_mms_FileClose_Request },
4657   {  75, &hf_mms_fileRename      , BER_CLASS_CON, 75, BER_FLAGS_IMPLTAG, dissect_mms_FileRename_Request },
4658   {  76, &hf_mms_fileDelete      , BER_CLASS_CON, 76, BER_FLAGS_IMPLTAG, dissect_mms_FileDelete_Request },
4659   {  77, &hf_mms_fileDirectory   , BER_CLASS_CON, 77, BER_FLAGS_IMPLTAG, dissect_mms_FileDirectory_Request },
4660   { 0, NULL, 0, 0, 0, NULL }
4661 };
4662 
4663 static int
dissect_mms_ConfirmedServiceRequest(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)4664 dissect_mms_ConfirmedServiceRequest(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4665   offset = dissect_ber_choice(actx, tree, tvb, offset,
4666                                  ConfirmedServiceRequest_choice, hf_index, ett_mms_ConfirmedServiceRequest,
4667                                  NULL);
4668 
4669   return offset;
4670 }
4671 
4672 
4673 static const value_string mms_CS_Request_Detail_vals[] = {
4674   {   0, "foo" },
4675   { 0, NULL }
4676 };
4677 
4678 static const ber_choice_t CS_Request_Detail_choice[] = {
4679   {   0, &hf_mms_foo             , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_mms_INTEGER },
4680   { 0, NULL, 0, 0, 0, NULL }
4681 };
4682 
4683 static int
dissect_mms_CS_Request_Detail(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)4684 dissect_mms_CS_Request_Detail(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4685   offset = dissect_ber_choice(actx, tree, tvb, offset,
4686                                  CS_Request_Detail_choice, hf_index, ett_mms_CS_Request_Detail,
4687                                  NULL);
4688 
4689   return offset;
4690 }
4691 
4692 
4693 static const ber_sequence_t Confirmed_RequestPDU_sequence[] = {
4694   { &hf_mms_invokeID        , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_mms_Unsigned32 },
4695   { &hf_mms_listOfModifier  , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_mms_SEQUENCE_OF_Modifier },
4696   { &hf_mms_confirmedServiceRequest, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_mms_ConfirmedServiceRequest },
4697   { &hf_mms_cs_request_detail, BER_CLASS_CON, 79, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_mms_CS_Request_Detail },
4698   { NULL, 0, 0, 0, NULL }
4699 };
4700 
4701 static int
dissect_mms_Confirmed_RequestPDU(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)4702 dissect_mms_Confirmed_RequestPDU(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4703   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4704                                    Confirmed_RequestPDU_sequence, hf_index, ett_mms_Confirmed_RequestPDU);
4705 
4706   return offset;
4707 }
4708 
4709 
4710 static const value_string mms_T_vmdLogicalStatus_vals[] = {
4711   {   0, "state-changes-allowed" },
4712   {   1, "no-state-changes-allowed" },
4713   {   2, "limited-services-allowed" },
4714   {   3, "support-services-allowed" },
4715   { 0, NULL }
4716 };
4717 
4718 
4719 static int
dissect_mms_T_vmdLogicalStatus(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)4720 dissect_mms_T_vmdLogicalStatus(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4721   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
4722                                                 NULL);
4723 
4724   return offset;
4725 }
4726 
4727 
4728 static const value_string mms_T_vmdPhysicalStatus_vals[] = {
4729   {   0, "operational" },
4730   {   1, "partially-operational" },
4731   {   2, "inoperable" },
4732   {   3, "needs-commissioning" },
4733   { 0, NULL }
4734 };
4735 
4736 
4737 static int
dissect_mms_T_vmdPhysicalStatus(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)4738 dissect_mms_T_vmdPhysicalStatus(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4739   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
4740                                                 NULL);
4741 
4742   return offset;
4743 }
4744 
4745 
4746 
4747 static int
dissect_mms_BIT_STRING_SIZE_0_128(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)4748 dissect_mms_BIT_STRING_SIZE_0_128(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4749   offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
4750                                     NULL, 0, hf_index, -1,
4751                                     NULL);
4752 
4753   return offset;
4754 }
4755 
4756 
4757 static const ber_sequence_t Status_Response_sequence[] = {
4758   { &hf_mms_vmdLogicalStatus, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mms_T_vmdLogicalStatus },
4759   { &hf_mms_vmdPhysicalStatus, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_mms_T_vmdPhysicalStatus },
4760   { &hf_mms_localDetail     , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_BIT_STRING_SIZE_0_128 },
4761   { NULL, 0, 0, 0, NULL }
4762 };
4763 
4764 static int
dissect_mms_Status_Response(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)4765 dissect_mms_Status_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4766   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4767                                    Status_Response_sequence, hf_index, ett_mms_Status_Response);
4768 
4769   return offset;
4770 }
4771 
4772 
4773 static const ber_sequence_t GetNameList_Response_sequence[] = {
4774   { &hf_mms_listOfIdentifier, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mms_SEQUENCE_OF_Identifier },
4775   { &hf_mms_moreFollows     , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_BOOLEAN },
4776   { NULL, 0, 0, 0, NULL }
4777 };
4778 
4779 static int
dissect_mms_GetNameList_Response(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)4780 dissect_mms_GetNameList_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4781   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4782                                    GetNameList_Response_sequence, hf_index, ett_mms_GetNameList_Response);
4783 
4784   return offset;
4785 }
4786 
4787 
4788 static const ber_sequence_t T_listOfAbstractSyntaxes_sequence_of[1] = {
4789   { &hf_mms_listOfAbstractSyntaxes_item, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_mms_OBJECT_IDENTIFIER },
4790 };
4791 
4792 static int
dissect_mms_T_listOfAbstractSyntaxes(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)4793 dissect_mms_T_listOfAbstractSyntaxes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4794   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
4795                                       T_listOfAbstractSyntaxes_sequence_of, hf_index, ett_mms_T_listOfAbstractSyntaxes);
4796 
4797   return offset;
4798 }
4799 
4800 
4801 static const ber_sequence_t Identify_Response_sequence[] = {
4802   { &hf_mms_vendorName      , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mms_VisibleString },
4803   { &hf_mms_modelName       , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_mms_VisibleString },
4804   { &hf_mms_revision        , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_mms_VisibleString },
4805   { &hf_mms_listOfAbstractSyntaxes, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_T_listOfAbstractSyntaxes },
4806   { NULL, 0, 0, 0, NULL }
4807 };
4808 
4809 static int
dissect_mms_Identify_Response(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)4810 dissect_mms_Identify_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4811   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4812                                    Identify_Response_sequence, hf_index, ett_mms_Identify_Response);
4813 
4814   return offset;
4815 }
4816 
4817 
4818 
4819 static int
dissect_mms_Rename_Response(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)4820 dissect_mms_Rename_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4821   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
4822 
4823   return offset;
4824 }
4825 
4826 
4827 static const value_string mms_DataAccessError_vals[] = {
4828   {   0, "object-invalidated" },
4829   {   1, "hardware-fault" },
4830   {   2, "temporarily-unavailable" },
4831   {   3, "object-access-denied" },
4832   {   4, "object-undefined" },
4833   {   5, "invalid-address" },
4834   {   6, "type-unsupported" },
4835   {   7, "type-inconsistent" },
4836   {   8, "object-attribute-inconsistent" },
4837   {   9, "object-access-unsupported" },
4838   {  10, "object-non-existent" },
4839   {  11, "object-value-invalid" },
4840   { 0, NULL }
4841 };
4842 
4843 
4844 static int
dissect_mms_DataAccessError(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)4845 dissect_mms_DataAccessError(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4846   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
4847                                                 NULL);
4848 
4849   return offset;
4850 }
4851 
4852 
4853 static const value_string mms_AccessResult_vals[] = {
4854   {   0, "failure" },
4855   {   1, "success" },
4856   { 0, NULL }
4857 };
4858 
4859 static const ber_choice_t AccessResult_choice[] = {
4860   {   0, &hf_mms_failure         , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mms_DataAccessError },
4861   {   1, &hf_mms_success_01      , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_mms_Data },
4862   { 0, NULL, 0, 0, 0, NULL }
4863 };
4864 
4865 static int
dissect_mms_AccessResult(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)4866 dissect_mms_AccessResult(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4867   offset = dissect_ber_choice(actx, tree, tvb, offset,
4868                                  AccessResult_choice, hf_index, ett_mms_AccessResult,
4869                                  NULL);
4870 
4871   return offset;
4872 }
4873 
4874 
4875 static const ber_sequence_t SEQUENCE_OF_AccessResult_sequence_of[1] = {
4876   { &hf_mms_listOfAccessResult_item, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_mms_AccessResult },
4877 };
4878 
4879 static int
dissect_mms_SEQUENCE_OF_AccessResult(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)4880 dissect_mms_SEQUENCE_OF_AccessResult(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4881   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
4882                                       SEQUENCE_OF_AccessResult_sequence_of, hf_index, ett_mms_SEQUENCE_OF_AccessResult);
4883 
4884   return offset;
4885 }
4886 
4887 
4888 static const ber_sequence_t Read_Response_sequence[] = {
4889   { &hf_mms_variableAccessSpecificatn, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_mms_VariableAccessSpecification },
4890   { &hf_mms_listOfAccessResult, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_mms_SEQUENCE_OF_AccessResult },
4891   { NULL, 0, 0, 0, NULL }
4892 };
4893 
4894 static int
dissect_mms_Read_Response(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)4895 dissect_mms_Read_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4896   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4897                                    Read_Response_sequence, hf_index, ett_mms_Read_Response);
4898 
4899   return offset;
4900 }
4901 
4902 
4903 static const value_string mms_Write_Response_item_vals[] = {
4904   {   0, "failure" },
4905   {   1, "success" },
4906   { 0, NULL }
4907 };
4908 
4909 static const ber_choice_t Write_Response_item_choice[] = {
4910   {   0, &hf_mms_failure         , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mms_DataAccessError },
4911   {   1, &hf_mms_success         , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_mms_NULL },
4912   { 0, NULL, 0, 0, 0, NULL }
4913 };
4914 
4915 static int
dissect_mms_Write_Response_item(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)4916 dissect_mms_Write_Response_item(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4917   offset = dissect_ber_choice(actx, tree, tvb, offset,
4918                                  Write_Response_item_choice, hf_index, ett_mms_Write_Response_item,
4919                                  NULL);
4920 
4921   return offset;
4922 }
4923 
4924 
4925 static const ber_sequence_t Write_Response_sequence_of[1] = {
4926   { &hf_mms_Write_Response_item, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_mms_Write_Response_item },
4927 };
4928 
4929 static int
dissect_mms_Write_Response(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)4930 dissect_mms_Write_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4931   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
4932                                       Write_Response_sequence_of, hf_index, ett_mms_Write_Response);
4933 
4934   return offset;
4935 }
4936 
4937 
4938 static const ber_sequence_t GetVariableAccessAttributes_Response_sequence[] = {
4939   { &hf_mms_mmsDeletable    , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mms_BOOLEAN },
4940   { &hf_mms_address         , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_mms_Address },
4941   { &hf_mms_typeSpecification, BER_CLASS_CON, 2, BER_FLAGS_NOTCHKTAG, dissect_mms_TypeSpecification },
4942   { NULL, 0, 0, 0, NULL }
4943 };
4944 
4945 static int
dissect_mms_GetVariableAccessAttributes_Response(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)4946 dissect_mms_GetVariableAccessAttributes_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4947   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4948                                    GetVariableAccessAttributes_Response_sequence, hf_index, ett_mms_GetVariableAccessAttributes_Response);
4949 
4950   return offset;
4951 }
4952 
4953 
4954 
4955 static int
dissect_mms_DefineNamedVariable_Response(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)4956 dissect_mms_DefineNamedVariable_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4957   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
4958 
4959   return offset;
4960 }
4961 
4962 
4963 
4964 static int
dissect_mms_DefineScatteredAccess_Response(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)4965 dissect_mms_DefineScatteredAccess_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4966   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
4967 
4968   return offset;
4969 }
4970 
4971 
4972 static const ber_sequence_t GetScatteredAccessAttributes_Response_sequence[] = {
4973   { &hf_mms_mmsDeletable    , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mms_BOOLEAN },
4974   { &hf_mms_scatteredAccessDescription, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_mms_ScatteredAccessDescription },
4975   { NULL, 0, 0, 0, NULL }
4976 };
4977 
4978 static int
dissect_mms_GetScatteredAccessAttributes_Response(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)4979 dissect_mms_GetScatteredAccessAttributes_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4980   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4981                                    GetScatteredAccessAttributes_Response_sequence, hf_index, ett_mms_GetScatteredAccessAttributes_Response);
4982 
4983   return offset;
4984 }
4985 
4986 
4987 static const ber_sequence_t DeleteVariableAccess_Response_sequence[] = {
4988   { &hf_mms_numberMatched   , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mms_Unsigned32 },
4989   { &hf_mms_numberDeleted   , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_mms_Unsigned32 },
4990   { NULL, 0, 0, 0, NULL }
4991 };
4992 
4993 static int
dissect_mms_DeleteVariableAccess_Response(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)4994 dissect_mms_DeleteVariableAccess_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4995   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4996                                    DeleteVariableAccess_Response_sequence, hf_index, ett_mms_DeleteVariableAccess_Response);
4997 
4998   return offset;
4999 }
5000 
5001 
5002 
5003 static int
dissect_mms_DefineNamedVariableList_Response(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)5004 dissect_mms_DefineNamedVariableList_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5005   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
5006 
5007   return offset;
5008 }
5009 
5010 
5011 static const ber_sequence_t T_listOfVariable_item_01_sequence[] = {
5012   { &hf_mms_variableSpecification, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_mms_VariableSpecification },
5013   { &hf_mms_alternateAccess , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_AlternateAccess },
5014   { NULL, 0, 0, 0, NULL }
5015 };
5016 
5017 static int
dissect_mms_T_listOfVariable_item_01(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)5018 dissect_mms_T_listOfVariable_item_01(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5019   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5020                                    T_listOfVariable_item_01_sequence, hf_index, ett_mms_T_listOfVariable_item_01);
5021 
5022   return offset;
5023 }
5024 
5025 
5026 static const ber_sequence_t T_listOfVariable_01_sequence_of[1] = {
5027   { &hf_mms_listOfVariable_item_01, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_mms_T_listOfVariable_item_01 },
5028 };
5029 
5030 static int
dissect_mms_T_listOfVariable_01(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)5031 dissect_mms_T_listOfVariable_01(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5032   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
5033                                       T_listOfVariable_01_sequence_of, hf_index, ett_mms_T_listOfVariable_01);
5034 
5035   return offset;
5036 }
5037 
5038 
5039 static const ber_sequence_t GetNamedVariableListAttributes_Response_sequence[] = {
5040   { &hf_mms_mmsDeletable    , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mms_BOOLEAN },
5041   { &hf_mms_listOfVariable_01, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_mms_T_listOfVariable_01 },
5042   { NULL, 0, 0, 0, NULL }
5043 };
5044 
5045 static int
dissect_mms_GetNamedVariableListAttributes_Response(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)5046 dissect_mms_GetNamedVariableListAttributes_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5047   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5048                                    GetNamedVariableListAttributes_Response_sequence, hf_index, ett_mms_GetNamedVariableListAttributes_Response);
5049 
5050   return offset;
5051 }
5052 
5053 
5054 static const ber_sequence_t DeleteNamedVariableList_Response_sequence[] = {
5055   { &hf_mms_numberMatched   , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mms_Unsigned32 },
5056   { &hf_mms_numberDeleted   , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_mms_Unsigned32 },
5057   { NULL, 0, 0, 0, NULL }
5058 };
5059 
5060 static int
dissect_mms_DeleteNamedVariableList_Response(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)5061 dissect_mms_DeleteNamedVariableList_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5062   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5063                                    DeleteNamedVariableList_Response_sequence, hf_index, ett_mms_DeleteNamedVariableList_Response);
5064 
5065   return offset;
5066 }
5067 
5068 
5069 
5070 static int
dissect_mms_DefineNamedType_Response(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)5071 dissect_mms_DefineNamedType_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5072   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
5073 
5074   return offset;
5075 }
5076 
5077 
5078 static const ber_sequence_t GetNamedTypeAttributes_Response_sequence[] = {
5079   { &hf_mms_mmsDeletable    , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mms_BOOLEAN },
5080   { &hf_mms_typeSpecification, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_mms_TypeSpecification },
5081   { NULL, 0, 0, 0, NULL }
5082 };
5083 
5084 static int
dissect_mms_GetNamedTypeAttributes_Response(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)5085 dissect_mms_GetNamedTypeAttributes_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5086   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5087                                    GetNamedTypeAttributes_Response_sequence, hf_index, ett_mms_GetNamedTypeAttributes_Response);
5088 
5089   return offset;
5090 }
5091 
5092 
5093 static const ber_sequence_t DeleteNamedType_Response_sequence[] = {
5094   { &hf_mms_numberMatched   , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mms_Unsigned32 },
5095   { &hf_mms_numberDeleted   , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_mms_Unsigned32 },
5096   { NULL, 0, 0, 0, NULL }
5097 };
5098 
5099 static int
dissect_mms_DeleteNamedType_Response(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)5100 dissect_mms_DeleteNamedType_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5101   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5102                                    DeleteNamedType_Response_sequence, hf_index, ett_mms_DeleteNamedType_Response);
5103 
5104   return offset;
5105 }
5106 
5107 
5108 
5109 static int
dissect_mms_Input_Response(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)5110 dissect_mms_Input_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5111   offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_VisibleString,
5112                                             actx, tree, tvb, offset, hf_index,
5113                                             NULL);
5114 
5115   return offset;
5116 }
5117 
5118 
5119 
5120 static int
dissect_mms_Output_Response(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)5121 dissect_mms_Output_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5122   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
5123 
5124   return offset;
5125 }
5126 
5127 
5128 static const value_string mms_TakeControl_Response_vals[] = {
5129   {   0, "noResult" },
5130   {   1, "namedToken" },
5131   { 0, NULL }
5132 };
5133 
5134 static const ber_choice_t TakeControl_Response_choice[] = {
5135   {   0, &hf_mms_noResult        , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mms_NULL },
5136   {   1, &hf_mms_namedToken      , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_mms_Identifier },
5137   { 0, NULL, 0, 0, 0, NULL }
5138 };
5139 
5140 static int
dissect_mms_TakeControl_Response(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)5141 dissect_mms_TakeControl_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5142   offset = dissect_ber_choice(actx, tree, tvb, offset,
5143                                  TakeControl_Response_choice, hf_index, ett_mms_TakeControl_Response,
5144                                  NULL);
5145 
5146   return offset;
5147 }
5148 
5149 
5150 
5151 static int
dissect_mms_RelinquishControl_Response(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)5152 dissect_mms_RelinquishControl_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5153   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
5154 
5155   return offset;
5156 }
5157 
5158 
5159 
5160 static int
dissect_mms_DefineSemaphore_Response(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)5161 dissect_mms_DefineSemaphore_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5162   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
5163 
5164   return offset;
5165 }
5166 
5167 
5168 
5169 static int
dissect_mms_DeleteSemaphore_Response(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)5170 dissect_mms_DeleteSemaphore_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5171   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
5172 
5173   return offset;
5174 }
5175 
5176 
5177 static const value_string mms_T_class_vals[] = {
5178   {   0, "token" },
5179   {   1, "pool" },
5180   { 0, NULL }
5181 };
5182 
5183 
5184 static int
dissect_mms_T_class(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)5185 dissect_mms_T_class(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5186   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
5187                                                 NULL);
5188 
5189   return offset;
5190 }
5191 
5192 
5193 static const ber_sequence_t ReportSemaphoreStatus_Response_sequence[] = {
5194   { &hf_mms_mmsDeletable    , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mms_BOOLEAN },
5195   { &hf_mms_class           , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_mms_T_class },
5196   { &hf_mms_numberOfTokens  , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_mms_Unsigned16 },
5197   { &hf_mms_numberOfOwnedTokens, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_mms_Unsigned16 },
5198   { &hf_mms_numberOfHungTokens, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_mms_Unsigned16 },
5199   { NULL, 0, 0, 0, NULL }
5200 };
5201 
5202 static int
dissect_mms_ReportSemaphoreStatus_Response(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)5203 dissect_mms_ReportSemaphoreStatus_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5204   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5205                                    ReportSemaphoreStatus_Response_sequence, hf_index, ett_mms_ReportSemaphoreStatus_Response);
5206 
5207   return offset;
5208 }
5209 
5210 
5211 static const value_string mms_T_listOfNamedTokens_item_vals[] = {
5212   {   0, "freeNamedToken" },
5213   {   1, "ownedNamedToken" },
5214   {   2, "hungNamedToken" },
5215   { 0, NULL }
5216 };
5217 
5218 static const ber_choice_t T_listOfNamedTokens_item_choice[] = {
5219   {   0, &hf_mms_freeNamedToken  , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mms_Identifier },
5220   {   1, &hf_mms_ownedNamedToken , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_mms_Identifier },
5221   {   2, &hf_mms_hungNamedToken  , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_mms_Identifier },
5222   { 0, NULL, 0, 0, 0, NULL }
5223 };
5224 
5225 static int
dissect_mms_T_listOfNamedTokens_item(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)5226 dissect_mms_T_listOfNamedTokens_item(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5227   offset = dissect_ber_choice(actx, tree, tvb, offset,
5228                                  T_listOfNamedTokens_item_choice, hf_index, ett_mms_T_listOfNamedTokens_item,
5229                                  NULL);
5230 
5231   return offset;
5232 }
5233 
5234 
5235 static const ber_sequence_t T_listOfNamedTokens_sequence_of[1] = {
5236   { &hf_mms_listOfNamedTokens_item, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_mms_T_listOfNamedTokens_item },
5237 };
5238 
5239 static int
dissect_mms_T_listOfNamedTokens(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)5240 dissect_mms_T_listOfNamedTokens(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5241   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
5242                                       T_listOfNamedTokens_sequence_of, hf_index, ett_mms_T_listOfNamedTokens);
5243 
5244   return offset;
5245 }
5246 
5247 
5248 static const ber_sequence_t ReportPoolSemaphoreStatus_Response_sequence[] = {
5249   { &hf_mms_listOfNamedTokens, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mms_T_listOfNamedTokens },
5250   { &hf_mms_moreFollows     , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_BOOLEAN },
5251   { NULL, 0, 0, 0, NULL }
5252 };
5253 
5254 static int
dissect_mms_ReportPoolSemaphoreStatus_Response(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)5255 dissect_mms_ReportPoolSemaphoreStatus_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5256   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5257                                    ReportPoolSemaphoreStatus_Response_sequence, hf_index, ett_mms_ReportPoolSemaphoreStatus_Response);
5258 
5259   return offset;
5260 }
5261 
5262 
5263 static const value_string mms_T_entryClass_vals[] = {
5264   {   0, "simple" },
5265   {   1, "modifier" },
5266   { 0, NULL }
5267 };
5268 
5269 
5270 static int
dissect_mms_T_entryClass(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)5271 dissect_mms_T_entryClass(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5272   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
5273                                                 NULL);
5274 
5275   return offset;
5276 }
5277 
5278 
5279 static const ber_sequence_t SemaphoreEntry_sequence[] = {
5280   { &hf_mms_entryId         , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mms_OCTET_STRING },
5281   { &hf_mms_entryClass      , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_mms_T_entryClass },
5282   { &hf_mms_applicationReference, BER_CLASS_CON, 2, 0, dissect_mms_ApplicationReference },
5283   { &hf_mms_namedToken      , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_Identifier },
5284   { &hf_mms_priority        , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_Priority },
5285   { &hf_mms_remainingTimeOut, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_Unsigned32 },
5286   { &hf_mms_abortOnTimeOut  , BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_BOOLEAN },
5287   { &hf_mms_relinquishIfConnectionLost, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_BOOLEAN },
5288   { NULL, 0, 0, 0, NULL }
5289 };
5290 
5291 static int
dissect_mms_SemaphoreEntry(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)5292 dissect_mms_SemaphoreEntry(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5293   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5294                                    SemaphoreEntry_sequence, hf_index, ett_mms_SemaphoreEntry);
5295 
5296   return offset;
5297 }
5298 
5299 
5300 static const ber_sequence_t SEQUENCE_OF_SemaphoreEntry_sequence_of[1] = {
5301   { &hf_mms_listOfSemaphoreEntry_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_mms_SemaphoreEntry },
5302 };
5303 
5304 static int
dissect_mms_SEQUENCE_OF_SemaphoreEntry(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)5305 dissect_mms_SEQUENCE_OF_SemaphoreEntry(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5306   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
5307                                       SEQUENCE_OF_SemaphoreEntry_sequence_of, hf_index, ett_mms_SEQUENCE_OF_SemaphoreEntry);
5308 
5309   return offset;
5310 }
5311 
5312 
5313 static const ber_sequence_t ReportSemaphoreEntryStatus_Response_sequence[] = {
5314   { &hf_mms_listOfSemaphoreEntry, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mms_SEQUENCE_OF_SemaphoreEntry },
5315   { &hf_mms_moreFollows     , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_BOOLEAN },
5316   { NULL, 0, 0, 0, NULL }
5317 };
5318 
5319 static int
dissect_mms_ReportSemaphoreEntryStatus_Response(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)5320 dissect_mms_ReportSemaphoreEntryStatus_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5321   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5322                                    ReportSemaphoreEntryStatus_Response_sequence, hf_index, ett_mms_ReportSemaphoreEntryStatus_Response);
5323 
5324   return offset;
5325 }
5326 
5327 
5328 
5329 static int
dissect_mms_InitiateDownloadSequence_Response(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)5330 dissect_mms_InitiateDownloadSequence_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5331   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
5332 
5333   return offset;
5334 }
5335 
5336 
5337 static const value_string mms_T_loadData_vals[] = {
5338   {   0, "non-coded" },
5339   {   1, "coded" },
5340   { 0, NULL }
5341 };
5342 
5343 static const ber_choice_t T_loadData_choice[] = {
5344   {   0, &hf_mms_non_coded       , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mms_OCTET_STRING },
5345   {   1, &hf_mms_coded           , BER_CLASS_UNI, 8, BER_FLAGS_NOOWNTAG, dissect_acse_EXTERNALt },
5346   { 0, NULL, 0, 0, 0, NULL }
5347 };
5348 
5349 static int
dissect_mms_T_loadData(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)5350 dissect_mms_T_loadData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5351   offset = dissect_ber_choice(actx, tree, tvb, offset,
5352                                  T_loadData_choice, hf_index, ett_mms_T_loadData,
5353                                  NULL);
5354 
5355   return offset;
5356 }
5357 
5358 
5359 static const ber_sequence_t DownloadSegment_Response_sequence[] = {
5360   { &hf_mms_loadData        , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_mms_T_loadData },
5361   { &hf_mms_moreFollows     , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_BOOLEAN },
5362   { NULL, 0, 0, 0, NULL }
5363 };
5364 
5365 static int
dissect_mms_DownloadSegment_Response(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)5366 dissect_mms_DownloadSegment_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5367   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5368                                    DownloadSegment_Response_sequence, hf_index, ett_mms_DownloadSegment_Response);
5369 
5370   return offset;
5371 }
5372 
5373 
5374 
5375 static int
dissect_mms_TerminateDownloadSequence_Response(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)5376 dissect_mms_TerminateDownloadSequence_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5377   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
5378 
5379   return offset;
5380 }
5381 
5382 
5383 static const ber_sequence_t T_listOfCapabilities_02_sequence_of[1] = {
5384   { &hf_mms_listOfCapabilities_item, BER_CLASS_UNI, BER_UNI_TAG_VisibleString, BER_FLAGS_NOOWNTAG, dissect_mms_VisibleString },
5385 };
5386 
5387 static int
dissect_mms_T_listOfCapabilities_02(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)5388 dissect_mms_T_listOfCapabilities_02(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5389   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
5390                                       T_listOfCapabilities_02_sequence_of, hf_index, ett_mms_T_listOfCapabilities_02);
5391 
5392   return offset;
5393 }
5394 
5395 
5396 static const ber_sequence_t InitiateUploadSequence_Response_sequence[] = {
5397   { &hf_mms_ulsmID          , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mms_Integer32 },
5398   { &hf_mms_listOfCapabilities_02, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_mms_T_listOfCapabilities_02 },
5399   { NULL, 0, 0, 0, NULL }
5400 };
5401 
5402 static int
dissect_mms_InitiateUploadSequence_Response(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)5403 dissect_mms_InitiateUploadSequence_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5404   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5405                                    InitiateUploadSequence_Response_sequence, hf_index, ett_mms_InitiateUploadSequence_Response);
5406 
5407   return offset;
5408 }
5409 
5410 
5411 static const value_string mms_T_loadData_01_vals[] = {
5412   {   0, "non-coded" },
5413   {   1, "coded" },
5414   { 0, NULL }
5415 };
5416 
5417 static const ber_choice_t T_loadData_01_choice[] = {
5418   {   0, &hf_mms_non_coded       , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mms_OCTET_STRING },
5419   {   1, &hf_mms_coded           , BER_CLASS_UNI, 8, BER_FLAGS_NOOWNTAG, dissect_acse_EXTERNALt },
5420   { 0, NULL, 0, 0, 0, NULL }
5421 };
5422 
5423 static int
dissect_mms_T_loadData_01(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)5424 dissect_mms_T_loadData_01(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5425   offset = dissect_ber_choice(actx, tree, tvb, offset,
5426                                  T_loadData_01_choice, hf_index, ett_mms_T_loadData_01,
5427                                  NULL);
5428 
5429   return offset;
5430 }
5431 
5432 
5433 static const ber_sequence_t UploadSegment_Response_sequence[] = {
5434   { &hf_mms_loadData_01     , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_mms_T_loadData_01 },
5435   { &hf_mms_moreFollows     , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_BOOLEAN },
5436   { NULL, 0, 0, 0, NULL }
5437 };
5438 
5439 static int
dissect_mms_UploadSegment_Response(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)5440 dissect_mms_UploadSegment_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5441   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5442                                    UploadSegment_Response_sequence, hf_index, ett_mms_UploadSegment_Response);
5443 
5444   return offset;
5445 }
5446 
5447 
5448 
5449 static int
dissect_mms_TerminateUploadSequence_Response(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)5450 dissect_mms_TerminateUploadSequence_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5451   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
5452 
5453   return offset;
5454 }
5455 
5456 
5457 
5458 static int
dissect_mms_RequestDomainDownload_Response(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)5459 dissect_mms_RequestDomainDownload_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5460   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
5461 
5462   return offset;
5463 }
5464 
5465 
5466 
5467 static int
dissect_mms_RequestDomainUpload_Response(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)5468 dissect_mms_RequestDomainUpload_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5469   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
5470 
5471   return offset;
5472 }
5473 
5474 
5475 
5476 static int
dissect_mms_LoadDomainContent_Response(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)5477 dissect_mms_LoadDomainContent_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5478   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
5479 
5480   return offset;
5481 }
5482 
5483 
5484 
5485 static int
dissect_mms_StoreDomainContent_Response(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)5486 dissect_mms_StoreDomainContent_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5487   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
5488 
5489   return offset;
5490 }
5491 
5492 
5493 
5494 static int
dissect_mms_DeleteDomain_Response(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)5495 dissect_mms_DeleteDomain_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5496   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
5497 
5498   return offset;
5499 }
5500 
5501 
5502 static const ber_sequence_t T_listOfCapabilities_05_sequence_of[1] = {
5503   { &hf_mms_listOfCapabilities_item, BER_CLASS_UNI, BER_UNI_TAG_VisibleString, BER_FLAGS_NOOWNTAG, dissect_mms_VisibleString },
5504 };
5505 
5506 static int
dissect_mms_T_listOfCapabilities_05(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)5507 dissect_mms_T_listOfCapabilities_05(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5508   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
5509                                       T_listOfCapabilities_05_sequence_of, hf_index, ett_mms_T_listOfCapabilities_05);
5510 
5511   return offset;
5512 }
5513 
5514 
5515 static const value_string mms_DomainState_vals[] = {
5516   {   0, "non-existent" },
5517   {   1, "loading" },
5518   {   2, "ready" },
5519   {   3, "in-use" },
5520   {   4, "complete" },
5521   {   5, "incomplete" },
5522   {   7, "d1" },
5523   {   8, "d2" },
5524   {   9, "d3" },
5525   {  10, "d4" },
5526   {  11, "d5" },
5527   {  12, "d6" },
5528   {  13, "d7" },
5529   {  14, "d8" },
5530   {  15, "d9" },
5531   { 0, NULL }
5532 };
5533 
5534 
5535 static int
dissect_mms_DomainState(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)5536 dissect_mms_DomainState(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5537   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
5538                                                 NULL);
5539 
5540   return offset;
5541 }
5542 
5543 
5544 
5545 static int
dissect_mms_Integer8(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)5546 dissect_mms_Integer8(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5547   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
5548                                                 NULL);
5549 
5550   return offset;
5551 }
5552 
5553 
5554 static const ber_sequence_t GetDomainAttributes_Response_sequence[] = {
5555   { &hf_mms_listOfCapabilities_05, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mms_T_listOfCapabilities_05 },
5556   { &hf_mms_getDomainAttributes_Response_state, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_mms_DomainState },
5557   { &hf_mms_mmsDeletable    , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_mms_BOOLEAN },
5558   { &hf_mms_sharable        , BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_mms_BOOLEAN },
5559   { &hf_mms_listOfProgramInvocations, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_mms_SEQUENCE_OF_Identifier },
5560   { &hf_mms_uploadInProgress, BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_mms_Integer8 },
5561   { NULL, 0, 0, 0, NULL }
5562 };
5563 
5564 static int
dissect_mms_GetDomainAttributes_Response(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)5565 dissect_mms_GetDomainAttributes_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5566   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5567                                    GetDomainAttributes_Response_sequence, hf_index, ett_mms_GetDomainAttributes_Response);
5568 
5569   return offset;
5570 }
5571 
5572 
5573 
5574 static int
dissect_mms_CreateProgramInvocation_Response(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)5575 dissect_mms_CreateProgramInvocation_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5576   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
5577 
5578   return offset;
5579 }
5580 
5581 
5582 
5583 static int
dissect_mms_DeleteProgramInvocation_Response(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)5584 dissect_mms_DeleteProgramInvocation_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5585   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
5586 
5587   return offset;
5588 }
5589 
5590 
5591 
5592 static int
dissect_mms_Start_Response(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)5593 dissect_mms_Start_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5594   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
5595 
5596   return offset;
5597 }
5598 
5599 
5600 
5601 static int
dissect_mms_Stop_Response(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)5602 dissect_mms_Stop_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5603   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
5604 
5605   return offset;
5606 }
5607 
5608 
5609 
5610 static int
dissect_mms_Resume_Response(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)5611 dissect_mms_Resume_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5612   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
5613 
5614   return offset;
5615 }
5616 
5617 
5618 
5619 static int
dissect_mms_Reset_Response(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)5620 dissect_mms_Reset_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5621   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
5622 
5623   return offset;
5624 }
5625 
5626 
5627 
5628 static int
dissect_mms_Kill_Response(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)5629 dissect_mms_Kill_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5630   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
5631 
5632   return offset;
5633 }
5634 
5635 
5636 static const value_string mms_T_executionArgument_02_vals[] = {
5637   {   0, "simpleString" },
5638   {   1, "encodedString" },
5639   { 0, NULL }
5640 };
5641 
5642 static const ber_choice_t T_executionArgument_02_choice[] = {
5643   {   0, &hf_mms_simpleString    , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_mms_VisibleString },
5644   {   1, &hf_mms_encodedString   , BER_CLASS_UNI, 8, BER_FLAGS_NOOWNTAG, dissect_acse_EXTERNALt },
5645   { 0, NULL, 0, 0, 0, NULL }
5646 };
5647 
5648 static int
dissect_mms_T_executionArgument_02(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)5649 dissect_mms_T_executionArgument_02(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5650   offset = dissect_ber_choice(actx, tree, tvb, offset,
5651                                  T_executionArgument_02_choice, hf_index, ett_mms_T_executionArgument_02,
5652                                  NULL);
5653 
5654   return offset;
5655 }
5656 
5657 
5658 static const ber_sequence_t GetProgramInvocationAttributes_Response_sequence[] = {
5659   { &hf_mms_getProgramInvocationAttributes_Response_state, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mms_ProgramInvocationState },
5660   { &hf_mms_listOfDomainNames, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_mms_SEQUENCE_OF_Identifier },
5661   { &hf_mms_mmsDeletable    , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_mms_BOOLEAN },
5662   { &hf_mms_reusable        , BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_mms_BOOLEAN },
5663   { &hf_mms_monitor         , BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_mms_BOOLEAN },
5664   { &hf_mms_startArgument   , BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_mms_VisibleString },
5665   { &hf_mms_executionArgument_02, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_mms_T_executionArgument_02 },
5666   { NULL, 0, 0, 0, NULL }
5667 };
5668 
5669 static int
dissect_mms_GetProgramInvocationAttributes_Response(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)5670 dissect_mms_GetProgramInvocationAttributes_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5671   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5672                                    GetProgramInvocationAttributes_Response_sequence, hf_index, ett_mms_GetProgramInvocationAttributes_Response);
5673 
5674   return offset;
5675 }
5676 
5677 
5678 
5679 static int
dissect_mms_ObtainFile_Response(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)5680 dissect_mms_ObtainFile_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5681   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
5682 
5683   return offset;
5684 }
5685 
5686 
5687 
5688 static int
dissect_mms_GeneralizedTime(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)5689 dissect_mms_GeneralizedTime(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5690   offset = dissect_ber_GeneralizedTime(implicit_tag, actx, tree, tvb, offset, hf_index);
5691 
5692   return offset;
5693 }
5694 
5695 
5696 static const ber_sequence_t FileAttributes_sequence[] = {
5697   { &hf_mms_sizeOfFile      , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mms_Unsigned32 },
5698   { &hf_mms_lastModified    , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_GeneralizedTime },
5699   { NULL, 0, 0, 0, NULL }
5700 };
5701 
5702 static int
dissect_mms_FileAttributes(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)5703 dissect_mms_FileAttributes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5704   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5705                                    FileAttributes_sequence, hf_index, ett_mms_FileAttributes);
5706 
5707   return offset;
5708 }
5709 
5710 
5711 static const ber_sequence_t FileOpen_Response_sequence[] = {
5712   { &hf_mms_frsmID          , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mms_Integer32 },
5713   { &hf_mms_fileAttributes  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_mms_FileAttributes },
5714   { NULL, 0, 0, 0, NULL }
5715 };
5716 
5717 static int
dissect_mms_FileOpen_Response(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)5718 dissect_mms_FileOpen_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5719   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5720                                    FileOpen_Response_sequence, hf_index, ett_mms_FileOpen_Response);
5721 
5722   return offset;
5723 }
5724 
5725 
5726 
5727 static int
dissect_mms_DefineEventCondition_Response(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)5728 dissect_mms_DefineEventCondition_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5729   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
5730 
5731   return offset;
5732 }
5733 
5734 
5735 
5736 static int
dissect_mms_DeleteEventCondition_Response(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)5737 dissect_mms_DeleteEventCondition_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5738   offset = dissect_mms_Unsigned32(implicit_tag, tvb, offset, actx, tree, hf_index);
5739 
5740   return offset;
5741 }
5742 
5743 
5744 static const value_string mms_T_monitoredVariable_vals[] = {
5745   {   0, "variableReference" },
5746   {   1, "undefined" },
5747   { 0, NULL }
5748 };
5749 
5750 static const ber_choice_t T_monitoredVariable_choice[] = {
5751   {   0, &hf_mms_variableReference, BER_CLASS_CON, 0, 0, dissect_mms_VariableSpecification },
5752   {   1, &hf_mms_undefined       , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_mms_NULL },
5753   { 0, NULL, 0, 0, 0, NULL }
5754 };
5755 
5756 static int
dissect_mms_T_monitoredVariable(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)5757 dissect_mms_T_monitoredVariable(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5758   offset = dissect_ber_choice(actx, tree, tvb, offset,
5759                                  T_monitoredVariable_choice, hf_index, ett_mms_T_monitoredVariable,
5760                                  NULL);
5761 
5762   return offset;
5763 }
5764 
5765 
5766 static const ber_sequence_t GetEventConditionAttributes_Response_sequence[] = {
5767   { &hf_mms_mmsDeletable    , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_BOOLEAN },
5768   { &hf_mms_class_01        , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_mms_EC_Class },
5769   { &hf_mms_prio_rity       , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_Priority },
5770   { &hf_mms_severity        , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_Unsigned8 },
5771   { &hf_mms_alarmSummaryReports, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_BOOLEAN },
5772   { &hf_mms_monitoredVariable_01, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL, dissect_mms_T_monitoredVariable },
5773   { &hf_mms_evaluationInterval, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_Unsigned32 },
5774   { NULL, 0, 0, 0, NULL }
5775 };
5776 
5777 static int
dissect_mms_GetEventConditionAttributes_Response(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)5778 dissect_mms_GetEventConditionAttributes_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5779   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5780                                    GetEventConditionAttributes_Response_sequence, hf_index, ett_mms_GetEventConditionAttributes_Response);
5781 
5782   return offset;
5783 }
5784 
5785 
5786 static const ber_sequence_t ReportEventConditionStatus_Response_sequence[] = {
5787   { &hf_mms_currentState    , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mms_EC_State },
5788   { &hf_mms_numberOfEventEnrollments, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_mms_Unsigned32 },
5789   { &hf_mms_enabled         , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_BOOLEAN },
5790   { &hf_mms_timeOfLastTransitionToActive, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_mms_EventTime },
5791   { &hf_mms_timeOfLastTransitionToIdle, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_mms_EventTime },
5792   { NULL, 0, 0, 0, NULL }
5793 };
5794 
5795 static int
dissect_mms_ReportEventConditionStatus_Response(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)5796 dissect_mms_ReportEventConditionStatus_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5797   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5798                                    ReportEventConditionStatus_Response_sequence, hf_index, ett_mms_ReportEventConditionStatus_Response);
5799 
5800   return offset;
5801 }
5802 
5803 
5804 
5805 static int
dissect_mms_AlterEventConditionMonitoring_Response(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)5806 dissect_mms_AlterEventConditionMonitoring_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5807   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
5808 
5809   return offset;
5810 }
5811 
5812 
5813 
5814 static int
dissect_mms_TriggerEvent_Response(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)5815 dissect_mms_TriggerEvent_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5816   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
5817 
5818   return offset;
5819 }
5820 
5821 
5822 
5823 static int
dissect_mms_DefineEventAction_Response(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)5824 dissect_mms_DefineEventAction_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5825   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
5826 
5827   return offset;
5828 }
5829 
5830 
5831 
5832 static int
dissect_mms_DeleteEventAction_Response(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)5833 dissect_mms_DeleteEventAction_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5834   offset = dissect_mms_Unsigned32(implicit_tag, tvb, offset, actx, tree, hf_index);
5835 
5836   return offset;
5837 }
5838 
5839 
5840 static const ber_sequence_t GetEventActionAttributes_Response_sequence[] = {
5841   { &hf_mms_mmsDeletable    , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_BOOLEAN },
5842   { &hf_mms_listOfModifier  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_mms_SEQUENCE_OF_Modifier },
5843   { NULL, 0, 0, 0, NULL }
5844 };
5845 
5846 static int
dissect_mms_GetEventActionAttributes_Response(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)5847 dissect_mms_GetEventActionAttributes_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5848   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5849                                    GetEventActionAttributes_Response_sequence, hf_index, ett_mms_GetEventActionAttributes_Response);
5850 
5851   return offset;
5852 }
5853 
5854 
5855 
5856 static int
dissect_mms_ReportEventActionStatus_Response(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)5857 dissect_mms_ReportEventActionStatus_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5858   offset = dissect_mms_Unsigned32(implicit_tag, tvb, offset, actx, tree, hf_index);
5859 
5860   return offset;
5861 }
5862 
5863 
5864 
5865 static int
dissect_mms_DefineEventEnrollment_Response(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)5866 dissect_mms_DefineEventEnrollment_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5867   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
5868 
5869   return offset;
5870 }
5871 
5872 
5873 
5874 static int
dissect_mms_DeleteEventEnrollment_Response(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)5875 dissect_mms_DeleteEventEnrollment_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5876   offset = dissect_mms_Unsigned32(implicit_tag, tvb, offset, actx, tree, hf_index);
5877 
5878   return offset;
5879 }
5880 
5881 
5882 static const value_string mms_EE_State_vals[] = {
5883   {   0, "disabled" },
5884   {   1, "idle" },
5885   {   2, "active" },
5886   {   3, "activeNoAckA" },
5887   {   4, "idleNoAckI" },
5888   {   5, "idleNoAckA" },
5889   {   6, "idleAcked" },
5890   {   7, "activeAcked" },
5891   { 0, NULL }
5892 };
5893 
5894 
5895 static int
dissect_mms_EE_State(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)5896 dissect_mms_EE_State(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5897   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
5898                                                 NULL);
5899 
5900   return offset;
5901 }
5902 
5903 
5904 static const value_string mms_T_currentState_vals[] = {
5905   {   0, "state" },
5906   {   1, "undefined" },
5907   { 0, NULL }
5908 };
5909 
5910 static const ber_choice_t T_currentState_choice[] = {
5911   {   0, &hf_mms_alterEventEnrollment_Response_currentState_state, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mms_EE_State },
5912   {   1, &hf_mms_undefined       , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_mms_NULL },
5913   { 0, NULL, 0, 0, 0, NULL }
5914 };
5915 
5916 static int
dissect_mms_T_currentState(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)5917 dissect_mms_T_currentState(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5918   offset = dissect_ber_choice(actx, tree, tvb, offset,
5919                                  T_currentState_choice, hf_index, ett_mms_T_currentState,
5920                                  NULL);
5921 
5922   return offset;
5923 }
5924 
5925 
5926 static const ber_sequence_t AlterEventEnrollment_Response_sequence[] = {
5927   { &hf_mms_currentState_02 , BER_CLASS_CON, 0, 0, dissect_mms_T_currentState },
5928   { &hf_mms_transitionTime  , BER_CLASS_CON, 1, BER_FLAGS_NOTCHKTAG, dissect_mms_EventTime },
5929   { NULL, 0, 0, 0, NULL }
5930 };
5931 
5932 static int
dissect_mms_AlterEventEnrollment_Response(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)5933 dissect_mms_AlterEventEnrollment_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5934   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5935                                    AlterEventEnrollment_Response_sequence, hf_index, ett_mms_AlterEventEnrollment_Response);
5936 
5937   return offset;
5938 }
5939 
5940 
5941 static const value_string mms_EE_Duration_vals[] = {
5942   {   0, "current" },
5943   {   1, "permanent" },
5944   { 0, NULL }
5945 };
5946 
5947 
5948 static int
dissect_mms_EE_Duration(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)5949 dissect_mms_EE_Duration(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5950   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
5951                                                 NULL);
5952 
5953   return offset;
5954 }
5955 
5956 
5957 static const ber_sequence_t ReportEventEnrollmentStatus_Response_sequence[] = {
5958   { &hf_mms_eventConditionTransitions, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mms_Transitions },
5959   { &hf_mms_notificationLost, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_BOOLEAN },
5960   { &hf_mms_duration        , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_mms_EE_Duration },
5961   { &hf_mms_alarmAcknowledgmentRule, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_AlarmAckRule },
5962   { &hf_mms_currentState_01 , BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_mms_EE_State },
5963   { NULL, 0, 0, 0, NULL }
5964 };
5965 
5966 static int
dissect_mms_ReportEventEnrollmentStatus_Response(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)5967 dissect_mms_ReportEventEnrollmentStatus_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5968   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5969                                    ReportEventEnrollmentStatus_Response_sequence, hf_index, ett_mms_ReportEventEnrollmentStatus_Response);
5970 
5971   return offset;
5972 }
5973 
5974 
5975 static const value_string mms_T_eventConditionName_vals[] = {
5976   {   0, "eventCondition" },
5977   {   1, "undefined" },
5978   { 0, NULL }
5979 };
5980 
5981 static const ber_choice_t T_eventConditionName_choice[] = {
5982   {   0, &hf_mms_eventCondition  , BER_CLASS_CON, 0, 0, dissect_mms_ObjectName },
5983   {   1, &hf_mms_undefined       , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_mms_NULL },
5984   { 0, NULL, 0, 0, 0, NULL }
5985 };
5986 
5987 static int
dissect_mms_T_eventConditionName(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)5988 dissect_mms_T_eventConditionName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5989   offset = dissect_ber_choice(actx, tree, tvb, offset,
5990                                  T_eventConditionName_choice, hf_index, ett_mms_T_eventConditionName,
5991                                  NULL);
5992 
5993   return offset;
5994 }
5995 
5996 
5997 static const value_string mms_T_eventActionName_vals[] = {
5998   {   0, "eventAction" },
5999   {   1, "undefined" },
6000   { 0, NULL }
6001 };
6002 
6003 static const ber_choice_t T_eventActionName_choice[] = {
6004   {   0, &hf_mms_eventAction     , BER_CLASS_CON, 0, 0, dissect_mms_ObjectName },
6005   {   1, &hf_mms_undefined       , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_mms_NULL },
6006   { 0, NULL, 0, 0, 0, NULL }
6007 };
6008 
6009 static int
dissect_mms_T_eventActionName(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)6010 dissect_mms_T_eventActionName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6011   offset = dissect_ber_choice(actx, tree, tvb, offset,
6012                                  T_eventActionName_choice, hf_index, ett_mms_T_eventActionName,
6013                                  NULL);
6014 
6015   return offset;
6016 }
6017 
6018 
6019 static const value_string mms_EE_Class_vals[] = {
6020   {   0, "modifier" },
6021   {   1, "notification" },
6022   { 0, NULL }
6023 };
6024 
6025 
6026 static int
dissect_mms_EE_Class(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)6027 dissect_mms_EE_Class(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6028   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
6029                                                 NULL);
6030 
6031   return offset;
6032 }
6033 
6034 
6035 static const ber_sequence_t EventEnrollment_sequence[] = {
6036   { &hf_mms_eventEnrollmentName, BER_CLASS_CON, 0, BER_FLAGS_NOTCHKTAG, dissect_mms_ObjectName },
6037   { &hf_mms_eventConditionName_01, BER_CLASS_CON, 1, 0, dissect_mms_T_eventConditionName },
6038   { &hf_mms_eventActionName_01, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_mms_T_eventActionName },
6039   { &hf_mms_clientApplication, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_mms_ApplicationReference },
6040   { &hf_mms_mmsDeletable    , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_BOOLEAN },
6041   { &hf_mms_enrollmentClass , BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_mms_EE_Class },
6042   { &hf_mms_duration        , BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_EE_Duration },
6043   { &hf_mms_invokeID        , BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_mms_Unsigned32 },
6044   { &hf_mms_remainingAcceptableDelay, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_Unsigned32 },
6045   { NULL, 0, 0, 0, NULL }
6046 };
6047 
6048 static int
dissect_mms_EventEnrollment(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)6049 dissect_mms_EventEnrollment(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6050   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6051                                    EventEnrollment_sequence, hf_index, ett_mms_EventEnrollment);
6052 
6053   return offset;
6054 }
6055 
6056 
6057 static const ber_sequence_t SEQUENCE_OF_EventEnrollment_sequence_of[1] = {
6058   { &hf_mms_listOfEventEnrollment_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_mms_EventEnrollment },
6059 };
6060 
6061 static int
dissect_mms_SEQUENCE_OF_EventEnrollment(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)6062 dissect_mms_SEQUENCE_OF_EventEnrollment(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6063   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
6064                                       SEQUENCE_OF_EventEnrollment_sequence_of, hf_index, ett_mms_SEQUENCE_OF_EventEnrollment);
6065 
6066   return offset;
6067 }
6068 
6069 
6070 static const ber_sequence_t GetEventEnrollmentAttributes_Response_sequence[] = {
6071   { &hf_mms_listOfEventEnrollment, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mms_SEQUENCE_OF_EventEnrollment },
6072   { &hf_mms_moreFollows     , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_BOOLEAN },
6073   { NULL, 0, 0, 0, NULL }
6074 };
6075 
6076 static int
dissect_mms_GetEventEnrollmentAttributes_Response(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)6077 dissect_mms_GetEventEnrollmentAttributes_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6078   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6079                                    GetEventEnrollmentAttributes_Response_sequence, hf_index, ett_mms_GetEventEnrollmentAttributes_Response);
6080 
6081   return offset;
6082 }
6083 
6084 
6085 
6086 static int
dissect_mms_AcknowledgeEventNotification_Response(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)6087 dissect_mms_AcknowledgeEventNotification_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6088   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
6089 
6090   return offset;
6091 }
6092 
6093 
6094 static const value_string mms_T_unacknowledgedState_vals[] = {
6095   {   0, "none" },
6096   {   1, "active" },
6097   {   2, "idle" },
6098   {   3, "both" },
6099   { 0, NULL }
6100 };
6101 
6102 
6103 static int
dissect_mms_T_unacknowledgedState(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)6104 dissect_mms_T_unacknowledgedState(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6105   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
6106                                                 NULL);
6107 
6108   return offset;
6109 }
6110 
6111 
6112 static const ber_sequence_t AlarmSummary_sequence[] = {
6113   { &hf_mms_eventConditionName, BER_CLASS_CON, 0, BER_FLAGS_NOTCHKTAG, dissect_mms_ObjectName },
6114   { &hf_mms_severity        , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_mms_Unsigned8 },
6115   { &hf_mms_currentState    , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_mms_EC_State },
6116   { &hf_mms_unacknowledgedState, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_mms_T_unacknowledgedState },
6117   { &hf_mms_timeOfLastTransitionToActive, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_mms_EventTime },
6118   { &hf_mms_timeOfLastTransitionToIdle, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_mms_EventTime },
6119   { NULL, 0, 0, 0, NULL }
6120 };
6121 
6122 static int
dissect_mms_AlarmSummary(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)6123 dissect_mms_AlarmSummary(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6124   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6125                                    AlarmSummary_sequence, hf_index, ett_mms_AlarmSummary);
6126 
6127   return offset;
6128 }
6129 
6130 
6131 static const ber_sequence_t SEQUENCE_OF_AlarmSummary_sequence_of[1] = {
6132   { &hf_mms_listOfAlarmSummary_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_mms_AlarmSummary },
6133 };
6134 
6135 static int
dissect_mms_SEQUENCE_OF_AlarmSummary(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)6136 dissect_mms_SEQUENCE_OF_AlarmSummary(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6137   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
6138                                       SEQUENCE_OF_AlarmSummary_sequence_of, hf_index, ett_mms_SEQUENCE_OF_AlarmSummary);
6139 
6140   return offset;
6141 }
6142 
6143 
6144 static const ber_sequence_t GetAlarmSummary_Response_sequence[] = {
6145   { &hf_mms_listOfAlarmSummary, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mms_SEQUENCE_OF_AlarmSummary },
6146   { &hf_mms_moreFollows     , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_BOOLEAN },
6147   { NULL, 0, 0, 0, NULL }
6148 };
6149 
6150 static int
dissect_mms_GetAlarmSummary_Response(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)6151 dissect_mms_GetAlarmSummary_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6152   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6153                                    GetAlarmSummary_Response_sequence, hf_index, ett_mms_GetAlarmSummary_Response);
6154 
6155   return offset;
6156 }
6157 
6158 
6159 static const ber_sequence_t AlarmEnrollmentSummary_sequence[] = {
6160   { &hf_mms_eventEnrollmentName, BER_CLASS_CON, 0, BER_FLAGS_NOTCHKTAG, dissect_mms_ObjectName },
6161   { &hf_mms_clientApplication, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_mms_ApplicationReference },
6162   { &hf_mms_severity        , BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_mms_Unsigned8 },
6163   { &hf_mms_currentState    , BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_mms_EC_State },
6164   { &hf_mms_notificationLost, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_BOOLEAN },
6165   { &hf_mms_alarmAcknowledgmentRule, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_AlarmAckRule },
6166   { &hf_mms_enrollementState, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_EE_State },
6167   { &hf_mms_timeOfLastTransitionToActive, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_mms_EventTime },
6168   { &hf_mms_timeActiveAcknowledged, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_mms_EventTime },
6169   { &hf_mms_timeOfLastTransitionToIdle, BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_mms_EventTime },
6170   { &hf_mms_timeIdleAcknowledged, BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_mms_EventTime },
6171   { NULL, 0, 0, 0, NULL }
6172 };
6173 
6174 static int
dissect_mms_AlarmEnrollmentSummary(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)6175 dissect_mms_AlarmEnrollmentSummary(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6176   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6177                                    AlarmEnrollmentSummary_sequence, hf_index, ett_mms_AlarmEnrollmentSummary);
6178 
6179   return offset;
6180 }
6181 
6182 
6183 static const ber_sequence_t SEQUENCE_OF_AlarmEnrollmentSummary_sequence_of[1] = {
6184   { &hf_mms_listOfAlarmEnrollmentSummary_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_mms_AlarmEnrollmentSummary },
6185 };
6186 
6187 static int
dissect_mms_SEQUENCE_OF_AlarmEnrollmentSummary(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)6188 dissect_mms_SEQUENCE_OF_AlarmEnrollmentSummary(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6189   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
6190                                       SEQUENCE_OF_AlarmEnrollmentSummary_sequence_of, hf_index, ett_mms_SEQUENCE_OF_AlarmEnrollmentSummary);
6191 
6192   return offset;
6193 }
6194 
6195 
6196 static const ber_sequence_t GetAlarmEnrollmentSummary_Response_sequence[] = {
6197   { &hf_mms_listOfAlarmEnrollmentSummary, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mms_SEQUENCE_OF_AlarmEnrollmentSummary },
6198   { &hf_mms_moreFollows     , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_BOOLEAN },
6199   { NULL, 0, 0, 0, NULL }
6200 };
6201 
6202 static int
dissect_mms_GetAlarmEnrollmentSummary_Response(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)6203 dissect_mms_GetAlarmEnrollmentSummary_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6204   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6205                                    GetAlarmEnrollmentSummary_Response_sequence, hf_index, ett_mms_GetAlarmEnrollmentSummary_Response);
6206 
6207   return offset;
6208 }
6209 
6210 
6211 static const ber_sequence_t JournalEntry_sequence[] = {
6212   { &hf_mms_entryIdentifier , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mms_OCTET_STRING },
6213   { &hf_mms_originatingApplication, BER_CLASS_CON, 1, 0, dissect_mms_ApplicationReference },
6214   { &hf_mms_entryContent    , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_mms_EntryContent },
6215   { NULL, 0, 0, 0, NULL }
6216 };
6217 
6218 static int
dissect_mms_JournalEntry(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)6219 dissect_mms_JournalEntry(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6220   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6221                                    JournalEntry_sequence, hf_index, ett_mms_JournalEntry);
6222 
6223   return offset;
6224 }
6225 
6226 
6227 static const ber_sequence_t SEQUENCE_OF_JournalEntry_sequence_of[1] = {
6228   { &hf_mms_listOfJournalEntry_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_mms_JournalEntry },
6229 };
6230 
6231 static int
dissect_mms_SEQUENCE_OF_JournalEntry(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)6232 dissect_mms_SEQUENCE_OF_JournalEntry(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6233   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
6234                                       SEQUENCE_OF_JournalEntry_sequence_of, hf_index, ett_mms_SEQUENCE_OF_JournalEntry);
6235 
6236   return offset;
6237 }
6238 
6239 
6240 static const ber_sequence_t ReadJournal_Response_sequence[] = {
6241   { &hf_mms_listOfJournalEntry, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mms_SEQUENCE_OF_JournalEntry },
6242   { &hf_mms_moreFollows     , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_BOOLEAN },
6243   { NULL, 0, 0, 0, NULL }
6244 };
6245 
6246 static int
dissect_mms_ReadJournal_Response(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)6247 dissect_mms_ReadJournal_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6248   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6249                                    ReadJournal_Response_sequence, hf_index, ett_mms_ReadJournal_Response);
6250 
6251   return offset;
6252 }
6253 
6254 
6255 
6256 static int
dissect_mms_WriteJournal_Response(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)6257 dissect_mms_WriteJournal_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6258   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
6259 
6260   return offset;
6261 }
6262 
6263 
6264 
6265 static int
dissect_mms_InitializeJournal_Response(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)6266 dissect_mms_InitializeJournal_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6267   offset = dissect_mms_Unsigned32(implicit_tag, tvb, offset, actx, tree, hf_index);
6268 
6269   return offset;
6270 }
6271 
6272 
6273 static const ber_sequence_t ReportJournalStatus_Response_sequence[] = {
6274   { &hf_mms_currentEntries  , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mms_Unsigned32 },
6275   { &hf_mms_mmsDeletable    , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_mms_BOOLEAN },
6276   { NULL, 0, 0, 0, NULL }
6277 };
6278 
6279 static int
dissect_mms_ReportJournalStatus_Response(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)6280 dissect_mms_ReportJournalStatus_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6281   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6282                                    ReportJournalStatus_Response_sequence, hf_index, ett_mms_ReportJournalStatus_Response);
6283 
6284   return offset;
6285 }
6286 
6287 
6288 
6289 static int
dissect_mms_CreateJournal_Response(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)6290 dissect_mms_CreateJournal_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6291   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
6292 
6293   return offset;
6294 }
6295 
6296 
6297 
6298 static int
dissect_mms_DeleteJournal_Response(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)6299 dissect_mms_DeleteJournal_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6300   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
6301 
6302   return offset;
6303 }
6304 
6305 
6306 static const ber_sequence_t T_listOfCapabilities_sequence_of[1] = {
6307   { &hf_mms_listOfCapabilities_item, BER_CLASS_UNI, BER_UNI_TAG_VisibleString, BER_FLAGS_NOOWNTAG, dissect_mms_VisibleString },
6308 };
6309 
6310 static int
dissect_mms_T_listOfCapabilities(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)6311 dissect_mms_T_listOfCapabilities(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6312   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
6313                                       T_listOfCapabilities_sequence_of, hf_index, ett_mms_T_listOfCapabilities);
6314 
6315   return offset;
6316 }
6317 
6318 
6319 static const ber_sequence_t GetCapabilityList_Response_sequence[] = {
6320   { &hf_mms_listOfCapabilities, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mms_T_listOfCapabilities },
6321   { &hf_mms_moreFollows     , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_BOOLEAN },
6322   { NULL, 0, 0, 0, NULL }
6323 };
6324 
6325 static int
dissect_mms_GetCapabilityList_Response(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)6326 dissect_mms_GetCapabilityList_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6327   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6328                                    GetCapabilityList_Response_sequence, hf_index, ett_mms_GetCapabilityList_Response);
6329 
6330   return offset;
6331 }
6332 
6333 
6334 static const ber_sequence_t FileRead_Response_sequence[] = {
6335   { &hf_mms_fileData        , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mms_OCTET_STRING },
6336   { &hf_mms_moreFollows     , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_BOOLEAN },
6337   { NULL, 0, 0, 0, NULL }
6338 };
6339 
6340 static int
dissect_mms_FileRead_Response(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)6341 dissect_mms_FileRead_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6342   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6343                                    FileRead_Response_sequence, hf_index, ett_mms_FileRead_Response);
6344 
6345   return offset;
6346 }
6347 
6348 
6349 
6350 static int
dissect_mms_FileClose_Response(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)6351 dissect_mms_FileClose_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6352   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
6353 
6354   return offset;
6355 }
6356 
6357 
6358 
6359 static int
dissect_mms_FileRename_Response(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)6360 dissect_mms_FileRename_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6361   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
6362 
6363   return offset;
6364 }
6365 
6366 
6367 
6368 static int
dissect_mms_FileDelete_Response(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)6369 dissect_mms_FileDelete_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6370   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
6371 
6372   return offset;
6373 }
6374 
6375 
6376 static const ber_sequence_t DirectoryEntry_sequence[] = {
6377   { &hf_mms_filename        , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mms_FileName },
6378   { &hf_mms_fileAttributes  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_mms_FileAttributes },
6379   { NULL, 0, 0, 0, NULL }
6380 };
6381 
6382 static int
dissect_mms_DirectoryEntry(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)6383 dissect_mms_DirectoryEntry(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6384   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6385                                    DirectoryEntry_sequence, hf_index, ett_mms_DirectoryEntry);
6386 
6387   return offset;
6388 }
6389 
6390 
6391 static const ber_sequence_t SEQUENCE_OF_DirectoryEntry_sequence_of[1] = {
6392   { &hf_mms_listOfDirectoryEntry_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_mms_DirectoryEntry },
6393 };
6394 
6395 static int
dissect_mms_SEQUENCE_OF_DirectoryEntry(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)6396 dissect_mms_SEQUENCE_OF_DirectoryEntry(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6397   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
6398                                       SEQUENCE_OF_DirectoryEntry_sequence_of, hf_index, ett_mms_SEQUENCE_OF_DirectoryEntry);
6399 
6400   return offset;
6401 }
6402 
6403 
6404 static const ber_sequence_t FileDirectory_Response_sequence[] = {
6405   { &hf_mms_listOfDirectoryEntry, BER_CLASS_CON, 0, 0, dissect_mms_SEQUENCE_OF_DirectoryEntry },
6406   { &hf_mms_moreFollows     , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_BOOLEAN },
6407   { NULL, 0, 0, 0, NULL }
6408 };
6409 
6410 static int
dissect_mms_FileDirectory_Response(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)6411 dissect_mms_FileDirectory_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6412   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6413                                    FileDirectory_Response_sequence, hf_index, ett_mms_FileDirectory_Response);
6414 
6415   return offset;
6416 }
6417 
6418 
6419 static const value_string mms_ConfirmedServiceResponse_vals[] = {
6420   {   0, "status" },
6421   {   1, "getNameList" },
6422   {   2, "identify" },
6423   {   3, "rename" },
6424   {   4, "read" },
6425   {   5, "write" },
6426   {   6, "getVariableAccessAttributes" },
6427   {   7, "defineNamedVariable" },
6428   {   8, "defineScatteredAccess" },
6429   {   9, "getScatteredAccessAttributes" },
6430   {  10, "deleteVariableAccess" },
6431   {  11, "defineNamedVariableList" },
6432   {  12, "getNamedVariableListAttributes" },
6433   {  13, "deleteNamedVariableList" },
6434   {  14, "defineNamedType" },
6435   {  15, "getNamedTypeAttributes" },
6436   {  16, "deleteNamedType" },
6437   {  17, "input" },
6438   {  18, "output" },
6439   {  19, "takeControl" },
6440   {  20, "relinquishControl" },
6441   {  21, "defineSemaphore" },
6442   {  22, "deleteSemaphore" },
6443   {  23, "reportSemaphoreStatus" },
6444   {  24, "reportPoolSemaphoreStatus" },
6445   {  25, "reportSemaphoreEntryStatus" },
6446   {  26, "initiateDownloadSequence" },
6447   {  27, "downloadSegment" },
6448   {  28, "terminateDownloadSequence" },
6449   {  29, "initiateUploadSequence" },
6450   {  30, "uploadSegment" },
6451   {  31, "terminateUploadSequence" },
6452   {  32, "requestDomainDownLoad" },
6453   {  33, "requestDomainUpload" },
6454   {  34, "loadDomainContent" },
6455   {  35, "storeDomainContent" },
6456   {  36, "deleteDomain" },
6457   {  37, "getDomainAttributes" },
6458   {  38, "createProgramInvocation" },
6459   {  39, "deleteProgramInvocation" },
6460   {  40, "start" },
6461   {  41, "stop" },
6462   {  42, "resume" },
6463   {  43, "reset" },
6464   {  44, "kill" },
6465   {  45, "getProgramInvocationAttributes" },
6466   {  46, "obtainFile" },
6467   {  72, "fileOpen" },
6468   {  47, "defineEventCondition" },
6469   {  48, "deleteEventCondition" },
6470   {  49, "getEventConditionAttributes" },
6471   {  50, "reportEventConditionStatus" },
6472   {  51, "alterEventConditionMonitoring" },
6473   {  52, "triggerEvent" },
6474   {  53, "defineEventAction" },
6475   {  54, "deleteEventAction" },
6476   {  55, "getEventActionAttributes" },
6477   {  56, "reportActionStatus" },
6478   {  57, "defineEventEnrollment" },
6479   {  58, "deleteEventEnrollment" },
6480   {  59, "alterEventEnrollment" },
6481   {  60, "reportEventEnrollmentStatus" },
6482   {  61, "getEventEnrollmentAttributes" },
6483   {  62, "acknowledgeEventNotification" },
6484   {  63, "getAlarmSummary" },
6485   {  64, "getAlarmEnrollmentSummary" },
6486   {  65, "readJournal" },
6487   {  66, "writeJournal" },
6488   {  67, "initializeJournal" },
6489   {  68, "reportJournalStatus" },
6490   {  69, "createJournal" },
6491   {  70, "deleteJournal" },
6492   {  71, "getCapabilityList" },
6493   {  73, "fileRead" },
6494   {  74, "fileClose" },
6495   {  75, "fileRename" },
6496   {  76, "fileDelete" },
6497   {  77, "fileDirectory" },
6498   { 0, NULL }
6499 };
6500 
6501 static const ber_choice_t ConfirmedServiceResponse_choice[] = {
6502   {   0, &hf_mms_status_01       , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mms_Status_Response },
6503   {   1, &hf_mms_getNameList_01  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_mms_GetNameList_Response },
6504   {   2, &hf_mms_identify_01     , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_mms_Identify_Response },
6505   {   3, &hf_mms_rename_01       , BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_mms_Rename_Response },
6506   {   4, &hf_mms_read_01         , BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_mms_Read_Response },
6507   {   5, &hf_mms_write_01        , BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_mms_Write_Response },
6508   {   6, &hf_mms_getVariableAccessAttributes_01, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_mms_GetVariableAccessAttributes_Response },
6509   {   7, &hf_mms_defineNamedVariable_01, BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_mms_DefineNamedVariable_Response },
6510   {   8, &hf_mms_defineScatteredAccess_01, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_mms_DefineScatteredAccess_Response },
6511   {   9, &hf_mms_getScatteredAccessAttributes_01, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_mms_GetScatteredAccessAttributes_Response },
6512   {  10, &hf_mms_deleteVariableAccess_01, BER_CLASS_CON, 10, BER_FLAGS_IMPLTAG, dissect_mms_DeleteVariableAccess_Response },
6513   {  11, &hf_mms_defineNamedVariableList_01, BER_CLASS_CON, 11, BER_FLAGS_IMPLTAG, dissect_mms_DefineNamedVariableList_Response },
6514   {  12, &hf_mms_getNamedVariableListAttributes_01, BER_CLASS_CON, 12, BER_FLAGS_IMPLTAG, dissect_mms_GetNamedVariableListAttributes_Response },
6515   {  13, &hf_mms_deleteNamedVariableList_01, BER_CLASS_CON, 13, BER_FLAGS_IMPLTAG, dissect_mms_DeleteNamedVariableList_Response },
6516   {  14, &hf_mms_defineNamedType_01, BER_CLASS_CON, 14, BER_FLAGS_IMPLTAG, dissect_mms_DefineNamedType_Response },
6517   {  15, &hf_mms_getNamedTypeAttributes_01, BER_CLASS_CON, 15, BER_FLAGS_IMPLTAG, dissect_mms_GetNamedTypeAttributes_Response },
6518   {  16, &hf_mms_deleteNamedType_01, BER_CLASS_CON, 16, BER_FLAGS_IMPLTAG, dissect_mms_DeleteNamedType_Response },
6519   {  17, &hf_mms_input_01        , BER_CLASS_CON, 17, BER_FLAGS_IMPLTAG, dissect_mms_Input_Response },
6520   {  18, &hf_mms_output_01       , BER_CLASS_CON, 18, BER_FLAGS_IMPLTAG, dissect_mms_Output_Response },
6521   {  19, &hf_mms_takeControl_01  , BER_CLASS_CON, 19, 0, dissect_mms_TakeControl_Response },
6522   {  20, &hf_mms_relinquishControl_01, BER_CLASS_CON, 20, BER_FLAGS_IMPLTAG, dissect_mms_RelinquishControl_Response },
6523   {  21, &hf_mms_defineSemaphore_01, BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_mms_DefineSemaphore_Response },
6524   {  22, &hf_mms_deleteSemaphore_01, BER_CLASS_CON, 22, BER_FLAGS_IMPLTAG, dissect_mms_DeleteSemaphore_Response },
6525   {  23, &hf_mms_reportSemaphoreStatus_01, BER_CLASS_CON, 23, BER_FLAGS_IMPLTAG, dissect_mms_ReportSemaphoreStatus_Response },
6526   {  24, &hf_mms_reportPoolSemaphoreStatus_01, BER_CLASS_CON, 24, BER_FLAGS_IMPLTAG, dissect_mms_ReportPoolSemaphoreStatus_Response },
6527   {  25, &hf_mms_reportSemaphoreEntryStatus_01, BER_CLASS_CON, 25, BER_FLAGS_IMPLTAG, dissect_mms_ReportSemaphoreEntryStatus_Response },
6528   {  26, &hf_mms_initiateDownloadSequence_01, BER_CLASS_CON, 26, BER_FLAGS_IMPLTAG, dissect_mms_InitiateDownloadSequence_Response },
6529   {  27, &hf_mms_downloadSegment_01, BER_CLASS_CON, 27, BER_FLAGS_IMPLTAG, dissect_mms_DownloadSegment_Response },
6530   {  28, &hf_mms_terminateDownloadSequence_01, BER_CLASS_CON, 28, BER_FLAGS_IMPLTAG, dissect_mms_TerminateDownloadSequence_Response },
6531   {  29, &hf_mms_initiateUploadSequence_01, BER_CLASS_CON, 29, BER_FLAGS_IMPLTAG, dissect_mms_InitiateUploadSequence_Response },
6532   {  30, &hf_mms_uploadSegment_01, BER_CLASS_CON, 30, BER_FLAGS_IMPLTAG, dissect_mms_UploadSegment_Response },
6533   {  31, &hf_mms_terminateUploadSequence_01, BER_CLASS_CON, 31, BER_FLAGS_IMPLTAG, dissect_mms_TerminateUploadSequence_Response },
6534   {  32, &hf_mms_requestDomainDownLoad, BER_CLASS_CON, 32, BER_FLAGS_IMPLTAG, dissect_mms_RequestDomainDownload_Response },
6535   {  33, &hf_mms_requestDomainUpload_01, BER_CLASS_CON, 33, BER_FLAGS_IMPLTAG, dissect_mms_RequestDomainUpload_Response },
6536   {  34, &hf_mms_loadDomainContent_01, BER_CLASS_CON, 34, BER_FLAGS_IMPLTAG, dissect_mms_LoadDomainContent_Response },
6537   {  35, &hf_mms_storeDomainContent_01, BER_CLASS_CON, 35, BER_FLAGS_IMPLTAG, dissect_mms_StoreDomainContent_Response },
6538   {  36, &hf_mms_deleteDomain_01 , BER_CLASS_CON, 36, BER_FLAGS_IMPLTAG, dissect_mms_DeleteDomain_Response },
6539   {  37, &hf_mms_getDomainAttributes_01, BER_CLASS_CON, 37, BER_FLAGS_IMPLTAG, dissect_mms_GetDomainAttributes_Response },
6540   {  38, &hf_mms_createProgramInvocation_01, BER_CLASS_CON, 38, BER_FLAGS_IMPLTAG, dissect_mms_CreateProgramInvocation_Response },
6541   {  39, &hf_mms_deleteProgramInvocation_01, BER_CLASS_CON, 39, BER_FLAGS_IMPLTAG, dissect_mms_DeleteProgramInvocation_Response },
6542   {  40, &hf_mms_start_01        , BER_CLASS_CON, 40, BER_FLAGS_IMPLTAG, dissect_mms_Start_Response },
6543   {  41, &hf_mms_stop_01         , BER_CLASS_CON, 41, BER_FLAGS_IMPLTAG, dissect_mms_Stop_Response },
6544   {  42, &hf_mms_resume_01       , BER_CLASS_CON, 42, BER_FLAGS_IMPLTAG, dissect_mms_Resume_Response },
6545   {  43, &hf_mms_reset_01        , BER_CLASS_CON, 43, BER_FLAGS_IMPLTAG, dissect_mms_Reset_Response },
6546   {  44, &hf_mms_kill_01         , BER_CLASS_CON, 44, BER_FLAGS_IMPLTAG, dissect_mms_Kill_Response },
6547   {  45, &hf_mms_getProgramInvocationAttributes_01, BER_CLASS_CON, 45, BER_FLAGS_IMPLTAG, dissect_mms_GetProgramInvocationAttributes_Response },
6548   {  46, &hf_mms_obtainFile_01   , BER_CLASS_CON, 46, BER_FLAGS_IMPLTAG, dissect_mms_ObtainFile_Response },
6549   {  72, &hf_mms_fileOpen_01     , BER_CLASS_CON, 72, BER_FLAGS_IMPLTAG, dissect_mms_FileOpen_Response },
6550   {  47, &hf_mms_defineEventCondition_01, BER_CLASS_CON, 47, BER_FLAGS_IMPLTAG, dissect_mms_DefineEventCondition_Response },
6551   {  48, &hf_mms_confirmedServiceResponse_deleteEventCondition, BER_CLASS_CON, 48, BER_FLAGS_IMPLTAG, dissect_mms_DeleteEventCondition_Response },
6552   {  49, &hf_mms_getEventConditionAttributes_01, BER_CLASS_CON, 49, BER_FLAGS_IMPLTAG, dissect_mms_GetEventConditionAttributes_Response },
6553   {  50, &hf_mms_reportEventConditionStatus_01, BER_CLASS_CON, 50, BER_FLAGS_IMPLTAG, dissect_mms_ReportEventConditionStatus_Response },
6554   {  51, &hf_mms_alterEventConditionMonitoring_01, BER_CLASS_CON, 51, BER_FLAGS_IMPLTAG, dissect_mms_AlterEventConditionMonitoring_Response },
6555   {  52, &hf_mms_triggerEvent_01 , BER_CLASS_CON, 52, BER_FLAGS_IMPLTAG, dissect_mms_TriggerEvent_Response },
6556   {  53, &hf_mms_defineEventAction_01, BER_CLASS_CON, 53, BER_FLAGS_IMPLTAG, dissect_mms_DefineEventAction_Response },
6557   {  54, &hf_mms_deleteEventAction, BER_CLASS_CON, 54, BER_FLAGS_IMPLTAG, dissect_mms_DeleteEventAction_Response },
6558   {  55, &hf_mms_getEventActionAttributes_01, BER_CLASS_CON, 55, BER_FLAGS_IMPLTAG, dissect_mms_GetEventActionAttributes_Response },
6559   {  56, &hf_mms_reportActionStatus, BER_CLASS_CON, 56, BER_FLAGS_IMPLTAG, dissect_mms_ReportEventActionStatus_Response },
6560   {  57, &hf_mms_defineEventEnrollment_01, BER_CLASS_CON, 57, BER_FLAGS_IMPLTAG, dissect_mms_DefineEventEnrollment_Response },
6561   {  58, &hf_mms_confirmedServiceResponse_deleteEventEnrollment, BER_CLASS_CON, 58, BER_FLAGS_IMPLTAG, dissect_mms_DeleteEventEnrollment_Response },
6562   {  59, &hf_mms_alterEventEnrollment_01, BER_CLASS_CON, 59, BER_FLAGS_IMPLTAG, dissect_mms_AlterEventEnrollment_Response },
6563   {  60, &hf_mms_reportEventEnrollmentStatus_01, BER_CLASS_CON, 60, BER_FLAGS_IMPLTAG, dissect_mms_ReportEventEnrollmentStatus_Response },
6564   {  61, &hf_mms_getEventEnrollmentAttributes_01, BER_CLASS_CON, 61, BER_FLAGS_IMPLTAG, dissect_mms_GetEventEnrollmentAttributes_Response },
6565   {  62, &hf_mms_acknowledgeEventNotification_01, BER_CLASS_CON, 62, BER_FLAGS_IMPLTAG, dissect_mms_AcknowledgeEventNotification_Response },
6566   {  63, &hf_mms_getAlarmSummary_01, BER_CLASS_CON, 63, BER_FLAGS_IMPLTAG, dissect_mms_GetAlarmSummary_Response },
6567   {  64, &hf_mms_getAlarmEnrollmentSummary_01, BER_CLASS_CON, 64, BER_FLAGS_IMPLTAG, dissect_mms_GetAlarmEnrollmentSummary_Response },
6568   {  65, &hf_mms_readJournal_01  , BER_CLASS_CON, 65, BER_FLAGS_IMPLTAG, dissect_mms_ReadJournal_Response },
6569   {  66, &hf_mms_writeJournal_01 , BER_CLASS_CON, 66, BER_FLAGS_IMPLTAG, dissect_mms_WriteJournal_Response },
6570   {  67, &hf_mms_initializeJournal_01, BER_CLASS_CON, 67, BER_FLAGS_IMPLTAG, dissect_mms_InitializeJournal_Response },
6571   {  68, &hf_mms_reportJournalStatus_01, BER_CLASS_CON, 68, BER_FLAGS_IMPLTAG, dissect_mms_ReportJournalStatus_Response },
6572   {  69, &hf_mms_createJournal_01, BER_CLASS_CON, 69, BER_FLAGS_IMPLTAG, dissect_mms_CreateJournal_Response },
6573   {  70, &hf_mms_deleteJournal_01, BER_CLASS_CON, 70, BER_FLAGS_IMPLTAG, dissect_mms_DeleteJournal_Response },
6574   {  71, &hf_mms_getCapabilityList_01, BER_CLASS_CON, 71, BER_FLAGS_IMPLTAG, dissect_mms_GetCapabilityList_Response },
6575   {  73, &hf_mms_fileRead_01     , BER_CLASS_CON, 73, BER_FLAGS_IMPLTAG, dissect_mms_FileRead_Response },
6576   {  74, &hf_mms_fileClose_01    , BER_CLASS_CON, 74, BER_FLAGS_IMPLTAG, dissect_mms_FileClose_Response },
6577   {  75, &hf_mms_fileRename_01   , BER_CLASS_CON, 75, BER_FLAGS_IMPLTAG, dissect_mms_FileRename_Response },
6578   {  76, &hf_mms_fileDelete_01   , BER_CLASS_CON, 76, BER_FLAGS_IMPLTAG, dissect_mms_FileDelete_Response },
6579   {  77, &hf_mms_fileDirectory_01, BER_CLASS_CON, 77, BER_FLAGS_IMPLTAG, dissect_mms_FileDirectory_Response },
6580   { 0, NULL, 0, 0, 0, NULL }
6581 };
6582 
6583 static int
dissect_mms_ConfirmedServiceResponse(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)6584 dissect_mms_ConfirmedServiceResponse(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6585   offset = dissect_ber_choice(actx, tree, tvb, offset,
6586                                  ConfirmedServiceResponse_choice, hf_index, ett_mms_ConfirmedServiceResponse,
6587                                  NULL);
6588 
6589   return offset;
6590 }
6591 
6592 
6593 static const ber_sequence_t Confirmed_ResponsePDU_sequence[] = {
6594   { &hf_mms_invokeID        , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_mms_Unsigned32 },
6595   { &hf_mms_confirmedServiceResponse, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_mms_ConfirmedServiceResponse },
6596   { &hf_mms_cs_request_detail, BER_CLASS_CON, 79, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_mms_CS_Request_Detail },
6597   { NULL, 0, 0, 0, NULL }
6598 };
6599 
6600 static int
dissect_mms_Confirmed_ResponsePDU(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)6601 dissect_mms_Confirmed_ResponsePDU(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6602   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6603                                    Confirmed_ResponsePDU_sequence, hf_index, ett_mms_Confirmed_ResponsePDU);
6604 
6605   return offset;
6606 }
6607 
6608 
6609 static const ber_sequence_t Confirmed_ErrorPDU_sequence[] = {
6610   { &hf_mms_invokeID        , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mms_Unsigned32 },
6611   { &hf_mms_modifierPosition, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_Unsigned32 },
6612   { &hf_mms_serviceError    , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_mms_ServiceError },
6613   { NULL, 0, 0, 0, NULL }
6614 };
6615 
6616 static int
dissect_mms_Confirmed_ErrorPDU(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)6617 dissect_mms_Confirmed_ErrorPDU(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6618   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6619                                    Confirmed_ErrorPDU_sequence, hf_index, ett_mms_Confirmed_ErrorPDU);
6620 
6621   return offset;
6622 }
6623 
6624 
6625 static const ber_sequence_t InformationReport_sequence[] = {
6626   { &hf_mms_variableAccessSpecification, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_mms_VariableAccessSpecification },
6627   { &hf_mms_listOfAccessResult, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mms_SEQUENCE_OF_AccessResult },
6628   { NULL, 0, 0, 0, NULL }
6629 };
6630 
6631 static int
dissect_mms_InformationReport(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)6632 dissect_mms_InformationReport(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6633   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6634                                    InformationReport_sequence, hf_index, ett_mms_InformationReport);
6635 
6636   return offset;
6637 }
6638 
6639 
6640 
6641 static int
dissect_mms_UnsolicitedStatus(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)6642 dissect_mms_UnsolicitedStatus(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6643   offset = dissect_mms_Status_Response(implicit_tag, tvb, offset, actx, tree, hf_index);
6644 
6645   return offset;
6646 }
6647 
6648 
6649 static const value_string mms_T_eventConditionName_01_vals[] = {
6650   {   0, "eventCondition" },
6651   {   1, "undefined" },
6652   { 0, NULL }
6653 };
6654 
6655 static const ber_choice_t T_eventConditionName_01_choice[] = {
6656   {   0, &hf_mms_eventCondition  , BER_CLASS_CON, 0, 0, dissect_mms_ObjectName },
6657   {   1, &hf_mms_undefined       , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_mms_NULL },
6658   { 0, NULL, 0, 0, 0, NULL }
6659 };
6660 
6661 static int
dissect_mms_T_eventConditionName_01(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)6662 dissect_mms_T_eventConditionName_01(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6663   offset = dissect_ber_choice(actx, tree, tvb, offset,
6664                                  T_eventConditionName_01_choice, hf_index, ett_mms_T_eventConditionName_01,
6665                                  NULL);
6666 
6667   return offset;
6668 }
6669 
6670 
6671 static const value_string mms_T_eventActionResult_vals[] = {
6672   {   0, "success" },
6673   {   1, "failure" },
6674   { 0, NULL }
6675 };
6676 
6677 static const ber_choice_t T_eventActionResult_choice[] = {
6678   {   0, &hf_mms_success_02      , BER_CLASS_CON, 0, 0, dissect_mms_ConfirmedServiceResponse },
6679   {   1, &hf_mms_failure_01      , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_mms_ServiceError },
6680   { 0, NULL, 0, 0, 0, NULL }
6681 };
6682 
6683 static int
dissect_mms_T_eventActionResult(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)6684 dissect_mms_T_eventActionResult(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6685   offset = dissect_ber_choice(actx, tree, tvb, offset,
6686                                  T_eventActionResult_choice, hf_index, ett_mms_T_eventActionResult,
6687                                  NULL);
6688 
6689   return offset;
6690 }
6691 
6692 
6693 static const ber_sequence_t T_actionResult_sequence[] = {
6694   { &hf_mms_eventActioName  , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_mms_ObjectName },
6695   { &hf_mms_eventActionResult, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_mms_T_eventActionResult },
6696   { NULL, 0, 0, 0, NULL }
6697 };
6698 
6699 static int
dissect_mms_T_actionResult(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)6700 dissect_mms_T_actionResult(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6701   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6702                                    T_actionResult_sequence, hf_index, ett_mms_T_actionResult);
6703 
6704   return offset;
6705 }
6706 
6707 
6708 static const ber_sequence_t EventNotification_sequence[] = {
6709   { &hf_mms_eventEnrollmentName, BER_CLASS_CON, 0, BER_FLAGS_NOTCHKTAG, dissect_mms_ObjectName },
6710   { &hf_mms_eventConditionName_02, BER_CLASS_CON, 1, 0, dissect_mms_T_eventConditionName_01 },
6711   { &hf_mms_severity        , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_mms_Unsigned8 },
6712   { &hf_mms_currentState    , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_EC_State },
6713   { &hf_mms_transitionTime  , BER_CLASS_CON, 4, BER_FLAGS_NOTCHKTAG, dissect_mms_EventTime },
6714   { &hf_mms_notificationLost, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_BOOLEAN },
6715   { &hf_mms_alarmAcknowledgmentRule, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_AlarmAckRule },
6716   { &hf_mms_actionResult    , BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_T_actionResult },
6717   { NULL, 0, 0, 0, NULL }
6718 };
6719 
6720 static int
dissect_mms_EventNotification(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)6721 dissect_mms_EventNotification(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6722   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6723                                    EventNotification_sequence, hf_index, ett_mms_EventNotification);
6724 
6725   return offset;
6726 }
6727 
6728 
6729 static const value_string mms_UnconfirmedService_vals[] = {
6730   {   0, "informationReport" },
6731   {   1, "unsolicitedStatus" },
6732   {   2, "eventNotification" },
6733   { 0, NULL }
6734 };
6735 
6736 static const ber_choice_t UnconfirmedService_choice[] = {
6737   {   0, &hf_mms_informationReport, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mms_InformationReport },
6738   {   1, &hf_mms_unsolicitedStatus, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_mms_UnsolicitedStatus },
6739   {   2, &hf_mms_eventNotification, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_mms_EventNotification },
6740   { 0, NULL, 0, 0, 0, NULL }
6741 };
6742 
6743 static int
dissect_mms_UnconfirmedService(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)6744 dissect_mms_UnconfirmedService(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6745   offset = dissect_ber_choice(actx, tree, tvb, offset,
6746                                  UnconfirmedService_choice, hf_index, ett_mms_UnconfirmedService,
6747                                  NULL);
6748 
6749   return offset;
6750 }
6751 
6752 
6753 static const ber_sequence_t Unconfirmed_PDU_sequence[] = {
6754   { &hf_mms_unconfirmedService, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_mms_UnconfirmedService },
6755   { &hf_mms_cs_request_detail, BER_CLASS_CON, 79, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_mms_CS_Request_Detail },
6756   { NULL, 0, 0, 0, NULL }
6757 };
6758 
6759 static int
dissect_mms_Unconfirmed_PDU(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)6760 dissect_mms_Unconfirmed_PDU(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6761   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6762                                    Unconfirmed_PDU_sequence, hf_index, ett_mms_Unconfirmed_PDU);
6763 
6764   return offset;
6765 }
6766 
6767 
6768 static const value_string mms_T_confirmed_requestPDU_vals[] = {
6769   {   0, "other" },
6770   {   1, "unrecognized-service" },
6771   {   2, "unrecognized-modifier" },
6772   {   3, "invalid-invokeID" },
6773   {   4, "invalid-argument" },
6774   {   5, "invalid-modifier" },
6775   {   6, "max-serv-outstanding-exceeded" },
6776   {   8, "max-recursion-exceeded" },
6777   {   9, "value-out-of-range" },
6778   { 0, NULL }
6779 };
6780 
6781 
6782 static int
dissect_mms_T_confirmed_requestPDU(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)6783 dissect_mms_T_confirmed_requestPDU(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6784   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
6785                                                 NULL);
6786 
6787   return offset;
6788 }
6789 
6790 
6791 static const value_string mms_T_confirmed_responsePDU_vals[] = {
6792   {   0, "other" },
6793   {   1, "unrecognized-service" },
6794   {   2, "invalid-invokeID" },
6795   {   3, "invalid-result" },
6796   {   5, "max-recursion-exceeded" },
6797   {   6, "value-out-of-range" },
6798   { 0, NULL }
6799 };
6800 
6801 
6802 static int
dissect_mms_T_confirmed_responsePDU(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)6803 dissect_mms_T_confirmed_responsePDU(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6804   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
6805                                                 NULL);
6806 
6807   return offset;
6808 }
6809 
6810 
6811 static const value_string mms_T_confirmed_errorPDU_vals[] = {
6812   {   0, "other" },
6813   {   1, "unrecognized-service" },
6814   {   2, "invalid-invokeID" },
6815   {   3, "invalid-serviceError" },
6816   {   4, "value-out-of-range" },
6817   { 0, NULL }
6818 };
6819 
6820 
6821 static int
dissect_mms_T_confirmed_errorPDU(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)6822 dissect_mms_T_confirmed_errorPDU(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6823   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
6824                                                 NULL);
6825 
6826   return offset;
6827 }
6828 
6829 
6830 static const value_string mms_T_unconfirmedPDU_vals[] = {
6831   {   0, "other" },
6832   {   1, "unrecognized-service" },
6833   {   2, "invalid-argument" },
6834   {   3, "max-recursion-exceeded" },
6835   {   4, "value-out-of-range" },
6836   { 0, NULL }
6837 };
6838 
6839 
6840 static int
dissect_mms_T_unconfirmedPDU(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)6841 dissect_mms_T_unconfirmedPDU(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6842   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
6843                                                 NULL);
6844 
6845   return offset;
6846 }
6847 
6848 
6849 static const value_string mms_T_pdu_error_vals[] = {
6850   {   0, "unknown-pdu-type" },
6851   {   1, "invalid-pdu" },
6852   {   2, "illegal-acse-mapping" },
6853   { 0, NULL }
6854 };
6855 
6856 
6857 static int
dissect_mms_T_pdu_error(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)6858 dissect_mms_T_pdu_error(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6859   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
6860                                                 NULL);
6861 
6862   return offset;
6863 }
6864 
6865 
6866 static const value_string mms_T_cancel_requestPDU_vals[] = {
6867   {   0, "other" },
6868   {   1, "invalid-invokeID" },
6869   { 0, NULL }
6870 };
6871 
6872 
6873 static int
dissect_mms_T_cancel_requestPDU(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)6874 dissect_mms_T_cancel_requestPDU(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6875   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
6876                                                 NULL);
6877 
6878   return offset;
6879 }
6880 
6881 
6882 static const value_string mms_T_cancel_responsePDU_vals[] = {
6883   {   0, "other" },
6884   {   1, "invalid-invokeID" },
6885   { 0, NULL }
6886 };
6887 
6888 
6889 static int
dissect_mms_T_cancel_responsePDU(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)6890 dissect_mms_T_cancel_responsePDU(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6891   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
6892                                                 NULL);
6893 
6894   return offset;
6895 }
6896 
6897 
6898 static const value_string mms_T_cancel_errorPDU_vals[] = {
6899   {   0, "other" },
6900   {   1, "invalid-invokeID" },
6901   {   2, "invalid-serviceError" },
6902   {   3, "value-out-of-range" },
6903   { 0, NULL }
6904 };
6905 
6906 
6907 static int
dissect_mms_T_cancel_errorPDU(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)6908 dissect_mms_T_cancel_errorPDU(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6909   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
6910                                                 NULL);
6911 
6912   return offset;
6913 }
6914 
6915 
6916 static const value_string mms_T_conclude_requestPDU_vals[] = {
6917   {   0, "other" },
6918   {   1, "invalid-argument" },
6919   { 0, NULL }
6920 };
6921 
6922 
6923 static int
dissect_mms_T_conclude_requestPDU(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)6924 dissect_mms_T_conclude_requestPDU(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6925   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
6926                                                 NULL);
6927 
6928   return offset;
6929 }
6930 
6931 
6932 static const value_string mms_T_conclude_responsePDU_vals[] = {
6933   {   0, "other" },
6934   {   1, "invalid-result" },
6935   { 0, NULL }
6936 };
6937 
6938 
6939 static int
dissect_mms_T_conclude_responsePDU(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)6940 dissect_mms_T_conclude_responsePDU(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6941   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
6942                                                 NULL);
6943 
6944   return offset;
6945 }
6946 
6947 
6948 static const value_string mms_T_conclude_errorPDU_vals[] = {
6949   {   0, "other" },
6950   {   1, "invalid-serviceError" },
6951   {   2, "value-out-of-range" },
6952   { 0, NULL }
6953 };
6954 
6955 
6956 static int
dissect_mms_T_conclude_errorPDU(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)6957 dissect_mms_T_conclude_errorPDU(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6958   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
6959                                                 NULL);
6960 
6961   return offset;
6962 }
6963 
6964 
6965 static const value_string mms_T_rejectReason_vals[] = {
6966   {   1, "confirmed-requestPDU" },
6967   {   2, "confirmed-responsePDU" },
6968   {   3, "confirmed-errorPDU" },
6969   {   4, "unconfirmedPDU" },
6970   {   5, "pdu-error" },
6971   {   6, "cancel-requestPDU" },
6972   {   7, "cancel-responsePDU" },
6973   {   8, "cancel-errorPDU" },
6974   {   9, "conclude-requestPDU" },
6975   {  10, "conclude-responsePDU" },
6976   {  11, "conclude-errorPDU" },
6977   { 0, NULL }
6978 };
6979 
6980 static const ber_choice_t T_rejectReason_choice[] = {
6981   {   1, &hf_mms_confirmed_requestPDU, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_mms_T_confirmed_requestPDU },
6982   {   2, &hf_mms_confirmed_responsePDU, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_mms_T_confirmed_responsePDU },
6983   {   3, &hf_mms_confirmed_errorPDU, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_mms_T_confirmed_errorPDU },
6984   {   4, &hf_mms_unconfirmedPDU  , BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_mms_T_unconfirmedPDU },
6985   {   5, &hf_mms_pdu_error       , BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_mms_T_pdu_error },
6986   {   6, &hf_mms_cancel_requestPDU, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_mms_T_cancel_requestPDU },
6987   {   7, &hf_mms_cancel_responsePDU, BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_mms_T_cancel_responsePDU },
6988   {   8, &hf_mms_cancel_errorPDU , BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_mms_T_cancel_errorPDU },
6989   {   9, &hf_mms_conclude_requestPDU, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_mms_T_conclude_requestPDU },
6990   {  10, &hf_mms_conclude_responsePDU, BER_CLASS_CON, 10, BER_FLAGS_IMPLTAG, dissect_mms_T_conclude_responsePDU },
6991   {  11, &hf_mms_conclude_errorPDU, BER_CLASS_CON, 11, BER_FLAGS_IMPLTAG, dissect_mms_T_conclude_errorPDU },
6992   { 0, NULL, 0, 0, 0, NULL }
6993 };
6994 
6995 static int
dissect_mms_T_rejectReason(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)6996 dissect_mms_T_rejectReason(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6997   offset = dissect_ber_choice(actx, tree, tvb, offset,
6998                                  T_rejectReason_choice, hf_index, ett_mms_T_rejectReason,
6999                                  NULL);
7000 
7001   return offset;
7002 }
7003 
7004 
7005 static const ber_sequence_t RejectPDU_sequence[] = {
7006   { &hf_mms_originalInvokeID, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_Unsigned32 },
7007   { &hf_mms_rejectReason    , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_mms_T_rejectReason },
7008   { NULL, 0, 0, 0, NULL }
7009 };
7010 
7011 static int
dissect_mms_RejectPDU(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)7012 dissect_mms_RejectPDU(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7013   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
7014                                    RejectPDU_sequence, hf_index, ett_mms_RejectPDU);
7015 
7016   return offset;
7017 }
7018 
7019 
7020 
7021 static int
dissect_mms_Cancel_RequestPDU(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)7022 dissect_mms_Cancel_RequestPDU(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7023   offset = dissect_mms_Unsigned32(implicit_tag, tvb, offset, actx, tree, hf_index);
7024 
7025   return offset;
7026 }
7027 
7028 
7029 
7030 static int
dissect_mms_Cancel_ResponsePDU(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)7031 dissect_mms_Cancel_ResponsePDU(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7032   offset = dissect_mms_Unsigned32(implicit_tag, tvb, offset, actx, tree, hf_index);
7033 
7034   return offset;
7035 }
7036 
7037 
7038 static const ber_sequence_t Cancel_ErrorPDU_sequence[] = {
7039   { &hf_mms_originalInvokeID, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mms_Unsigned32 },
7040   { &hf_mms_serviceError    , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_mms_ServiceError },
7041   { NULL, 0, 0, 0, NULL }
7042 };
7043 
7044 static int
dissect_mms_Cancel_ErrorPDU(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)7045 dissect_mms_Cancel_ErrorPDU(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7046   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
7047                                    Cancel_ErrorPDU_sequence, hf_index, ett_mms_Cancel_ErrorPDU);
7048 
7049   return offset;
7050 }
7051 
7052 
7053 
7054 static int
dissect_mms_Integer16(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)7055 dissect_mms_Integer16(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7056   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
7057                                                 NULL);
7058 
7059   return offset;
7060 }
7061 
7062 
7063 static int * const ParameterSupportOptions_bits[] = {
7064   &hf_mms_ParameterSupportOptions_str1,
7065   &hf_mms_ParameterSupportOptions_str2,
7066   &hf_mms_ParameterSupportOptions_vnam,
7067   &hf_mms_ParameterSupportOptions_valt,
7068   &hf_mms_ParameterSupportOptions_vadr,
7069   &hf_mms_ParameterSupportOptions_vsca,
7070   &hf_mms_ParameterSupportOptions_tpy,
7071   &hf_mms_ParameterSupportOptions_vlis,
7072   &hf_mms_ParameterSupportOptions_real,
7073   &hf_mms_ParameterSupportOptions_spare_bit9,
7074   &hf_mms_ParameterSupportOptions_cei,
7075   NULL
7076 };
7077 
7078 static int
dissect_mms_ParameterSupportOptions(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)7079 dissect_mms_ParameterSupportOptions(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7080   offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
7081                                     ParameterSupportOptions_bits, 11, hf_index, ett_mms_ParameterSupportOptions,
7082                                     NULL);
7083 
7084   return offset;
7085 }
7086 
7087 
7088 static int * const ServiceSupportOptions_bits[] = {
7089   &hf_mms_ServiceSupportOptions_status,
7090   &hf_mms_ServiceSupportOptions_getNameList,
7091   &hf_mms_ServiceSupportOptions_identify,
7092   &hf_mms_ServiceSupportOptions_rename,
7093   &hf_mms_ServiceSupportOptions_read,
7094   &hf_mms_ServiceSupportOptions_write,
7095   &hf_mms_ServiceSupportOptions_getVariableAccessAttributes,
7096   &hf_mms_ServiceSupportOptions_defineNamedVariable,
7097   &hf_mms_ServiceSupportOptions_defineScatteredAccess,
7098   &hf_mms_ServiceSupportOptions_getScatteredAccessAttributes,
7099   &hf_mms_ServiceSupportOptions_deleteVariableAccess,
7100   &hf_mms_ServiceSupportOptions_defineNamedVariableList,
7101   &hf_mms_ServiceSupportOptions_getNamedVariableListAttributes,
7102   &hf_mms_ServiceSupportOptions_deleteNamedVariableList,
7103   &hf_mms_ServiceSupportOptions_defineNamedType,
7104   &hf_mms_ServiceSupportOptions_getNamedTypeAttributes,
7105   &hf_mms_ServiceSupportOptions_deleteNamedType,
7106   &hf_mms_ServiceSupportOptions_input,
7107   &hf_mms_ServiceSupportOptions_output,
7108   &hf_mms_ServiceSupportOptions_takeControl,
7109   &hf_mms_ServiceSupportOptions_relinquishControl,
7110   &hf_mms_ServiceSupportOptions_defineSemaphore,
7111   &hf_mms_ServiceSupportOptions_deleteSemaphore,
7112   &hf_mms_ServiceSupportOptions_reportSemaphoreStatus,
7113   &hf_mms_ServiceSupportOptions_reportPoolSemaphoreStatus,
7114   &hf_mms_ServiceSupportOptions_reportSemaphoreEntryStatus,
7115   &hf_mms_ServiceSupportOptions_initiateDownloadSequence,
7116   &hf_mms_ServiceSupportOptions_downloadSegment,
7117   &hf_mms_ServiceSupportOptions_terminateDownloadSequence,
7118   &hf_mms_ServiceSupportOptions_initiateUploadSequence,
7119   &hf_mms_ServiceSupportOptions_uploadSegment,
7120   &hf_mms_ServiceSupportOptions_terminateUploadSequence,
7121   &hf_mms_ServiceSupportOptions_requestDomainDownload,
7122   &hf_mms_ServiceSupportOptions_requestDomainUpload,
7123   &hf_mms_ServiceSupportOptions_loadDomainContent,
7124   &hf_mms_ServiceSupportOptions_storeDomainContent,
7125   &hf_mms_ServiceSupportOptions_deleteDomain,
7126   &hf_mms_ServiceSupportOptions_getDomainAttributes,
7127   &hf_mms_ServiceSupportOptions_createProgramInvocation,
7128   &hf_mms_ServiceSupportOptions_deleteProgramInvocation,
7129   &hf_mms_ServiceSupportOptions_start,
7130   &hf_mms_ServiceSupportOptions_stop,
7131   &hf_mms_ServiceSupportOptions_resume,
7132   &hf_mms_ServiceSupportOptions_reset,
7133   &hf_mms_ServiceSupportOptions_kill,
7134   &hf_mms_ServiceSupportOptions_getProgramInvocationAttributes,
7135   &hf_mms_ServiceSupportOptions_obtainFile,
7136   &hf_mms_ServiceSupportOptions_defineEventCondition,
7137   &hf_mms_ServiceSupportOptions_deleteEventCondition,
7138   &hf_mms_ServiceSupportOptions_getEventConditionAttributes,
7139   &hf_mms_ServiceSupportOptions_reportEventConditionStatus,
7140   &hf_mms_ServiceSupportOptions_alterEventConditionMonitoring,
7141   &hf_mms_ServiceSupportOptions_triggerEvent,
7142   &hf_mms_ServiceSupportOptions_defineEventAction,
7143   &hf_mms_ServiceSupportOptions_deleteEventAction,
7144   &hf_mms_ServiceSupportOptions_getEventActionAttributes,
7145   &hf_mms_ServiceSupportOptions_reportActionStatus,
7146   &hf_mms_ServiceSupportOptions_defineEventEnrollment,
7147   &hf_mms_ServiceSupportOptions_deleteEventEnrollment,
7148   &hf_mms_ServiceSupportOptions_alterEventEnrollment,
7149   &hf_mms_ServiceSupportOptions_reportEventEnrollmentStatus,
7150   &hf_mms_ServiceSupportOptions_getEventEnrollmentAttributes,
7151   &hf_mms_ServiceSupportOptions_acknowledgeEventNotification,
7152   &hf_mms_ServiceSupportOptions_getAlarmSummary,
7153   &hf_mms_ServiceSupportOptions_getAlarmEnrollmentSummary,
7154   &hf_mms_ServiceSupportOptions_readJournal,
7155   &hf_mms_ServiceSupportOptions_writeJournal,
7156   &hf_mms_ServiceSupportOptions_initializeJournal,
7157   &hf_mms_ServiceSupportOptions_reportJournalStatus,
7158   &hf_mms_ServiceSupportOptions_createJournal,
7159   &hf_mms_ServiceSupportOptions_deleteJournal,
7160   &hf_mms_ServiceSupportOptions_getCapabilityList,
7161   &hf_mms_ServiceSupportOptions_fileOpen,
7162   &hf_mms_ServiceSupportOptions_fileRead,
7163   &hf_mms_ServiceSupportOptions_fileClose,
7164   &hf_mms_ServiceSupportOptions_fileRename,
7165   &hf_mms_ServiceSupportOptions_fileDelete,
7166   &hf_mms_ServiceSupportOptions_fileDirectory,
7167   &hf_mms_ServiceSupportOptions_unsolicitedStatus,
7168   &hf_mms_ServiceSupportOptions_informationReport,
7169   &hf_mms_ServiceSupportOptions_eventNotification,
7170   &hf_mms_ServiceSupportOptions_attachToEventCondition,
7171   &hf_mms_ServiceSupportOptions_attachToSemaphore,
7172   &hf_mms_ServiceSupportOptions_conclude,
7173   &hf_mms_ServiceSupportOptions_cancel,
7174   NULL
7175 };
7176 
7177 static int
dissect_mms_ServiceSupportOptions(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)7178 dissect_mms_ServiceSupportOptions(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7179   offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
7180                                     ServiceSupportOptions_bits, 85, hf_index, ett_mms_ServiceSupportOptions,
7181                                     NULL);
7182 
7183   return offset;
7184 }
7185 
7186 
7187 static const ber_sequence_t InitRequestDetail_sequence[] = {
7188   { &hf_mms_proposedVersionNumber, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mms_Integer16 },
7189   { &hf_mms_proposedParameterCBB, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_mms_ParameterSupportOptions },
7190   { &hf_mms_servicesSupportedCalling, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_mms_ServiceSupportOptions },
7191   { NULL, 0, 0, 0, NULL }
7192 };
7193 
7194 static int
dissect_mms_InitRequestDetail(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)7195 dissect_mms_InitRequestDetail(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7196   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
7197                                    InitRequestDetail_sequence, hf_index, ett_mms_InitRequestDetail);
7198 
7199   return offset;
7200 }
7201 
7202 
7203 static const ber_sequence_t Initiate_RequestPDU_sequence[] = {
7204   { &hf_mms_localDetailCalling, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_Integer32 },
7205   { &hf_mms_proposedMaxServOutstandingCalling, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_mms_Integer16 },
7206   { &hf_mms_proposedMaxServOutstandingCalled, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_mms_Integer16 },
7207   { &hf_mms_proposedDataStructureNestingLevel, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_Integer8 },
7208   { &hf_mms_mmsInitRequestDetail, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_mms_InitRequestDetail },
7209   { NULL, 0, 0, 0, NULL }
7210 };
7211 
7212 static int
dissect_mms_Initiate_RequestPDU(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)7213 dissect_mms_Initiate_RequestPDU(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7214   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
7215                                    Initiate_RequestPDU_sequence, hf_index, ett_mms_Initiate_RequestPDU);
7216 
7217   return offset;
7218 }
7219 
7220 
7221 static const ber_sequence_t InitResponseDetail_sequence[] = {
7222   { &hf_mms_negociatedVersionNumber, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mms_Integer16 },
7223   { &hf_mms_negociatedParameterCBB, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_mms_ParameterSupportOptions },
7224   { &hf_mms_servicesSupportedCalled, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_mms_ServiceSupportOptions },
7225   { NULL, 0, 0, 0, NULL }
7226 };
7227 
7228 static int
dissect_mms_InitResponseDetail(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)7229 dissect_mms_InitResponseDetail(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7230   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
7231                                    InitResponseDetail_sequence, hf_index, ett_mms_InitResponseDetail);
7232 
7233   return offset;
7234 }
7235 
7236 
7237 static const ber_sequence_t Initiate_ResponsePDU_sequence[] = {
7238   { &hf_mms_localDetailCalled, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_Integer32 },
7239   { &hf_mms_negociatedMaxServOutstandingCalling, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_mms_Integer16 },
7240   { &hf_mms_negociatedMaxServOutstandingCalled, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_mms_Integer16 },
7241   { &hf_mms_negociatedDataStructureNestingLevel, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_Integer8 },
7242   { &hf_mms_mmsInitResponseDetail, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_mms_InitResponseDetail },
7243   { NULL, 0, 0, 0, NULL }
7244 };
7245 
7246 static int
dissect_mms_Initiate_ResponsePDU(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)7247 dissect_mms_Initiate_ResponsePDU(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7248   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
7249                                    Initiate_ResponsePDU_sequence, hf_index, ett_mms_Initiate_ResponsePDU);
7250 
7251   return offset;
7252 }
7253 
7254 
7255 
7256 static int
dissect_mms_Initiate_ErrorPDU(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)7257 dissect_mms_Initiate_ErrorPDU(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7258   offset = dissect_mms_ServiceError(implicit_tag, tvb, offset, actx, tree, hf_index);
7259 
7260   return offset;
7261 }
7262 
7263 
7264 
7265 static int
dissect_mms_Conclude_RequestPDU(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)7266 dissect_mms_Conclude_RequestPDU(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7267   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
7268 
7269   return offset;
7270 }
7271 
7272 
7273 
7274 static int
dissect_mms_Conclude_ResponsePDU(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)7275 dissect_mms_Conclude_ResponsePDU(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7276   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
7277 
7278   return offset;
7279 }
7280 
7281 
7282 
7283 static int
dissect_mms_Conclude_ErrorPDU(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)7284 dissect_mms_Conclude_ErrorPDU(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7285   offset = dissect_mms_ServiceError(implicit_tag, tvb, offset, actx, tree, hf_index);
7286 
7287   return offset;
7288 }
7289 
7290 
7291 const value_string mms_MMSpdu_vals[] = {
7292   {   0, "confirmed-RequestPDU" },
7293   {   1, "confirmed-ResponsePDU" },
7294   {   2, "confirmed-ErrorPDU" },
7295   {   3, "unconfirmed-PDU" },
7296   {   4, "rejectPDU" },
7297   {   5, "cancel-RequestPDU" },
7298   {   6, "cancel-ResponsePDU" },
7299   {   7, "cancel-ErrorPDU" },
7300   {   8, "initiate-RequestPDU" },
7301   {   9, "initiate-ResponsePDU" },
7302   {  10, "initiate-ErrorPDU" },
7303   {  11, "conclude-RequestPDU" },
7304   {  12, "conclude-ResponsePDU" },
7305   {  13, "conclude-ErrorPDU" },
7306   { 0, NULL }
7307 };
7308 
7309 static const ber_choice_t MMSpdu_choice[] = {
7310   {   0, &hf_mms_confirmed_RequestPDU, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mms_Confirmed_RequestPDU },
7311   {   1, &hf_mms_confirmed_ResponsePDU, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_mms_Confirmed_ResponsePDU },
7312   {   2, &hf_mms_confirmed_ErrorPDU, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_mms_Confirmed_ErrorPDU },
7313   {   3, &hf_mms_unconfirmed_PDU , BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_mms_Unconfirmed_PDU },
7314   {   4, &hf_mms_rejectPDU       , BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_mms_RejectPDU },
7315   {   5, &hf_mms_cancel_RequestPDU, BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_mms_Cancel_RequestPDU },
7316   {   6, &hf_mms_cancel_ResponsePDU, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_mms_Cancel_ResponsePDU },
7317   {   7, &hf_mms_cancel_ErrorPDU , BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_mms_Cancel_ErrorPDU },
7318   {   8, &hf_mms_initiate_RequestPDU, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_mms_Initiate_RequestPDU },
7319   {   9, &hf_mms_initiate_ResponsePDU, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_mms_Initiate_ResponsePDU },
7320   {  10, &hf_mms_initiate_ErrorPDU, BER_CLASS_CON, 10, BER_FLAGS_IMPLTAG, dissect_mms_Initiate_ErrorPDU },
7321   {  11, &hf_mms_conclude_RequestPDU, BER_CLASS_CON, 11, BER_FLAGS_IMPLTAG, dissect_mms_Conclude_RequestPDU },
7322   {  12, &hf_mms_conclude_ResponsePDU, BER_CLASS_CON, 12, BER_FLAGS_IMPLTAG, dissect_mms_Conclude_ResponsePDU },
7323   {  13, &hf_mms_conclude_ErrorPDU, BER_CLASS_CON, 13, BER_FLAGS_IMPLTAG, dissect_mms_Conclude_ErrorPDU },
7324   { 0, NULL, 0, 0, 0, NULL }
7325 };
7326 
7327 int
dissect_mms_MMSpdu(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)7328 dissect_mms_MMSpdu(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7329 #line 86 "./asn1/mms/mms.cnf"
7330 	gint branch_taken;
7331 
7332   offset = dissect_ber_choice(actx, tree, tvb, offset,
7333                                  MMSpdu_choice, hf_index, ett_mms_MMSpdu,
7334                                  &branch_taken);
7335 
7336 
7337 	if( (branch_taken!=-1) && mms_MMSpdu_vals[branch_taken].strptr ){
7338 		if (mms_has_private_data(actx))
7339 			col_append_fstr(actx->pinfo->cinfo, COL_INFO, "%s%s%s",
7340 				private_data_get_preCinfo(actx), mms_MMSpdu_vals[branch_taken].strptr, private_data_get_moreCinfo(actx));
7341 		else
7342 			col_append_fstr(actx->pinfo->cinfo, COL_INFO, "%s",
7343 				mms_MMSpdu_vals[branch_taken].strptr);
7344 	}
7345 
7346 
7347 
7348   return offset;
7349 }
7350 
7351 
7352 /*--- End of included file: packet-mms-fn.c ---*/
7353 #line 125 "./asn1/mms/packet-mms-template.c"
7354 
7355 /*
7356 * Dissect MMS PDUs inside a PPDU.
7357 */
7358 static int
dissect_mms(tvbuff_t * tvb,packet_info * pinfo,proto_tree * parent_tree,void * data _U_)7359 dissect_mms(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void* data _U_)
7360 {
7361 	int offset = 0;
7362 	int old_offset;
7363 	proto_item *item=NULL;
7364 	proto_tree *tree=NULL;
7365 	asn1_ctx_t asn1_ctx;
7366 	asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
7367 
7368 	if(parent_tree){
7369 		item = proto_tree_add_item(parent_tree, proto_mms, tvb, 0, -1, ENC_NA);
7370 		tree = proto_item_add_subtree(item, ett_mms);
7371 	}
7372 	col_set_str(pinfo->cinfo, COL_PROTOCOL, "MMS");
7373 	col_clear(pinfo->cinfo, COL_INFO);
7374 
7375 	while (tvb_reported_length_remaining(tvb, offset) > 0){
7376 		old_offset=offset;
7377 		offset=dissect_mms_MMSpdu(FALSE, tvb, offset, &asn1_ctx , tree, -1);
7378 		if(offset == old_offset){
7379 			proto_tree_add_expert(tree, pinfo, &ei_mms_zero_pdu, tvb, offset, -1);
7380 			break;
7381 		}
7382 	}
7383 	return tvb_captured_length(tvb);
7384 }
7385 
7386 
7387 /*--- proto_register_mms -------------------------------------------*/
proto_register_mms(void)7388 void proto_register_mms(void) {
7389 
7390 	/* List of fields */
7391 	static hf_register_info hf[] =
7392 	{
7393 
7394 /*--- Included file: packet-mms-hfarr.c ---*/
7395 #line 1 "./asn1/mms/packet-mms-hfarr.c"
7396     { &hf_mms_confirmed_RequestPDU,
7397       { "confirmed-RequestPDU", "mms.confirmed_RequestPDU_element",
7398         FT_NONE, BASE_NONE, NULL, 0,
7399         NULL, HFILL }},
7400     { &hf_mms_confirmed_ResponsePDU,
7401       { "confirmed-ResponsePDU", "mms.confirmed_ResponsePDU_element",
7402         FT_NONE, BASE_NONE, NULL, 0,
7403         NULL, HFILL }},
7404     { &hf_mms_confirmed_ErrorPDU,
7405       { "confirmed-ErrorPDU", "mms.confirmed_ErrorPDU_element",
7406         FT_NONE, BASE_NONE, NULL, 0,
7407         NULL, HFILL }},
7408     { &hf_mms_unconfirmed_PDU,
7409       { "unconfirmed-PDU", "mms.unconfirmed_PDU_element",
7410         FT_NONE, BASE_NONE, NULL, 0,
7411         NULL, HFILL }},
7412     { &hf_mms_rejectPDU,
7413       { "rejectPDU", "mms.rejectPDU_element",
7414         FT_NONE, BASE_NONE, NULL, 0,
7415         NULL, HFILL }},
7416     { &hf_mms_cancel_RequestPDU,
7417       { "cancel-RequestPDU", "mms.cancel_RequestPDU",
7418         FT_INT32, BASE_DEC, NULL, 0,
7419         NULL, HFILL }},
7420     { &hf_mms_cancel_ResponsePDU,
7421       { "cancel-ResponsePDU", "mms.cancel_ResponsePDU",
7422         FT_INT32, BASE_DEC, NULL, 0,
7423         NULL, HFILL }},
7424     { &hf_mms_cancel_ErrorPDU,
7425       { "cancel-ErrorPDU", "mms.cancel_ErrorPDU_element",
7426         FT_NONE, BASE_NONE, NULL, 0,
7427         NULL, HFILL }},
7428     { &hf_mms_initiate_RequestPDU,
7429       { "initiate-RequestPDU", "mms.initiate_RequestPDU_element",
7430         FT_NONE, BASE_NONE, NULL, 0,
7431         NULL, HFILL }},
7432     { &hf_mms_initiate_ResponsePDU,
7433       { "initiate-ResponsePDU", "mms.initiate_ResponsePDU_element",
7434         FT_NONE, BASE_NONE, NULL, 0,
7435         NULL, HFILL }},
7436     { &hf_mms_initiate_ErrorPDU,
7437       { "initiate-ErrorPDU", "mms.initiate_ErrorPDU_element",
7438         FT_NONE, BASE_NONE, NULL, 0,
7439         NULL, HFILL }},
7440     { &hf_mms_conclude_RequestPDU,
7441       { "conclude-RequestPDU", "mms.conclude_RequestPDU_element",
7442         FT_NONE, BASE_NONE, NULL, 0,
7443         NULL, HFILL }},
7444     { &hf_mms_conclude_ResponsePDU,
7445       { "conclude-ResponsePDU", "mms.conclude_ResponsePDU_element",
7446         FT_NONE, BASE_NONE, NULL, 0,
7447         NULL, HFILL }},
7448     { &hf_mms_conclude_ErrorPDU,
7449       { "conclude-ErrorPDU", "mms.conclude_ErrorPDU_element",
7450         FT_NONE, BASE_NONE, NULL, 0,
7451         NULL, HFILL }},
7452     { &hf_mms_invokeID,
7453       { "invokeID", "mms.invokeID",
7454         FT_INT32, BASE_DEC, NULL, 0,
7455         "Unsigned32", HFILL }},
7456     { &hf_mms_listOfModifier,
7457       { "listOfModifier", "mms.listOfModifier",
7458         FT_UINT32, BASE_DEC, NULL, 0,
7459         "SEQUENCE_OF_Modifier", HFILL }},
7460     { &hf_mms_listOfModifier_item,
7461       { "Modifier", "mms.Modifier",
7462         FT_UINT32, BASE_DEC, VALS(mms_Modifier_vals), 0,
7463         NULL, HFILL }},
7464     { &hf_mms_confirmedServiceRequest,
7465       { "confirmedServiceRequest", "mms.confirmedServiceRequest",
7466         FT_UINT32, BASE_DEC, VALS(mms_ConfirmedServiceRequest_vals), 0,
7467         NULL, HFILL }},
7468     { &hf_mms_cs_request_detail,
7469       { "cs-request-detail", "mms.cs_request_detail",
7470         FT_UINT32, BASE_DEC, VALS(mms_CS_Request_Detail_vals), 0,
7471         NULL, HFILL }},
7472     { &hf_mms_unconfirmedService,
7473       { "unconfirmedService", "mms.unconfirmedService",
7474         FT_UINT32, BASE_DEC, VALS(mms_UnconfirmedService_vals), 0,
7475         NULL, HFILL }},
7476     { &hf_mms_confirmedServiceResponse,
7477       { "confirmedServiceResponse", "mms.confirmedServiceResponse",
7478         FT_UINT32, BASE_DEC, VALS(mms_ConfirmedServiceResponse_vals), 0,
7479         NULL, HFILL }},
7480     { &hf_mms_modifierPosition,
7481       { "modifierPosition", "mms.modifierPosition",
7482         FT_INT32, BASE_DEC, NULL, 0,
7483         "Unsigned32", HFILL }},
7484     { &hf_mms_serviceError,
7485       { "serviceError", "mms.serviceError_element",
7486         FT_NONE, BASE_NONE, NULL, 0,
7487         NULL, HFILL }},
7488     { &hf_mms_informationReport,
7489       { "informationReport", "mms.informationReport_element",
7490         FT_NONE, BASE_NONE, NULL, 0,
7491         NULL, HFILL }},
7492     { &hf_mms_unsolicitedStatus,
7493       { "unsolicitedStatus", "mms.unsolicitedStatus_element",
7494         FT_NONE, BASE_NONE, NULL, 0,
7495         NULL, HFILL }},
7496     { &hf_mms_eventNotification,
7497       { "eventNotification", "mms.eventNotification_element",
7498         FT_NONE, BASE_NONE, NULL, 0,
7499         NULL, HFILL }},
7500     { &hf_mms_attach_To_Event_Condition,
7501       { "attach-To-Event-Condition", "mms.attach_To_Event_Condition_element",
7502         FT_NONE, BASE_NONE, NULL, 0,
7503         "AttachToEventCondition", HFILL }},
7504     { &hf_mms_attach_To_Semaphore,
7505       { "attach-To-Semaphore", "mms.attach_To_Semaphore_element",
7506         FT_NONE, BASE_NONE, NULL, 0,
7507         "AttachToSemaphore", HFILL }},
7508     { &hf_mms_status,
7509       { "status", "mms.status",
7510         FT_BOOLEAN, BASE_NONE, NULL, 0,
7511         "Status_Request", HFILL }},
7512     { &hf_mms_getNameList,
7513       { "getNameList", "mms.getNameList_element",
7514         FT_NONE, BASE_NONE, NULL, 0,
7515         "GetNameList_Request", HFILL }},
7516     { &hf_mms_identify,
7517       { "identify", "mms.identify_element",
7518         FT_NONE, BASE_NONE, NULL, 0,
7519         "Identify_Request", HFILL }},
7520     { &hf_mms_rename,
7521       { "rename", "mms.rename_element",
7522         FT_NONE, BASE_NONE, NULL, 0,
7523         "Rename_Request", HFILL }},
7524     { &hf_mms_read,
7525       { "read", "mms.read_element",
7526         FT_NONE, BASE_NONE, NULL, 0,
7527         "Read_Request", HFILL }},
7528     { &hf_mms_write,
7529       { "write", "mms.write_element",
7530         FT_NONE, BASE_NONE, NULL, 0,
7531         "Write_Request", HFILL }},
7532     { &hf_mms_getVariableAccessAttributes,
7533       { "getVariableAccessAttributes", "mms.getVariableAccessAttributes",
7534         FT_UINT32, BASE_DEC, VALS(mms_GetVariableAccessAttributes_Request_vals), 0,
7535         "GetVariableAccessAttributes_Request", HFILL }},
7536     { &hf_mms_defineNamedVariable,
7537       { "defineNamedVariable", "mms.defineNamedVariable_element",
7538         FT_NONE, BASE_NONE, NULL, 0,
7539         "DefineNamedVariable_Request", HFILL }},
7540     { &hf_mms_defineScatteredAccess,
7541       { "defineScatteredAccess", "mms.defineScatteredAccess_element",
7542         FT_NONE, BASE_NONE, NULL, 0,
7543         "DefineScatteredAccess_Request", HFILL }},
7544     { &hf_mms_getScatteredAccessAttributes,
7545       { "getScatteredAccessAttributes", "mms.getScatteredAccessAttributes",
7546         FT_UINT32, BASE_DEC, VALS(mms_ObjectName_vals), 0,
7547         "GetScatteredAccessAttributes_Request", HFILL }},
7548     { &hf_mms_deleteVariableAccess,
7549       { "deleteVariableAccess", "mms.deleteVariableAccess_element",
7550         FT_NONE, BASE_NONE, NULL, 0,
7551         "DeleteVariableAccess_Request", HFILL }},
7552     { &hf_mms_defineNamedVariableList,
7553       { "defineNamedVariableList", "mms.defineNamedVariableList_element",
7554         FT_NONE, BASE_NONE, NULL, 0,
7555         "DefineNamedVariableList_Request", HFILL }},
7556     { &hf_mms_getNamedVariableListAttributes,
7557       { "getNamedVariableListAttributes", "mms.getNamedVariableListAttributes",
7558         FT_UINT32, BASE_DEC, VALS(mms_ObjectName_vals), 0,
7559         "GetNamedVariableListAttributes_Request", HFILL }},
7560     { &hf_mms_deleteNamedVariableList,
7561       { "deleteNamedVariableList", "mms.deleteNamedVariableList_element",
7562         FT_NONE, BASE_NONE, NULL, 0,
7563         "DeleteNamedVariableList_Request", HFILL }},
7564     { &hf_mms_defineNamedType,
7565       { "defineNamedType", "mms.defineNamedType_element",
7566         FT_NONE, BASE_NONE, NULL, 0,
7567         "DefineNamedType_Request", HFILL }},
7568     { &hf_mms_getNamedTypeAttributes,
7569       { "getNamedTypeAttributes", "mms.getNamedTypeAttributes",
7570         FT_UINT32, BASE_DEC, VALS(mms_ObjectName_vals), 0,
7571         "GetNamedTypeAttributes_Request", HFILL }},
7572     { &hf_mms_deleteNamedType,
7573       { "deleteNamedType", "mms.deleteNamedType_element",
7574         FT_NONE, BASE_NONE, NULL, 0,
7575         "DeleteNamedType_Request", HFILL }},
7576     { &hf_mms_input,
7577       { "input", "mms.input_element",
7578         FT_NONE, BASE_NONE, NULL, 0,
7579         "Input_Request", HFILL }},
7580     { &hf_mms_output,
7581       { "output", "mms.output_element",
7582         FT_NONE, BASE_NONE, NULL, 0,
7583         "Output_Request", HFILL }},
7584     { &hf_mms_takeControl,
7585       { "takeControl", "mms.takeControl_element",
7586         FT_NONE, BASE_NONE, NULL, 0,
7587         "TakeControl_Request", HFILL }},
7588     { &hf_mms_relinquishControl,
7589       { "relinquishControl", "mms.relinquishControl_element",
7590         FT_NONE, BASE_NONE, NULL, 0,
7591         "RelinquishControl_Request", HFILL }},
7592     { &hf_mms_defineSemaphore,
7593       { "defineSemaphore", "mms.defineSemaphore_element",
7594         FT_NONE, BASE_NONE, NULL, 0,
7595         "DefineSemaphore_Request", HFILL }},
7596     { &hf_mms_deleteSemaphore,
7597       { "deleteSemaphore", "mms.deleteSemaphore",
7598         FT_UINT32, BASE_DEC, VALS(mms_ObjectName_vals), 0,
7599         "DeleteSemaphore_Request", HFILL }},
7600     { &hf_mms_reportSemaphoreStatus,
7601       { "reportSemaphoreStatus", "mms.reportSemaphoreStatus",
7602         FT_UINT32, BASE_DEC, VALS(mms_ObjectName_vals), 0,
7603         "ReportSemaphoreStatus_Request", HFILL }},
7604     { &hf_mms_reportPoolSemaphoreStatus,
7605       { "reportPoolSemaphoreStatus", "mms.reportPoolSemaphoreStatus_element",
7606         FT_NONE, BASE_NONE, NULL, 0,
7607         "ReportPoolSemaphoreStatus_Request", HFILL }},
7608     { &hf_mms_reportSemaphoreEntryStatus,
7609       { "reportSemaphoreEntryStatus", "mms.reportSemaphoreEntryStatus_element",
7610         FT_NONE, BASE_NONE, NULL, 0,
7611         "ReportSemaphoreEntryStatus_Request", HFILL }},
7612     { &hf_mms_initiateDownloadSequence,
7613       { "initiateDownloadSequence", "mms.initiateDownloadSequence_element",
7614         FT_NONE, BASE_NONE, NULL, 0,
7615         "InitiateDownloadSequence_Request", HFILL }},
7616     { &hf_mms_downloadSegment,
7617       { "downloadSegment", "mms.downloadSegment",
7618         FT_STRING, BASE_NONE, NULL, 0,
7619         "DownloadSegment_Request", HFILL }},
7620     { &hf_mms_terminateDownloadSequence,
7621       { "terminateDownloadSequence", "mms.terminateDownloadSequence_element",
7622         FT_NONE, BASE_NONE, NULL, 0,
7623         "TerminateDownloadSequence_Request", HFILL }},
7624     { &hf_mms_initiateUploadSequence,
7625       { "initiateUploadSequence", "mms.initiateUploadSequence",
7626         FT_STRING, BASE_NONE, NULL, 0,
7627         "InitiateUploadSequence_Request", HFILL }},
7628     { &hf_mms_uploadSegment,
7629       { "uploadSegment", "mms.uploadSegment",
7630         FT_INT32, BASE_DEC, NULL, 0,
7631         "UploadSegment_Request", HFILL }},
7632     { &hf_mms_terminateUploadSequence,
7633       { "terminateUploadSequence", "mms.terminateUploadSequence",
7634         FT_INT32, BASE_DEC, NULL, 0,
7635         "TerminateUploadSequence_Request", HFILL }},
7636     { &hf_mms_requestDomainDownload,
7637       { "requestDomainDownload", "mms.requestDomainDownload_element",
7638         FT_NONE, BASE_NONE, NULL, 0,
7639         "RequestDomainDownload_Request", HFILL }},
7640     { &hf_mms_requestDomainUpload,
7641       { "requestDomainUpload", "mms.requestDomainUpload_element",
7642         FT_NONE, BASE_NONE, NULL, 0,
7643         "RequestDomainUpload_Request", HFILL }},
7644     { &hf_mms_loadDomainContent,
7645       { "loadDomainContent", "mms.loadDomainContent_element",
7646         FT_NONE, BASE_NONE, NULL, 0,
7647         "LoadDomainContent_Request", HFILL }},
7648     { &hf_mms_storeDomainContent,
7649       { "storeDomainContent", "mms.storeDomainContent_element",
7650         FT_NONE, BASE_NONE, NULL, 0,
7651         "StoreDomainContent_Request", HFILL }},
7652     { &hf_mms_deleteDomain,
7653       { "deleteDomain", "mms.deleteDomain",
7654         FT_STRING, BASE_NONE, NULL, 0,
7655         "DeleteDomain_Request", HFILL }},
7656     { &hf_mms_getDomainAttributes,
7657       { "getDomainAttributes", "mms.getDomainAttributes",
7658         FT_STRING, BASE_NONE, NULL, 0,
7659         "GetDomainAttributes_Request", HFILL }},
7660     { &hf_mms_createProgramInvocation,
7661       { "createProgramInvocation", "mms.createProgramInvocation_element",
7662         FT_NONE, BASE_NONE, NULL, 0,
7663         "CreateProgramInvocation_Request", HFILL }},
7664     { &hf_mms_deleteProgramInvocation,
7665       { "deleteProgramInvocation", "mms.deleteProgramInvocation",
7666         FT_STRING, BASE_NONE, NULL, 0,
7667         "DeleteProgramInvocation_Request", HFILL }},
7668     { &hf_mms_start,
7669       { "start", "mms.start_element",
7670         FT_NONE, BASE_NONE, NULL, 0,
7671         "Start_Request", HFILL }},
7672     { &hf_mms_stop,
7673       { "stop", "mms.stop_element",
7674         FT_NONE, BASE_NONE, NULL, 0,
7675         "Stop_Request", HFILL }},
7676     { &hf_mms_resume,
7677       { "resume", "mms.resume_element",
7678         FT_NONE, BASE_NONE, NULL, 0,
7679         "Resume_Request", HFILL }},
7680     { &hf_mms_reset,
7681       { "reset", "mms.reset_element",
7682         FT_NONE, BASE_NONE, NULL, 0,
7683         "Reset_Request", HFILL }},
7684     { &hf_mms_kill,
7685       { "kill", "mms.kill_element",
7686         FT_NONE, BASE_NONE, NULL, 0,
7687         "Kill_Request", HFILL }},
7688     { &hf_mms_getProgramInvocationAttributes,
7689       { "getProgramInvocationAttributes", "mms.getProgramInvocationAttributes",
7690         FT_STRING, BASE_NONE, NULL, 0,
7691         "GetProgramInvocationAttributes_Request", HFILL }},
7692     { &hf_mms_obtainFile,
7693       { "obtainFile", "mms.obtainFile_element",
7694         FT_NONE, BASE_NONE, NULL, 0,
7695         "ObtainFile_Request", HFILL }},
7696     { &hf_mms_defineEventCondition,
7697       { "defineEventCondition", "mms.defineEventCondition_element",
7698         FT_NONE, BASE_NONE, NULL, 0,
7699         "DefineEventCondition_Request", HFILL }},
7700     { &hf_mms_confirmedServiceRequest_deleteEventCondition,
7701       { "deleteEventCondition", "mms.confirmedServiceRequest.deleteEventCondition",
7702         FT_UINT32, BASE_DEC, VALS(mms_DeleteEventCondition_Request_vals), 0,
7703         "DeleteEventCondition_Request", HFILL }},
7704     { &hf_mms_getEventConditionAttributes,
7705       { "getEventConditionAttributes", "mms.getEventConditionAttributes",
7706         FT_UINT32, BASE_DEC, VALS(mms_ObjectName_vals), 0,
7707         "GetEventConditionAttributes_Request", HFILL }},
7708     { &hf_mms_reportEventConditionStatus,
7709       { "reportEventConditionStatus", "mms.reportEventConditionStatus",
7710         FT_UINT32, BASE_DEC, VALS(mms_ObjectName_vals), 0,
7711         "ReportEventConditionStatus_Request", HFILL }},
7712     { &hf_mms_alterEventConditionMonitoring,
7713       { "alterEventConditionMonitoring", "mms.alterEventConditionMonitoring_element",
7714         FT_NONE, BASE_NONE, NULL, 0,
7715         "AlterEventConditionMonitoring_Request", HFILL }},
7716     { &hf_mms_triggerEvent,
7717       { "triggerEvent", "mms.triggerEvent_element",
7718         FT_NONE, BASE_NONE, NULL, 0,
7719         "TriggerEvent_Request", HFILL }},
7720     { &hf_mms_defineEventAction,
7721       { "defineEventAction", "mms.defineEventAction_element",
7722         FT_NONE, BASE_NONE, NULL, 0,
7723         "DefineEventAction_Request", HFILL }},
7724     { &hf_mms_confirmedServiceRequest_deleteEventAction,
7725       { "deleteEventAction", "mms.confirmedServiceRequest.deleteEventAction",
7726         FT_UINT32, BASE_DEC, VALS(mms_DeleteEventAction_Request_vals), 0,
7727         "DeleteEventAction_Request", HFILL }},
7728     { &hf_mms_getEventActionAttributes,
7729       { "getEventActionAttributes", "mms.getEventActionAttributes",
7730         FT_UINT32, BASE_DEC, VALS(mms_ObjectName_vals), 0,
7731         "GetEventActionAttributes_Request", HFILL }},
7732     { &hf_mms_reportEventActionStatus,
7733       { "reportEventActionStatus", "mms.reportEventActionStatus",
7734         FT_UINT32, BASE_DEC, VALS(mms_ObjectName_vals), 0,
7735         "ReportEventActionStatus_Request", HFILL }},
7736     { &hf_mms_defineEventEnrollment,
7737       { "defineEventEnrollment", "mms.defineEventEnrollment_element",
7738         FT_NONE, BASE_NONE, NULL, 0,
7739         "DefineEventEnrollment_Request", HFILL }},
7740     { &hf_mms_confirmedServiceRequest_deleteEventEnrollment,
7741       { "deleteEventEnrollment", "mms.confirmedServiceRequest.deleteEventEnrollment",
7742         FT_UINT32, BASE_DEC, VALS(mms_DeleteEventEnrollment_Request_vals), 0,
7743         "DeleteEventEnrollment_Request", HFILL }},
7744     { &hf_mms_alterEventEnrollment,
7745       { "alterEventEnrollment", "mms.alterEventEnrollment_element",
7746         FT_NONE, BASE_NONE, NULL, 0,
7747         "AlterEventEnrollment_Request", HFILL }},
7748     { &hf_mms_reportEventEnrollmentStatus,
7749       { "reportEventEnrollmentStatus", "mms.reportEventEnrollmentStatus",
7750         FT_UINT32, BASE_DEC, VALS(mms_ObjectName_vals), 0,
7751         "ReportEventEnrollmentStatus_Request", HFILL }},
7752     { &hf_mms_getEventEnrollmentAttributes,
7753       { "getEventEnrollmentAttributes", "mms.getEventEnrollmentAttributes_element",
7754         FT_NONE, BASE_NONE, NULL, 0,
7755         "GetEventEnrollmentAttributes_Request", HFILL }},
7756     { &hf_mms_acknowledgeEventNotification,
7757       { "acknowledgeEventNotification", "mms.acknowledgeEventNotification_element",
7758         FT_NONE, BASE_NONE, NULL, 0,
7759         "AcknowledgeEventNotification_Request", HFILL }},
7760     { &hf_mms_getAlarmSummary,
7761       { "getAlarmSummary", "mms.getAlarmSummary_element",
7762         FT_NONE, BASE_NONE, NULL, 0,
7763         "GetAlarmSummary_Request", HFILL }},
7764     { &hf_mms_getAlarmEnrollmentSummary,
7765       { "getAlarmEnrollmentSummary", "mms.getAlarmEnrollmentSummary_element",
7766         FT_NONE, BASE_NONE, NULL, 0,
7767         "GetAlarmEnrollmentSummary_Request", HFILL }},
7768     { &hf_mms_readJournal,
7769       { "readJournal", "mms.readJournal_element",
7770         FT_NONE, BASE_NONE, NULL, 0,
7771         "ReadJournal_Request", HFILL }},
7772     { &hf_mms_writeJournal,
7773       { "writeJournal", "mms.writeJournal_element",
7774         FT_NONE, BASE_NONE, NULL, 0,
7775         "WriteJournal_Request", HFILL }},
7776     { &hf_mms_initializeJournal,
7777       { "initializeJournal", "mms.initializeJournal_element",
7778         FT_NONE, BASE_NONE, NULL, 0,
7779         "InitializeJournal_Request", HFILL }},
7780     { &hf_mms_reportJournalStatus,
7781       { "reportJournalStatus", "mms.reportJournalStatus",
7782         FT_UINT32, BASE_DEC, VALS(mms_ObjectName_vals), 0,
7783         "ReportJournalStatus_Request", HFILL }},
7784     { &hf_mms_createJournal,
7785       { "createJournal", "mms.createJournal_element",
7786         FT_NONE, BASE_NONE, NULL, 0,
7787         "CreateJournal_Request", HFILL }},
7788     { &hf_mms_deleteJournal,
7789       { "deleteJournal", "mms.deleteJournal_element",
7790         FT_NONE, BASE_NONE, NULL, 0,
7791         "DeleteJournal_Request", HFILL }},
7792     { &hf_mms_getCapabilityList,
7793       { "getCapabilityList", "mms.getCapabilityList_element",
7794         FT_NONE, BASE_NONE, NULL, 0,
7795         "GetCapabilityList_Request", HFILL }},
7796     { &hf_mms_fileOpen,
7797       { "fileOpen", "mms.fileOpen_element",
7798         FT_NONE, BASE_NONE, NULL, 0,
7799         "FileOpen_Request", HFILL }},
7800     { &hf_mms_fileRead,
7801       { "fileRead", "mms.fileRead",
7802         FT_INT32, BASE_DEC, NULL, 0,
7803         "FileRead_Request", HFILL }},
7804     { &hf_mms_fileClose,
7805       { "fileClose", "mms.fileClose",
7806         FT_INT32, BASE_DEC, NULL, 0,
7807         "FileClose_Request", HFILL }},
7808     { &hf_mms_fileRename,
7809       { "fileRename", "mms.fileRename_element",
7810         FT_NONE, BASE_NONE, NULL, 0,
7811         "FileRename_Request", HFILL }},
7812     { &hf_mms_fileDelete,
7813       { "fileDelete", "mms.fileDelete",
7814         FT_UINT32, BASE_DEC, NULL, 0,
7815         "FileDelete_Request", HFILL }},
7816     { &hf_mms_fileDirectory,
7817       { "fileDirectory", "mms.fileDirectory_element",
7818         FT_NONE, BASE_NONE, NULL, 0,
7819         "FileDirectory_Request", HFILL }},
7820     { &hf_mms_foo,
7821       { "foo", "mms.foo",
7822         FT_INT32, BASE_DEC, NULL, 0,
7823         "INTEGER", HFILL }},
7824     { &hf_mms_status_01,
7825       { "status", "mms.status_element",
7826         FT_NONE, BASE_NONE, NULL, 0,
7827         "Status_Response", HFILL }},
7828     { &hf_mms_getNameList_01,
7829       { "getNameList", "mms.getNameList_element",
7830         FT_NONE, BASE_NONE, NULL, 0,
7831         "GetNameList_Response", HFILL }},
7832     { &hf_mms_identify_01,
7833       { "identify", "mms.identify_element",
7834         FT_NONE, BASE_NONE, NULL, 0,
7835         "Identify_Response", HFILL }},
7836     { &hf_mms_rename_01,
7837       { "rename", "mms.rename_element",
7838         FT_NONE, BASE_NONE, NULL, 0,
7839         "Rename_Response", HFILL }},
7840     { &hf_mms_read_01,
7841       { "read", "mms.read_element",
7842         FT_NONE, BASE_NONE, NULL, 0,
7843         "Read_Response", HFILL }},
7844     { &hf_mms_write_01,
7845       { "write", "mms.write",
7846         FT_UINT32, BASE_DEC, NULL, 0,
7847         "Write_Response", HFILL }},
7848     { &hf_mms_getVariableAccessAttributes_01,
7849       { "getVariableAccessAttributes", "mms.getVariableAccessAttributes_element",
7850         FT_NONE, BASE_NONE, NULL, 0,
7851         "GetVariableAccessAttributes_Response", HFILL }},
7852     { &hf_mms_defineNamedVariable_01,
7853       { "defineNamedVariable", "mms.defineNamedVariable_element",
7854         FT_NONE, BASE_NONE, NULL, 0,
7855         "DefineNamedVariable_Response", HFILL }},
7856     { &hf_mms_defineScatteredAccess_01,
7857       { "defineScatteredAccess", "mms.defineScatteredAccess_element",
7858         FT_NONE, BASE_NONE, NULL, 0,
7859         "DefineScatteredAccess_Response", HFILL }},
7860     { &hf_mms_getScatteredAccessAttributes_01,
7861       { "getScatteredAccessAttributes", "mms.getScatteredAccessAttributes_element",
7862         FT_NONE, BASE_NONE, NULL, 0,
7863         "GetScatteredAccessAttributes_Response", HFILL }},
7864     { &hf_mms_deleteVariableAccess_01,
7865       { "deleteVariableAccess", "mms.deleteVariableAccess_element",
7866         FT_NONE, BASE_NONE, NULL, 0,
7867         "DeleteVariableAccess_Response", HFILL }},
7868     { &hf_mms_defineNamedVariableList_01,
7869       { "defineNamedVariableList", "mms.defineNamedVariableList_element",
7870         FT_NONE, BASE_NONE, NULL, 0,
7871         "DefineNamedVariableList_Response", HFILL }},
7872     { &hf_mms_getNamedVariableListAttributes_01,
7873       { "getNamedVariableListAttributes", "mms.getNamedVariableListAttributes_element",
7874         FT_NONE, BASE_NONE, NULL, 0,
7875         "GetNamedVariableListAttributes_Response", HFILL }},
7876     { &hf_mms_deleteNamedVariableList_01,
7877       { "deleteNamedVariableList", "mms.deleteNamedVariableList_element",
7878         FT_NONE, BASE_NONE, NULL, 0,
7879         "DeleteNamedVariableList_Response", HFILL }},
7880     { &hf_mms_defineNamedType_01,
7881       { "defineNamedType", "mms.defineNamedType_element",
7882         FT_NONE, BASE_NONE, NULL, 0,
7883         "DefineNamedType_Response", HFILL }},
7884     { &hf_mms_getNamedTypeAttributes_01,
7885       { "getNamedTypeAttributes", "mms.getNamedTypeAttributes_element",
7886         FT_NONE, BASE_NONE, NULL, 0,
7887         "GetNamedTypeAttributes_Response", HFILL }},
7888     { &hf_mms_deleteNamedType_01,
7889       { "deleteNamedType", "mms.deleteNamedType_element",
7890         FT_NONE, BASE_NONE, NULL, 0,
7891         "DeleteNamedType_Response", HFILL }},
7892     { &hf_mms_input_01,
7893       { "input", "mms.input",
7894         FT_STRING, BASE_NONE, NULL, 0,
7895         "Input_Response", HFILL }},
7896     { &hf_mms_output_01,
7897       { "output", "mms.output_element",
7898         FT_NONE, BASE_NONE, NULL, 0,
7899         "Output_Response", HFILL }},
7900     { &hf_mms_takeControl_01,
7901       { "takeControl", "mms.takeControl",
7902         FT_UINT32, BASE_DEC, VALS(mms_TakeControl_Response_vals), 0,
7903         "TakeControl_Response", HFILL }},
7904     { &hf_mms_relinquishControl_01,
7905       { "relinquishControl", "mms.relinquishControl_element",
7906         FT_NONE, BASE_NONE, NULL, 0,
7907         "RelinquishControl_Response", HFILL }},
7908     { &hf_mms_defineSemaphore_01,
7909       { "defineSemaphore", "mms.defineSemaphore_element",
7910         FT_NONE, BASE_NONE, NULL, 0,
7911         "DefineSemaphore_Response", HFILL }},
7912     { &hf_mms_deleteSemaphore_01,
7913       { "deleteSemaphore", "mms.deleteSemaphore_element",
7914         FT_NONE, BASE_NONE, NULL, 0,
7915         "DeleteSemaphore_Response", HFILL }},
7916     { &hf_mms_reportSemaphoreStatus_01,
7917       { "reportSemaphoreStatus", "mms.reportSemaphoreStatus_element",
7918         FT_NONE, BASE_NONE, NULL, 0,
7919         "ReportSemaphoreStatus_Response", HFILL }},
7920     { &hf_mms_reportPoolSemaphoreStatus_01,
7921       { "reportPoolSemaphoreStatus", "mms.reportPoolSemaphoreStatus_element",
7922         FT_NONE, BASE_NONE, NULL, 0,
7923         "ReportPoolSemaphoreStatus_Response", HFILL }},
7924     { &hf_mms_reportSemaphoreEntryStatus_01,
7925       { "reportSemaphoreEntryStatus", "mms.reportSemaphoreEntryStatus_element",
7926         FT_NONE, BASE_NONE, NULL, 0,
7927         "ReportSemaphoreEntryStatus_Response", HFILL }},
7928     { &hf_mms_initiateDownloadSequence_01,
7929       { "initiateDownloadSequence", "mms.initiateDownloadSequence_element",
7930         FT_NONE, BASE_NONE, NULL, 0,
7931         "InitiateDownloadSequence_Response", HFILL }},
7932     { &hf_mms_downloadSegment_01,
7933       { "downloadSegment", "mms.downloadSegment_element",
7934         FT_NONE, BASE_NONE, NULL, 0,
7935         "DownloadSegment_Response", HFILL }},
7936     { &hf_mms_terminateDownloadSequence_01,
7937       { "terminateDownloadSequence", "mms.terminateDownloadSequence_element",
7938         FT_NONE, BASE_NONE, NULL, 0,
7939         "TerminateDownloadSequence_Response", HFILL }},
7940     { &hf_mms_initiateUploadSequence_01,
7941       { "initiateUploadSequence", "mms.initiateUploadSequence_element",
7942         FT_NONE, BASE_NONE, NULL, 0,
7943         "InitiateUploadSequence_Response", HFILL }},
7944     { &hf_mms_uploadSegment_01,
7945       { "uploadSegment", "mms.uploadSegment_element",
7946         FT_NONE, BASE_NONE, NULL, 0,
7947         "UploadSegment_Response", HFILL }},
7948     { &hf_mms_terminateUploadSequence_01,
7949       { "terminateUploadSequence", "mms.terminateUploadSequence_element",
7950         FT_NONE, BASE_NONE, NULL, 0,
7951         "TerminateUploadSequence_Response", HFILL }},
7952     { &hf_mms_requestDomainDownLoad,
7953       { "requestDomainDownLoad", "mms.requestDomainDownLoad_element",
7954         FT_NONE, BASE_NONE, NULL, 0,
7955         "RequestDomainDownload_Response", HFILL }},
7956     { &hf_mms_requestDomainUpload_01,
7957       { "requestDomainUpload", "mms.requestDomainUpload_element",
7958         FT_NONE, BASE_NONE, NULL, 0,
7959         "RequestDomainUpload_Response", HFILL }},
7960     { &hf_mms_loadDomainContent_01,
7961       { "loadDomainContent", "mms.loadDomainContent_element",
7962         FT_NONE, BASE_NONE, NULL, 0,
7963         "LoadDomainContent_Response", HFILL }},
7964     { &hf_mms_storeDomainContent_01,
7965       { "storeDomainContent", "mms.storeDomainContent_element",
7966         FT_NONE, BASE_NONE, NULL, 0,
7967         "StoreDomainContent_Response", HFILL }},
7968     { &hf_mms_deleteDomain_01,
7969       { "deleteDomain", "mms.deleteDomain_element",
7970         FT_NONE, BASE_NONE, NULL, 0,
7971         "DeleteDomain_Response", HFILL }},
7972     { &hf_mms_getDomainAttributes_01,
7973       { "getDomainAttributes", "mms.getDomainAttributes_element",
7974         FT_NONE, BASE_NONE, NULL, 0,
7975         "GetDomainAttributes_Response", HFILL }},
7976     { &hf_mms_createProgramInvocation_01,
7977       { "createProgramInvocation", "mms.createProgramInvocation_element",
7978         FT_NONE, BASE_NONE, NULL, 0,
7979         "CreateProgramInvocation_Response", HFILL }},
7980     { &hf_mms_deleteProgramInvocation_01,
7981       { "deleteProgramInvocation", "mms.deleteProgramInvocation_element",
7982         FT_NONE, BASE_NONE, NULL, 0,
7983         "DeleteProgramInvocation_Response", HFILL }},
7984     { &hf_mms_start_01,
7985       { "start", "mms.start_element",
7986         FT_NONE, BASE_NONE, NULL, 0,
7987         "Start_Response", HFILL }},
7988     { &hf_mms_stop_01,
7989       { "stop", "mms.stop_element",
7990         FT_NONE, BASE_NONE, NULL, 0,
7991         "Stop_Response", HFILL }},
7992     { &hf_mms_resume_01,
7993       { "resume", "mms.resume_element",
7994         FT_NONE, BASE_NONE, NULL, 0,
7995         "Resume_Response", HFILL }},
7996     { &hf_mms_reset_01,
7997       { "reset", "mms.reset_element",
7998         FT_NONE, BASE_NONE, NULL, 0,
7999         "Reset_Response", HFILL }},
8000     { &hf_mms_kill_01,
8001       { "kill", "mms.kill_element",
8002         FT_NONE, BASE_NONE, NULL, 0,
8003         "Kill_Response", HFILL }},
8004     { &hf_mms_getProgramInvocationAttributes_01,
8005       { "getProgramInvocationAttributes", "mms.getProgramInvocationAttributes_element",
8006         FT_NONE, BASE_NONE, NULL, 0,
8007         "GetProgramInvocationAttributes_Response", HFILL }},
8008     { &hf_mms_obtainFile_01,
8009       { "obtainFile", "mms.obtainFile_element",
8010         FT_NONE, BASE_NONE, NULL, 0,
8011         "ObtainFile_Response", HFILL }},
8012     { &hf_mms_fileOpen_01,
8013       { "fileOpen", "mms.fileOpen_element",
8014         FT_NONE, BASE_NONE, NULL, 0,
8015         "FileOpen_Response", HFILL }},
8016     { &hf_mms_defineEventCondition_01,
8017       { "defineEventCondition", "mms.defineEventCondition_element",
8018         FT_NONE, BASE_NONE, NULL, 0,
8019         "DefineEventCondition_Response", HFILL }},
8020     { &hf_mms_confirmedServiceResponse_deleteEventCondition,
8021       { "deleteEventCondition", "mms.confirmedServiceResponse.deleteEventCondition",
8022         FT_INT32, BASE_DEC, NULL, 0,
8023         "DeleteEventCondition_Response", HFILL }},
8024     { &hf_mms_getEventConditionAttributes_01,
8025       { "getEventConditionAttributes", "mms.getEventConditionAttributes_element",
8026         FT_NONE, BASE_NONE, NULL, 0,
8027         "GetEventConditionAttributes_Response", HFILL }},
8028     { &hf_mms_reportEventConditionStatus_01,
8029       { "reportEventConditionStatus", "mms.reportEventConditionStatus_element",
8030         FT_NONE, BASE_NONE, NULL, 0,
8031         "ReportEventConditionStatus_Response", HFILL }},
8032     { &hf_mms_alterEventConditionMonitoring_01,
8033       { "alterEventConditionMonitoring", "mms.alterEventConditionMonitoring_element",
8034         FT_NONE, BASE_NONE, NULL, 0,
8035         "AlterEventConditionMonitoring_Response", HFILL }},
8036     { &hf_mms_triggerEvent_01,
8037       { "triggerEvent", "mms.triggerEvent_element",
8038         FT_NONE, BASE_NONE, NULL, 0,
8039         "TriggerEvent_Response", HFILL }},
8040     { &hf_mms_defineEventAction_01,
8041       { "defineEventAction", "mms.defineEventAction_element",
8042         FT_NONE, BASE_NONE, NULL, 0,
8043         "DefineEventAction_Response", HFILL }},
8044     { &hf_mms_deleteEventAction,
8045       { "deleteEventAction", "mms.deleteEventAction",
8046         FT_INT32, BASE_DEC, NULL, 0,
8047         "DeleteEventAction_Response", HFILL }},
8048     { &hf_mms_getEventActionAttributes_01,
8049       { "getEventActionAttributes", "mms.getEventActionAttributes_element",
8050         FT_NONE, BASE_NONE, NULL, 0,
8051         "GetEventActionAttributes_Response", HFILL }},
8052     { &hf_mms_reportActionStatus,
8053       { "reportActionStatus", "mms.reportActionStatus",
8054         FT_INT32, BASE_DEC, NULL, 0,
8055         "ReportEventActionStatus_Response", HFILL }},
8056     { &hf_mms_defineEventEnrollment_01,
8057       { "defineEventEnrollment", "mms.defineEventEnrollment_element",
8058         FT_NONE, BASE_NONE, NULL, 0,
8059         "DefineEventEnrollment_Response", HFILL }},
8060     { &hf_mms_confirmedServiceResponse_deleteEventEnrollment,
8061       { "deleteEventEnrollment", "mms.confirmedServiceResponse.deleteEventEnrollment",
8062         FT_INT32, BASE_DEC, NULL, 0,
8063         "DeleteEventEnrollment_Response", HFILL }},
8064     { &hf_mms_alterEventEnrollment_01,
8065       { "alterEventEnrollment", "mms.alterEventEnrollment_element",
8066         FT_NONE, BASE_NONE, NULL, 0,
8067         "AlterEventEnrollment_Response", HFILL }},
8068     { &hf_mms_reportEventEnrollmentStatus_01,
8069       { "reportEventEnrollmentStatus", "mms.reportEventEnrollmentStatus_element",
8070         FT_NONE, BASE_NONE, NULL, 0,
8071         "ReportEventEnrollmentStatus_Response", HFILL }},
8072     { &hf_mms_getEventEnrollmentAttributes_01,
8073       { "getEventEnrollmentAttributes", "mms.getEventEnrollmentAttributes_element",
8074         FT_NONE, BASE_NONE, NULL, 0,
8075         "GetEventEnrollmentAttributes_Response", HFILL }},
8076     { &hf_mms_acknowledgeEventNotification_01,
8077       { "acknowledgeEventNotification", "mms.acknowledgeEventNotification_element",
8078         FT_NONE, BASE_NONE, NULL, 0,
8079         "AcknowledgeEventNotification_Response", HFILL }},
8080     { &hf_mms_getAlarmSummary_01,
8081       { "getAlarmSummary", "mms.getAlarmSummary_element",
8082         FT_NONE, BASE_NONE, NULL, 0,
8083         "GetAlarmSummary_Response", HFILL }},
8084     { &hf_mms_getAlarmEnrollmentSummary_01,
8085       { "getAlarmEnrollmentSummary", "mms.getAlarmEnrollmentSummary_element",
8086         FT_NONE, BASE_NONE, NULL, 0,
8087         "GetAlarmEnrollmentSummary_Response", HFILL }},
8088     { &hf_mms_readJournal_01,
8089       { "readJournal", "mms.readJournal_element",
8090         FT_NONE, BASE_NONE, NULL, 0,
8091         "ReadJournal_Response", HFILL }},
8092     { &hf_mms_writeJournal_01,
8093       { "writeJournal", "mms.writeJournal_element",
8094         FT_NONE, BASE_NONE, NULL, 0,
8095         "WriteJournal_Response", HFILL }},
8096     { &hf_mms_initializeJournal_01,
8097       { "initializeJournal", "mms.initializeJournal",
8098         FT_INT32, BASE_DEC, NULL, 0,
8099         "InitializeJournal_Response", HFILL }},
8100     { &hf_mms_reportJournalStatus_01,
8101       { "reportJournalStatus", "mms.reportJournalStatus_element",
8102         FT_NONE, BASE_NONE, NULL, 0,
8103         "ReportJournalStatus_Response", HFILL }},
8104     { &hf_mms_createJournal_01,
8105       { "createJournal", "mms.createJournal_element",
8106         FT_NONE, BASE_NONE, NULL, 0,
8107         "CreateJournal_Response", HFILL }},
8108     { &hf_mms_deleteJournal_01,
8109       { "deleteJournal", "mms.deleteJournal_element",
8110         FT_NONE, BASE_NONE, NULL, 0,
8111         "DeleteJournal_Response", HFILL }},
8112     { &hf_mms_getCapabilityList_01,
8113       { "getCapabilityList", "mms.getCapabilityList_element",
8114         FT_NONE, BASE_NONE, NULL, 0,
8115         "GetCapabilityList_Response", HFILL }},
8116     { &hf_mms_fileRead_01,
8117       { "fileRead", "mms.fileRead_element",
8118         FT_NONE, BASE_NONE, NULL, 0,
8119         "FileRead_Response", HFILL }},
8120     { &hf_mms_fileClose_01,
8121       { "fileClose", "mms.fileClose_element",
8122         FT_NONE, BASE_NONE, NULL, 0,
8123         "FileClose_Response", HFILL }},
8124     { &hf_mms_fileRename_01,
8125       { "fileRename", "mms.fileRename_element",
8126         FT_NONE, BASE_NONE, NULL, 0,
8127         "FileRename_Response", HFILL }},
8128     { &hf_mms_fileDelete_01,
8129       { "fileDelete", "mms.fileDelete_element",
8130         FT_NONE, BASE_NONE, NULL, 0,
8131         "FileDelete_Response", HFILL }},
8132     { &hf_mms_fileDirectory_01,
8133       { "fileDirectory", "mms.fileDirectory_element",
8134         FT_NONE, BASE_NONE, NULL, 0,
8135         "FileDirectory_Response", HFILL }},
8136     { &hf_mms_FileName_item,
8137       { "FileName item", "mms.FileName_item",
8138         FT_STRING, BASE_NONE, NULL, 0,
8139         "GraphicString", HFILL }},
8140     { &hf_mms_vmd_specific,
8141       { "vmd-specific", "mms.vmd_specific",
8142         FT_STRING, BASE_NONE, NULL, 0,
8143         "Identifier", HFILL }},
8144     { &hf_mms_domain_specific,
8145       { "domain-specific", "mms.domain_specific_element",
8146         FT_NONE, BASE_NONE, NULL, 0,
8147         NULL, HFILL }},
8148     { &hf_mms_domainId,
8149       { "domainId", "mms.domainId",
8150         FT_STRING, BASE_NONE, NULL, 0,
8151         "Identifier", HFILL }},
8152     { &hf_mms_itemId,
8153       { "itemId", "mms.itemId",
8154         FT_STRING, BASE_NONE, NULL, 0,
8155         "Identifier", HFILL }},
8156     { &hf_mms_aa_specific,
8157       { "aa-specific", "mms.aa_specific",
8158         FT_STRING, BASE_NONE, NULL, 0,
8159         "Identifier", HFILL }},
8160     { &hf_mms_ap_title,
8161       { "ap-title", "mms.ap_title",
8162         FT_UINT32, BASE_DEC, VALS(acse_AP_title_vals), 0,
8163         NULL, HFILL }},
8164     { &hf_mms_ap_invocation_id,
8165       { "ap-invocation-id", "mms.ap_invocation_id",
8166         FT_INT32, BASE_DEC, NULL, 0,
8167         NULL, HFILL }},
8168     { &hf_mms_ae_qualifier,
8169       { "ae-qualifier", "mms.ae_qualifier",
8170         FT_UINT32, BASE_DEC, VALS(acse_ASO_qualifier_vals), 0,
8171         NULL, HFILL }},
8172     { &hf_mms_ae_invocation_id,
8173       { "ae-invocation-id", "mms.ae_invocation_id",
8174         FT_INT32, BASE_DEC, NULL, 0,
8175         NULL, HFILL }},
8176     { &hf_mms_localDetailCalling,
8177       { "localDetailCalling", "mms.localDetailCalling",
8178         FT_INT32, BASE_DEC, NULL, 0,
8179         "Integer32", HFILL }},
8180     { &hf_mms_proposedMaxServOutstandingCalling,
8181       { "proposedMaxServOutstandingCalling", "mms.proposedMaxServOutstandingCalling",
8182         FT_INT32, BASE_DEC, NULL, 0,
8183         "Integer16", HFILL }},
8184     { &hf_mms_proposedMaxServOutstandingCalled,
8185       { "proposedMaxServOutstandingCalled", "mms.proposedMaxServOutstandingCalled",
8186         FT_INT32, BASE_DEC, NULL, 0,
8187         "Integer16", HFILL }},
8188     { &hf_mms_proposedDataStructureNestingLevel,
8189       { "proposedDataStructureNestingLevel", "mms.proposedDataStructureNestingLevel",
8190         FT_INT32, BASE_DEC, NULL, 0,
8191         "Integer8", HFILL }},
8192     { &hf_mms_mmsInitRequestDetail,
8193       { "mmsInitRequestDetail", "mms.mmsInitRequestDetail_element",
8194         FT_NONE, BASE_NONE, NULL, 0,
8195         "InitRequestDetail", HFILL }},
8196     { &hf_mms_proposedVersionNumber,
8197       { "proposedVersionNumber", "mms.proposedVersionNumber",
8198         FT_INT32, BASE_DEC, NULL, 0,
8199         "Integer16", HFILL }},
8200     { &hf_mms_proposedParameterCBB,
8201       { "proposedParameterCBB", "mms.proposedParameterCBB",
8202         FT_BYTES, BASE_NONE, NULL, 0,
8203         "ParameterSupportOptions", HFILL }},
8204     { &hf_mms_servicesSupportedCalling,
8205       { "servicesSupportedCalling", "mms.servicesSupportedCalling",
8206         FT_BYTES, BASE_NONE, NULL, 0,
8207         "ServiceSupportOptions", HFILL }},
8208     { &hf_mms_localDetailCalled,
8209       { "localDetailCalled", "mms.localDetailCalled",
8210         FT_INT32, BASE_DEC, NULL, 0,
8211         "Integer32", HFILL }},
8212     { &hf_mms_negociatedMaxServOutstandingCalling,
8213       { "negociatedMaxServOutstandingCalling", "mms.negociatedMaxServOutstandingCalling",
8214         FT_INT32, BASE_DEC, NULL, 0,
8215         "Integer16", HFILL }},
8216     { &hf_mms_negociatedMaxServOutstandingCalled,
8217       { "negociatedMaxServOutstandingCalled", "mms.negociatedMaxServOutstandingCalled",
8218         FT_INT32, BASE_DEC, NULL, 0,
8219         "Integer16", HFILL }},
8220     { &hf_mms_negociatedDataStructureNestingLevel,
8221       { "negociatedDataStructureNestingLevel", "mms.negociatedDataStructureNestingLevel",
8222         FT_INT32, BASE_DEC, NULL, 0,
8223         "Integer8", HFILL }},
8224     { &hf_mms_mmsInitResponseDetail,
8225       { "mmsInitResponseDetail", "mms.mmsInitResponseDetail_element",
8226         FT_NONE, BASE_NONE, NULL, 0,
8227         "InitResponseDetail", HFILL }},
8228     { &hf_mms_negociatedVersionNumber,
8229       { "negociatedVersionNumber", "mms.negociatedVersionNumber",
8230         FT_INT32, BASE_DEC, NULL, 0,
8231         "Integer16", HFILL }},
8232     { &hf_mms_negociatedParameterCBB,
8233       { "negociatedParameterCBB", "mms.negociatedParameterCBB",
8234         FT_BYTES, BASE_NONE, NULL, 0,
8235         "ParameterSupportOptions", HFILL }},
8236     { &hf_mms_servicesSupportedCalled,
8237       { "servicesSupportedCalled", "mms.servicesSupportedCalled",
8238         FT_BYTES, BASE_NONE, NULL, 0,
8239         "ServiceSupportOptions", HFILL }},
8240     { &hf_mms_originalInvokeID,
8241       { "originalInvokeID", "mms.originalInvokeID",
8242         FT_INT32, BASE_DEC, NULL, 0,
8243         "Unsigned32", HFILL }},
8244     { &hf_mms_errorClass,
8245       { "errorClass", "mms.errorClass",
8246         FT_UINT32, BASE_DEC, VALS(mms_T_errorClass_vals), 0,
8247         NULL, HFILL }},
8248     { &hf_mms_vmd_state,
8249       { "vmd-state", "mms.vmd_state",
8250         FT_INT32, BASE_DEC, VALS(mms_T_vmd_state_vals), 0,
8251         NULL, HFILL }},
8252     { &hf_mms_application_reference,
8253       { "application-reference", "mms.application_reference",
8254         FT_INT32, BASE_DEC, VALS(mms_T_application_reference_vals), 0,
8255         NULL, HFILL }},
8256     { &hf_mms_definition,
8257       { "definition", "mms.definition",
8258         FT_INT32, BASE_DEC, VALS(mms_T_definition_vals), 0,
8259         NULL, HFILL }},
8260     { &hf_mms_resource,
8261       { "resource", "mms.resource",
8262         FT_INT32, BASE_DEC, VALS(mms_T_resource_vals), 0,
8263         NULL, HFILL }},
8264     { &hf_mms_service,
8265       { "service", "mms.service",
8266         FT_INT32, BASE_DEC, VALS(mms_T_service_vals), 0,
8267         NULL, HFILL }},
8268     { &hf_mms_service_preempt,
8269       { "service-preempt", "mms.service_preempt",
8270         FT_INT32, BASE_DEC, VALS(mms_T_service_preempt_vals), 0,
8271         NULL, HFILL }},
8272     { &hf_mms_time_resolution,
8273       { "time-resolution", "mms.time_resolution",
8274         FT_INT32, BASE_DEC, VALS(mms_T_time_resolution_vals), 0,
8275         NULL, HFILL }},
8276     { &hf_mms_access,
8277       { "access", "mms.access",
8278         FT_INT32, BASE_DEC, VALS(mms_T_access_vals), 0,
8279         NULL, HFILL }},
8280     { &hf_mms_initiate,
8281       { "initiate", "mms.initiate",
8282         FT_INT32, BASE_DEC, VALS(mms_T_initiate_vals), 0,
8283         NULL, HFILL }},
8284     { &hf_mms_conclude,
8285       { "conclude", "mms.conclude",
8286         FT_INT32, BASE_DEC, VALS(mms_T_conclude_vals), 0,
8287         NULL, HFILL }},
8288     { &hf_mms_cancel,
8289       { "cancel", "mms.cancel",
8290         FT_INT32, BASE_DEC, VALS(mms_T_cancel_vals), 0,
8291         NULL, HFILL }},
8292     { &hf_mms_file,
8293       { "file", "mms.file",
8294         FT_INT32, BASE_DEC, VALS(mms_T_file_vals), 0,
8295         NULL, HFILL }},
8296     { &hf_mms_others,
8297       { "others", "mms.others",
8298         FT_INT32, BASE_DEC, NULL, 0,
8299         "INTEGER", HFILL }},
8300     { &hf_mms_additionalCode,
8301       { "additionalCode", "mms.additionalCode",
8302         FT_INT32, BASE_DEC, NULL, 0,
8303         "INTEGER", HFILL }},
8304     { &hf_mms_additionalDescription,
8305       { "additionalDescription", "mms.additionalDescription",
8306         FT_STRING, BASE_NONE, NULL, 0,
8307         "VisibleString", HFILL }},
8308     { &hf_mms_serviceSpecificInformation,
8309       { "serviceSpecificInformation", "mms.serviceSpecificInformation",
8310         FT_UINT32, BASE_DEC, VALS(mms_T_serviceSpecificInformation_vals), 0,
8311         NULL, HFILL }},
8312     { &hf_mms_obtainFile_02,
8313       { "obtainFile", "mms.obtainFile",
8314         FT_INT32, BASE_DEC, VALS(mms_ObtainFile_Error_vals), 0,
8315         "ObtainFile_Error", HFILL }},
8316     { &hf_mms_start_02,
8317       { "start", "mms.start",
8318         FT_INT32, BASE_DEC, VALS(mms_ProgramInvocationState_vals), 0,
8319         "Start_Error", HFILL }},
8320     { &hf_mms_stop_02,
8321       { "stop", "mms.stop",
8322         FT_INT32, BASE_DEC, VALS(mms_ProgramInvocationState_vals), 0,
8323         "Stop_Error", HFILL }},
8324     { &hf_mms_resume_02,
8325       { "resume", "mms.resume",
8326         FT_INT32, BASE_DEC, VALS(mms_ProgramInvocationState_vals), 0,
8327         "Resume_Error", HFILL }},
8328     { &hf_mms_reset_02,
8329       { "reset", "mms.reset",
8330         FT_INT32, BASE_DEC, VALS(mms_ProgramInvocationState_vals), 0,
8331         "Reset_Error", HFILL }},
8332     { &hf_mms_deleteVariableAccess_02,
8333       { "deleteVariableAccess", "mms.deleteVariableAccess",
8334         FT_INT32, BASE_DEC, NULL, 0,
8335         "DeleteVariableAccess_Error", HFILL }},
8336     { &hf_mms_deleteNamedVariableList_02,
8337       { "deleteNamedVariableList", "mms.deleteNamedVariableList",
8338         FT_INT32, BASE_DEC, NULL, 0,
8339         "DeleteNamedVariableList_Error", HFILL }},
8340     { &hf_mms_deleteNamedType_02,
8341       { "deleteNamedType", "mms.deleteNamedType",
8342         FT_INT32, BASE_DEC, NULL, 0,
8343         "DeleteNamedType_Error", HFILL }},
8344     { &hf_mms_defineEventEnrollment_Error,
8345       { "defineEventEnrollment-Error", "mms.defineEventEnrollment_Error",
8346         FT_UINT32, BASE_DEC, VALS(mms_ObjectName_vals), 0,
8347         NULL, HFILL }},
8348     { &hf_mms_fileRename_02,
8349       { "fileRename", "mms.fileRename",
8350         FT_INT32, BASE_DEC, VALS(mms_FileRename_Error_vals), 0,
8351         "FileRename_Error", HFILL }},
8352     { &hf_mms_additionalService,
8353       { "additionalService", "mms.additionalService",
8354         FT_UINT32, BASE_DEC, VALS(mms_AdditionalService_Error_vals), 0,
8355         "AdditionalService_Error", HFILL }},
8356     { &hf_mms_changeAccessControl,
8357       { "changeAccessControl", "mms.changeAccessControl",
8358         FT_INT32, BASE_DEC, NULL, 0,
8359         "ChangeAccessControl_Error", HFILL }},
8360     { &hf_mms_defineEcl,
8361       { "defineEcl", "mms.defineEcl",
8362         FT_UINT32, BASE_DEC, VALS(mms_ObjectName_vals), 0,
8363         "DefineEventConditionList_Error", HFILL }},
8364     { &hf_mms_addECLReference,
8365       { "addECLReference", "mms.addECLReference",
8366         FT_UINT32, BASE_DEC, VALS(mms_ObjectName_vals), 0,
8367         "AddEventConditionListReference_Error", HFILL }},
8368     { &hf_mms_removeECLReference,
8369       { "removeECLReference", "mms.removeECLReference",
8370         FT_UINT32, BASE_DEC, VALS(mms_RemoveEventConditionListReference_Error_vals), 0,
8371         "RemoveEventConditionListReference_Error", HFILL }},
8372     { &hf_mms_initiateUC,
8373       { "initiateUC", "mms.initiateUC",
8374         FT_UINT32, BASE_DEC, VALS(mms_InitiateUnitControl_Error_vals), 0,
8375         "InitiateUnitControl_Error", HFILL }},
8376     { &hf_mms_startUC,
8377       { "startUC", "mms.startUC_element",
8378         FT_NONE, BASE_NONE, NULL, 0,
8379         "StartUnitControl_Error", HFILL }},
8380     { &hf_mms_stopUC,
8381       { "stopUC", "mms.stopUC_element",
8382         FT_NONE, BASE_NONE, NULL, 0,
8383         "StopUnitControl_Error", HFILL }},
8384     { &hf_mms_deleteUC,
8385       { "deleteUC", "mms.deleteUC",
8386         FT_UINT32, BASE_DEC, VALS(mms_DeleteUnitControl_Error_vals), 0,
8387         "DeleteUnitControl_Error", HFILL }},
8388     { &hf_mms_loadUCFromFile,
8389       { "loadUCFromFile", "mms.loadUCFromFile",
8390         FT_UINT32, BASE_DEC, VALS(mms_LoadUnitControlFromFile_Error_vals), 0,
8391         "LoadUnitControlFromFile_Error", HFILL }},
8392     { &hf_mms_eventCondition,
8393       { "eventCondition", "mms.eventCondition",
8394         FT_UINT32, BASE_DEC, VALS(mms_ObjectName_vals), 0,
8395         "ObjectName", HFILL }},
8396     { &hf_mms_eventConditionList,
8397       { "eventConditionList", "mms.eventConditionList",
8398         FT_UINT32, BASE_DEC, VALS(mms_ObjectName_vals), 0,
8399         "ObjectName", HFILL }},
8400     { &hf_mms_domain,
8401       { "domain", "mms.domain",
8402         FT_STRING, BASE_NONE, NULL, 0,
8403         "Identifier", HFILL }},
8404     { &hf_mms_programInvocation,
8405       { "programInvocation", "mms.programInvocation",
8406         FT_STRING, BASE_NONE, NULL, 0,
8407         "Identifier", HFILL }},
8408     { &hf_mms_programInvocationName,
8409       { "programInvocationName", "mms.programInvocationName",
8410         FT_STRING, BASE_NONE, NULL, 0,
8411         "Identifier", HFILL }},
8412     { &hf_mms_programInvocationState,
8413       { "programInvocationState", "mms.programInvocationState",
8414         FT_INT32, BASE_DEC, VALS(mms_ProgramInvocationState_vals), 0,
8415         NULL, HFILL }},
8416     { &hf_mms_none,
8417       { "none", "mms.none_element",
8418         FT_NONE, BASE_NONE, NULL, 0,
8419         NULL, HFILL }},
8420     { &hf_mms_rejectReason,
8421       { "rejectReason", "mms.rejectReason",
8422         FT_UINT32, BASE_DEC, VALS(mms_T_rejectReason_vals), 0,
8423         NULL, HFILL }},
8424     { &hf_mms_confirmed_requestPDU,
8425       { "confirmed-requestPDU", "mms.confirmed_requestPDU",
8426         FT_INT32, BASE_DEC, VALS(mms_T_confirmed_requestPDU_vals), 0,
8427         NULL, HFILL }},
8428     { &hf_mms_confirmed_responsePDU,
8429       { "confirmed-responsePDU", "mms.confirmed_responsePDU",
8430         FT_INT32, BASE_DEC, VALS(mms_T_confirmed_responsePDU_vals), 0,
8431         NULL, HFILL }},
8432     { &hf_mms_confirmed_errorPDU,
8433       { "confirmed-errorPDU", "mms.confirmed_errorPDU",
8434         FT_INT32, BASE_DEC, VALS(mms_T_confirmed_errorPDU_vals), 0,
8435         NULL, HFILL }},
8436     { &hf_mms_unconfirmedPDU,
8437       { "unconfirmedPDU", "mms.unconfirmedPDU",
8438         FT_INT32, BASE_DEC, VALS(mms_T_unconfirmedPDU_vals), 0,
8439         NULL, HFILL }},
8440     { &hf_mms_pdu_error,
8441       { "pdu-error", "mms.pdu_error",
8442         FT_INT32, BASE_DEC, VALS(mms_T_pdu_error_vals), 0,
8443         NULL, HFILL }},
8444     { &hf_mms_cancel_requestPDU,
8445       { "cancel-requestPDU", "mms.cancel_requestPDU",
8446         FT_INT32, BASE_DEC, VALS(mms_T_cancel_requestPDU_vals), 0,
8447         NULL, HFILL }},
8448     { &hf_mms_cancel_responsePDU,
8449       { "cancel-responsePDU", "mms.cancel_responsePDU",
8450         FT_INT32, BASE_DEC, VALS(mms_T_cancel_responsePDU_vals), 0,
8451         NULL, HFILL }},
8452     { &hf_mms_cancel_errorPDU,
8453       { "cancel-errorPDU", "mms.cancel_errorPDU",
8454         FT_INT32, BASE_DEC, VALS(mms_T_cancel_errorPDU_vals), 0,
8455         NULL, HFILL }},
8456     { &hf_mms_conclude_requestPDU,
8457       { "conclude-requestPDU", "mms.conclude_requestPDU",
8458         FT_INT32, BASE_DEC, VALS(mms_T_conclude_requestPDU_vals), 0,
8459         NULL, HFILL }},
8460     { &hf_mms_conclude_responsePDU,
8461       { "conclude-responsePDU", "mms.conclude_responsePDU",
8462         FT_INT32, BASE_DEC, VALS(mms_T_conclude_responsePDU_vals), 0,
8463         NULL, HFILL }},
8464     { &hf_mms_conclude_errorPDU,
8465       { "conclude-errorPDU", "mms.conclude_errorPDU",
8466         FT_INT32, BASE_DEC, VALS(mms_T_conclude_errorPDU_vals), 0,
8467         NULL, HFILL }},
8468     { &hf_mms_vmdLogicalStatus,
8469       { "vmdLogicalStatus", "mms.vmdLogicalStatus",
8470         FT_INT32, BASE_DEC, VALS(mms_T_vmdLogicalStatus_vals), 0,
8471         NULL, HFILL }},
8472     { &hf_mms_vmdPhysicalStatus,
8473       { "vmdPhysicalStatus", "mms.vmdPhysicalStatus",
8474         FT_INT32, BASE_DEC, VALS(mms_T_vmdPhysicalStatus_vals), 0,
8475         NULL, HFILL }},
8476     { &hf_mms_localDetail,
8477       { "localDetail", "mms.localDetail",
8478         FT_BYTES, BASE_NONE, NULL, 0,
8479         "BIT_STRING_SIZE_0_128", HFILL }},
8480     { &hf_mms_extendedObjectClass,
8481       { "extendedObjectClass", "mms.extendedObjectClass",
8482         FT_UINT32, BASE_DEC, VALS(mms_T_extendedObjectClass_vals), 0,
8483         NULL, HFILL }},
8484     { &hf_mms_objectClass,
8485       { "objectClass", "mms.objectClass",
8486         FT_INT32, BASE_DEC, VALS(mms_T_objectClass_vals), 0,
8487         NULL, HFILL }},
8488     { &hf_mms_objectScope,
8489       { "objectScope", "mms.objectScope",
8490         FT_UINT32, BASE_DEC, VALS(mms_T_objectScope_vals), 0,
8491         NULL, HFILL }},
8492     { &hf_mms_vmdSpecific,
8493       { "vmdSpecific", "mms.vmdSpecific_element",
8494         FT_NONE, BASE_NONE, NULL, 0,
8495         NULL, HFILL }},
8496     { &hf_mms_domainSpecific,
8497       { "domainSpecific", "mms.domainSpecific",
8498         FT_STRING, BASE_NONE, NULL, 0,
8499         "Identifier", HFILL }},
8500     { &hf_mms_aaSpecific,
8501       { "aaSpecific", "mms.aaSpecific_element",
8502         FT_NONE, BASE_NONE, NULL, 0,
8503         NULL, HFILL }},
8504     { &hf_mms_getNameList_Request_continueAfter,
8505       { "continueAfter", "mms.getNameList-Request_continueAfter",
8506         FT_STRING, BASE_NONE, NULL, 0,
8507         "Identifier", HFILL }},
8508     { &hf_mms_listOfIdentifier,
8509       { "listOfIdentifier", "mms.listOfIdentifier",
8510         FT_UINT32, BASE_DEC, NULL, 0,
8511         "SEQUENCE_OF_Identifier", HFILL }},
8512     { &hf_mms_listOfIdentifier_item,
8513       { "Identifier", "mms.Identifier",
8514         FT_STRING, BASE_NONE, NULL, 0,
8515         NULL, HFILL }},
8516     { &hf_mms_moreFollows,
8517       { "moreFollows", "mms.moreFollows",
8518         FT_BOOLEAN, BASE_NONE, NULL, 0,
8519         "BOOLEAN", HFILL }},
8520     { &hf_mms_vendorName,
8521       { "vendorName", "mms.vendorName",
8522         FT_STRING, BASE_NONE, NULL, 0,
8523         "VisibleString", HFILL }},
8524     { &hf_mms_modelName,
8525       { "modelName", "mms.modelName",
8526         FT_STRING, BASE_NONE, NULL, 0,
8527         "VisibleString", HFILL }},
8528     { &hf_mms_revision,
8529       { "revision", "mms.revision",
8530         FT_STRING, BASE_NONE, NULL, 0,
8531         "VisibleString", HFILL }},
8532     { &hf_mms_listOfAbstractSyntaxes,
8533       { "listOfAbstractSyntaxes", "mms.listOfAbstractSyntaxes",
8534         FT_UINT32, BASE_DEC, NULL, 0,
8535         NULL, HFILL }},
8536     { &hf_mms_listOfAbstractSyntaxes_item,
8537       { "listOfAbstractSyntaxes item", "mms.listOfAbstractSyntaxes_item",
8538         FT_OID, BASE_NONE, NULL, 0,
8539         "OBJECT_IDENTIFIER", HFILL }},
8540     { &hf_mms_extendedObjectClass_01,
8541       { "extendedObjectClass", "mms.extendedObjectClass",
8542         FT_UINT32, BASE_DEC, VALS(mms_T_extendedObjectClass_01_vals), 0,
8543         "T_extendedObjectClass_01", HFILL }},
8544     { &hf_mms_objectClass_01,
8545       { "objectClass", "mms.objectClass",
8546         FT_INT32, BASE_DEC, VALS(mms_T_objectClass_01_vals), 0,
8547         "T_objectClass_01", HFILL }},
8548     { &hf_mms_currentName,
8549       { "currentName", "mms.currentName",
8550         FT_UINT32, BASE_DEC, VALS(mms_ObjectName_vals), 0,
8551         "ObjectName", HFILL }},
8552     { &hf_mms_newIdentifier,
8553       { "newIdentifier", "mms.newIdentifier",
8554         FT_STRING, BASE_NONE, NULL, 0,
8555         "Identifier", HFILL }},
8556     { &hf_mms_getCapabilityList_Request_continueAfter,
8557       { "continueAfter", "mms.getCapabilityList-Request_continueAfter",
8558         FT_STRING, BASE_NONE, NULL, 0,
8559         "VisibleString", HFILL }},
8560     { &hf_mms_listOfCapabilities,
8561       { "listOfCapabilities", "mms.listOfCapabilities",
8562         FT_UINT32, BASE_DEC, NULL, 0,
8563         NULL, HFILL }},
8564     { &hf_mms_listOfCapabilities_item,
8565       { "listOfCapabilities item", "mms.listOfCapabilities_item",
8566         FT_STRING, BASE_NONE, NULL, 0,
8567         "VisibleString", HFILL }},
8568     { &hf_mms_domainName,
8569       { "domainName", "mms.domainName",
8570         FT_STRING, BASE_NONE, NULL, 0,
8571         "Identifier", HFILL }},
8572     { &hf_mms_listOfCapabilities_01,
8573       { "listOfCapabilities", "mms.listOfCapabilities",
8574         FT_UINT32, BASE_DEC, NULL, 0,
8575         "T_listOfCapabilities_01", HFILL }},
8576     { &hf_mms_sharable,
8577       { "sharable", "mms.sharable",
8578         FT_BOOLEAN, BASE_NONE, NULL, 0,
8579         "BOOLEAN", HFILL }},
8580     { &hf_mms_loadData,
8581       { "loadData", "mms.loadData",
8582         FT_UINT32, BASE_DEC, VALS(mms_T_loadData_vals), 0,
8583         NULL, HFILL }},
8584     { &hf_mms_non_coded,
8585       { "non-coded", "mms.non_coded",
8586         FT_BYTES, BASE_NONE, NULL, 0,
8587         "OCTET_STRING", HFILL }},
8588     { &hf_mms_coded,
8589       { "coded", "mms.coded_element",
8590         FT_NONE, BASE_NONE, NULL, 0,
8591         "EXTERNALt", HFILL }},
8592     { &hf_mms_discard,
8593       { "discard", "mms.discard_element",
8594         FT_NONE, BASE_NONE, NULL, 0,
8595         "ServiceError", HFILL }},
8596     { &hf_mms_ulsmID,
8597       { "ulsmID", "mms.ulsmID",
8598         FT_INT32, BASE_DEC, NULL, 0,
8599         "Integer32", HFILL }},
8600     { &hf_mms_listOfCapabilities_02,
8601       { "listOfCapabilities", "mms.listOfCapabilities",
8602         FT_UINT32, BASE_DEC, NULL, 0,
8603         "T_listOfCapabilities_02", HFILL }},
8604     { &hf_mms_loadData_01,
8605       { "loadData", "mms.loadData",
8606         FT_UINT32, BASE_DEC, VALS(mms_T_loadData_01_vals), 0,
8607         "T_loadData_01", HFILL }},
8608     { &hf_mms_listOfCapabilities_03,
8609       { "listOfCapabilities", "mms.listOfCapabilities",
8610         FT_UINT32, BASE_DEC, NULL, 0,
8611         "T_listOfCapabilities_03", HFILL }},
8612     { &hf_mms_fileName,
8613       { "fileName", "mms.fileName",
8614         FT_UINT32, BASE_DEC, NULL, 0,
8615         NULL, HFILL }},
8616     { &hf_mms_listOfCapabilities_04,
8617       { "listOfCapabilities", "mms.listOfCapabilities",
8618         FT_UINT32, BASE_DEC, NULL, 0,
8619         "T_listOfCapabilities_04", HFILL }},
8620     { &hf_mms_thirdParty,
8621       { "thirdParty", "mms.thirdParty_element",
8622         FT_NONE, BASE_NONE, NULL, 0,
8623         "ApplicationReference", HFILL }},
8624     { &hf_mms_filenName,
8625       { "filenName", "mms.filenName",
8626         FT_UINT32, BASE_DEC, NULL, 0,
8627         "FileName", HFILL }},
8628     { &hf_mms_listOfCapabilities_05,
8629       { "listOfCapabilities", "mms.listOfCapabilities",
8630         FT_UINT32, BASE_DEC, NULL, 0,
8631         "T_listOfCapabilities_05", HFILL }},
8632     { &hf_mms_getDomainAttributes_Response_state,
8633       { "state", "mms.getDomainAttributes-Response_state",
8634         FT_INT32, BASE_DEC, VALS(mms_DomainState_vals), 0,
8635         "DomainState", HFILL }},
8636     { &hf_mms_mmsDeletable,
8637       { "mmsDeletable", "mms.mmsDeletable",
8638         FT_BOOLEAN, BASE_NONE, NULL, 0,
8639         "BOOLEAN", HFILL }},
8640     { &hf_mms_listOfProgramInvocations,
8641       { "listOfProgramInvocations", "mms.listOfProgramInvocations",
8642         FT_UINT32, BASE_DEC, NULL, 0,
8643         "SEQUENCE_OF_Identifier", HFILL }},
8644     { &hf_mms_listOfProgramInvocations_item,
8645       { "Identifier", "mms.Identifier",
8646         FT_STRING, BASE_NONE, NULL, 0,
8647         NULL, HFILL }},
8648     { &hf_mms_uploadInProgress,
8649       { "uploadInProgress", "mms.uploadInProgress",
8650         FT_INT32, BASE_DEC, NULL, 0,
8651         "Integer8", HFILL }},
8652     { &hf_mms_listOfDomainName,
8653       { "listOfDomainName", "mms.listOfDomainName",
8654         FT_UINT32, BASE_DEC, NULL, 0,
8655         "SEQUENCE_OF_Identifier", HFILL }},
8656     { &hf_mms_listOfDomainName_item,
8657       { "Identifier", "mms.Identifier",
8658         FT_STRING, BASE_NONE, NULL, 0,
8659         NULL, HFILL }},
8660     { &hf_mms_reusable,
8661       { "reusable", "mms.reusable",
8662         FT_BOOLEAN, BASE_NONE, NULL, 0,
8663         "BOOLEAN", HFILL }},
8664     { &hf_mms_monitorType,
8665       { "monitorType", "mms.monitorType",
8666         FT_BOOLEAN, BASE_NONE, NULL, 0,
8667         "BOOLEAN", HFILL }},
8668     { &hf_mms_executionArgument,
8669       { "executionArgument", "mms.executionArgument",
8670         FT_UINT32, BASE_DEC, VALS(mms_T_executionArgument_vals), 0,
8671         NULL, HFILL }},
8672     { &hf_mms_simpleString,
8673       { "simpleString", "mms.simpleString",
8674         FT_STRING, BASE_NONE, NULL, 0,
8675         "VisibleString", HFILL }},
8676     { &hf_mms_encodedString,
8677       { "encodedString", "mms.encodedString_element",
8678         FT_NONE, BASE_NONE, NULL, 0,
8679         "EXTERNALt", HFILL }},
8680     { &hf_mms_executionArgument_01,
8681       { "executionArgument", "mms.executionArgument",
8682         FT_UINT32, BASE_DEC, VALS(mms_T_executionArgument_01_vals), 0,
8683         "T_executionArgument_01", HFILL }},
8684     { &hf_mms_getProgramInvocationAttributes_Response_state,
8685       { "state", "mms.getProgramInvocationAttributes-Response_state",
8686         FT_INT32, BASE_DEC, VALS(mms_ProgramInvocationState_vals), 0,
8687         "ProgramInvocationState", HFILL }},
8688     { &hf_mms_listOfDomainNames,
8689       { "listOfDomainNames", "mms.listOfDomainNames",
8690         FT_UINT32, BASE_DEC, NULL, 0,
8691         "SEQUENCE_OF_Identifier", HFILL }},
8692     { &hf_mms_listOfDomainNames_item,
8693       { "Identifier", "mms.Identifier",
8694         FT_STRING, BASE_NONE, NULL, 0,
8695         NULL, HFILL }},
8696     { &hf_mms_monitor,
8697       { "monitor", "mms.monitor",
8698         FT_BOOLEAN, BASE_NONE, NULL, 0,
8699         "BOOLEAN", HFILL }},
8700     { &hf_mms_startArgument,
8701       { "startArgument", "mms.startArgument",
8702         FT_STRING, BASE_NONE, NULL, 0,
8703         "VisibleString", HFILL }},
8704     { &hf_mms_executionArgument_02,
8705       { "executionArgument", "mms.executionArgument",
8706         FT_UINT32, BASE_DEC, VALS(mms_T_executionArgument_02_vals), 0,
8707         "T_executionArgument_02", HFILL }},
8708     { &hf_mms_typeName,
8709       { "typeName", "mms.typeName",
8710         FT_UINT32, BASE_DEC, VALS(mms_ObjectName_vals), 0,
8711         "ObjectName", HFILL }},
8712     { &hf_mms_array,
8713       { "array", "mms.array_element",
8714         FT_NONE, BASE_NONE, NULL, 0,
8715         NULL, HFILL }},
8716     { &hf_mms_packed,
8717       { "packed", "mms.packed",
8718         FT_BOOLEAN, BASE_NONE, NULL, 0,
8719         "BOOLEAN", HFILL }},
8720     { &hf_mms_numberOfElements,
8721       { "numberOfElements", "mms.numberOfElements",
8722         FT_INT32, BASE_DEC, NULL, 0,
8723         "Unsigned32", HFILL }},
8724     { &hf_mms_elementType,
8725       { "elementType", "mms.elementType",
8726         FT_UINT32, BASE_DEC, VALS(mms_TypeSpecification_vals), 0,
8727         "TypeSpecification", HFILL }},
8728     { &hf_mms_structure,
8729       { "structure", "mms.structure_element",
8730         FT_NONE, BASE_NONE, NULL, 0,
8731         NULL, HFILL }},
8732     { &hf_mms_components,
8733       { "components", "mms.components",
8734         FT_UINT32, BASE_DEC, NULL, 0,
8735         NULL, HFILL }},
8736     { &hf_mms_components_item,
8737       { "components item", "mms.components_item_element",
8738         FT_NONE, BASE_NONE, NULL, 0,
8739         NULL, HFILL }},
8740     { &hf_mms_componentName,
8741       { "componentName", "mms.componentName",
8742         FT_STRING, BASE_NONE, NULL, 0,
8743         "Identifier", HFILL }},
8744     { &hf_mms_componentType,
8745       { "componentType", "mms.componentType",
8746         FT_UINT32, BASE_DEC, VALS(mms_TypeSpecification_vals), 0,
8747         "TypeSpecification", HFILL }},
8748     { &hf_mms_boolean,
8749       { "boolean", "mms.boolean_element",
8750         FT_NONE, BASE_NONE, NULL, 0,
8751         NULL, HFILL }},
8752     { &hf_mms_typeSpecification_bit_string,
8753       { "bit-string", "mms.typeSpecification_bit-string",
8754         FT_INT32, BASE_DEC, NULL, 0,
8755         "Integer32", HFILL }},
8756     { &hf_mms_integer,
8757       { "integer", "mms.integer",
8758         FT_INT32, BASE_DEC, NULL, 0,
8759         "Unsigned8", HFILL }},
8760     { &hf_mms_unsigned,
8761       { "unsigned", "mms.unsigned",
8762         FT_INT32, BASE_DEC, NULL, 0,
8763         "Unsigned8", HFILL }},
8764     { &hf_mms_typeSpecification_octet_string,
8765       { "octet-string", "mms.typeSpecification.octet-string",
8766         FT_INT32, BASE_DEC, NULL, 0,
8767         "Integer32", HFILL }},
8768     { &hf_mms_typeSpecification_visible_string,
8769       { "visible-string", "mms.typeSpecification.visible-string",
8770         FT_INT32, BASE_DEC, NULL, 0,
8771         "Integer32", HFILL }},
8772     { &hf_mms_generalized_time,
8773       { "generalized-time", "mms.generalized_time_element",
8774         FT_NONE, BASE_NONE, NULL, 0,
8775         NULL, HFILL }},
8776     { &hf_mms_typeSpecification_binary_time,
8777       { "binary-time", "mms.typeSpecification.binary-time",
8778         FT_BOOLEAN, BASE_NONE, NULL, 0,
8779         "BOOLEAN", HFILL }},
8780     { &hf_mms_bcd,
8781       { "bcd", "mms.bcd",
8782         FT_INT32, BASE_DEC, NULL, 0,
8783         "Unsigned8", HFILL }},
8784     { &hf_mms_objId,
8785       { "objId", "mms.objId_element",
8786         FT_NONE, BASE_NONE, NULL, 0,
8787         NULL, HFILL }},
8788     { &hf_mms_AlternateAccess_item,
8789       { "AlternateAccess item", "mms.AlternateAccess_item",
8790         FT_UINT32, BASE_DEC, VALS(mms_AlternateAccess_item_vals), 0,
8791         NULL, HFILL }},
8792     { &hf_mms_unnamed,
8793       { "unnamed", "mms.unnamed",
8794         FT_UINT32, BASE_DEC, VALS(mms_AlternateAccessSelection_vals), 0,
8795         "AlternateAccessSelection", HFILL }},
8796     { &hf_mms_named,
8797       { "named", "mms.named_element",
8798         FT_NONE, BASE_NONE, NULL, 0,
8799         NULL, HFILL }},
8800     { &hf_mms_accesst,
8801       { "accesst", "mms.accesst",
8802         FT_UINT32, BASE_DEC, VALS(mms_AlternateAccessSelection_vals), 0,
8803         "AlternateAccessSelection", HFILL }},
8804     { &hf_mms_selectAlternateAccess,
8805       { "selectAlternateAccess", "mms.selectAlternateAccess_element",
8806         FT_NONE, BASE_NONE, NULL, 0,
8807         NULL, HFILL }},
8808     { &hf_mms_accessSelection,
8809       { "accessSelection", "mms.accessSelection",
8810         FT_UINT32, BASE_DEC, VALS(mms_T_accessSelection_vals), 0,
8811         NULL, HFILL }},
8812     { &hf_mms_component,
8813       { "component", "mms.component",
8814         FT_STRING, BASE_NONE, NULL, 0,
8815         "Identifier", HFILL }},
8816     { &hf_mms_index,
8817       { "index", "mms.index",
8818         FT_INT32, BASE_DEC, NULL, 0,
8819         "Unsigned32", HFILL }},
8820     { &hf_mms_indexRange,
8821       { "indexRange", "mms.indexRange_element",
8822         FT_NONE, BASE_NONE, NULL, 0,
8823         NULL, HFILL }},
8824     { &hf_mms_lowIndex,
8825       { "lowIndex", "mms.lowIndex",
8826         FT_INT32, BASE_DEC, NULL, 0,
8827         "Unsigned32", HFILL }},
8828     { &hf_mms_allElements,
8829       { "allElements", "mms.allElements_element",
8830         FT_NONE, BASE_NONE, NULL, 0,
8831         NULL, HFILL }},
8832     { &hf_mms_alternateAccess,
8833       { "alternateAccess", "mms.alternateAccess",
8834         FT_UINT32, BASE_DEC, NULL, 0,
8835         NULL, HFILL }},
8836     { &hf_mms_selectAccess,
8837       { "selectAccess", "mms.selectAccess",
8838         FT_UINT32, BASE_DEC, VALS(mms_T_selectAccess_vals), 0,
8839         NULL, HFILL }},
8840     { &hf_mms_indexRange_01,
8841       { "indexRange", "mms.indexRange_element",
8842         FT_NONE, BASE_NONE, NULL, 0,
8843         "T_indexRange_01", HFILL }},
8844     { &hf_mms_nmberOfElements,
8845       { "nmberOfElements", "mms.nmberOfElements",
8846         FT_INT32, BASE_DEC, NULL, 0,
8847         "Unsigned32", HFILL }},
8848     { &hf_mms_specificationWithResult,
8849       { "specificationWithResult", "mms.specificationWithResult",
8850         FT_BOOLEAN, BASE_NONE, NULL, 0,
8851         "BOOLEAN", HFILL }},
8852     { &hf_mms_variableAccessSpecificatn,
8853       { "variableAccessSpecificatn", "mms.variableAccessSpecificatn",
8854         FT_UINT32, BASE_DEC, VALS(mms_VariableAccessSpecification_vals), 0,
8855         "VariableAccessSpecification", HFILL }},
8856     { &hf_mms_listOfAccessResult,
8857       { "listOfAccessResult", "mms.listOfAccessResult",
8858         FT_UINT32, BASE_DEC, NULL, 0,
8859         "SEQUENCE_OF_AccessResult", HFILL }},
8860     { &hf_mms_listOfAccessResult_item,
8861       { "AccessResult", "mms.AccessResult",
8862         FT_UINT32, BASE_DEC, VALS(mms_AccessResult_vals), 0,
8863         NULL, HFILL }},
8864     { &hf_mms_listOfData,
8865       { "listOfData", "mms.listOfData",
8866         FT_UINT32, BASE_DEC, NULL, 0,
8867         "SEQUENCE_OF_Data", HFILL }},
8868     { &hf_mms_listOfData_item,
8869       { "Data", "mms.Data",
8870         FT_UINT32, BASE_DEC, VALS(mms_Data_vals), 0,
8871         NULL, HFILL }},
8872     { &hf_mms_Write_Response_item,
8873       { "Write-Response item", "mms.Write_Response_item",
8874         FT_UINT32, BASE_DEC, VALS(mms_Write_Response_item_vals), 0,
8875         NULL, HFILL }},
8876     { &hf_mms_failure,
8877       { "failure", "mms.failure",
8878         FT_INT32, BASE_DEC, VALS(mms_DataAccessError_vals), 0,
8879         "DataAccessError", HFILL }},
8880     { &hf_mms_success,
8881       { "success", "mms.success_element",
8882         FT_NONE, BASE_NONE, NULL, 0,
8883         NULL, HFILL }},
8884     { &hf_mms_variableAccessSpecification,
8885       { "variableAccessSpecification", "mms.variableAccessSpecification",
8886         FT_UINT32, BASE_DEC, VALS(mms_VariableAccessSpecification_vals), 0,
8887         NULL, HFILL }},
8888     { &hf_mms_name,
8889       { "name", "mms.name",
8890         FT_UINT32, BASE_DEC, VALS(mms_ObjectName_vals), 0,
8891         "ObjectName", HFILL }},
8892     { &hf_mms_address,
8893       { "address", "mms.address",
8894         FT_UINT32, BASE_DEC, VALS(mms_Address_vals), 0,
8895         NULL, HFILL }},
8896     { &hf_mms_typeSpecification,
8897       { "typeSpecification", "mms.typeSpecification",
8898         FT_UINT32, BASE_DEC, VALS(mms_TypeSpecification_vals), 0,
8899         NULL, HFILL }},
8900     { &hf_mms_variableName,
8901       { "variableName", "mms.variableName",
8902         FT_UINT32, BASE_DEC, VALS(mms_ObjectName_vals), 0,
8903         "ObjectName", HFILL }},
8904     { &hf_mms_scatteredAccessName,
8905       { "scatteredAccessName", "mms.scatteredAccessName",
8906         FT_UINT32, BASE_DEC, VALS(mms_ObjectName_vals), 0,
8907         "ObjectName", HFILL }},
8908     { &hf_mms_scatteredAccessDescription,
8909       { "scatteredAccessDescription", "mms.scatteredAccessDescription",
8910         FT_UINT32, BASE_DEC, NULL, 0,
8911         NULL, HFILL }},
8912     { &hf_mms_scopeOfDelete,
8913       { "scopeOfDelete", "mms.scopeOfDelete",
8914         FT_INT32, BASE_DEC, VALS(mms_T_scopeOfDelete_vals), 0,
8915         NULL, HFILL }},
8916     { &hf_mms_listOfName,
8917       { "listOfName", "mms.listOfName",
8918         FT_UINT32, BASE_DEC, NULL, 0,
8919         "SEQUENCE_OF_ObjectName", HFILL }},
8920     { &hf_mms_listOfName_item,
8921       { "ObjectName", "mms.ObjectName",
8922         FT_UINT32, BASE_DEC, VALS(mms_ObjectName_vals), 0,
8923         NULL, HFILL }},
8924     { &hf_mms_numberMatched,
8925       { "numberMatched", "mms.numberMatched",
8926         FT_INT32, BASE_DEC, NULL, 0,
8927         "Unsigned32", HFILL }},
8928     { &hf_mms_numberDeleted,
8929       { "numberDeleted", "mms.numberDeleted",
8930         FT_INT32, BASE_DEC, NULL, 0,
8931         "Unsigned32", HFILL }},
8932     { &hf_mms_variableListName,
8933       { "variableListName", "mms.variableListName",
8934         FT_UINT32, BASE_DEC, VALS(mms_ObjectName_vals), 0,
8935         "ObjectName", HFILL }},
8936     { &hf_mms_listOfVariable,
8937       { "listOfVariable", "mms.listOfVariable",
8938         FT_UINT32, BASE_DEC, NULL, 0,
8939         NULL, HFILL }},
8940     { &hf_mms_listOfVariable_item,
8941       { "listOfVariable item", "mms.listOfVariable_item_element",
8942         FT_NONE, BASE_NONE, NULL, 0,
8943         NULL, HFILL }},
8944     { &hf_mms_variableSpecification,
8945       { "variableSpecification", "mms.variableSpecification",
8946         FT_UINT32, BASE_DEC, VALS(mms_VariableSpecification_vals), 0,
8947         NULL, HFILL }},
8948     { &hf_mms_listOfVariable_01,
8949       { "listOfVariable", "mms.listOfVariable",
8950         FT_UINT32, BASE_DEC, NULL, 0,
8951         "T_listOfVariable_01", HFILL }},
8952     { &hf_mms_listOfVariable_item_01,
8953       { "listOfVariable item", "mms.listOfVariable_item_element",
8954         FT_NONE, BASE_NONE, NULL, 0,
8955         "T_listOfVariable_item_01", HFILL }},
8956     { &hf_mms_scopeOfDelete_01,
8957       { "scopeOfDelete", "mms.scopeOfDelete",
8958         FT_INT32, BASE_DEC, VALS(mms_T_scopeOfDelete_01_vals), 0,
8959         "T_scopeOfDelete_01", HFILL }},
8960     { &hf_mms_listOfVariableListName,
8961       { "listOfVariableListName", "mms.listOfVariableListName",
8962         FT_UINT32, BASE_DEC, NULL, 0,
8963         "SEQUENCE_OF_ObjectName", HFILL }},
8964     { &hf_mms_listOfVariableListName_item,
8965       { "ObjectName", "mms.ObjectName",
8966         FT_UINT32, BASE_DEC, VALS(mms_ObjectName_vals), 0,
8967         NULL, HFILL }},
8968     { &hf_mms_scopeOfDelete_02,
8969       { "scopeOfDelete", "mms.scopeOfDelete",
8970         FT_INT32, BASE_DEC, VALS(mms_T_scopeOfDelete_02_vals), 0,
8971         "T_scopeOfDelete_02", HFILL }},
8972     { &hf_mms_listOfTypeName,
8973       { "listOfTypeName", "mms.listOfTypeName",
8974         FT_UINT32, BASE_DEC, NULL, 0,
8975         "SEQUENCE_OF_ObjectName", HFILL }},
8976     { &hf_mms_listOfTypeName_item,
8977       { "ObjectName", "mms.ObjectName",
8978         FT_UINT32, BASE_DEC, VALS(mms_ObjectName_vals), 0,
8979         NULL, HFILL }},
8980     { &hf_mms_success_01,
8981       { "success", "mms.success",
8982         FT_UINT32, BASE_DEC, VALS(mms_Data_vals), 0,
8983         "Data", HFILL }},
8984     { &hf_mms_array_01,
8985       { "array", "mms.array",
8986         FT_UINT32, BASE_DEC, NULL, 0,
8987         "SEQUENCE_OF_Data", HFILL }},
8988     { &hf_mms_array_item,
8989       { "Data", "mms.Data",
8990         FT_UINT32, BASE_DEC, VALS(mms_Data_vals), 0,
8991         NULL, HFILL }},
8992     { &hf_mms_structure_01,
8993       { "structure", "mms.structure",
8994         FT_UINT32, BASE_DEC, NULL, 0,
8995         "SEQUENCE_OF_Data", HFILL }},
8996     { &hf_mms_structure_item,
8997       { "Data", "mms.Data",
8998         FT_UINT32, BASE_DEC, VALS(mms_Data_vals), 0,
8999         NULL, HFILL }},
9000     { &hf_mms_boolean_01,
9001       { "boolean", "mms.boolean",
9002         FT_BOOLEAN, BASE_NONE, NULL, 0,
9003         NULL, HFILL }},
9004     { &hf_mms_data_bit_string,
9005       { "bit-string", "mms.data_bit-string",
9006         FT_BYTES, BASE_NONE, NULL, 0,
9007         NULL, HFILL }},
9008     { &hf_mms_integer_01,
9009       { "integer", "mms.integer",
9010         FT_INT32, BASE_DEC, NULL, 0,
9011         NULL, HFILL }},
9012     { &hf_mms_unsigned_01,
9013       { "unsigned", "mms.unsigned",
9014         FT_INT32, BASE_DEC, NULL, 0,
9015         "INTEGER", HFILL }},
9016     { &hf_mms_floating_point,
9017       { "floating-point", "mms.floating_point",
9018         FT_BYTES, BASE_NONE, NULL, 0,
9019         "FloatingPoint", HFILL }},
9020     { &hf_mms_data_octet_string,
9021       { "octet-string", "mms.data.octet-string",
9022         FT_BYTES, BASE_NONE, NULL, 0,
9023         NULL, HFILL }},
9024     { &hf_mms_data_visible_string,
9025       { "visible-string", "mms.data.visible-string",
9026         FT_STRING, BASE_NONE, NULL, 0,
9027         "VisibleString", HFILL }},
9028     { &hf_mms_data_binary_time,
9029       { "binary-time", "mms.data.binary-time",
9030         FT_STRING, BASE_NONE, NULL, 0,
9031         "TimeOfDay", HFILL }},
9032     { &hf_mms_bcd_01,
9033       { "bcd", "mms.bcd",
9034         FT_INT32, BASE_DEC, NULL, 0,
9035         "INTEGER", HFILL }},
9036     { &hf_mms_booleanArray,
9037       { "booleanArray", "mms.booleanArray",
9038         FT_BYTES, BASE_NONE, NULL, 0,
9039         "BIT_STRING", HFILL }},
9040     { &hf_mms_objId_01,
9041       { "objId", "mms.objId",
9042         FT_OID, BASE_NONE, NULL, 0,
9043         "OBJECT_IDENTIFIER", HFILL }},
9044     { &hf_mms_mMSString,
9045       { "mMSString", "mms.mMSString",
9046         FT_STRING, BASE_NONE, NULL, 0,
9047         NULL, HFILL }},
9048     { &hf_mms_utc_time,
9049       { "utc-time", "mms.utc_time",
9050         FT_STRING, BASE_NONE, NULL, 0,
9051         "UtcTime", HFILL }},
9052     { &hf_mms_listOfVariable_02,
9053       { "listOfVariable", "mms.listOfVariable",
9054         FT_UINT32, BASE_DEC, NULL, 0,
9055         "T_listOfVariable_02", HFILL }},
9056     { &hf_mms_listOfVariable_item_02,
9057       { "listOfVariable item", "mms.listOfVariable_item_element",
9058         FT_NONE, BASE_NONE, NULL, 0,
9059         "T_listOfVariable_item_02", HFILL }},
9060     { &hf_mms_ScatteredAccessDescription_item,
9061       { "ScatteredAccessDescription item", "mms.ScatteredAccessDescription_item_element",
9062         FT_NONE, BASE_NONE, NULL, 0,
9063         NULL, HFILL }},
9064     { &hf_mms_variableDescription,
9065       { "variableDescription", "mms.variableDescription_element",
9066         FT_NONE, BASE_NONE, NULL, 0,
9067         NULL, HFILL }},
9068     { &hf_mms_invalidated,
9069       { "invalidated", "mms.invalidated_element",
9070         FT_NONE, BASE_NONE, NULL, 0,
9071         NULL, HFILL }},
9072     { &hf_mms_numericAddress,
9073       { "numericAddress", "mms.numericAddress",
9074         FT_INT32, BASE_DEC, NULL, 0,
9075         "Unsigned32", HFILL }},
9076     { &hf_mms_symbolicAddress,
9077       { "symbolicAddress", "mms.symbolicAddress",
9078         FT_STRING, BASE_NONE, NULL, 0,
9079         "VisibleString", HFILL }},
9080     { &hf_mms_unconstrainedAddress,
9081       { "unconstrainedAddress", "mms.unconstrainedAddress",
9082         FT_BYTES, BASE_NONE, NULL, 0,
9083         "OCTET_STRING", HFILL }},
9084     { &hf_mms_semaphoreName,
9085       { "semaphoreName", "mms.semaphoreName",
9086         FT_UINT32, BASE_DEC, VALS(mms_ObjectName_vals), 0,
9087         "ObjectName", HFILL }},
9088     { &hf_mms_namedToken,
9089       { "namedToken", "mms.namedToken",
9090         FT_STRING, BASE_NONE, NULL, 0,
9091         "Identifier", HFILL }},
9092     { &hf_mms_priority,
9093       { "priority", "mms.priority",
9094         FT_INT32, BASE_DEC, NULL, 0,
9095         NULL, HFILL }},
9096     { &hf_mms_acceptableDelay,
9097       { "acceptableDelay", "mms.acceptableDelay",
9098         FT_INT32, BASE_DEC, NULL, 0,
9099         "Unsigned32", HFILL }},
9100     { &hf_mms_controlTimeOut,
9101       { "controlTimeOut", "mms.controlTimeOut",
9102         FT_INT32, BASE_DEC, NULL, 0,
9103         "Unsigned32", HFILL }},
9104     { &hf_mms_abortOnTimeOut,
9105       { "abortOnTimeOut", "mms.abortOnTimeOut",
9106         FT_BOOLEAN, BASE_NONE, NULL, 0,
9107         "BOOLEAN", HFILL }},
9108     { &hf_mms_relinquishIfConnectionLost,
9109       { "relinquishIfConnectionLost", "mms.relinquishIfConnectionLost",
9110         FT_BOOLEAN, BASE_NONE, NULL, 0,
9111         "BOOLEAN", HFILL }},
9112     { &hf_mms_applicationToPreempt,
9113       { "applicationToPreempt", "mms.applicationToPreempt_element",
9114         FT_NONE, BASE_NONE, NULL, 0,
9115         "ApplicationReference", HFILL }},
9116     { &hf_mms_noResult,
9117       { "noResult", "mms.noResult_element",
9118         FT_NONE, BASE_NONE, NULL, 0,
9119         NULL, HFILL }},
9120     { &hf_mms_numbersOfTokens,
9121       { "numbersOfTokens", "mms.numbersOfTokens",
9122         FT_INT32, BASE_DEC, NULL, 0,
9123         "Unsigned16", HFILL }},
9124     { &hf_mms_class,
9125       { "class", "mms.class",
9126         FT_INT32, BASE_DEC, VALS(mms_T_class_vals), 0,
9127         NULL, HFILL }},
9128     { &hf_mms_numberOfTokens,
9129       { "numberOfTokens", "mms.numberOfTokens",
9130         FT_INT32, BASE_DEC, NULL, 0,
9131         "Unsigned16", HFILL }},
9132     { &hf_mms_numberOfOwnedTokens,
9133       { "numberOfOwnedTokens", "mms.numberOfOwnedTokens",
9134         FT_INT32, BASE_DEC, NULL, 0,
9135         "Unsigned16", HFILL }},
9136     { &hf_mms_numberOfHungTokens,
9137       { "numberOfHungTokens", "mms.numberOfHungTokens",
9138         FT_INT32, BASE_DEC, NULL, 0,
9139         "Unsigned16", HFILL }},
9140     { &hf_mms_nameToStartAfter,
9141       { "nameToStartAfter", "mms.nameToStartAfter",
9142         FT_STRING, BASE_NONE, NULL, 0,
9143         "Identifier", HFILL }},
9144     { &hf_mms_listOfNamedTokens,
9145       { "listOfNamedTokens", "mms.listOfNamedTokens",
9146         FT_UINT32, BASE_DEC, NULL, 0,
9147         NULL, HFILL }},
9148     { &hf_mms_listOfNamedTokens_item,
9149       { "listOfNamedTokens item", "mms.listOfNamedTokens_item",
9150         FT_UINT32, BASE_DEC, VALS(mms_T_listOfNamedTokens_item_vals), 0,
9151         NULL, HFILL }},
9152     { &hf_mms_freeNamedToken,
9153       { "freeNamedToken", "mms.freeNamedToken",
9154         FT_STRING, BASE_NONE, NULL, 0,
9155         "Identifier", HFILL }},
9156     { &hf_mms_ownedNamedToken,
9157       { "ownedNamedToken", "mms.ownedNamedToken",
9158         FT_STRING, BASE_NONE, NULL, 0,
9159         "Identifier", HFILL }},
9160     { &hf_mms_hungNamedToken,
9161       { "hungNamedToken", "mms.hungNamedToken",
9162         FT_STRING, BASE_NONE, NULL, 0,
9163         "Identifier", HFILL }},
9164     { &hf_mms_reportSemaphoreEntryStatus_Request_state,
9165       { "state", "mms.reportSemaphoreEntryStatus-Request_state",
9166         FT_INT32, BASE_DEC, VALS(mms_T_reportSemaphoreEntryStatus_Request_state_vals), 0,
9167         "T_reportSemaphoreEntryStatus_Request_state", HFILL }},
9168     { &hf_mms_entryIdToStartAfter,
9169       { "entryIdToStartAfter", "mms.entryIdToStartAfter",
9170         FT_BYTES, BASE_NONE, NULL, 0,
9171         "OCTET_STRING", HFILL }},
9172     { &hf_mms_listOfSemaphoreEntry,
9173       { "listOfSemaphoreEntry", "mms.listOfSemaphoreEntry",
9174         FT_UINT32, BASE_DEC, NULL, 0,
9175         "SEQUENCE_OF_SemaphoreEntry", HFILL }},
9176     { &hf_mms_listOfSemaphoreEntry_item,
9177       { "SemaphoreEntry", "mms.SemaphoreEntry_element",
9178         FT_NONE, BASE_NONE, NULL, 0,
9179         NULL, HFILL }},
9180     { &hf_mms_entryId,
9181       { "entryId", "mms.entryId",
9182         FT_BYTES, BASE_NONE, NULL, 0,
9183         "OCTET_STRING", HFILL }},
9184     { &hf_mms_entryClass,
9185       { "entryClass", "mms.entryClass",
9186         FT_INT32, BASE_DEC, VALS(mms_T_entryClass_vals), 0,
9187         NULL, HFILL }},
9188     { &hf_mms_applicationReference,
9189       { "applicationReference", "mms.applicationReference_element",
9190         FT_NONE, BASE_NONE, NULL, 0,
9191         NULL, HFILL }},
9192     { &hf_mms_remainingTimeOut,
9193       { "remainingTimeOut", "mms.remainingTimeOut",
9194         FT_INT32, BASE_DEC, NULL, 0,
9195         "Unsigned32", HFILL }},
9196     { &hf_mms_operatorStationName,
9197       { "operatorStationName", "mms.operatorStationName",
9198         FT_STRING, BASE_NONE, NULL, 0,
9199         "Identifier", HFILL }},
9200     { &hf_mms_echo,
9201       { "echo", "mms.echo",
9202         FT_BOOLEAN, BASE_NONE, NULL, 0,
9203         "BOOLEAN", HFILL }},
9204     { &hf_mms_listOfPromptData,
9205       { "listOfPromptData", "mms.listOfPromptData",
9206         FT_UINT32, BASE_DEC, NULL, 0,
9207         NULL, HFILL }},
9208     { &hf_mms_listOfPromptData_item,
9209       { "listOfPromptData item", "mms.listOfPromptData_item",
9210         FT_STRING, BASE_NONE, NULL, 0,
9211         "VisibleString", HFILL }},
9212     { &hf_mms_inputTimeOut,
9213       { "inputTimeOut", "mms.inputTimeOut",
9214         FT_INT32, BASE_DEC, NULL, 0,
9215         "Unsigned32", HFILL }},
9216     { &hf_mms_listOfOutputData,
9217       { "listOfOutputData", "mms.listOfOutputData",
9218         FT_UINT32, BASE_DEC, NULL, 0,
9219         NULL, HFILL }},
9220     { &hf_mms_listOfOutputData_item,
9221       { "listOfOutputData item", "mms.listOfOutputData_item",
9222         FT_STRING, BASE_NONE, NULL, 0,
9223         "VisibleString", HFILL }},
9224     { &hf_mms_eventConditionName,
9225       { "eventConditionName", "mms.eventConditionName",
9226         FT_UINT32, BASE_DEC, VALS(mms_ObjectName_vals), 0,
9227         "ObjectName", HFILL }},
9228     { &hf_mms_class_01,
9229       { "class", "mms.class",
9230         FT_INT32, BASE_DEC, VALS(mms_EC_Class_vals), 0,
9231         "EC_Class", HFILL }},
9232     { &hf_mms_prio_rity,
9233       { "prio-rity", "mms.prio_rity",
9234         FT_INT32, BASE_DEC, NULL, 0,
9235         "Priority", HFILL }},
9236     { &hf_mms_severity,
9237       { "severity", "mms.severity",
9238         FT_INT32, BASE_DEC, NULL, 0,
9239         "Unsigned8", HFILL }},
9240     { &hf_mms_alarmSummaryReports,
9241       { "alarmSummaryReports", "mms.alarmSummaryReports",
9242         FT_BOOLEAN, BASE_NONE, NULL, 0,
9243         "BOOLEAN", HFILL }},
9244     { &hf_mms_monitoredVariable,
9245       { "monitoredVariable", "mms.monitoredVariable",
9246         FT_UINT32, BASE_DEC, VALS(mms_VariableSpecification_vals), 0,
9247         "VariableSpecification", HFILL }},
9248     { &hf_mms_evaluationInterval,
9249       { "evaluationInterval", "mms.evaluationInterval",
9250         FT_INT32, BASE_DEC, NULL, 0,
9251         "Unsigned32", HFILL }},
9252     { &hf_mms_specific,
9253       { "specific", "mms.specific",
9254         FT_UINT32, BASE_DEC, NULL, 0,
9255         "SEQUENCE_OF_ObjectName", HFILL }},
9256     { &hf_mms_specific_item,
9257       { "ObjectName", "mms.ObjectName",
9258         FT_UINT32, BASE_DEC, VALS(mms_ObjectName_vals), 0,
9259         NULL, HFILL }},
9260     { &hf_mms_aa_specific_01,
9261       { "aa-specific", "mms.aa_specific_element",
9262         FT_NONE, BASE_NONE, NULL, 0,
9263         NULL, HFILL }},
9264     { &hf_mms_vmd,
9265       { "vmd", "mms.vmd_element",
9266         FT_NONE, BASE_NONE, NULL, 0,
9267         NULL, HFILL }},
9268     { &hf_mms_monitoredVariable_01,
9269       { "monitoredVariable", "mms.monitoredVariable",
9270         FT_UINT32, BASE_DEC, VALS(mms_T_monitoredVariable_vals), 0,
9271         NULL, HFILL }},
9272     { &hf_mms_variableReference,
9273       { "variableReference", "mms.variableReference",
9274         FT_UINT32, BASE_DEC, VALS(mms_VariableSpecification_vals), 0,
9275         "VariableSpecification", HFILL }},
9276     { &hf_mms_undefined,
9277       { "undefined", "mms.undefined_element",
9278         FT_NONE, BASE_NONE, NULL, 0,
9279         NULL, HFILL }},
9280     { &hf_mms_currentState,
9281       { "currentState", "mms.currentState",
9282         FT_INT32, BASE_DEC, VALS(mms_EC_State_vals), 0,
9283         "EC_State", HFILL }},
9284     { &hf_mms_numberOfEventEnrollments,
9285       { "numberOfEventEnrollments", "mms.numberOfEventEnrollments",
9286         FT_INT32, BASE_DEC, NULL, 0,
9287         "Unsigned32", HFILL }},
9288     { &hf_mms_enabled,
9289       { "enabled", "mms.enabled",
9290         FT_BOOLEAN, BASE_NONE, NULL, 0,
9291         "BOOLEAN", HFILL }},
9292     { &hf_mms_timeOfLastTransitionToActive,
9293       { "timeOfLastTransitionToActive", "mms.timeOfLastTransitionToActive",
9294         FT_UINT32, BASE_DEC, VALS(mms_EventTime_vals), 0,
9295         "EventTime", HFILL }},
9296     { &hf_mms_timeOfLastTransitionToIdle,
9297       { "timeOfLastTransitionToIdle", "mms.timeOfLastTransitionToIdle",
9298         FT_UINT32, BASE_DEC, VALS(mms_EventTime_vals), 0,
9299         "EventTime", HFILL }},
9300     { &hf_mms_eventActionName,
9301       { "eventActionName", "mms.eventActionName",
9302         FT_UINT32, BASE_DEC, VALS(mms_ObjectName_vals), 0,
9303         "ObjectName", HFILL }},
9304     { &hf_mms_eventEnrollmentName,
9305       { "eventEnrollmentName", "mms.eventEnrollmentName",
9306         FT_UINT32, BASE_DEC, VALS(mms_ObjectName_vals), 0,
9307         "ObjectName", HFILL }},
9308     { &hf_mms_eventConditionTransition,
9309       { "eventConditionTransition", "mms.eventConditionTransition",
9310         FT_BYTES, BASE_NONE, NULL, 0,
9311         "Transitions", HFILL }},
9312     { &hf_mms_alarmAcknowledgementRule,
9313       { "alarmAcknowledgementRule", "mms.alarmAcknowledgementRule",
9314         FT_INT32, BASE_DEC, VALS(mms_AlarmAckRule_vals), 0,
9315         "AlarmAckRule", HFILL }},
9316     { &hf_mms_clientApplication,
9317       { "clientApplication", "mms.clientApplication_element",
9318         FT_NONE, BASE_NONE, NULL, 0,
9319         "ApplicationReference", HFILL }},
9320     { &hf_mms_ec,
9321       { "ec", "mms.ec",
9322         FT_UINT32, BASE_DEC, VALS(mms_ObjectName_vals), 0,
9323         "ObjectName", HFILL }},
9324     { &hf_mms_ea,
9325       { "ea", "mms.ea",
9326         FT_UINT32, BASE_DEC, VALS(mms_ObjectName_vals), 0,
9327         "ObjectName", HFILL }},
9328     { &hf_mms_scopeOfRequest,
9329       { "scopeOfRequest", "mms.scopeOfRequest",
9330         FT_INT32, BASE_DEC, VALS(mms_T_scopeOfRequest_vals), 0,
9331         NULL, HFILL }},
9332     { &hf_mms_eventEnrollmentNames,
9333       { "eventEnrollmentNames", "mms.eventEnrollmentNames",
9334         FT_UINT32, BASE_DEC, NULL, 0,
9335         "SEQUENCE_OF_ObjectName", HFILL }},
9336     { &hf_mms_eventEnrollmentNames_item,
9337       { "ObjectName", "mms.ObjectName",
9338         FT_UINT32, BASE_DEC, VALS(mms_ObjectName_vals), 0,
9339         NULL, HFILL }},
9340     { &hf_mms_getEventEnrollmentAttributes_Request_continueAfter,
9341       { "continueAfter", "mms.getEventEnrollmentAttributes-Request_continueAfter",
9342         FT_UINT32, BASE_DEC, VALS(mms_ObjectName_vals), 0,
9343         "ObjectName", HFILL }},
9344     { &hf_mms_eventConditionName_01,
9345       { "eventConditionName", "mms.eventConditionName",
9346         FT_UINT32, BASE_DEC, VALS(mms_T_eventConditionName_vals), 0,
9347         NULL, HFILL }},
9348     { &hf_mms_eventActionName_01,
9349       { "eventActionName", "mms.eventActionName",
9350         FT_UINT32, BASE_DEC, VALS(mms_T_eventActionName_vals), 0,
9351         NULL, HFILL }},
9352     { &hf_mms_eventAction,
9353       { "eventAction", "mms.eventAction",
9354         FT_UINT32, BASE_DEC, VALS(mms_ObjectName_vals), 0,
9355         "ObjectName", HFILL }},
9356     { &hf_mms_enrollmentClass,
9357       { "enrollmentClass", "mms.enrollmentClass",
9358         FT_INT32, BASE_DEC, VALS(mms_EE_Class_vals), 0,
9359         "EE_Class", HFILL }},
9360     { &hf_mms_duration,
9361       { "duration", "mms.duration",
9362         FT_INT32, BASE_DEC, VALS(mms_EE_Duration_vals), 0,
9363         "EE_Duration", HFILL }},
9364     { &hf_mms_remainingAcceptableDelay,
9365       { "remainingAcceptableDelay", "mms.remainingAcceptableDelay",
9366         FT_INT32, BASE_DEC, NULL, 0,
9367         "Unsigned32", HFILL }},
9368     { &hf_mms_listOfEventEnrollment,
9369       { "listOfEventEnrollment", "mms.listOfEventEnrollment",
9370         FT_UINT32, BASE_DEC, NULL, 0,
9371         "SEQUENCE_OF_EventEnrollment", HFILL }},
9372     { &hf_mms_listOfEventEnrollment_item,
9373       { "EventEnrollment", "mms.EventEnrollment_element",
9374         FT_NONE, BASE_NONE, NULL, 0,
9375         NULL, HFILL }},
9376     { &hf_mms_eventConditionTransitions,
9377       { "eventConditionTransitions", "mms.eventConditionTransitions",
9378         FT_BYTES, BASE_NONE, NULL, 0,
9379         "Transitions", HFILL }},
9380     { &hf_mms_notificationLost,
9381       { "notificationLost", "mms.notificationLost",
9382         FT_BOOLEAN, BASE_NONE, NULL, 0,
9383         "BOOLEAN", HFILL }},
9384     { &hf_mms_alarmAcknowledgmentRule,
9385       { "alarmAcknowledgmentRule", "mms.alarmAcknowledgmentRule",
9386         FT_INT32, BASE_DEC, VALS(mms_AlarmAckRule_vals), 0,
9387         "AlarmAckRule", HFILL }},
9388     { &hf_mms_currentState_01,
9389       { "currentState", "mms.currentState",
9390         FT_INT32, BASE_DEC, VALS(mms_EE_State_vals), 0,
9391         "EE_State", HFILL }},
9392     { &hf_mms_currentState_02,
9393       { "currentState", "mms.currentState",
9394         FT_UINT32, BASE_DEC, VALS(mms_T_currentState_vals), 0,
9395         NULL, HFILL }},
9396     { &hf_mms_alterEventEnrollment_Response_currentState_state,
9397       { "state", "mms.alterEventEnrollment-Response_currentState_state",
9398         FT_INT32, BASE_DEC, VALS(mms_EE_State_vals), 0,
9399         "EE_State", HFILL }},
9400     { &hf_mms_transitionTime,
9401       { "transitionTime", "mms.transitionTime",
9402         FT_UINT32, BASE_DEC, VALS(mms_EventTime_vals), 0,
9403         "EventTime", HFILL }},
9404     { &hf_mms_acknowledgedState,
9405       { "acknowledgedState", "mms.acknowledgedState",
9406         FT_INT32, BASE_DEC, VALS(mms_EC_State_vals), 0,
9407         "EC_State", HFILL }},
9408     { &hf_mms_timeOfAcknowledgedTransition,
9409       { "timeOfAcknowledgedTransition", "mms.timeOfAcknowledgedTransition",
9410         FT_UINT32, BASE_DEC, VALS(mms_EventTime_vals), 0,
9411         "EventTime", HFILL }},
9412     { &hf_mms_enrollmentsOnly,
9413       { "enrollmentsOnly", "mms.enrollmentsOnly",
9414         FT_BOOLEAN, BASE_NONE, NULL, 0,
9415         "BOOLEAN", HFILL }},
9416     { &hf_mms_activeAlarmsOnly,
9417       { "activeAlarmsOnly", "mms.activeAlarmsOnly",
9418         FT_BOOLEAN, BASE_NONE, NULL, 0,
9419         "BOOLEAN", HFILL }},
9420     { &hf_mms_acknowledgmentFilter,
9421       { "acknowledgmentFilter", "mms.acknowledgmentFilter",
9422         FT_INT32, BASE_DEC, VALS(mms_T_acknowledgmentFilter_vals), 0,
9423         NULL, HFILL }},
9424     { &hf_mms_severityFilter,
9425       { "severityFilter", "mms.severityFilter_element",
9426         FT_NONE, BASE_NONE, NULL, 0,
9427         NULL, HFILL }},
9428     { &hf_mms_mostSevere,
9429       { "mostSevere", "mms.mostSevere",
9430         FT_INT32, BASE_DEC, NULL, 0,
9431         "Unsigned8", HFILL }},
9432     { &hf_mms_leastSevere,
9433       { "leastSevere", "mms.leastSevere",
9434         FT_INT32, BASE_DEC, NULL, 0,
9435         "Unsigned8", HFILL }},
9436     { &hf_mms_continueAfter,
9437       { "continueAfter", "mms.continueAfter",
9438         FT_UINT32, BASE_DEC, VALS(mms_ObjectName_vals), 0,
9439         "ObjectName", HFILL }},
9440     { &hf_mms_listOfAlarmSummary,
9441       { "listOfAlarmSummary", "mms.listOfAlarmSummary",
9442         FT_UINT32, BASE_DEC, NULL, 0,
9443         "SEQUENCE_OF_AlarmSummary", HFILL }},
9444     { &hf_mms_listOfAlarmSummary_item,
9445       { "AlarmSummary", "mms.AlarmSummary_element",
9446         FT_NONE, BASE_NONE, NULL, 0,
9447         NULL, HFILL }},
9448     { &hf_mms_unacknowledgedState,
9449       { "unacknowledgedState", "mms.unacknowledgedState",
9450         FT_INT32, BASE_DEC, VALS(mms_T_unacknowledgedState_vals), 0,
9451         NULL, HFILL }},
9452     { &hf_mms_acknowledgmentFilter_01,
9453       { "acknowledgmentFilter", "mms.acknowledgmentFilter",
9454         FT_INT32, BASE_DEC, VALS(mms_T_acknowledgmentFilter_01_vals), 0,
9455         "T_acknowledgmentFilter_01", HFILL }},
9456     { &hf_mms_severityFilter_01,
9457       { "severityFilter", "mms.severityFilter_element",
9458         FT_NONE, BASE_NONE, NULL, 0,
9459         "T_severityFilter_01", HFILL }},
9460     { &hf_mms_getAlarmEnrollmentSummary_Request_continueAfter,
9461       { "continueAfter", "mms.getAlarmEnrollmentSummary-Request_continueAfter",
9462         FT_UINT32, BASE_DEC, VALS(mms_ObjectName_vals), 0,
9463         "ObjectName", HFILL }},
9464     { &hf_mms_listOfAlarmEnrollmentSummary,
9465       { "listOfAlarmEnrollmentSummary", "mms.listOfAlarmEnrollmentSummary",
9466         FT_UINT32, BASE_DEC, NULL, 0,
9467         "SEQUENCE_OF_AlarmEnrollmentSummary", HFILL }},
9468     { &hf_mms_listOfAlarmEnrollmentSummary_item,
9469       { "AlarmEnrollmentSummary", "mms.AlarmEnrollmentSummary_element",
9470         FT_NONE, BASE_NONE, NULL, 0,
9471         NULL, HFILL }},
9472     { &hf_mms_enrollementState,
9473       { "enrollementState", "mms.enrollementState",
9474         FT_INT32, BASE_DEC, VALS(mms_EE_State_vals), 0,
9475         "EE_State", HFILL }},
9476     { &hf_mms_timeActiveAcknowledged,
9477       { "timeActiveAcknowledged", "mms.timeActiveAcknowledged",
9478         FT_UINT32, BASE_DEC, VALS(mms_EventTime_vals), 0,
9479         "EventTime", HFILL }},
9480     { &hf_mms_timeIdleAcknowledged,
9481       { "timeIdleAcknowledged", "mms.timeIdleAcknowledged",
9482         FT_UINT32, BASE_DEC, VALS(mms_EventTime_vals), 0,
9483         "EventTime", HFILL }},
9484     { &hf_mms_eventConditionName_02,
9485       { "eventConditionName", "mms.eventConditionName",
9486         FT_UINT32, BASE_DEC, VALS(mms_T_eventConditionName_01_vals), 0,
9487         "T_eventConditionName_01", HFILL }},
9488     { &hf_mms_actionResult,
9489       { "actionResult", "mms.actionResult_element",
9490         FT_NONE, BASE_NONE, NULL, 0,
9491         NULL, HFILL }},
9492     { &hf_mms_eventActioName,
9493       { "eventActioName", "mms.eventActioName",
9494         FT_UINT32, BASE_DEC, VALS(mms_ObjectName_vals), 0,
9495         "ObjectName", HFILL }},
9496     { &hf_mms_eventActionResult,
9497       { "eventActionResult", "mms.eventActionResult",
9498         FT_UINT32, BASE_DEC, VALS(mms_T_eventActionResult_vals), 0,
9499         NULL, HFILL }},
9500     { &hf_mms_success_02,
9501       { "success", "mms.success",
9502         FT_UINT32, BASE_DEC, VALS(mms_ConfirmedServiceResponse_vals), 0,
9503         "ConfirmedServiceResponse", HFILL }},
9504     { &hf_mms_failure_01,
9505       { "failure", "mms.failure_element",
9506         FT_NONE, BASE_NONE, NULL, 0,
9507         "ServiceError", HFILL }},
9508     { &hf_mms_causingTransitions,
9509       { "causingTransitions", "mms.causingTransitions",
9510         FT_BYTES, BASE_NONE, NULL, 0,
9511         "Transitions", HFILL }},
9512     { &hf_mms_timeOfDayT,
9513       { "timeOfDayT", "mms.timeOfDayT",
9514         FT_STRING, BASE_NONE, NULL, 0,
9515         "TimeOfDay", HFILL }},
9516     { &hf_mms_timeSequenceIdentifier,
9517       { "timeSequenceIdentifier", "mms.timeSequenceIdentifier",
9518         FT_INT32, BASE_DEC, NULL, 0,
9519         "Unsigned32", HFILL }},
9520     { &hf_mms_journalName,
9521       { "journalName", "mms.journalName",
9522         FT_UINT32, BASE_DEC, VALS(mms_ObjectName_vals), 0,
9523         "ObjectName", HFILL }},
9524     { &hf_mms_rangeStartSpecification,
9525       { "rangeStartSpecification", "mms.rangeStartSpecification",
9526         FT_UINT32, BASE_DEC, VALS(mms_T_rangeStartSpecification_vals), 0,
9527         NULL, HFILL }},
9528     { &hf_mms_startingTime,
9529       { "startingTime", "mms.startingTime",
9530         FT_STRING, BASE_NONE, NULL, 0,
9531         "TimeOfDay", HFILL }},
9532     { &hf_mms_startingEntry,
9533       { "startingEntry", "mms.startingEntry",
9534         FT_BYTES, BASE_NONE, NULL, 0,
9535         "OCTET_STRING", HFILL }},
9536     { &hf_mms_rangeStopSpecification,
9537       { "rangeStopSpecification", "mms.rangeStopSpecification",
9538         FT_UINT32, BASE_DEC, VALS(mms_T_rangeStopSpecification_vals), 0,
9539         NULL, HFILL }},
9540     { &hf_mms_endingTime,
9541       { "endingTime", "mms.endingTime",
9542         FT_STRING, BASE_NONE, NULL, 0,
9543         "TimeOfDay", HFILL }},
9544     { &hf_mms_numberOfEntries,
9545       { "numberOfEntries", "mms.numberOfEntries",
9546         FT_INT32, BASE_DEC, NULL, 0,
9547         "Integer32", HFILL }},
9548     { &hf_mms_listOfVariables,
9549       { "listOfVariables", "mms.listOfVariables",
9550         FT_UINT32, BASE_DEC, NULL, 0,
9551         NULL, HFILL }},
9552     { &hf_mms_listOfVariables_item,
9553       { "listOfVariables item", "mms.listOfVariables_item",
9554         FT_STRING, BASE_NONE, NULL, 0,
9555         "VisibleString", HFILL }},
9556     { &hf_mms_entryToStartAfter,
9557       { "entryToStartAfter", "mms.entryToStartAfter_element",
9558         FT_NONE, BASE_NONE, NULL, 0,
9559         NULL, HFILL }},
9560     { &hf_mms_timeSpecification,
9561       { "timeSpecification", "mms.timeSpecification",
9562         FT_STRING, BASE_NONE, NULL, 0,
9563         "TimeOfDay", HFILL }},
9564     { &hf_mms_entrySpecification,
9565       { "entrySpecification", "mms.entrySpecification",
9566         FT_BYTES, BASE_NONE, NULL, 0,
9567         "OCTET_STRING", HFILL }},
9568     { &hf_mms_listOfJournalEntry,
9569       { "listOfJournalEntry", "mms.listOfJournalEntry",
9570         FT_UINT32, BASE_DEC, NULL, 0,
9571         "SEQUENCE_OF_JournalEntry", HFILL }},
9572     { &hf_mms_listOfJournalEntry_item,
9573       { "JournalEntry", "mms.JournalEntry_element",
9574         FT_NONE, BASE_NONE, NULL, 0,
9575         NULL, HFILL }},
9576     { &hf_mms_entryIdentifier,
9577       { "entryIdentifier", "mms.entryIdentifier",
9578         FT_BYTES, BASE_NONE, NULL, 0,
9579         "OCTET_STRING", HFILL }},
9580     { &hf_mms_originatingApplication,
9581       { "originatingApplication", "mms.originatingApplication_element",
9582         FT_NONE, BASE_NONE, NULL, 0,
9583         "ApplicationReference", HFILL }},
9584     { &hf_mms_entryContent,
9585       { "entryContent", "mms.entryContent_element",
9586         FT_NONE, BASE_NONE, NULL, 0,
9587         NULL, HFILL }},
9588     { &hf_mms_listOfJournalEntry_01,
9589       { "listOfJournalEntry", "mms.listOfJournalEntry",
9590         FT_UINT32, BASE_DEC, NULL, 0,
9591         "SEQUENCE_OF_EntryContent", HFILL }},
9592     { &hf_mms_listOfJournalEntry_item_01,
9593       { "EntryContent", "mms.EntryContent_element",
9594         FT_NONE, BASE_NONE, NULL, 0,
9595         NULL, HFILL }},
9596     { &hf_mms_limitSpecification,
9597       { "limitSpecification", "mms.limitSpecification_element",
9598         FT_NONE, BASE_NONE, NULL, 0,
9599         NULL, HFILL }},
9600     { &hf_mms_limitingTime,
9601       { "limitingTime", "mms.limitingTime",
9602         FT_STRING, BASE_NONE, NULL, 0,
9603         "TimeOfDay", HFILL }},
9604     { &hf_mms_limitingEntry,
9605       { "limitingEntry", "mms.limitingEntry",
9606         FT_BYTES, BASE_NONE, NULL, 0,
9607         "OCTET_STRING", HFILL }},
9608     { &hf_mms_currentEntries,
9609       { "currentEntries", "mms.currentEntries",
9610         FT_INT32, BASE_DEC, NULL, 0,
9611         "Unsigned32", HFILL }},
9612     { &hf_mms_occurenceTime,
9613       { "occurenceTime", "mms.occurenceTime",
9614         FT_STRING, BASE_NONE, NULL, 0,
9615         "TimeOfDay", HFILL }},
9616     { &hf_mms_additionalDetail,
9617       { "additionalDetail", "mms.additionalDetail_element",
9618         FT_NONE, BASE_NONE, NULL, 0,
9619         "JOU_Additional_Detail", HFILL }},
9620     { &hf_mms_entryForm,
9621       { "entryForm", "mms.entryForm",
9622         FT_UINT32, BASE_DEC, VALS(mms_T_entryForm_vals), 0,
9623         NULL, HFILL }},
9624     { &hf_mms_data,
9625       { "data", "mms.data_element",
9626         FT_NONE, BASE_NONE, NULL, 0,
9627         NULL, HFILL }},
9628     { &hf_mms_event,
9629       { "event", "mms.event_element",
9630         FT_NONE, BASE_NONE, NULL, 0,
9631         NULL, HFILL }},
9632     { &hf_mms_listOfVariables_01,
9633       { "listOfVariables", "mms.listOfVariables",
9634         FT_UINT32, BASE_DEC, NULL, 0,
9635         "T_listOfVariables_01", HFILL }},
9636     { &hf_mms_listOfVariables_item_01,
9637       { "listOfVariables item", "mms.listOfVariables_item_element",
9638         FT_NONE, BASE_NONE, NULL, 0,
9639         NULL, HFILL }},
9640     { &hf_mms_variableTag,
9641       { "variableTag", "mms.variableTag",
9642         FT_STRING, BASE_NONE, NULL, 0,
9643         "VisibleString", HFILL }},
9644     { &hf_mms_valueSpecification,
9645       { "valueSpecification", "mms.valueSpecification",
9646         FT_UINT32, BASE_DEC, VALS(mms_Data_vals), 0,
9647         "Data", HFILL }},
9648     { &hf_mms_annotation,
9649       { "annotation", "mms.annotation",
9650         FT_STRING, BASE_NONE, NULL, 0,
9651         "VisibleString", HFILL }},
9652     { &hf_mms_sourceFileServer,
9653       { "sourceFileServer", "mms.sourceFileServer_element",
9654         FT_NONE, BASE_NONE, NULL, 0,
9655         "ApplicationReference", HFILL }},
9656     { &hf_mms_sourceFile,
9657       { "sourceFile", "mms.sourceFile",
9658         FT_UINT32, BASE_DEC, NULL, 0,
9659         "FileName", HFILL }},
9660     { &hf_mms_destinationFile,
9661       { "destinationFile", "mms.destinationFile",
9662         FT_UINT32, BASE_DEC, NULL, 0,
9663         "FileName", HFILL }},
9664     { &hf_mms_initialPosition,
9665       { "initialPosition", "mms.initialPosition",
9666         FT_INT32, BASE_DEC, NULL, 0,
9667         "Unsigned32", HFILL }},
9668     { &hf_mms_frsmID,
9669       { "frsmID", "mms.frsmID",
9670         FT_INT32, BASE_DEC, NULL, 0,
9671         "Integer32", HFILL }},
9672     { &hf_mms_fileAttributes,
9673       { "fileAttributes", "mms.fileAttributes_element",
9674         FT_NONE, BASE_NONE, NULL, 0,
9675         NULL, HFILL }},
9676     { &hf_mms_fileData,
9677       { "fileData", "mms.fileData",
9678         FT_BYTES, BASE_NONE, NULL, 0,
9679         "OCTET_STRING", HFILL }},
9680     { &hf_mms_currentFileName,
9681       { "currentFileName", "mms.currentFileName",
9682         FT_UINT32, BASE_DEC, NULL, 0,
9683         "FileName", HFILL }},
9684     { &hf_mms_newFileName,
9685       { "newFileName", "mms.newFileName",
9686         FT_UINT32, BASE_DEC, NULL, 0,
9687         "FileName", HFILL }},
9688     { &hf_mms_fileSpecification,
9689       { "fileSpecification", "mms.fileSpecification",
9690         FT_UINT32, BASE_DEC, NULL, 0,
9691         "FileName", HFILL }},
9692     { &hf_mms_fileDirectory_Request_continueAfter,
9693       { "continueAfter", "mms.fileDirectory-Request_continueAfter",
9694         FT_UINT32, BASE_DEC, NULL, 0,
9695         "FileName", HFILL }},
9696     { &hf_mms_listOfDirectoryEntry,
9697       { "listOfDirectoryEntry", "mms.listOfDirectoryEntry",
9698         FT_UINT32, BASE_DEC, NULL, 0,
9699         "SEQUENCE_OF_DirectoryEntry", HFILL }},
9700     { &hf_mms_listOfDirectoryEntry_item,
9701       { "DirectoryEntry", "mms.DirectoryEntry_element",
9702         FT_NONE, BASE_NONE, NULL, 0,
9703         NULL, HFILL }},
9704     { &hf_mms_filename,
9705       { "filename", "mms.filename",
9706         FT_UINT32, BASE_DEC, NULL, 0,
9707         NULL, HFILL }},
9708     { &hf_mms_sizeOfFile,
9709       { "sizeOfFile", "mms.sizeOfFile",
9710         FT_INT32, BASE_DEC, NULL, 0,
9711         "Unsigned32", HFILL }},
9712     { &hf_mms_lastModified,
9713       { "lastModified", "mms.lastModified",
9714         FT_STRING, BASE_NONE, NULL, 0,
9715         "GeneralizedTime", HFILL }},
9716     { &hf_mms_ParameterSupportOptions_str1,
9717       { "str1", "mms.ParameterSupportOptions.str1",
9718         FT_BOOLEAN, 8, NULL, 0x80,
9719         NULL, HFILL }},
9720     { &hf_mms_ParameterSupportOptions_str2,
9721       { "str2", "mms.ParameterSupportOptions.str2",
9722         FT_BOOLEAN, 8, NULL, 0x40,
9723         NULL, HFILL }},
9724     { &hf_mms_ParameterSupportOptions_vnam,
9725       { "vnam", "mms.ParameterSupportOptions.vnam",
9726         FT_BOOLEAN, 8, NULL, 0x20,
9727         NULL, HFILL }},
9728     { &hf_mms_ParameterSupportOptions_valt,
9729       { "valt", "mms.ParameterSupportOptions.valt",
9730         FT_BOOLEAN, 8, NULL, 0x10,
9731         NULL, HFILL }},
9732     { &hf_mms_ParameterSupportOptions_vadr,
9733       { "vadr", "mms.ParameterSupportOptions.vadr",
9734         FT_BOOLEAN, 8, NULL, 0x08,
9735         NULL, HFILL }},
9736     { &hf_mms_ParameterSupportOptions_vsca,
9737       { "vsca", "mms.ParameterSupportOptions.vsca",
9738         FT_BOOLEAN, 8, NULL, 0x04,
9739         NULL, HFILL }},
9740     { &hf_mms_ParameterSupportOptions_tpy,
9741       { "tpy", "mms.ParameterSupportOptions.tpy",
9742         FT_BOOLEAN, 8, NULL, 0x02,
9743         NULL, HFILL }},
9744     { &hf_mms_ParameterSupportOptions_vlis,
9745       { "vlis", "mms.ParameterSupportOptions.vlis",
9746         FT_BOOLEAN, 8, NULL, 0x01,
9747         NULL, HFILL }},
9748     { &hf_mms_ParameterSupportOptions_real,
9749       { "real", "mms.ParameterSupportOptions.real",
9750         FT_BOOLEAN, 8, NULL, 0x80,
9751         NULL, HFILL }},
9752     { &hf_mms_ParameterSupportOptions_spare_bit9,
9753       { "spare_bit9", "mms.ParameterSupportOptions.spare.bit9",
9754         FT_BOOLEAN, 8, NULL, 0x40,
9755         NULL, HFILL }},
9756     { &hf_mms_ParameterSupportOptions_cei,
9757       { "cei", "mms.ParameterSupportOptions.cei",
9758         FT_BOOLEAN, 8, NULL, 0x20,
9759         NULL, HFILL }},
9760     { &hf_mms_ServiceSupportOptions_status,
9761       { "status", "mms.ServiceSupportOptions.status",
9762         FT_BOOLEAN, 8, NULL, 0x80,
9763         NULL, HFILL }},
9764     { &hf_mms_ServiceSupportOptions_getNameList,
9765       { "getNameList", "mms.ServiceSupportOptions.getNameList",
9766         FT_BOOLEAN, 8, NULL, 0x40,
9767         NULL, HFILL }},
9768     { &hf_mms_ServiceSupportOptions_identify,
9769       { "identify", "mms.ServiceSupportOptions.identify",
9770         FT_BOOLEAN, 8, NULL, 0x20,
9771         NULL, HFILL }},
9772     { &hf_mms_ServiceSupportOptions_rename,
9773       { "rename", "mms.ServiceSupportOptions.rename",
9774         FT_BOOLEAN, 8, NULL, 0x10,
9775         NULL, HFILL }},
9776     { &hf_mms_ServiceSupportOptions_read,
9777       { "read", "mms.ServiceSupportOptions.read",
9778         FT_BOOLEAN, 8, NULL, 0x08,
9779         NULL, HFILL }},
9780     { &hf_mms_ServiceSupportOptions_write,
9781       { "write", "mms.ServiceSupportOptions.write",
9782         FT_BOOLEAN, 8, NULL, 0x04,
9783         NULL, HFILL }},
9784     { &hf_mms_ServiceSupportOptions_getVariableAccessAttributes,
9785       { "getVariableAccessAttributes", "mms.ServiceSupportOptions.getVariableAccessAttributes",
9786         FT_BOOLEAN, 8, NULL, 0x02,
9787         NULL, HFILL }},
9788     { &hf_mms_ServiceSupportOptions_defineNamedVariable,
9789       { "defineNamedVariable", "mms.ServiceSupportOptions.defineNamedVariable",
9790         FT_BOOLEAN, 8, NULL, 0x01,
9791         NULL, HFILL }},
9792     { &hf_mms_ServiceSupportOptions_defineScatteredAccess,
9793       { "defineScatteredAccess", "mms.ServiceSupportOptions.defineScatteredAccess",
9794         FT_BOOLEAN, 8, NULL, 0x80,
9795         NULL, HFILL }},
9796     { &hf_mms_ServiceSupportOptions_getScatteredAccessAttributes,
9797       { "getScatteredAccessAttributes", "mms.ServiceSupportOptions.getScatteredAccessAttributes",
9798         FT_BOOLEAN, 8, NULL, 0x40,
9799         NULL, HFILL }},
9800     { &hf_mms_ServiceSupportOptions_deleteVariableAccess,
9801       { "deleteVariableAccess", "mms.ServiceSupportOptions.deleteVariableAccess",
9802         FT_BOOLEAN, 8, NULL, 0x20,
9803         NULL, HFILL }},
9804     { &hf_mms_ServiceSupportOptions_defineNamedVariableList,
9805       { "defineNamedVariableList", "mms.ServiceSupportOptions.defineNamedVariableList",
9806         FT_BOOLEAN, 8, NULL, 0x10,
9807         NULL, HFILL }},
9808     { &hf_mms_ServiceSupportOptions_getNamedVariableListAttributes,
9809       { "getNamedVariableListAttributes", "mms.ServiceSupportOptions.getNamedVariableListAttributes",
9810         FT_BOOLEAN, 8, NULL, 0x08,
9811         NULL, HFILL }},
9812     { &hf_mms_ServiceSupportOptions_deleteNamedVariableList,
9813       { "deleteNamedVariableList", "mms.ServiceSupportOptions.deleteNamedVariableList",
9814         FT_BOOLEAN, 8, NULL, 0x04,
9815         NULL, HFILL }},
9816     { &hf_mms_ServiceSupportOptions_defineNamedType,
9817       { "defineNamedType", "mms.ServiceSupportOptions.defineNamedType",
9818         FT_BOOLEAN, 8, NULL, 0x02,
9819         NULL, HFILL }},
9820     { &hf_mms_ServiceSupportOptions_getNamedTypeAttributes,
9821       { "getNamedTypeAttributes", "mms.ServiceSupportOptions.getNamedTypeAttributes",
9822         FT_BOOLEAN, 8, NULL, 0x01,
9823         NULL, HFILL }},
9824     { &hf_mms_ServiceSupportOptions_deleteNamedType,
9825       { "deleteNamedType", "mms.ServiceSupportOptions.deleteNamedType",
9826         FT_BOOLEAN, 8, NULL, 0x80,
9827         NULL, HFILL }},
9828     { &hf_mms_ServiceSupportOptions_input,
9829       { "input", "mms.ServiceSupportOptions.input",
9830         FT_BOOLEAN, 8, NULL, 0x40,
9831         NULL, HFILL }},
9832     { &hf_mms_ServiceSupportOptions_output,
9833       { "output", "mms.ServiceSupportOptions.output",
9834         FT_BOOLEAN, 8, NULL, 0x20,
9835         NULL, HFILL }},
9836     { &hf_mms_ServiceSupportOptions_takeControl,
9837       { "takeControl", "mms.ServiceSupportOptions.takeControl",
9838         FT_BOOLEAN, 8, NULL, 0x10,
9839         NULL, HFILL }},
9840     { &hf_mms_ServiceSupportOptions_relinquishControl,
9841       { "relinquishControl", "mms.ServiceSupportOptions.relinquishControl",
9842         FT_BOOLEAN, 8, NULL, 0x08,
9843         NULL, HFILL }},
9844     { &hf_mms_ServiceSupportOptions_defineSemaphore,
9845       { "defineSemaphore", "mms.ServiceSupportOptions.defineSemaphore",
9846         FT_BOOLEAN, 8, NULL, 0x04,
9847         NULL, HFILL }},
9848     { &hf_mms_ServiceSupportOptions_deleteSemaphore,
9849       { "deleteSemaphore", "mms.ServiceSupportOptions.deleteSemaphore",
9850         FT_BOOLEAN, 8, NULL, 0x02,
9851         NULL, HFILL }},
9852     { &hf_mms_ServiceSupportOptions_reportSemaphoreStatus,
9853       { "reportSemaphoreStatus", "mms.ServiceSupportOptions.reportSemaphoreStatus",
9854         FT_BOOLEAN, 8, NULL, 0x01,
9855         NULL, HFILL }},
9856     { &hf_mms_ServiceSupportOptions_reportPoolSemaphoreStatus,
9857       { "reportPoolSemaphoreStatus", "mms.ServiceSupportOptions.reportPoolSemaphoreStatus",
9858         FT_BOOLEAN, 8, NULL, 0x80,
9859         NULL, HFILL }},
9860     { &hf_mms_ServiceSupportOptions_reportSemaphoreEntryStatus,
9861       { "reportSemaphoreEntryStatus", "mms.ServiceSupportOptions.reportSemaphoreEntryStatus",
9862         FT_BOOLEAN, 8, NULL, 0x40,
9863         NULL, HFILL }},
9864     { &hf_mms_ServiceSupportOptions_initiateDownloadSequence,
9865       { "initiateDownloadSequence", "mms.ServiceSupportOptions.initiateDownloadSequence",
9866         FT_BOOLEAN, 8, NULL, 0x20,
9867         NULL, HFILL }},
9868     { &hf_mms_ServiceSupportOptions_downloadSegment,
9869       { "downloadSegment", "mms.ServiceSupportOptions.downloadSegment",
9870         FT_BOOLEAN, 8, NULL, 0x10,
9871         NULL, HFILL }},
9872     { &hf_mms_ServiceSupportOptions_terminateDownloadSequence,
9873       { "terminateDownloadSequence", "mms.ServiceSupportOptions.terminateDownloadSequence",
9874         FT_BOOLEAN, 8, NULL, 0x08,
9875         NULL, HFILL }},
9876     { &hf_mms_ServiceSupportOptions_initiateUploadSequence,
9877       { "initiateUploadSequence", "mms.ServiceSupportOptions.initiateUploadSequence",
9878         FT_BOOLEAN, 8, NULL, 0x04,
9879         NULL, HFILL }},
9880     { &hf_mms_ServiceSupportOptions_uploadSegment,
9881       { "uploadSegment", "mms.ServiceSupportOptions.uploadSegment",
9882         FT_BOOLEAN, 8, NULL, 0x02,
9883         NULL, HFILL }},
9884     { &hf_mms_ServiceSupportOptions_terminateUploadSequence,
9885       { "terminateUploadSequence", "mms.ServiceSupportOptions.terminateUploadSequence",
9886         FT_BOOLEAN, 8, NULL, 0x01,
9887         NULL, HFILL }},
9888     { &hf_mms_ServiceSupportOptions_requestDomainDownload,
9889       { "requestDomainDownload", "mms.ServiceSupportOptions.requestDomainDownload",
9890         FT_BOOLEAN, 8, NULL, 0x80,
9891         NULL, HFILL }},
9892     { &hf_mms_ServiceSupportOptions_requestDomainUpload,
9893       { "requestDomainUpload", "mms.ServiceSupportOptions.requestDomainUpload",
9894         FT_BOOLEAN, 8, NULL, 0x40,
9895         NULL, HFILL }},
9896     { &hf_mms_ServiceSupportOptions_loadDomainContent,
9897       { "loadDomainContent", "mms.ServiceSupportOptions.loadDomainContent",
9898         FT_BOOLEAN, 8, NULL, 0x20,
9899         NULL, HFILL }},
9900     { &hf_mms_ServiceSupportOptions_storeDomainContent,
9901       { "storeDomainContent", "mms.ServiceSupportOptions.storeDomainContent",
9902         FT_BOOLEAN, 8, NULL, 0x10,
9903         NULL, HFILL }},
9904     { &hf_mms_ServiceSupportOptions_deleteDomain,
9905       { "deleteDomain", "mms.ServiceSupportOptions.deleteDomain",
9906         FT_BOOLEAN, 8, NULL, 0x08,
9907         NULL, HFILL }},
9908     { &hf_mms_ServiceSupportOptions_getDomainAttributes,
9909       { "getDomainAttributes", "mms.ServiceSupportOptions.getDomainAttributes",
9910         FT_BOOLEAN, 8, NULL, 0x04,
9911         NULL, HFILL }},
9912     { &hf_mms_ServiceSupportOptions_createProgramInvocation,
9913       { "createProgramInvocation", "mms.ServiceSupportOptions.createProgramInvocation",
9914         FT_BOOLEAN, 8, NULL, 0x02,
9915         NULL, HFILL }},
9916     { &hf_mms_ServiceSupportOptions_deleteProgramInvocation,
9917       { "deleteProgramInvocation", "mms.ServiceSupportOptions.deleteProgramInvocation",
9918         FT_BOOLEAN, 8, NULL, 0x01,
9919         NULL, HFILL }},
9920     { &hf_mms_ServiceSupportOptions_start,
9921       { "start", "mms.ServiceSupportOptions.start",
9922         FT_BOOLEAN, 8, NULL, 0x80,
9923         NULL, HFILL }},
9924     { &hf_mms_ServiceSupportOptions_stop,
9925       { "stop", "mms.ServiceSupportOptions.stop",
9926         FT_BOOLEAN, 8, NULL, 0x40,
9927         NULL, HFILL }},
9928     { &hf_mms_ServiceSupportOptions_resume,
9929       { "resume", "mms.ServiceSupportOptions.resume",
9930         FT_BOOLEAN, 8, NULL, 0x20,
9931         NULL, HFILL }},
9932     { &hf_mms_ServiceSupportOptions_reset,
9933       { "reset", "mms.ServiceSupportOptions.reset",
9934         FT_BOOLEAN, 8, NULL, 0x10,
9935         NULL, HFILL }},
9936     { &hf_mms_ServiceSupportOptions_kill,
9937       { "kill", "mms.ServiceSupportOptions.kill",
9938         FT_BOOLEAN, 8, NULL, 0x08,
9939         NULL, HFILL }},
9940     { &hf_mms_ServiceSupportOptions_getProgramInvocationAttributes,
9941       { "getProgramInvocationAttributes", "mms.ServiceSupportOptions.getProgramInvocationAttributes",
9942         FT_BOOLEAN, 8, NULL, 0x04,
9943         NULL, HFILL }},
9944     { &hf_mms_ServiceSupportOptions_obtainFile,
9945       { "obtainFile", "mms.ServiceSupportOptions.obtainFile",
9946         FT_BOOLEAN, 8, NULL, 0x02,
9947         NULL, HFILL }},
9948     { &hf_mms_ServiceSupportOptions_defineEventCondition,
9949       { "defineEventCondition", "mms.ServiceSupportOptions.defineEventCondition",
9950         FT_BOOLEAN, 8, NULL, 0x01,
9951         NULL, HFILL }},
9952     { &hf_mms_ServiceSupportOptions_deleteEventCondition,
9953       { "deleteEventCondition", "mms.ServiceSupportOptions.deleteEventCondition",
9954         FT_BOOLEAN, 8, NULL, 0x80,
9955         NULL, HFILL }},
9956     { &hf_mms_ServiceSupportOptions_getEventConditionAttributes,
9957       { "getEventConditionAttributes", "mms.ServiceSupportOptions.getEventConditionAttributes",
9958         FT_BOOLEAN, 8, NULL, 0x40,
9959         NULL, HFILL }},
9960     { &hf_mms_ServiceSupportOptions_reportEventConditionStatus,
9961       { "reportEventConditionStatus", "mms.ServiceSupportOptions.reportEventConditionStatus",
9962         FT_BOOLEAN, 8, NULL, 0x20,
9963         NULL, HFILL }},
9964     { &hf_mms_ServiceSupportOptions_alterEventConditionMonitoring,
9965       { "alterEventConditionMonitoring", "mms.ServiceSupportOptions.alterEventConditionMonitoring",
9966         FT_BOOLEAN, 8, NULL, 0x10,
9967         NULL, HFILL }},
9968     { &hf_mms_ServiceSupportOptions_triggerEvent,
9969       { "triggerEvent", "mms.ServiceSupportOptions.triggerEvent",
9970         FT_BOOLEAN, 8, NULL, 0x08,
9971         NULL, HFILL }},
9972     { &hf_mms_ServiceSupportOptions_defineEventAction,
9973       { "defineEventAction", "mms.ServiceSupportOptions.defineEventAction",
9974         FT_BOOLEAN, 8, NULL, 0x04,
9975         NULL, HFILL }},
9976     { &hf_mms_ServiceSupportOptions_deleteEventAction,
9977       { "deleteEventAction", "mms.ServiceSupportOptions.deleteEventAction",
9978         FT_BOOLEAN, 8, NULL, 0x02,
9979         NULL, HFILL }},
9980     { &hf_mms_ServiceSupportOptions_getEventActionAttributes,
9981       { "getEventActionAttributes", "mms.ServiceSupportOptions.getEventActionAttributes",
9982         FT_BOOLEAN, 8, NULL, 0x01,
9983         NULL, HFILL }},
9984     { &hf_mms_ServiceSupportOptions_reportActionStatus,
9985       { "reportActionStatus", "mms.ServiceSupportOptions.reportActionStatus",
9986         FT_BOOLEAN, 8, NULL, 0x80,
9987         NULL, HFILL }},
9988     { &hf_mms_ServiceSupportOptions_defineEventEnrollment,
9989       { "defineEventEnrollment", "mms.ServiceSupportOptions.defineEventEnrollment",
9990         FT_BOOLEAN, 8, NULL, 0x40,
9991         NULL, HFILL }},
9992     { &hf_mms_ServiceSupportOptions_deleteEventEnrollment,
9993       { "deleteEventEnrollment", "mms.ServiceSupportOptions.deleteEventEnrollment",
9994         FT_BOOLEAN, 8, NULL, 0x20,
9995         NULL, HFILL }},
9996     { &hf_mms_ServiceSupportOptions_alterEventEnrollment,
9997       { "alterEventEnrollment", "mms.ServiceSupportOptions.alterEventEnrollment",
9998         FT_BOOLEAN, 8, NULL, 0x10,
9999         NULL, HFILL }},
10000     { &hf_mms_ServiceSupportOptions_reportEventEnrollmentStatus,
10001       { "reportEventEnrollmentStatus", "mms.ServiceSupportOptions.reportEventEnrollmentStatus",
10002         FT_BOOLEAN, 8, NULL, 0x08,
10003         NULL, HFILL }},
10004     { &hf_mms_ServiceSupportOptions_getEventEnrollmentAttributes,
10005       { "getEventEnrollmentAttributes", "mms.ServiceSupportOptions.getEventEnrollmentAttributes",
10006         FT_BOOLEAN, 8, NULL, 0x04,
10007         NULL, HFILL }},
10008     { &hf_mms_ServiceSupportOptions_acknowledgeEventNotification,
10009       { "acknowledgeEventNotification", "mms.ServiceSupportOptions.acknowledgeEventNotification",
10010         FT_BOOLEAN, 8, NULL, 0x02,
10011         NULL, HFILL }},
10012     { &hf_mms_ServiceSupportOptions_getAlarmSummary,
10013       { "getAlarmSummary", "mms.ServiceSupportOptions.getAlarmSummary",
10014         FT_BOOLEAN, 8, NULL, 0x01,
10015         NULL, HFILL }},
10016     { &hf_mms_ServiceSupportOptions_getAlarmEnrollmentSummary,
10017       { "getAlarmEnrollmentSummary", "mms.ServiceSupportOptions.getAlarmEnrollmentSummary",
10018         FT_BOOLEAN, 8, NULL, 0x80,
10019         NULL, HFILL }},
10020     { &hf_mms_ServiceSupportOptions_readJournal,
10021       { "readJournal", "mms.ServiceSupportOptions.readJournal",
10022         FT_BOOLEAN, 8, NULL, 0x40,
10023         NULL, HFILL }},
10024     { &hf_mms_ServiceSupportOptions_writeJournal,
10025       { "writeJournal", "mms.ServiceSupportOptions.writeJournal",
10026         FT_BOOLEAN, 8, NULL, 0x20,
10027         NULL, HFILL }},
10028     { &hf_mms_ServiceSupportOptions_initializeJournal,
10029       { "initializeJournal", "mms.ServiceSupportOptions.initializeJournal",
10030         FT_BOOLEAN, 8, NULL, 0x10,
10031         NULL, HFILL }},
10032     { &hf_mms_ServiceSupportOptions_reportJournalStatus,
10033       { "reportJournalStatus", "mms.ServiceSupportOptions.reportJournalStatus",
10034         FT_BOOLEAN, 8, NULL, 0x08,
10035         NULL, HFILL }},
10036     { &hf_mms_ServiceSupportOptions_createJournal,
10037       { "createJournal", "mms.ServiceSupportOptions.createJournal",
10038         FT_BOOLEAN, 8, NULL, 0x04,
10039         NULL, HFILL }},
10040     { &hf_mms_ServiceSupportOptions_deleteJournal,
10041       { "deleteJournal", "mms.ServiceSupportOptions.deleteJournal",
10042         FT_BOOLEAN, 8, NULL, 0x02,
10043         NULL, HFILL }},
10044     { &hf_mms_ServiceSupportOptions_getCapabilityList,
10045       { "getCapabilityList", "mms.ServiceSupportOptions.getCapabilityList",
10046         FT_BOOLEAN, 8, NULL, 0x01,
10047         NULL, HFILL }},
10048     { &hf_mms_ServiceSupportOptions_fileOpen,
10049       { "fileOpen", "mms.ServiceSupportOptions.fileOpen",
10050         FT_BOOLEAN, 8, NULL, 0x80,
10051         NULL, HFILL }},
10052     { &hf_mms_ServiceSupportOptions_fileRead,
10053       { "fileRead", "mms.ServiceSupportOptions.fileRead",
10054         FT_BOOLEAN, 8, NULL, 0x40,
10055         NULL, HFILL }},
10056     { &hf_mms_ServiceSupportOptions_fileClose,
10057       { "fileClose", "mms.ServiceSupportOptions.fileClose",
10058         FT_BOOLEAN, 8, NULL, 0x20,
10059         NULL, HFILL }},
10060     { &hf_mms_ServiceSupportOptions_fileRename,
10061       { "fileRename", "mms.ServiceSupportOptions.fileRename",
10062         FT_BOOLEAN, 8, NULL, 0x10,
10063         NULL, HFILL }},
10064     { &hf_mms_ServiceSupportOptions_fileDelete,
10065       { "fileDelete", "mms.ServiceSupportOptions.fileDelete",
10066         FT_BOOLEAN, 8, NULL, 0x08,
10067         NULL, HFILL }},
10068     { &hf_mms_ServiceSupportOptions_fileDirectory,
10069       { "fileDirectory", "mms.ServiceSupportOptions.fileDirectory",
10070         FT_BOOLEAN, 8, NULL, 0x04,
10071         NULL, HFILL }},
10072     { &hf_mms_ServiceSupportOptions_unsolicitedStatus,
10073       { "unsolicitedStatus", "mms.ServiceSupportOptions.unsolicitedStatus",
10074         FT_BOOLEAN, 8, NULL, 0x02,
10075         NULL, HFILL }},
10076     { &hf_mms_ServiceSupportOptions_informationReport,
10077       { "informationReport", "mms.ServiceSupportOptions.informationReport",
10078         FT_BOOLEAN, 8, NULL, 0x01,
10079         NULL, HFILL }},
10080     { &hf_mms_ServiceSupportOptions_eventNotification,
10081       { "eventNotification", "mms.ServiceSupportOptions.eventNotification",
10082         FT_BOOLEAN, 8, NULL, 0x80,
10083         NULL, HFILL }},
10084     { &hf_mms_ServiceSupportOptions_attachToEventCondition,
10085       { "attachToEventCondition", "mms.ServiceSupportOptions.attachToEventCondition",
10086         FT_BOOLEAN, 8, NULL, 0x40,
10087         NULL, HFILL }},
10088     { &hf_mms_ServiceSupportOptions_attachToSemaphore,
10089       { "attachToSemaphore", "mms.ServiceSupportOptions.attachToSemaphore",
10090         FT_BOOLEAN, 8, NULL, 0x20,
10091         NULL, HFILL }},
10092     { &hf_mms_ServiceSupportOptions_conclude,
10093       { "conclude", "mms.ServiceSupportOptions.conclude",
10094         FT_BOOLEAN, 8, NULL, 0x10,
10095         NULL, HFILL }},
10096     { &hf_mms_ServiceSupportOptions_cancel,
10097       { "cancel", "mms.ServiceSupportOptions.cancel",
10098         FT_BOOLEAN, 8, NULL, 0x08,
10099         NULL, HFILL }},
10100     { &hf_mms_Transitions_idle_to_disabled,
10101       { "idle-to-disabled", "mms.Transitions.idle.to.disabled",
10102         FT_BOOLEAN, 8, NULL, 0x80,
10103         NULL, HFILL }},
10104     { &hf_mms_Transitions_active_to_disabled,
10105       { "active-to-disabled", "mms.Transitions.active.to.disabled",
10106         FT_BOOLEAN, 8, NULL, 0x40,
10107         NULL, HFILL }},
10108     { &hf_mms_Transitions_disabled_to_idle,
10109       { "disabled-to-idle", "mms.Transitions.disabled.to.idle",
10110         FT_BOOLEAN, 8, NULL, 0x20,
10111         NULL, HFILL }},
10112     { &hf_mms_Transitions_active_to_idle,
10113       { "active-to-idle", "mms.Transitions.active.to.idle",
10114         FT_BOOLEAN, 8, NULL, 0x10,
10115         NULL, HFILL }},
10116     { &hf_mms_Transitions_disabled_to_active,
10117       { "disabled-to-active", "mms.Transitions.disabled.to.active",
10118         FT_BOOLEAN, 8, NULL, 0x08,
10119         NULL, HFILL }},
10120     { &hf_mms_Transitions_idle_to_active,
10121       { "idle-to-active", "mms.Transitions.idle.to.active",
10122         FT_BOOLEAN, 8, NULL, 0x04,
10123         NULL, HFILL }},
10124     { &hf_mms_Transitions_any_to_deleted,
10125       { "any-to-deleted", "mms.Transitions.any.to.deleted",
10126         FT_BOOLEAN, 8, NULL, 0x02,
10127         NULL, HFILL }},
10128 
10129 /*--- End of included file: packet-mms-hfarr.c ---*/
10130 #line 165 "./asn1/mms/packet-mms-template.c"
10131 	};
10132 
10133 	/* List of subtrees */
10134 	static gint *ett[] = {
10135 		&ett_mms,
10136 
10137 /*--- Included file: packet-mms-ettarr.c ---*/
10138 #line 1 "./asn1/mms/packet-mms-ettarr.c"
10139     &ett_mms_MMSpdu,
10140     &ett_mms_Confirmed_RequestPDU,
10141     &ett_mms_SEQUENCE_OF_Modifier,
10142     &ett_mms_Unconfirmed_PDU,
10143     &ett_mms_Confirmed_ResponsePDU,
10144     &ett_mms_Confirmed_ErrorPDU,
10145     &ett_mms_UnconfirmedService,
10146     &ett_mms_Modifier,
10147     &ett_mms_ConfirmedServiceRequest,
10148     &ett_mms_CS_Request_Detail,
10149     &ett_mms_ConfirmedServiceResponse,
10150     &ett_mms_FileName,
10151     &ett_mms_ObjectName,
10152     &ett_mms_T_domain_specific,
10153     &ett_mms_ApplicationReference,
10154     &ett_mms_Initiate_RequestPDU,
10155     &ett_mms_InitRequestDetail,
10156     &ett_mms_Initiate_ResponsePDU,
10157     &ett_mms_InitResponseDetail,
10158     &ett_mms_ParameterSupportOptions,
10159     &ett_mms_ServiceSupportOptions,
10160     &ett_mms_Cancel_ErrorPDU,
10161     &ett_mms_ServiceError,
10162     &ett_mms_T_errorClass,
10163     &ett_mms_T_serviceSpecificInformation,
10164     &ett_mms_AdditionalService_Error,
10165     &ett_mms_RemoveEventConditionListReference_Error,
10166     &ett_mms_InitiateUnitControl_Error,
10167     &ett_mms_StartUnitControl_Error,
10168     &ett_mms_StopUnitControl_Error,
10169     &ett_mms_DeleteUnitControl_Error,
10170     &ett_mms_LoadUnitControlFromFile_Error,
10171     &ett_mms_RejectPDU,
10172     &ett_mms_T_rejectReason,
10173     &ett_mms_Status_Response,
10174     &ett_mms_GetNameList_Request,
10175     &ett_mms_T_extendedObjectClass,
10176     &ett_mms_T_objectScope,
10177     &ett_mms_GetNameList_Response,
10178     &ett_mms_SEQUENCE_OF_Identifier,
10179     &ett_mms_Identify_Response,
10180     &ett_mms_T_listOfAbstractSyntaxes,
10181     &ett_mms_Rename_Request,
10182     &ett_mms_T_extendedObjectClass_01,
10183     &ett_mms_GetCapabilityList_Request,
10184     &ett_mms_GetCapabilityList_Response,
10185     &ett_mms_T_listOfCapabilities,
10186     &ett_mms_InitiateDownloadSequence_Request,
10187     &ett_mms_T_listOfCapabilities_01,
10188     &ett_mms_DownloadSegment_Response,
10189     &ett_mms_T_loadData,
10190     &ett_mms_TerminateDownloadSequence_Request,
10191     &ett_mms_InitiateUploadSequence_Response,
10192     &ett_mms_T_listOfCapabilities_02,
10193     &ett_mms_UploadSegment_Response,
10194     &ett_mms_T_loadData_01,
10195     &ett_mms_RequestDomainDownload_Request,
10196     &ett_mms_T_listOfCapabilities_03,
10197     &ett_mms_RequestDomainUpload_Request,
10198     &ett_mms_LoadDomainContent_Request,
10199     &ett_mms_T_listOfCapabilities_04,
10200     &ett_mms_StoreDomainContent_Request,
10201     &ett_mms_GetDomainAttributes_Response,
10202     &ett_mms_T_listOfCapabilities_05,
10203     &ett_mms_CreateProgramInvocation_Request,
10204     &ett_mms_Start_Request,
10205     &ett_mms_T_executionArgument,
10206     &ett_mms_Stop_Request,
10207     &ett_mms_Resume_Request,
10208     &ett_mms_T_executionArgument_01,
10209     &ett_mms_Reset_Request,
10210     &ett_mms_Kill_Request,
10211     &ett_mms_GetProgramInvocationAttributes_Response,
10212     &ett_mms_T_executionArgument_02,
10213     &ett_mms_TypeSpecification,
10214     &ett_mms_T_array,
10215     &ett_mms_T_structure,
10216     &ett_mms_T_components,
10217     &ett_mms_T_components_item,
10218     &ett_mms_AlternateAccess,
10219     &ett_mms_AlternateAccess_item,
10220     &ett_mms_T_named,
10221     &ett_mms_AlternateAccessSelection,
10222     &ett_mms_T_selectAlternateAccess,
10223     &ett_mms_T_accessSelection,
10224     &ett_mms_T_indexRange,
10225     &ett_mms_T_selectAccess,
10226     &ett_mms_T_indexRange_01,
10227     &ett_mms_Read_Request,
10228     &ett_mms_Read_Response,
10229     &ett_mms_SEQUENCE_OF_AccessResult,
10230     &ett_mms_Write_Request,
10231     &ett_mms_SEQUENCE_OF_Data,
10232     &ett_mms_Write_Response,
10233     &ett_mms_Write_Response_item,
10234     &ett_mms_InformationReport,
10235     &ett_mms_GetVariableAccessAttributes_Request,
10236     &ett_mms_GetVariableAccessAttributes_Response,
10237     &ett_mms_DefineNamedVariable_Request,
10238     &ett_mms_DefineScatteredAccess_Request,
10239     &ett_mms_GetScatteredAccessAttributes_Response,
10240     &ett_mms_DeleteVariableAccess_Request,
10241     &ett_mms_SEQUENCE_OF_ObjectName,
10242     &ett_mms_DeleteVariableAccess_Response,
10243     &ett_mms_DefineNamedVariableList_Request,
10244     &ett_mms_T_listOfVariable,
10245     &ett_mms_T_listOfVariable_item,
10246     &ett_mms_GetNamedVariableListAttributes_Response,
10247     &ett_mms_T_listOfVariable_01,
10248     &ett_mms_T_listOfVariable_item_01,
10249     &ett_mms_DeleteNamedVariableList_Request,
10250     &ett_mms_DeleteNamedVariableList_Response,
10251     &ett_mms_DefineNamedType_Request,
10252     &ett_mms_GetNamedTypeAttributes_Response,
10253     &ett_mms_DeleteNamedType_Request,
10254     &ett_mms_DeleteNamedType_Response,
10255     &ett_mms_AccessResult,
10256     &ett_mms_Data,
10257     &ett_mms_VariableAccessSpecification,
10258     &ett_mms_T_listOfVariable_02,
10259     &ett_mms_T_listOfVariable_item_02,
10260     &ett_mms_ScatteredAccessDescription,
10261     &ett_mms_ScatteredAccessDescription_item,
10262     &ett_mms_VariableSpecification,
10263     &ett_mms_T_variableDescription,
10264     &ett_mms_Address,
10265     &ett_mms_TakeControl_Request,
10266     &ett_mms_TakeControl_Response,
10267     &ett_mms_RelinquishControl_Request,
10268     &ett_mms_DefineSemaphore_Request,
10269     &ett_mms_ReportSemaphoreStatus_Response,
10270     &ett_mms_ReportPoolSemaphoreStatus_Request,
10271     &ett_mms_ReportPoolSemaphoreStatus_Response,
10272     &ett_mms_T_listOfNamedTokens,
10273     &ett_mms_T_listOfNamedTokens_item,
10274     &ett_mms_ReportSemaphoreEntryStatus_Request,
10275     &ett_mms_ReportSemaphoreEntryStatus_Response,
10276     &ett_mms_SEQUENCE_OF_SemaphoreEntry,
10277     &ett_mms_AttachToSemaphore,
10278     &ett_mms_SemaphoreEntry,
10279     &ett_mms_Input_Request,
10280     &ett_mms_T_listOfPromptData,
10281     &ett_mms_Output_Request,
10282     &ett_mms_T_listOfOutputData,
10283     &ett_mms_DefineEventCondition_Request,
10284     &ett_mms_DeleteEventCondition_Request,
10285     &ett_mms_GetEventConditionAttributes_Response,
10286     &ett_mms_T_monitoredVariable,
10287     &ett_mms_ReportEventConditionStatus_Response,
10288     &ett_mms_AlterEventConditionMonitoring_Request,
10289     &ett_mms_TriggerEvent_Request,
10290     &ett_mms_DefineEventAction_Request,
10291     &ett_mms_DeleteEventAction_Request,
10292     &ett_mms_GetEventActionAttributes_Response,
10293     &ett_mms_DefineEventEnrollment_Request,
10294     &ett_mms_DeleteEventEnrollment_Request,
10295     &ett_mms_GetEventEnrollmentAttributes_Request,
10296     &ett_mms_EventEnrollment,
10297     &ett_mms_T_eventConditionName,
10298     &ett_mms_T_eventActionName,
10299     &ett_mms_GetEventEnrollmentAttributes_Response,
10300     &ett_mms_SEQUENCE_OF_EventEnrollment,
10301     &ett_mms_ReportEventEnrollmentStatus_Response,
10302     &ett_mms_AlterEventEnrollment_Request,
10303     &ett_mms_AlterEventEnrollment_Response,
10304     &ett_mms_T_currentState,
10305     &ett_mms_AcknowledgeEventNotification_Request,
10306     &ett_mms_GetAlarmSummary_Request,
10307     &ett_mms_T_severityFilter,
10308     &ett_mms_GetAlarmSummary_Response,
10309     &ett_mms_SEQUENCE_OF_AlarmSummary,
10310     &ett_mms_AlarmSummary,
10311     &ett_mms_GetAlarmEnrollmentSummary_Request,
10312     &ett_mms_T_severityFilter_01,
10313     &ett_mms_GetAlarmEnrollmentSummary_Response,
10314     &ett_mms_SEQUENCE_OF_AlarmEnrollmentSummary,
10315     &ett_mms_AlarmEnrollmentSummary,
10316     &ett_mms_EventNotification,
10317     &ett_mms_T_eventConditionName_01,
10318     &ett_mms_T_actionResult,
10319     &ett_mms_T_eventActionResult,
10320     &ett_mms_AttachToEventCondition,
10321     &ett_mms_EventTime,
10322     &ett_mms_Transitions,
10323     &ett_mms_ReadJournal_Request,
10324     &ett_mms_T_rangeStartSpecification,
10325     &ett_mms_T_rangeStopSpecification,
10326     &ett_mms_T_listOfVariables,
10327     &ett_mms_T_entryToStartAfter,
10328     &ett_mms_ReadJournal_Response,
10329     &ett_mms_SEQUENCE_OF_JournalEntry,
10330     &ett_mms_JournalEntry,
10331     &ett_mms_WriteJournal_Request,
10332     &ett_mms_SEQUENCE_OF_EntryContent,
10333     &ett_mms_InitializeJournal_Request,
10334     &ett_mms_T_limitSpecification,
10335     &ett_mms_ReportJournalStatus_Response,
10336     &ett_mms_CreateJournal_Request,
10337     &ett_mms_DeleteJournal_Request,
10338     &ett_mms_EntryContent,
10339     &ett_mms_T_entryForm,
10340     &ett_mms_T_data,
10341     &ett_mms_T_event,
10342     &ett_mms_T_listOfVariables_01,
10343     &ett_mms_T_listOfVariables_item,
10344     &ett_mms_ObtainFile_Request,
10345     &ett_mms_FileOpen_Request,
10346     &ett_mms_FileOpen_Response,
10347     &ett_mms_FileRead_Response,
10348     &ett_mms_FileRename_Request,
10349     &ett_mms_FileDirectory_Request,
10350     &ett_mms_FileDirectory_Response,
10351     &ett_mms_SEQUENCE_OF_DirectoryEntry,
10352     &ett_mms_DirectoryEntry,
10353     &ett_mms_FileAttributes,
10354 
10355 /*--- End of included file: packet-mms-ettarr.c ---*/
10356 #line 171 "./asn1/mms/packet-mms-template.c"
10357 	};
10358 
10359 	static ei_register_info ei[] = {
10360 		{ &ei_mms_mal_timeofday_encoding, { "mms.malformed.timeofday_encoding", PI_MALFORMED, PI_WARN, "BER Error: malformed TimeOfDay encoding", EXPFILL }},
10361 		{ &ei_mms_mal_utctime_encoding, { "mms.malformed.utctime", PI_MALFORMED, PI_WARN, "BER Error: malformed IEC61850 UTCTime encoding", EXPFILL }},
10362 		{ &ei_mms_zero_pdu, { "mms.zero_pdu", PI_PROTOCOL, PI_ERROR, "Internal error, zero-byte MMS PDU", EXPFILL }},
10363 	};
10364 
10365 	expert_module_t* expert_mms;
10366 
10367 	/* Register protocol */
10368 	proto_mms = proto_register_protocol(PNAME, PSNAME, PFNAME);
10369 	register_dissector("mms", dissect_mms, proto_mms);
10370 	/* Register fields and subtrees */
10371 	proto_register_field_array(proto_mms, hf, array_length(hf));
10372 	proto_register_subtree_array(ett, array_length(ett));
10373 	expert_mms = expert_register_protocol(proto_mms);
10374 	expert_register_field_array(expert_mms, ei, array_length(ei));
10375 
10376 }
10377 
10378 
10379 static gboolean
dissect_mms_heur(tvbuff_t * tvb,packet_info * pinfo,proto_tree * parent_tree,void * data _U_)10380 dissect_mms_heur(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void *data _U_)
10381 {
10382 	/* must check that this really is an mms packet */
10383 	int offset = 0;
10384 	guint32 length = 0 ;
10385 	guint32 oct;
10386 	gint idx = 0 ;
10387 
10388 	gint8 tmp_class;
10389 	gboolean tmp_pc;
10390 	gint32 tmp_tag;
10391 
10392 		/* first, check do we have at least 2 bytes (pdu) */
10393 	if (!tvb_bytes_exist(tvb, 0, 2))
10394 		return FALSE;	/* no */
10395 
10396 	/* can we recognize MMS PDU ? Return FALSE if  not */
10397 	/*   get MMS PDU type */
10398 	offset = get_ber_identifier(tvb, offset, &tmp_class, &tmp_pc, &tmp_tag);
10399 
10400 	/* check MMS type */
10401 
10402 	/* Class should be constructed */
10403 	if (tmp_class!=BER_CLASS_CON)
10404 		return FALSE;
10405 
10406 	/* see if the tag is a valid MMS PDU */
10407 	try_val_to_str_idx(tmp_tag, mms_MMSpdu_vals, &idx);
10408 	if  (idx == -1) {
10409 	 	return FALSE;  /* no, it isn't an MMS PDU */
10410 	}
10411 
10412 	/* check MMS length  */
10413 	oct = tvb_get_guint8(tvb, offset)& 0x7F;
10414 	if (oct==0)
10415 		/* MMS requires length after tag so not MMS if indefinite length*/
10416 		return FALSE;
10417 
10418 	offset = get_ber_length(tvb, offset, &length, NULL);
10419 	/* do we have enough bytes? */
10420 	if (!tvb_bytes_exist(tvb, offset, length))
10421 		return FALSE;
10422 
10423 	dissect_mms(tvb, pinfo, parent_tree, data);
10424 	return TRUE;
10425 }
10426 
10427 /*--- proto_reg_handoff_mms --- */
proto_reg_handoff_mms(void)10428 void proto_reg_handoff_mms(void) {
10429 	register_ber_oid_dissector("1.0.9506.2.3", dissect_mms, proto_mms,"MMS");
10430 	register_ber_oid_dissector("1.0.9506.2.1", dissect_mms, proto_mms,"mms-abstract-syntax-version1(1)");
10431 	heur_dissector_add("cotp", dissect_mms_heur, "MMS over COTP", "mms_cotp", proto_mms, HEURISTIC_ENABLE);
10432 	heur_dissector_add("cotp_is", dissect_mms_heur, "MMS over COTP (inactive subset)", "mms_cotp_is", proto_mms, HEURISTIC_ENABLE);
10433 }
10434 
10435