EXTERNAL type is handled in asn2wrs now
[obnox/wireshark/wip.git] / epan / dissectors / packet-mms.c
1 /* Do not modify this file.                                                   */
2 /* It is created automatically by the ASN.1 to Wireshark dissector compiler   */
3 /* .\packet-mms.c                                                             */
4 /* ../../tools/asn2wrs.py -b -e -p mms -c mms.cnf -s packet-mms-template mms.asn */
5
6 /* Input file: packet-mms-template.c */
7
8 #line 1 "packet-mms-template.c"
9 /* packet-mms_asn1.c
10  *
11  * Ronnie Sahlberg 2005
12  *
13  * $Id$
14  *
15  * Wireshark - Network traffic analyzer
16  * By Gerald Combs <gerald@wireshark.org>
17  * Copyright 1998 Gerald Combs
18  *
19  * This program is free software; you can redistribute it and/or
20  * modify it under the terms of the GNU General Public License
21  * as published by the Free Software Foundation; either version 2
22  * of the License, or (at your option) any later version.
23  *
24  * This program is distributed in the hope that it will be useful,
25  * but WITHOUT ANY WARRANTY; without even the implied warranty of
26  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
27  * GNU General Public License for more details.
28  *
29  * You should have received a copy of the GNU General Public License
30  * along with this program; if not, write to the Free Software
31  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
32  */
33
34 #ifdef HAVE_CONFIG_H
35 # include "config.h"
36 #endif
37
38 #include <glib.h>
39 #include <epan/packet.h>
40 #include <epan/conversation.h>
41
42 #include <stdio.h>
43 #include <string.h>
44
45 #include "packet-ber.h"
46 #include "packet-acse.h"
47 #include "packet-mms.h"
48
49 #define PNAME  "MMS"
50 #define PSNAME "MMS"
51 #define PFNAME "mms"
52
53 /* Initialize the protocol and registered fields */
54 int proto_mms = -1;
55
56
57 /*--- Included file: packet-mms-hf.c ---*/
58 #line 1 "packet-mms-hf.c"
59 static int hf_mms_confirmed_RequestPDU = -1;      /* Confirmed_RequestPDU */
60 static int hf_mms_confirmed_ResponsePDU = -1;     /* Confirmed_ResponsePDU */
61 static int hf_mms_confirmed_ErrorPDU = -1;        /* Confirmed_ErrorPDU */
62 static int hf_mms_unconfirmed_PDU = -1;           /* Unconfirmed_PDU */
63 static int hf_mms_rejectPDU = -1;                 /* RejectPDU */
64 static int hf_mms_cancel_RequestPDU = -1;         /* Cancel_RequestPDU */
65 static int hf_mms_cancel_ResponsePDU = -1;        /* Cancel_ResponsePDU */
66 static int hf_mms_cancel_ErrorPDU = -1;           /* Cancel_ErrorPDU */
67 static int hf_mms_initiate_RequestPDU = -1;       /* Initiate_RequestPDU */
68 static int hf_mms_initiate_ResponsePDU = -1;      /* Initiate_ResponsePDU */
69 static int hf_mms_initiate_ErrorPDU = -1;         /* Initiate_ErrorPDU */
70 static int hf_mms_conclude_RequestPDU = -1;       /* Conclude_RequestPDU */
71 static int hf_mms_conclude_ResponsePDU = -1;      /* Conclude_ResponsePDU */
72 static int hf_mms_conclude_ErrorPDU = -1;         /* Conclude_ErrorPDU */
73 static int hf_mms_invokeID = -1;                  /* Unsigned32 */
74 static int hf_mms_listOfModifier = -1;            /* SEQUENCE_OF_Modifier */
75 static int hf_mms_listOfModifier_item = -1;       /* Modifier */
76 static int hf_mms_confirmedServiceRequest = -1;   /* ConfirmedServiceRequest */
77 static int hf_mms_cs_request_detail = -1;         /* CS_Request_Detail */
78 static int hf_mms_unconfirmedService = -1;        /* UnconfirmedService */
79 static int hf_mms_confirmedServiceResponse = -1;  /* ConfirmedServiceResponse */
80 static int hf_mms_modifierPosition = -1;          /* Unsigned32 */
81 static int hf_mms_serviceError = -1;              /* ServiceError */
82 static int hf_mms_informationReport = -1;         /* InformationReport */
83 static int hf_mms_unsolicitedStatus = -1;         /* UnsolicitedStatus */
84 static int hf_mms_eventNotification = -1;         /* EventNotification */
85 static int hf_mms_attach_To_Event_Condition = -1;  /* AttachToEventCondition */
86 static int hf_mms_attach_To_Semaphore = -1;       /* AttachToSemaphore */
87 static int hf_mms_status = -1;                    /* Status_Request */
88 static int hf_mms_getNameList = -1;               /* GetNameList_Request */
89 static int hf_mms_identify = -1;                  /* Identify_Request */
90 static int hf_mms_rename = -1;                    /* Rename_Request */
91 static int hf_mms_read = -1;                      /* Read_Request */
92 static int hf_mms_write = -1;                     /* Write_Request */
93 static int hf_mms_getVariableAccessAttributes = -1;  /* GetVariableAccessAttributes_Request */
94 static int hf_mms_defineNamedVariable = -1;       /* DefineNamedVariable_Request */
95 static int hf_mms_defineScatteredAccess = -1;     /* DefineScatteredAccess_Request */
96 static int hf_mms_getScatteredAccessAttributes = -1;  /* GetScatteredAccessAttributes_Request */
97 static int hf_mms_deleteVariableAccess = -1;      /* DeleteVariableAccess_Request */
98 static int hf_mms_defineNamedVariableList = -1;   /* DefineNamedVariableList_Request */
99 static int hf_mms_getNamedVariableListAttributes = -1;  /* GetNamedVariableListAttributes_Request */
100 static int hf_mms_deleteNamedVariableList = -1;   /* DeleteNamedVariableList_Request */
101 static int hf_mms_defineNamedType = -1;           /* DefineNamedType_Request */
102 static int hf_mms_getNamedTypeAttributes = -1;    /* GetNamedTypeAttributes_Request */
103 static int hf_mms_deleteNamedType = -1;           /* DeleteNamedType_Request */
104 static int hf_mms_input = -1;                     /* Input_Request */
105 static int hf_mms_output = -1;                    /* Output_Request */
106 static int hf_mms_takeControl = -1;               /* TakeControl_Request */
107 static int hf_mms_relinquishControl = -1;         /* RelinquishControl_Request */
108 static int hf_mms_defineSemaphore = -1;           /* DefineSemaphore_Request */
109 static int hf_mms_deleteSemaphore = -1;           /* DeleteSemaphore_Request */
110 static int hf_mms_reportSemaphoreStatus = -1;     /* ReportSemaphoreStatus_Request */
111 static int hf_mms_reportPoolSemaphoreStatus = -1;  /* ReportPoolSemaphoreStatus_Request */
112 static int hf_mms_reportSemaphoreEntryStatus = -1;  /* ReportSemaphoreEntryStatus_Request */
113 static int hf_mms_initiateDownloadSequence = -1;  /* InitiateDownloadSequence_Request */
114 static int hf_mms_downloadSegment = -1;           /* DownloadSegment_Request */
115 static int hf_mms_terminateDownloadSequence = -1;  /* TerminateDownloadSequence_Request */
116 static int hf_mms_initiateUploadSequence = -1;    /* InitiateUploadSequence_Request */
117 static int hf_mms_uploadSegment = -1;             /* UploadSegment_Request */
118 static int hf_mms_terminateUploadSequence = -1;   /* TerminateUploadSequence_Request */
119 static int hf_mms_requestDomainDownload = -1;     /* RequestDomainDownload_Request */
120 static int hf_mms_requestDomainUpload = -1;       /* RequestDomainUpload_Request */
121 static int hf_mms_loadDomainContent = -1;         /* LoadDomainContent_Request */
122 static int hf_mms_storeDomainContent = -1;        /* StoreDomainContent_Request */
123 static int hf_mms_deleteDomain = -1;              /* DeleteDomain_Request */
124 static int hf_mms_getDomainAttributes = -1;       /* GetDomainAttributes_Request */
125 static int hf_mms_createProgramInvocation = -1;   /* CreateProgramInvocation_Request */
126 static int hf_mms_deleteProgramInvocation = -1;   /* DeleteProgramInvocation_Request */
127 static int hf_mms_start = -1;                     /* Start_Request */
128 static int hf_mms_stop = -1;                      /* Stop_Request */
129 static int hf_mms_resume = -1;                    /* Resume_Request */
130 static int hf_mms_reset = -1;                     /* Reset_Request */
131 static int hf_mms_kill = -1;                      /* Kill_Request */
132 static int hf_mms_getProgramInvocationAttributes = -1;  /* GetProgramInvocationAttributes_Request */
133 static int hf_mms_obtainFile = -1;                /* ObtainFile_Request */
134 static int hf_mms_defineEventCondition = -1;      /* DefineEventCondition_Request */
135 static int hf_mms_deleteEventCondition = -1;      /* DeleteEventCondition_Request */
136 static int hf_mms_getEventConditionAttributes = -1;  /* GetEventConditionAttributes_Request */
137 static int hf_mms_reportEventConditionStatus = -1;  /* ReportEventConditionStatus_Request */
138 static int hf_mms_alterEventConditionMonitoring = -1;  /* AlterEventConditionMonitoring_Request */
139 static int hf_mms_triggerEvent = -1;              /* TriggerEvent_Request */
140 static int hf_mms_defineEventAction = -1;         /* DefineEventAction_Request */
141 static int hf_mms_deleteEventAction = -1;         /* DeleteEventAction_Request */
142 static int hf_mms_getEventActionAttributes = -1;  /* GetEventActionAttributes_Request */
143 static int hf_mms_reportEventActionStatus = -1;   /* ReportEventActionStatus_Request */
144 static int hf_mms_defineEventEnrollment = -1;     /* DefineEventEnrollment_Request */
145 static int hf_mms_deleteEventEnrollment = -1;     /* DeleteEventEnrollment_Request */
146 static int hf_mms_alterEventEnrollment = -1;      /* AlterEventEnrollment_Request */
147 static int hf_mms_reportEventEnrollmentStatus = -1;  /* ReportEventEnrollmentStatus_Request */
148 static int hf_mms_getEventEnrollmentAttributes = -1;  /* GetEventEnrollmentAttributes_Request */
149 static int hf_mms_acknowledgeEventNotification = -1;  /* AcknowledgeEventNotification_Request */
150 static int hf_mms_getAlarmSummary = -1;           /* GetAlarmSummary_Request */
151 static int hf_mms_getAlarmEnrollmentSummary = -1;  /* GetAlarmEnrollmentSummary_Request */
152 static int hf_mms_readJournal = -1;               /* ReadJournal_Request */
153 static int hf_mms_writeJournal = -1;              /* WriteJournal_Request */
154 static int hf_mms_initializeJournal = -1;         /* InitializeJournal_Request */
155 static int hf_mms_reportJournalStatus = -1;       /* ReportJournalStatus_Request */
156 static int hf_mms_createJournal = -1;             /* CreateJournal_Request */
157 static int hf_mms_deleteJournal = -1;             /* DeleteJournal_Request */
158 static int hf_mms_getCapabilityList = -1;         /* GetCapabilityList_Request */
159 static int hf_mms_fileOpen = -1;                  /* FileOpen_Request */
160 static int hf_mms_fileRead = -1;                  /* FileRead_Request */
161 static int hf_mms_fileClose = -1;                 /* FileClose_Request */
162 static int hf_mms_fileRename = -1;                /* FileRename_Request */
163 static int hf_mms_fileDelete = -1;                /* FileDelete_Request */
164 static int hf_mms_fileDirectory = -1;             /* FileDirectory_Request */
165 static int hf_mms_foo = -1;                       /* INTEGER */
166 static int hf_mms_status1 = -1;                   /* Status_Response */
167 static int hf_mms_getNameList1 = -1;              /* GetNameList_Response */
168 static int hf_mms_identify1 = -1;                 /* Identify_Response */
169 static int hf_mms_rename1 = -1;                   /* Rename_Response */
170 static int hf_mms_read1 = -1;                     /* Read_Response */
171 static int hf_mms_write1 = -1;                    /* Write_Response */
172 static int hf_mms_getVariableAccessAttributes1 = -1;  /* GetVariableAccessAttributes_Response */
173 static int hf_mms_defineNamedVariable1 = -1;      /* DefineNamedVariable_Response */
174 static int hf_mms_defineScatteredAccess1 = -1;    /* DefineScatteredAccess_Response */
175 static int hf_mms_getScatteredAccessAttributes1 = -1;  /* GetScatteredAccessAttributes_Response */
176 static int hf_mms_deleteVariableAccess1 = -1;     /* DeleteVariableAccess_Response */
177 static int hf_mms_defineNamedVariableList1 = -1;  /* DefineNamedVariableList_Response */
178 static int hf_mms_getNamedVariableListAttributes1 = -1;  /* GetNamedVariableListAttributes_Response */
179 static int hf_mms_deleteNamedVariableList1 = -1;  /* DeleteNamedVariableList_Response */
180 static int hf_mms_defineNamedType1 = -1;          /* DefineNamedType_Response */
181 static int hf_mms_getNamedTypeAttributes1 = -1;   /* GetNamedTypeAttributes_Response */
182 static int hf_mms_deleteNamedType1 = -1;          /* DeleteNamedType_Response */
183 static int hf_mms_input1 = -1;                    /* Input_Response */
184 static int hf_mms_output1 = -1;                   /* Output_Response */
185 static int hf_mms_takeControl1 = -1;              /* TakeControl_Response */
186 static int hf_mms_relinquishControl1 = -1;        /* RelinquishControl_Response */
187 static int hf_mms_defineSemaphore1 = -1;          /* DefineSemaphore_Response */
188 static int hf_mms_deleteSemaphore1 = -1;          /* DeleteSemaphore_Response */
189 static int hf_mms_reportSemaphoreStatus1 = -1;    /* ReportSemaphoreStatus_Response */
190 static int hf_mms_reportPoolSemaphoreStatus1 = -1;  /* ReportPoolSemaphoreStatus_Response */
191 static int hf_mms_reportSemaphoreEntryStatus1 = -1;  /* ReportSemaphoreEntryStatus_Response */
192 static int hf_mms_initiateDownloadSequence1 = -1;  /* InitiateDownloadSequence_Response */
193 static int hf_mms_downloadSegment1 = -1;          /* DownloadSegment_Response */
194 static int hf_mms_terminateDownloadSequence1 = -1;  /* TerminateDownloadSequence_Response */
195 static int hf_mms_initiateUploadSequence1 = -1;   /* InitiateUploadSequence_Response */
196 static int hf_mms_uploadSegment1 = -1;            /* UploadSegment_Response */
197 static int hf_mms_terminateUploadSequence1 = -1;  /* TerminateUploadSequence_Response */
198 static int hf_mms_requestDomainDownLoad = -1;     /* RequestDomainDownload_Response */
199 static int hf_mms_requestDomainUpload1 = -1;      /* RequestDomainUpload_Response */
200 static int hf_mms_loadDomainContent1 = -1;        /* LoadDomainContent_Response */
201 static int hf_mms_storeDomainContent1 = -1;       /* StoreDomainContent_Response */
202 static int hf_mms_deleteDomain1 = -1;             /* DeleteDomain_Response */
203 static int hf_mms_getDomainAttributes1 = -1;      /* GetDomainAttributes_Response */
204 static int hf_mms_createProgramInvocation1 = -1;  /* CreateProgramInvocation_Response */
205 static int hf_mms_deleteProgramInvocation1 = -1;  /* DeleteProgramInvocation_Response */
206 static int hf_mms_start1 = -1;                    /* Start_Response */
207 static int hf_mms_stop1 = -1;                     /* Stop_Response */
208 static int hf_mms_resume1 = -1;                   /* Resume_Response */
209 static int hf_mms_reset1 = -1;                    /* Reset_Response */
210 static int hf_mms_kill1 = -1;                     /* Kill_Response */
211 static int hf_mms_getProgramInvocationAttributes1 = -1;  /* GetProgramInvocationAttributes_Response */
212 static int hf_mms_obtainFile1 = -1;               /* ObtainFile_Response */
213 static int hf_mms_fileOpen1 = -1;                 /* FileOpen_Response */
214 static int hf_mms_defineEventCondition1 = -1;     /* DefineEventCondition_Response */
215 static int hf_mms_deleteEventCondition1 = -1;     /* DeleteEventCondition_Response */
216 static int hf_mms_getEventConditionAttributes1 = -1;  /* GetEventConditionAttributes_Response */
217 static int hf_mms_reportEventConditionStatus1 = -1;  /* ReportEventConditionStatus_Response */
218 static int hf_mms_alterEventConditionMonitoring1 = -1;  /* AlterEventConditionMonitoring_Response */
219 static int hf_mms_triggerEvent1 = -1;             /* TriggerEvent_Response */
220 static int hf_mms_defineEventAction1 = -1;        /* DefineEventAction_Response */
221 static int hf_mms_deleteEventAction1 = -1;        /* DeleteEventAction_Response */
222 static int hf_mms_getEventActionAttributes1 = -1;  /* GetEventActionAttributes_Response */
223 static int hf_mms_reportActionStatus = -1;        /* ReportEventActionStatus_Response */
224 static int hf_mms_defineEventEnrollment1 = -1;    /* DefineEventEnrollment_Response */
225 static int hf_mms_deleteEventEnrollment1 = -1;    /* DeleteEventEnrollment_Response */
226 static int hf_mms_alterEventEnrollment1 = -1;     /* AlterEventEnrollment_Response */
227 static int hf_mms_reportEventEnrollmentStatus1 = -1;  /* ReportEventEnrollmentStatus_Response */
228 static int hf_mms_getEventEnrollmentAttributes1 = -1;  /* GetEventEnrollmentAttributes_Response */
229 static int hf_mms_acknowledgeEventNotification1 = -1;  /* AcknowledgeEventNotification_Response */
230 static int hf_mms_getAlarmSummary1 = -1;          /* GetAlarmSummary_Response */
231 static int hf_mms_getAlarmEnrollmentSummary1 = -1;  /* GetAlarmEnrollmentSummary_Response */
232 static int hf_mms_readJournal1 = -1;              /* ReadJournal_Response */
233 static int hf_mms_writeJournal1 = -1;             /* WriteJournal_Response */
234 static int hf_mms_initializeJournal1 = -1;        /* InitializeJournal_Response */
235 static int hf_mms_reportJournalStatus1 = -1;      /* ReportJournalStatus_Response */
236 static int hf_mms_createJournal1 = -1;            /* CreateJournal_Response */
237 static int hf_mms_deleteJournal1 = -1;            /* DeleteJournal_Response */
238 static int hf_mms_getCapabilityList1 = -1;        /* GetCapabilityList_Response */
239 static int hf_mms_fileRead1 = -1;                 /* FileRead_Response */
240 static int hf_mms_fileClose1 = -1;                /* FileClose_Response */
241 static int hf_mms_fileRename1 = -1;               /* FileRename_Response */
242 static int hf_mms_fileDelete1 = -1;               /* FileDelete_Response */
243 static int hf_mms_fileDirectory1 = -1;            /* FileDirectory_Response */
244 static int hf_mms_FileName_item = -1;             /* GraphicString */
245 static int hf_mms_vmd_specific = -1;              /* Identifier */
246 static int hf_mms_domain_specific = -1;           /* T_domain_specific */
247 static int hf_mms_domainId = -1;                  /* Identifier */
248 static int hf_mms_itemId = -1;                    /* Identifier */
249 static int hf_mms_aa_specific = -1;               /* Identifier */
250 static int hf_mms_ap_title = -1;                  /* T_ap_title */
251 static int hf_mms_ap_invocation_id = -1;          /* T_ap_invocation_id */
252 static int hf_mms_ae_qualifier = -1;              /* T_ae_qualifier */
253 static int hf_mms_ae_invocation_id = -1;          /* T_ae_invocation_id */
254 static int hf_mms_localDetailCalling = -1;        /* Integer32 */
255 static int hf_mms_proposedMaxServOutstandingCalling = -1;  /* Integer16 */
256 static int hf_mms_proposedMaxServOutstandingCalled = -1;  /* Integer16 */
257 static int hf_mms_proposedDataStructureNestingLevel = -1;  /* Integer8 */
258 static int hf_mms_mmsInitRequestDetail = -1;      /* InitRequestDetail */
259 static int hf_mms_proposedVersionNumber = -1;     /* Integer16 */
260 static int hf_mms_proposedParameterCBB = -1;      /* ParameterSupportOptions */
261 static int hf_mms_servicesSupportedCalling = -1;  /* ServiceSupportOptions */
262 static int hf_mms_localDetailCalled = -1;         /* Integer32 */
263 static int hf_mms_negociatedMaxServOutstandingCalling = -1;  /* Integer16 */
264 static int hf_mms_negociatedMaxServOutstandingCalled = -1;  /* Integer16 */
265 static int hf_mms_negociatedDataStructureNestingLevel = -1;  /* Integer8 */
266 static int hf_mms_mmsInitResponseDetail = -1;     /* InitResponseDetail */
267 static int hf_mms_negociatedVersionNumber = -1;   /* Integer16 */
268 static int hf_mms_negociatedParameterCBB = -1;    /* ParameterSupportOptions */
269 static int hf_mms_servicesSupportedCalled = -1;   /* ServiceSupportOptions */
270 static int hf_mms_originalInvokeID = -1;          /* Unsigned32 */
271 static int hf_mms_errorClass = -1;                /* T_errorClass */
272 static int hf_mms_vmd_state = -1;                 /* T_vmd_state */
273 static int hf_mms_application_reference = -1;     /* T_application_reference */
274 static int hf_mms_definition = -1;                /* T_definition */
275 static int hf_mms_resource = -1;                  /* T_resource */
276 static int hf_mms_service = -1;                   /* T_service */
277 static int hf_mms_service_preempt = -1;           /* T_service_preempt */
278 static int hf_mms_time_resolution = -1;           /* T_time_resolution */
279 static int hf_mms_access = -1;                    /* T_access */
280 static int hf_mms_initiate = -1;                  /* T_initiate */
281 static int hf_mms_conclude = -1;                  /* T_conclude */
282 static int hf_mms_cancel = -1;                    /* T_cancel */
283 static int hf_mms_file = -1;                      /* T_file */
284 static int hf_mms_others = -1;                    /* INTEGER */
285 static int hf_mms_additionalCode = -1;            /* INTEGER */
286 static int hf_mms_additionalDescription = -1;     /* VisibleString */
287 static int hf_mms_serviceSpecificInformation = -1;  /* T_serviceSpecificInformation */
288 static int hf_mms_obtainFile2 = -1;               /* ObtainFile_Error */
289 static int hf_mms_start2 = -1;                    /* Start_Error */
290 static int hf_mms_stop2 = -1;                     /* Stop_Error */
291 static int hf_mms_resume2 = -1;                   /* Resume_Error */
292 static int hf_mms_reset2 = -1;                    /* Reset_Error */
293 static int hf_mms_deleteVariableAccess2 = -1;     /* DeleteVariableAccess_Error */
294 static int hf_mms_deleteNamedVariableList2 = -1;  /* DeleteNamedVariableList_Error */
295 static int hf_mms_deleteNamedType2 = -1;          /* DeleteNamedType_Error */
296 static int hf_mms_defineEventEnrollment_Error = -1;  /* DefineEventEnrollment_Error */
297 static int hf_mms_fileRename2 = -1;               /* FileRename_Error */
298 static int hf_mms_rejectReason = -1;              /* T_rejectReason */
299 static int hf_mms_confirmed_requestPDU = -1;      /* T_confirmed_requestPDU */
300 static int hf_mms_confirmed_responsePDU = -1;     /* T_confirmed_responsePDU */
301 static int hf_mms_confirmed_errorPDU = -1;        /* T_confirmed_errorPDU */
302 static int hf_mms_unconfirmedPDU = -1;            /* T_unconfirmedPDU */
303 static int hf_mms_pdu_error = -1;                 /* T_pdu_error */
304 static int hf_mms_cancel_requestPDU = -1;         /* T_cancel_requestPDU */
305 static int hf_mms_cancel_responsePDU = -1;        /* T_cancel_responsePDU */
306 static int hf_mms_cancel_errorPDU = -1;           /* T_cancel_errorPDU */
307 static int hf_mms_conclude_requestPDU = -1;       /* T_conclude_requestPDU */
308 static int hf_mms_conclude_responsePDU = -1;      /* T_conclude_responsePDU */
309 static int hf_mms_conclude_errorPDU = -1;         /* T_conclude_errorPDU */
310 static int hf_mms_vmdLogicalStatus = -1;          /* T_vmdLogicalStatus */
311 static int hf_mms_vmdPhysicalStatus = -1;         /* T_vmdPhysicalStatus */
312 static int hf_mms_localDetail = -1;               /* BIT_STRING_SIZE_0_128 */
313 static int hf_mms_extendedObjectClass = -1;       /* T_extendedObjectClass */
314 static int hf_mms_objectClass = -1;               /* T_objectClass */
315 static int hf_mms_objectScope = -1;               /* T_objectScope */
316 static int hf_mms_vmdSpecific = -1;               /* NULL */
317 static int hf_mms_domainSpecific = -1;            /* Identifier */
318 static int hf_mms_aaSpecific = -1;                /* NULL */
319 static int hf_mms_continueAfter = -1;             /* Identifier */
320 static int hf_mms_listOfIdentifier = -1;          /* SEQUENCE_OF_Identifier */
321 static int hf_mms_listOfIdentifier_item = -1;     /* Identifier */
322 static int hf_mms_moreFollows = -1;               /* BOOLEAN */
323 static int hf_mms_vendorName = -1;                /* VisibleString */
324 static int hf_mms_modelName = -1;                 /* VisibleString */
325 static int hf_mms_revision = -1;                  /* VisibleString */
326 static int hf_mms_listOfAbstractSyntaxes = -1;    /* T_listOfAbstractSyntaxes */
327 static int hf_mms_listOfAbstractSyntaxes_item = -1;  /* OBJECT_IDENTIFIER */
328 static int hf_mms_extendedObjectClass1 = -1;      /* T_extendedObjectClass1 */
329 static int hf_mms_objectClass1 = -1;              /* T_objectClass1 */
330 static int hf_mms_currentName = -1;               /* ObjectName */
331 static int hf_mms_newIdentifier = -1;             /* Identifier */
332 static int hf_mms_continueAfter1 = -1;            /* VisibleString */
333 static int hf_mms_listOfCapabilities = -1;        /* T_listOfCapabilities */
334 static int hf_mms_listOfCapabilities_item = -1;   /* VisibleString */
335 static int hf_mms_domainName = -1;                /* Identifier */
336 static int hf_mms_listOfCapabilities1 = -1;       /* T_listOfCapabilities1 */
337 static int hf_mms_sharable = -1;                  /* BOOLEAN */
338 static int hf_mms_loadData = -1;                  /* T_loadData */
339 static int hf_mms_non_coded = -1;                 /* OCTET_STRING */
340 static int hf_mms_coded = -1;                     /* EXTERNALt */
341 static int hf_mms_discard = -1;                   /* ServiceError */
342 static int hf_mms_ulsmID = -1;                    /* Integer32 */
343 static int hf_mms_listOfCapabilities2 = -1;       /* T_listOfCapabilities2 */
344 static int hf_mms_loadData1 = -1;                 /* T_loadData1 */
345 static int hf_mms_listOfCapabilities3 = -1;       /* T_listOfCapabilities3 */
346 static int hf_mms_fileName = -1;                  /* FileName */
347 static int hf_mms_listOfCapabilities4 = -1;       /* T_listOfCapabilities4 */
348 static int hf_mms_thirdParty = -1;                /* ApplicationReference */
349 static int hf_mms_filenName = -1;                 /* FileName */
350 static int hf_mms_listOfCapabilities5 = -1;       /* T_listOfCapabilities5 */
351 static int hf_mms_state = -1;                     /* DomainState */
352 static int hf_mms_mmsDeletable = -1;              /* BOOLEAN */
353 static int hf_mms_listOfProgramInvocations = -1;  /* SEQUENCE_OF_Identifier */
354 static int hf_mms_listOfProgramInvocations_item = -1;  /* Identifier */
355 static int hf_mms_uploadInProgress = -1;          /* Integer8 */
356 static int hf_mms_programInvocationName = -1;     /* Identifier */
357 static int hf_mms_listOfDomainName = -1;          /* SEQUENCE_OF_Identifier */
358 static int hf_mms_listOfDomainName_item = -1;     /* Identifier */
359 static int hf_mms_reusable = -1;                  /* BOOLEAN */
360 static int hf_mms_monitorType = -1;               /* BOOLEAN */
361 static int hf_mms_executionArgument = -1;         /* T_executionArgument */
362 static int hf_mms_simpleString = -1;              /* VisibleString */
363 static int hf_mms_encodedString = -1;             /* EXTERNALt */
364 static int hf_mms_executionArgument1 = -1;        /* T_executionArgument1 */
365 static int hf_mms_state1 = -1;                    /* ProgramInvocationState */
366 static int hf_mms_listOfDomainNames = -1;         /* SEQUENCE_OF_Identifier */
367 static int hf_mms_listOfDomainNames_item = -1;    /* Identifier */
368 static int hf_mms_monitor = -1;                   /* BOOLEAN */
369 static int hf_mms_startArgument = -1;             /* VisibleString */
370 static int hf_mms_executionArgument2 = -1;        /* T_executionArgument2 */
371 static int hf_mms_typeName = -1;                  /* ObjectName */
372 static int hf_mms_array = -1;                     /* T_array */
373 static int hf_mms_packed = -1;                    /* BOOLEAN */
374 static int hf_mms_numberOfElements = -1;          /* Unsigned32 */
375 static int hf_mms_elementType = -1;               /* TypeSpecification */
376 static int hf_mms_structure = -1;                 /* T_structure */
377 static int hf_mms_components = -1;                /* T_components */
378 static int hf_mms_components_item = -1;           /* T_components_item */
379 static int hf_mms_componentName = -1;             /* Identifier */
380 static int hf_mms_componentType = -1;             /* TypeSpecification */
381 static int hf_mms_boolean = -1;                   /* NULL */
382 static int hf_mms_bit_string = -1;                /* Integer32 */
383 static int hf_mms_integer = -1;                   /* Unsigned8 */
384 static int hf_mms_unsigned = -1;                  /* Unsigned8 */
385 static int hf_mms_octet_string = -1;              /* Integer32 */
386 static int hf_mms_visible_string = -1;            /* Integer32 */
387 static int hf_mms_generalized_time = -1;          /* NULL */
388 static int hf_mms_binary_time = -1;               /* BOOLEAN */
389 static int hf_mms_bcd = -1;                       /* Unsigned8 */
390 static int hf_mms_objId = -1;                     /* NULL */
391 static int hf_mms_AlternateAccess_item = -1;      /* AlternateAccess_item */
392 static int hf_mms_unnamed = -1;                   /* AlternateAccessSelection */
393 static int hf_mms_named = -1;                     /* T_named */
394 static int hf_mms_accesst = -1;                   /* AlternateAccessSelection */
395 static int hf_mms_selectAccess = -1;              /* T_selectAccess */
396 static int hf_mms_component = -1;                 /* Identifier */
397 static int hf_mms_index = -1;                     /* Unsigned32 */
398 static int hf_mms_indexRange = -1;                /* T_indexRange */
399 static int hf_mms_lowIndex = -1;                  /* Unsigned32 */
400 static int hf_mms_allElements = -1;               /* NULL */
401 static int hf_mms_specificationWithResult = -1;   /* BOOLEAN */
402 static int hf_mms_variableAccessSpecificatn = -1;  /* VariableAccessSpecification */
403 static int hf_mms_listOfAccessResult = -1;        /* SEQUENCE_OF_AccessResult */
404 static int hf_mms_listOfAccessResult_item = -1;   /* AccessResult */
405 static int hf_mms_listOfData = -1;                /* SEQUENCE_OF_Data */
406 static int hf_mms_listOfData_item = -1;           /* Data */
407 static int hf_mms_Write_Response_item = -1;       /* Write_Response_item */
408 static int hf_mms_failure = -1;                   /* DataAccessError */
409 static int hf_mms_success = -1;                   /* NULL */
410 static int hf_mms_variableAccessSpecification = -1;  /* VariableAccessSpecification */
411 static int hf_mms_name = -1;                      /* ObjectName */
412 static int hf_mms_address = -1;                   /* Address */
413 static int hf_mms_typeSpecification = -1;         /* TypeSpecification */
414 static int hf_mms_variableName = -1;              /* ObjectName */
415 static int hf_mms_scatteredAccessName = -1;       /* ObjectName */
416 static int hf_mms_scatteredAccessDescription = -1;  /* ScatteredAccessDescription */
417 static int hf_mms_scopeOfDelete = -1;             /* T_scopeOfDelete */
418 static int hf_mms_listOfName = -1;                /* SEQUENCE_OF_ObjectName */
419 static int hf_mms_listOfName_item = -1;           /* ObjectName */
420 static int hf_mms_numberMatched = -1;             /* Unsigned32 */
421 static int hf_mms_numberDeleted = -1;             /* Unsigned32 */
422 static int hf_mms_variableListName = -1;          /* ObjectName */
423 static int hf_mms_listOfVariable = -1;            /* T_listOfVariable */
424 static int hf_mms_listOfVariable_item = -1;       /* T_listOfVariable_item */
425 static int hf_mms_variableSpecification = -1;     /* VariableSpecification */
426 static int hf_mms_alternateAccess = -1;           /* AlternateAccess */
427 static int hf_mms_listOfVariable1 = -1;           /* T_listOfVariable1 */
428 static int hf_mms_listOfVariable_item1 = -1;      /* T_listOfVariable_item1 */
429 static int hf_mms_scopeOfDelete1 = -1;            /* T_scopeOfDelete1 */
430 static int hf_mms_listOfVariableListName = -1;    /* SEQUENCE_OF_ObjectName */
431 static int hf_mms_listOfVariableListName_item = -1;  /* ObjectName */
432 static int hf_mms_scopeOfDelete2 = -1;            /* T_scopeOfDelete2 */
433 static int hf_mms_listOfTypeName = -1;            /* SEQUENCE_OF_ObjectName */
434 static int hf_mms_listOfTypeName_item = -1;       /* ObjectName */
435 static int hf_mms_array1 = -1;                    /* SEQUENCE_OF_Data */
436 static int hf_mms_array_item = -1;                /* Data */
437 static int hf_mms_structure1 = -1;                /* SEQUENCE_OF_Data */
438 static int hf_mms_structure_item = -1;            /* Data */
439 static int hf_mms_boolean1 = -1;                  /* BOOLEAN */
440 static int hf_mms_bit_string1 = -1;               /* BIT_STRING */
441 static int hf_mms_integer1 = -1;                  /* INTEGER */
442 static int hf_mms_unsigned1 = -1;                 /* INTEGER */
443 static int hf_mms_floating_point = -1;            /* FloatingPoint */
444 static int hf_mms_octet_string1 = -1;             /* OCTET_STRING */
445 static int hf_mms_visible_string1 = -1;           /* VisibleString */
446 static int hf_mms_binary_time1 = -1;              /* TimeOfDay */
447 static int hf_mms_bcd1 = -1;                      /* INTEGER */
448 static int hf_mms_booleanArray = -1;              /* BIT_STRING */
449 static int hf_mms_listOfVariable2 = -1;           /* T_listOfVariable2 */
450 static int hf_mms_listOfVariable_item2 = -1;      /* T_listOfVariable_item2 */
451 static int hf_mms_ScatteredAccessDescription_item = -1;  /* ScatteredAccessDescription_item */
452 static int hf_mms_variableDescription = -1;       /* T_variableDescription */
453 static int hf_mms_invalidated = -1;               /* NULL */
454 static int hf_mms_numericAddress = -1;            /* Unsigned32 */
455 static int hf_mms_symbolicAddress = -1;           /* VisibleString */
456 static int hf_mms_unconstrainedAddress = -1;      /* OCTET_STRING */
457 static int hf_mms_semaphoreName = -1;             /* ObjectName */
458 static int hf_mms_namedToken = -1;                /* Identifier */
459 static int hf_mms_priority = -1;                  /* Priority */
460 static int hf_mms_acceptableDelay = -1;           /* Unsigned32 */
461 static int hf_mms_controlTimeOut = -1;            /* Unsigned32 */
462 static int hf_mms_abortOnTimeOut = -1;            /* BOOLEAN */
463 static int hf_mms_relinquishIfConnectionLost = -1;  /* BOOLEAN */
464 static int hf_mms_applicationToPreempt = -1;      /* ApplicationReference */
465 static int hf_mms_noResult = -1;                  /* NULL */
466 static int hf_mms_numbersOfTokens = -1;           /* Unsigned16 */
467 static int hf_mms_class = -1;                     /* T_class */
468 static int hf_mms_numberOfTokens = -1;            /* Unsigned16 */
469 static int hf_mms_numberOfOwnedTokens = -1;       /* Unsigned16 */
470 static int hf_mms_numberOfHungTokens = -1;        /* Unsigned16 */
471 static int hf_mms_nameToStartAfter = -1;          /* Identifier */
472 static int hf_mms_listOfNamedTokens = -1;         /* T_listOfNamedTokens */
473 static int hf_mms_listOfNamedTokens_item = -1;    /* T_listOfNamedTokens_item */
474 static int hf_mms_freeNamedToken = -1;            /* Identifier */
475 static int hf_mms_ownedNamedToken = -1;           /* Identifier */
476 static int hf_mms_hungNamedToken = -1;            /* Identifier */
477 static int hf_mms_state2 = -1;                    /* T_state */
478 static int hf_mms_entryIdToStartAfter = -1;       /* OCTET_STRING */
479 static int hf_mms_listOfSemaphoreEntry = -1;      /* SEQUENCE_OF_SemaphoreEntry */
480 static int hf_mms_listOfSemaphoreEntry_item = -1;  /* SemaphoreEntry */
481 static int hf_mms_entryId = -1;                   /* OCTET_STRING */
482 static int hf_mms_entryClass = -1;                /* T_entryClass */
483 static int hf_mms_applicationReference = -1;      /* ApplicationReference */
484 static int hf_mms_remainingTimeOut = -1;          /* Unsigned32 */
485 static int hf_mms_operatorStationName = -1;       /* Identifier */
486 static int hf_mms_echo = -1;                      /* BOOLEAN */
487 static int hf_mms_listOfPromptData = -1;          /* T_listOfPromptData */
488 static int hf_mms_listOfPromptData_item = -1;     /* VisibleString */
489 static int hf_mms_inputTimeOut = -1;              /* Unsigned32 */
490 static int hf_mms_listOfOutputData = -1;          /* T_listOfOutputData */
491 static int hf_mms_listOfOutputData_item = -1;     /* VisibleString */
492 static int hf_mms_eventConditionName = -1;        /* ObjectName */
493 static int hf_mms_class1 = -1;                    /* EC_Class */
494 static int hf_mms_prio_rity = -1;                 /* Priority */
495 static int hf_mms_severity = -1;                  /* Unsigned8 */
496 static int hf_mms_alarmSummaryReports = -1;       /* BOOLEAN */
497 static int hf_mms_monitoredVariable = -1;         /* VariableSpecification */
498 static int hf_mms_evaluationInterval = -1;        /* Unsigned32 */
499 static int hf_mms_specific = -1;                  /* SEQUENCE_OF_ObjectName */
500 static int hf_mms_specific_item = -1;             /* ObjectName */
501 static int hf_mms_aa_specific1 = -1;              /* NULL */
502 static int hf_mms_domain = -1;                    /* Identifier */
503 static int hf_mms_vmd = -1;                       /* NULL */
504 static int hf_mms_monitoredVariable1 = -1;        /* T_monitoredVariable */
505 static int hf_mms_variableReference = -1;         /* VariableSpecification */
506 static int hf_mms_undefined = -1;                 /* NULL */
507 static int hf_mms_currentState = -1;              /* EC_State */
508 static int hf_mms_numberOfEventEnrollments = -1;  /* Unsigned32 */
509 static int hf_mms_enabled = -1;                   /* BOOLEAN */
510 static int hf_mms_timeOfLastTransitionToActive = -1;  /* EventTime */
511 static int hf_mms_timeOfLastTransitionToIdle = -1;  /* EventTime */
512 static int hf_mms_eventActionName = -1;           /* ObjectName */
513 static int hf_mms_eventEnrollmentName = -1;       /* ObjectName */
514 static int hf_mms_eventConditionTransition = -1;  /* Transitions */
515 static int hf_mms_alarmAcknowledgementRule = -1;  /* AlarmAckRule */
516 static int hf_mms_clientApplication = -1;         /* ApplicationReference */
517 static int hf_mms_ec = -1;                        /* ObjectName */
518 static int hf_mms_ea = -1;                        /* ObjectName */
519 static int hf_mms_scopeOfRequest = -1;            /* T_scopeOfRequest */
520 static int hf_mms_eventEnrollmentNames = -1;      /* SEQUENCE_OF_ObjectName */
521 static int hf_mms_eventEnrollmentNames_item = -1;  /* ObjectName */
522 static int hf_mms_continueAfter2 = -1;            /* ObjectName */
523 static int hf_mms_eventConditionName1 = -1;       /* T_eventConditionName */
524 static int hf_mms_eventCondition = -1;            /* ObjectName */
525 static int hf_mms_eventActionName1 = -1;          /* T_eventActionName */
526 static int hf_mms_eventAction = -1;               /* ObjectName */
527 static int hf_mms_enrollmentClass = -1;           /* EE_Class */
528 static int hf_mms_duration = -1;                  /* EE_Duration */
529 static int hf_mms_remainingAcceptableDelay = -1;  /* Unsigned32 */
530 static int hf_mms_listOfEventEnrollment = -1;     /* SEQUENCE_OF_EventEnrollment */
531 static int hf_mms_listOfEventEnrollment_item = -1;  /* EventEnrollment */
532 static int hf_mms_eventConditionTransitions = -1;  /* Transitions */
533 static int hf_mms_notificationLost = -1;          /* BOOLEAN */
534 static int hf_mms_alarmAcknowledgmentRule = -1;   /* AlarmAckRule */
535 static int hf_mms_currentState1 = -1;             /* EE_State */
536 static int hf_mms_currentState2 = -1;             /* T_currentState */
537 static int hf_mms_state3 = -1;                    /* EE_State */
538 static int hf_mms_transitionTime = -1;            /* EventTime */
539 static int hf_mms_acknowledgedState = -1;         /* EC_State */
540 static int hf_mms_timeOfAcknowledgedTransition = -1;  /* EventTime */
541 static int hf_mms_enrollmentsOnly = -1;           /* BOOLEAN */
542 static int hf_mms_activeAlarmsOnly = -1;          /* BOOLEAN */
543 static int hf_mms_acknowledgmentFilter = -1;      /* T_acknowledgmentFilter */
544 static int hf_mms_severityFilter = -1;            /* T_severityFilter */
545 static int hf_mms_mostSevere = -1;                /* Unsigned8 */
546 static int hf_mms_leastSevere = -1;               /* Unsigned8 */
547 static int hf_mms_listOfAlarmSummary = -1;        /* SEQUENCE_OF_AlarmSummary */
548 static int hf_mms_listOfAlarmSummary_item = -1;   /* AlarmSummary */
549 static int hf_mms_unacknowledgedState = -1;       /* T_unacknowledgedState */
550 static int hf_mms_acknowledgmentFilter1 = -1;     /* T_acknowledgmentFilter1 */
551 static int hf_mms_severityFilter1 = -1;           /* T_severityFilter1 */
552 static int hf_mms_listOfAlarmEnrollmentSummary = -1;  /* SEQUENCE_OF_AlarmEnrollmentSummary */
553 static int hf_mms_listOfAlarmEnrollmentSummary_item = -1;  /* AlarmEnrollmentSummary */
554 static int hf_mms_enrollementState = -1;          /* EE_State */
555 static int hf_mms_timeActiveAcknowledged = -1;    /* EventTime */
556 static int hf_mms_timeIdleAcknowledged = -1;      /* EventTime */
557 static int hf_mms_eventConditionName2 = -1;       /* T_eventConditionName1 */
558 static int hf_mms_actionResult = -1;              /* T_actionResult */
559 static int hf_mms_eventActioName = -1;            /* ObjectName */
560 static int hf_mms_eventActionResult = -1;         /* T_eventActionResult */
561 static int hf_mms_success1 = -1;                  /* ConfirmedServiceResponse */
562 static int hf_mms_failure1 = -1;                  /* ServiceError */
563 static int hf_mms_causingTransitions = -1;        /* Transitions */
564 static int hf_mms_timeOfDayT = -1;                /* TimeOfDay */
565 static int hf_mms_timeSequenceIdentifier = -1;    /* Unsigned32 */
566 static int hf_mms_journalName = -1;               /* ObjectName */
567 static int hf_mms_rangeStartSpecification = -1;   /* T_rangeStartSpecification */
568 static int hf_mms_startingTime = -1;              /* TimeOfDay */
569 static int hf_mms_startingEntry = -1;             /* OCTET_STRING */
570 static int hf_mms_rangeStopSpecification = -1;    /* T_rangeStopSpecification */
571 static int hf_mms_endingTime = -1;                /* TimeOfDay */
572 static int hf_mms_numberOfEntries = -1;           /* Integer32 */
573 static int hf_mms_listOfVariables = -1;           /* T_listOfVariables */
574 static int hf_mms_listOfVariables_item = -1;      /* VisibleString */
575 static int hf_mms_entryToStartAfter = -1;         /* T_entryToStartAfter */
576 static int hf_mms_timeSpecification = -1;         /* TimeOfDay */
577 static int hf_mms_entrySpecification = -1;        /* OCTET_STRING */
578 static int hf_mms_listOfJournalEntry = -1;        /* SEQUENCE_OF_JournalEntry */
579 static int hf_mms_listOfJournalEntry_item = -1;   /* JournalEntry */
580 static int hf_mms_entryIdentifier = -1;           /* OCTET_STRING */
581 static int hf_mms_originatingApplication = -1;    /* ApplicationReference */
582 static int hf_mms_entryContent = -1;              /* EntryContent */
583 static int hf_mms_listOfJournalEntry1 = -1;       /* SEQUENCE_OF_EntryContent */
584 static int hf_mms_listOfJournalEntry_item1 = -1;  /* EntryContent */
585 static int hf_mms_limitSpecification = -1;        /* T_limitSpecification */
586 static int hf_mms_limitingTime = -1;              /* TimeOfDay */
587 static int hf_mms_limitingEntry = -1;             /* OCTET_STRING */
588 static int hf_mms_currentEntries = -1;            /* Unsigned32 */
589 static int hf_mms_occurenceTime = -1;             /* TimeOfDay */
590 static int hf_mms_additionalDetail = -1;          /* JOU_Additional_Detail */
591 static int hf_mms_entryForm = -1;                 /* T_entryForm */
592 static int hf_mms_data = -1;                      /* T_data */
593 static int hf_mms_event = -1;                     /* T_event */
594 static int hf_mms_listOfVariables1 = -1;          /* T_listOfVariables1 */
595 static int hf_mms_listOfVariables_item1 = -1;     /* T_listOfVariables_item */
596 static int hf_mms_variableTag = -1;               /* VisibleString */
597 static int hf_mms_valueSpecification = -1;        /* Data */
598 static int hf_mms_annotation = -1;                /* VisibleString */
599 static int hf_mms_sourceFileServer = -1;          /* ApplicationReference */
600 static int hf_mms_sourceFile = -1;                /* FileName */
601 static int hf_mms_destinationFile = -1;           /* FileName */
602 static int hf_mms_initialPosition = -1;           /* Unsigned32 */
603 static int hf_mms_frsmID = -1;                    /* Integer32 */
604 static int hf_mms_fileAttributes = -1;            /* FileAttributes */
605 static int hf_mms_fileData = -1;                  /* OCTET_STRING */
606 static int hf_mms_currentFileName = -1;           /* FileName */
607 static int hf_mms_newFileName = -1;               /* FileName */
608 static int hf_mms_fileSpecification = -1;         /* FileName */
609 static int hf_mms_continueAfter3 = -1;            /* FileName */
610 static int hf_mms_listOfDirectoryEntry = -1;      /* SEQUENCE_OF_DirectoryEntry */
611 static int hf_mms_listOfDirectoryEntry_item = -1;  /* DirectoryEntry */
612 static int hf_mms_filename = -1;                  /* FileName */
613 static int hf_mms_sizeOfFile = -1;                /* Unsigned32 */
614 static int hf_mms_lastModified = -1;              /* GeneralizedTime */
615 /* named bits */
616 static int hf_mms_ParameterSupportOptions_str1 = -1;
617 static int hf_mms_ParameterSupportOptions_str2 = -1;
618 static int hf_mms_ParameterSupportOptions_vnam = -1;
619 static int hf_mms_ParameterSupportOptions_valt = -1;
620 static int hf_mms_ParameterSupportOptions_vadr = -1;
621 static int hf_mms_ParameterSupportOptions_vsca = -1;
622 static int hf_mms_ParameterSupportOptions_tpy = -1;
623 static int hf_mms_ParameterSupportOptions_vlis = -1;
624 static int hf_mms_ParameterSupportOptions_real = -1;
625 static int hf_mms_ParameterSupportOptions_cei = -1;
626 static int hf_mms_ServiceSupportOptions_status = -1;
627 static int hf_mms_ServiceSupportOptions_getNameList = -1;
628 static int hf_mms_ServiceSupportOptions_identify = -1;
629 static int hf_mms_ServiceSupportOptions_rename = -1;
630 static int hf_mms_ServiceSupportOptions_read = -1;
631 static int hf_mms_ServiceSupportOptions_write = -1;
632 static int hf_mms_ServiceSupportOptions_getVariableAccessAttributes = -1;
633 static int hf_mms_ServiceSupportOptions_defineNamedVariable = -1;
634 static int hf_mms_ServiceSupportOptions_defineScatteredAccess = -1;
635 static int hf_mms_ServiceSupportOptions_getScatteredAccessAttributes = -1;
636 static int hf_mms_ServiceSupportOptions_deleteVariableAccess = -1;
637 static int hf_mms_ServiceSupportOptions_defineNamedVariableList = -1;
638 static int hf_mms_ServiceSupportOptions_getNamedVariableListAttributes = -1;
639 static int hf_mms_ServiceSupportOptions_deleteNamedVariableList = -1;
640 static int hf_mms_ServiceSupportOptions_defineNamedType = -1;
641 static int hf_mms_ServiceSupportOptions_getNamedTypeAttributes = -1;
642 static int hf_mms_ServiceSupportOptions_deleteNamedType = -1;
643 static int hf_mms_ServiceSupportOptions_input = -1;
644 static int hf_mms_ServiceSupportOptions_output = -1;
645 static int hf_mms_ServiceSupportOptions_takeControl = -1;
646 static int hf_mms_ServiceSupportOptions_relinquishControl = -1;
647 static int hf_mms_ServiceSupportOptions_defineSemaphore = -1;
648 static int hf_mms_ServiceSupportOptions_deleteSemaphore = -1;
649 static int hf_mms_ServiceSupportOptions_reportSemaphoreStatus = -1;
650 static int hf_mms_ServiceSupportOptions_reportPoolSemaphoreStatus = -1;
651 static int hf_mms_ServiceSupportOptions_reportSemaphoreEntryStatus = -1;
652 static int hf_mms_ServiceSupportOptions_initiateDownloadSequence = -1;
653 static int hf_mms_ServiceSupportOptions_downloadSegment = -1;
654 static int hf_mms_ServiceSupportOptions_terminateDownloadSequence = -1;
655 static int hf_mms_ServiceSupportOptions_initiateUploadSequence = -1;
656 static int hf_mms_ServiceSupportOptions_uploadSegment = -1;
657 static int hf_mms_ServiceSupportOptions_terminateUploadSequence = -1;
658 static int hf_mms_ServiceSupportOptions_requestDomainDownload = -1;
659 static int hf_mms_ServiceSupportOptions_requestDomainUpload = -1;
660 static int hf_mms_ServiceSupportOptions_loadDomainContent = -1;
661 static int hf_mms_ServiceSupportOptions_storeDomainContent = -1;
662 static int hf_mms_ServiceSupportOptions_deleteDomain = -1;
663 static int hf_mms_ServiceSupportOptions_getDomainAttributes = -1;
664 static int hf_mms_ServiceSupportOptions_createProgramInvocation = -1;
665 static int hf_mms_ServiceSupportOptions_deleteProgramInvocation = -1;
666 static int hf_mms_ServiceSupportOptions_start = -1;
667 static int hf_mms_ServiceSupportOptions_stop = -1;
668 static int hf_mms_ServiceSupportOptions_resume = -1;
669 static int hf_mms_ServiceSupportOptions_reset = -1;
670 static int hf_mms_ServiceSupportOptions_kill = -1;
671 static int hf_mms_ServiceSupportOptions_getProgramInvocationAttributes = -1;
672 static int hf_mms_ServiceSupportOptions_obtainFile = -1;
673 static int hf_mms_ServiceSupportOptions_defineEventCondition = -1;
674 static int hf_mms_ServiceSupportOptions_deleteEventCondition = -1;
675 static int hf_mms_ServiceSupportOptions_getEventConditionAttributes = -1;
676 static int hf_mms_ServiceSupportOptions_reportEventConditionStatus = -1;
677 static int hf_mms_ServiceSupportOptions_alterEventConditionMonitoring = -1;
678 static int hf_mms_ServiceSupportOptions_triggerEvent = -1;
679 static int hf_mms_ServiceSupportOptions_defineEventAction = -1;
680 static int hf_mms_ServiceSupportOptions_deleteEventAction = -1;
681 static int hf_mms_ServiceSupportOptions_getEventActionAttributes = -1;
682 static int hf_mms_ServiceSupportOptions_reportActionStatus = -1;
683 static int hf_mms_ServiceSupportOptions_defineEventEnrollment = -1;
684 static int hf_mms_ServiceSupportOptions_deleteEventEnrollment = -1;
685 static int hf_mms_ServiceSupportOptions_alterEventEnrollment = -1;
686 static int hf_mms_ServiceSupportOptions_reportEventEnrollmentStatus = -1;
687 static int hf_mms_ServiceSupportOptions_getEventEnrollmentAttributes = -1;
688 static int hf_mms_ServiceSupportOptions_acknowledgeEventNotification = -1;
689 static int hf_mms_ServiceSupportOptions_getAlarmSummary = -1;
690 static int hf_mms_ServiceSupportOptions_getAlarmEnrollmentSummary = -1;
691 static int hf_mms_ServiceSupportOptions_readJournal = -1;
692 static int hf_mms_ServiceSupportOptions_writeJournal = -1;
693 static int hf_mms_ServiceSupportOptions_initializeJournal = -1;
694 static int hf_mms_ServiceSupportOptions_reportJournalStatus = -1;
695 static int hf_mms_ServiceSupportOptions_createJournal = -1;
696 static int hf_mms_ServiceSupportOptions_deleteJournal = -1;
697 static int hf_mms_ServiceSupportOptions_getCapabilityList = -1;
698 static int hf_mms_ServiceSupportOptions_fileOpen = -1;
699 static int hf_mms_ServiceSupportOptions_fileRead = -1;
700 static int hf_mms_ServiceSupportOptions_fileClose = -1;
701 static int hf_mms_ServiceSupportOptions_fileRename = -1;
702 static int hf_mms_ServiceSupportOptions_fileDelete = -1;
703 static int hf_mms_ServiceSupportOptions_fileDirectory = -1;
704 static int hf_mms_ServiceSupportOptions_unsolicitedStatus = -1;
705 static int hf_mms_ServiceSupportOptions_informationReport = -1;
706 static int hf_mms_ServiceSupportOptions_eventNotification = -1;
707 static int hf_mms_ServiceSupportOptions_attachToEventCondition = -1;
708 static int hf_mms_ServiceSupportOptions_attachToSemaphore = -1;
709 static int hf_mms_ServiceSupportOptions_conclude = -1;
710 static int hf_mms_ServiceSupportOptions_cancel = -1;
711 static int hf_mms_Transitions_idle_to_disabled = -1;
712 static int hf_mms_Transitions_active_to_disabled = -1;
713 static int hf_mms_Transitions_disabled_to_idle = -1;
714 static int hf_mms_Transitions_active_to_idle = -1;
715 static int hf_mms_Transitions_disabled_to_active = -1;
716 static int hf_mms_Transitions_idle_to_active = -1;
717 static int hf_mms_Transitions_any_to_deleted = -1;
718
719 /*--- End of included file: packet-mms-hf.c ---*/
720 #line 49 "packet-mms-template.c"
721
722 /* Initialize the subtree pointers */
723 static gint ett_mms = -1;
724
725 /*--- Included file: packet-mms-ett.c ---*/
726 #line 1 "packet-mms-ett.c"
727 static gint ett_mms_MMSpdu = -1;
728 static gint ett_mms_Confirmed_RequestPDU = -1;
729 static gint ett_mms_SEQUENCE_OF_Modifier = -1;
730 static gint ett_mms_Unconfirmed_PDU = -1;
731 static gint ett_mms_Confirmed_ResponsePDU = -1;
732 static gint ett_mms_Confirmed_ErrorPDU = -1;
733 static gint ett_mms_UnconfirmedService = -1;
734 static gint ett_mms_Modifier = -1;
735 static gint ett_mms_ConfirmedServiceRequest = -1;
736 static gint ett_mms_CS_Request_Detail = -1;
737 static gint ett_mms_ConfirmedServiceResponse = -1;
738 static gint ett_mms_FileName = -1;
739 static gint ett_mms_ObjectName = -1;
740 static gint ett_mms_T_domain_specific = -1;
741 static gint ett_mms_ApplicationReference = -1;
742 static gint ett_mms_Initiate_RequestPDU = -1;
743 static gint ett_mms_InitRequestDetail = -1;
744 static gint ett_mms_Initiate_ResponsePDU = -1;
745 static gint ett_mms_InitResponseDetail = -1;
746 static gint ett_mms_ParameterSupportOptions = -1;
747 static gint ett_mms_ServiceSupportOptions = -1;
748 static gint ett_mms_Cancel_ErrorPDU = -1;
749 static gint ett_mms_ServiceError = -1;
750 static gint ett_mms_T_errorClass = -1;
751 static gint ett_mms_T_serviceSpecificInformation = -1;
752 static gint ett_mms_RejectPDU = -1;
753 static gint ett_mms_T_rejectReason = -1;
754 static gint ett_mms_Status_Response = -1;
755 static gint ett_mms_GetNameList_Request = -1;
756 static gint ett_mms_T_extendedObjectClass = -1;
757 static gint ett_mms_T_objectScope = -1;
758 static gint ett_mms_GetNameList_Response = -1;
759 static gint ett_mms_SEQUENCE_OF_Identifier = -1;
760 static gint ett_mms_Identify_Response = -1;
761 static gint ett_mms_T_listOfAbstractSyntaxes = -1;
762 static gint ett_mms_Rename_Request = -1;
763 static gint ett_mms_T_extendedObjectClass1 = -1;
764 static gint ett_mms_GetCapabilityList_Request = -1;
765 static gint ett_mms_GetCapabilityList_Response = -1;
766 static gint ett_mms_T_listOfCapabilities = -1;
767 static gint ett_mms_InitiateDownloadSequence_Request = -1;
768 static gint ett_mms_T_listOfCapabilities1 = -1;
769 static gint ett_mms_DownloadSegment_Response = -1;
770 static gint ett_mms_T_loadData = -1;
771 static gint ett_mms_TerminateDownloadSequence_Request = -1;
772 static gint ett_mms_InitiateUploadSequence_Response = -1;
773 static gint ett_mms_T_listOfCapabilities2 = -1;
774 static gint ett_mms_UploadSegment_Response = -1;
775 static gint ett_mms_T_loadData1 = -1;
776 static gint ett_mms_RequestDomainDownload_Request = -1;
777 static gint ett_mms_T_listOfCapabilities3 = -1;
778 static gint ett_mms_RequestDomainUpload_Request = -1;
779 static gint ett_mms_LoadDomainContent_Request = -1;
780 static gint ett_mms_T_listOfCapabilities4 = -1;
781 static gint ett_mms_StoreDomainContent_Request = -1;
782 static gint ett_mms_GetDomainAttributes_Response = -1;
783 static gint ett_mms_T_listOfCapabilities5 = -1;
784 static gint ett_mms_CreateProgramInvocation_Request = -1;
785 static gint ett_mms_Start_Request = -1;
786 static gint ett_mms_T_executionArgument = -1;
787 static gint ett_mms_Stop_Request = -1;
788 static gint ett_mms_Resume_Request = -1;
789 static gint ett_mms_T_executionArgument1 = -1;
790 static gint ett_mms_Reset_Request = -1;
791 static gint ett_mms_Kill_Request = -1;
792 static gint ett_mms_GetProgramInvocationAttributes_Response = -1;
793 static gint ett_mms_T_executionArgument2 = -1;
794 static gint ett_mms_TypeSpecification = -1;
795 static gint ett_mms_T_array = -1;
796 static gint ett_mms_T_structure = -1;
797 static gint ett_mms_T_components = -1;
798 static gint ett_mms_T_components_item = -1;
799 static gint ett_mms_AlternateAccess = -1;
800 static gint ett_mms_AlternateAccess_item = -1;
801 static gint ett_mms_T_named = -1;
802 static gint ett_mms_AlternateAccessSelection = -1;
803 static gint ett_mms_T_selectAccess = -1;
804 static gint ett_mms_T_indexRange = -1;
805 static gint ett_mms_Read_Request = -1;
806 static gint ett_mms_Read_Response = -1;
807 static gint ett_mms_SEQUENCE_OF_AccessResult = -1;
808 static gint ett_mms_Write_Request = -1;
809 static gint ett_mms_SEQUENCE_OF_Data = -1;
810 static gint ett_mms_Write_Response = -1;
811 static gint ett_mms_Write_Response_item = -1;
812 static gint ett_mms_InformationReport = -1;
813 static gint ett_mms_GetVariableAccessAttributes_Request = -1;
814 static gint ett_mms_GetVariableAccessAttributes_Response = -1;
815 static gint ett_mms_DefineNamedVariable_Request = -1;
816 static gint ett_mms_DefineScatteredAccess_Request = -1;
817 static gint ett_mms_GetScatteredAccessAttributes_Response = -1;
818 static gint ett_mms_DeleteVariableAccess_Request = -1;
819 static gint ett_mms_SEQUENCE_OF_ObjectName = -1;
820 static gint ett_mms_DeleteVariableAccess_Response = -1;
821 static gint ett_mms_DefineNamedVariableList_Request = -1;
822 static gint ett_mms_T_listOfVariable = -1;
823 static gint ett_mms_T_listOfVariable_item = -1;
824 static gint ett_mms_GetNamedVariableListAttributes_Response = -1;
825 static gint ett_mms_T_listOfVariable1 = -1;
826 static gint ett_mms_T_listOfVariable_item1 = -1;
827 static gint ett_mms_DeleteNamedVariableList_Request = -1;
828 static gint ett_mms_DeleteNamedVariableList_Response = -1;
829 static gint ett_mms_DefineNamedType_Request = -1;
830 static gint ett_mms_GetNamedTypeAttributes_Response = -1;
831 static gint ett_mms_DeleteNamedType_Request = -1;
832 static gint ett_mms_DeleteNamedType_Response = -1;
833 static gint ett_mms_AccessResult = -1;
834 static gint ett_mms_Data = -1;
835 static gint ett_mms_VariableAccessSpecification = -1;
836 static gint ett_mms_T_listOfVariable2 = -1;
837 static gint ett_mms_T_listOfVariable_item2 = -1;
838 static gint ett_mms_ScatteredAccessDescription = -1;
839 static gint ett_mms_ScatteredAccessDescription_item = -1;
840 static gint ett_mms_VariableSpecification = -1;
841 static gint ett_mms_T_variableDescription = -1;
842 static gint ett_mms_Address = -1;
843 static gint ett_mms_TakeControl_Request = -1;
844 static gint ett_mms_TakeControl_Response = -1;
845 static gint ett_mms_RelinquishControl_Request = -1;
846 static gint ett_mms_DefineSemaphore_Request = -1;
847 static gint ett_mms_ReportSemaphoreStatus_Response = -1;
848 static gint ett_mms_ReportPoolSemaphoreStatus_Request = -1;
849 static gint ett_mms_ReportPoolSemaphoreStatus_Response = -1;
850 static gint ett_mms_T_listOfNamedTokens = -1;
851 static gint ett_mms_T_listOfNamedTokens_item = -1;
852 static gint ett_mms_ReportSemaphoreEntryStatus_Request = -1;
853 static gint ett_mms_ReportSemaphoreEntryStatus_Response = -1;
854 static gint ett_mms_SEQUENCE_OF_SemaphoreEntry = -1;
855 static gint ett_mms_AttachToSemaphore = -1;
856 static gint ett_mms_SemaphoreEntry = -1;
857 static gint ett_mms_Input_Request = -1;
858 static gint ett_mms_T_listOfPromptData = -1;
859 static gint ett_mms_Output_Request = -1;
860 static gint ett_mms_T_listOfOutputData = -1;
861 static gint ett_mms_DefineEventCondition_Request = -1;
862 static gint ett_mms_DeleteEventCondition_Request = -1;
863 static gint ett_mms_GetEventConditionAttributes_Response = -1;
864 static gint ett_mms_T_monitoredVariable = -1;
865 static gint ett_mms_ReportEventConditionStatus_Response = -1;
866 static gint ett_mms_AlterEventConditionMonitoring_Request = -1;
867 static gint ett_mms_TriggerEvent_Request = -1;
868 static gint ett_mms_DefineEventAction_Request = -1;
869 static gint ett_mms_DeleteEventAction_Request = -1;
870 static gint ett_mms_GetEventActionAttributes_Response = -1;
871 static gint ett_mms_DefineEventEnrollment_Request = -1;
872 static gint ett_mms_DeleteEventEnrollment_Request = -1;
873 static gint ett_mms_GetEventEnrollmentAttributes_Request = -1;
874 static gint ett_mms_EventEnrollment = -1;
875 static gint ett_mms_T_eventConditionName = -1;
876 static gint ett_mms_T_eventActionName = -1;
877 static gint ett_mms_GetEventEnrollmentAttributes_Response = -1;
878 static gint ett_mms_SEQUENCE_OF_EventEnrollment = -1;
879 static gint ett_mms_ReportEventEnrollmentStatus_Response = -1;
880 static gint ett_mms_AlterEventEnrollment_Request = -1;
881 static gint ett_mms_AlterEventEnrollment_Response = -1;
882 static gint ett_mms_T_currentState = -1;
883 static gint ett_mms_AcknowledgeEventNotification_Request = -1;
884 static gint ett_mms_GetAlarmSummary_Request = -1;
885 static gint ett_mms_T_severityFilter = -1;
886 static gint ett_mms_GetAlarmSummary_Response = -1;
887 static gint ett_mms_SEQUENCE_OF_AlarmSummary = -1;
888 static gint ett_mms_AlarmSummary = -1;
889 static gint ett_mms_GetAlarmEnrollmentSummary_Request = -1;
890 static gint ett_mms_T_severityFilter1 = -1;
891 static gint ett_mms_GetAlarmEnrollmentSummary_Response = -1;
892 static gint ett_mms_SEQUENCE_OF_AlarmEnrollmentSummary = -1;
893 static gint ett_mms_AlarmEnrollmentSummary = -1;
894 static gint ett_mms_EventNotification = -1;
895 static gint ett_mms_T_eventConditionName1 = -1;
896 static gint ett_mms_T_actionResult = -1;
897 static gint ett_mms_T_eventActionResult = -1;
898 static gint ett_mms_AttachToEventCondition = -1;
899 static gint ett_mms_EventTime = -1;
900 static gint ett_mms_Transitions = -1;
901 static gint ett_mms_ReadJournal_Request = -1;
902 static gint ett_mms_T_rangeStartSpecification = -1;
903 static gint ett_mms_T_rangeStopSpecification = -1;
904 static gint ett_mms_T_listOfVariables = -1;
905 static gint ett_mms_T_entryToStartAfter = -1;
906 static gint ett_mms_ReadJournal_Response = -1;
907 static gint ett_mms_SEQUENCE_OF_JournalEntry = -1;
908 static gint ett_mms_JournalEntry = -1;
909 static gint ett_mms_WriteJournal_Request = -1;
910 static gint ett_mms_SEQUENCE_OF_EntryContent = -1;
911 static gint ett_mms_InitializeJournal_Request = -1;
912 static gint ett_mms_T_limitSpecification = -1;
913 static gint ett_mms_ReportJournalStatus_Response = -1;
914 static gint ett_mms_CreateJournal_Request = -1;
915 static gint ett_mms_DeleteJournal_Request = -1;
916 static gint ett_mms_EntryContent = -1;
917 static gint ett_mms_T_entryForm = -1;
918 static gint ett_mms_T_data = -1;
919 static gint ett_mms_T_event = -1;
920 static gint ett_mms_T_listOfVariables1 = -1;
921 static gint ett_mms_T_listOfVariables_item = -1;
922 static gint ett_mms_ObtainFile_Request = -1;
923 static gint ett_mms_FileOpen_Request = -1;
924 static gint ett_mms_FileOpen_Response = -1;
925 static gint ett_mms_FileRead_Response = -1;
926 static gint ett_mms_FileRename_Request = -1;
927 static gint ett_mms_FileDirectory_Request = -1;
928 static gint ett_mms_FileDirectory_Response = -1;
929 static gint ett_mms_SEQUENCE_OF_DirectoryEntry = -1;
930 static gint ett_mms_DirectoryEntry = -1;
931 static gint ett_mms_FileAttributes = -1;
932
933 /*--- End of included file: packet-mms-ett.c ---*/
934 #line 53 "packet-mms-template.c"
935
936
937 /*--- Included file: packet-mms-fn.c ---*/
938 #line 1 "packet-mms-fn.c"
939 /*--- Cyclic dependencies ---*/
940
941 /* TypeSpecification -> TypeSpecification/array -> TypeSpecification */
942 /* TypeSpecification -> TypeSpecification/structure -> TypeSpecification/structure/components -> TypeSpecification/structure/components/_item -> TypeSpecification */
943 static int dissect_mms_TypeSpecification(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_);
944
945 static int dissect_elementType(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
946   return dissect_mms_TypeSpecification(FALSE, tvb, offset, pinfo, tree, hf_mms_elementType);
947 }
948 static int dissect_componentType(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
949   return dissect_mms_TypeSpecification(FALSE, tvb, offset, pinfo, tree, hf_mms_componentType);
950 }
951 static int dissect_typeSpecification(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
952   return dissect_mms_TypeSpecification(FALSE, tvb, offset, pinfo, tree, hf_mms_typeSpecification);
953 }
954
955 /* VariableSpecification -> ScatteredAccessDescription -> ScatteredAccessDescription/_item -> VariableSpecification */
956 static int dissect_mms_VariableSpecification(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_);
957
958 static int dissect_variableSpecification(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
959   return dissect_mms_VariableSpecification(FALSE, tvb, offset, pinfo, tree, hf_mms_variableSpecification);
960 }
961 static int dissect_monitoredVariable(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
962   return dissect_mms_VariableSpecification(FALSE, tvb, offset, pinfo, tree, hf_mms_monitoredVariable);
963 }
964 static int dissect_variableReference(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
965   return dissect_mms_VariableSpecification(FALSE, tvb, offset, pinfo, tree, hf_mms_variableReference);
966 }
967
968 /* Data -> Data/array -> Data */
969 static int dissect_mms_Data(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_);
970
971 static int dissect_listOfData_item(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
972   return dissect_mms_Data(FALSE, tvb, offset, pinfo, tree, hf_mms_listOfData_item);
973 }
974 static int dissect_array_item(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
975   return dissect_mms_Data(FALSE, tvb, offset, pinfo, tree, hf_mms_array_item);
976 }
977 static int dissect_structure_item(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
978   return dissect_mms_Data(FALSE, tvb, offset, pinfo, tree, hf_mms_structure_item);
979 }
980 static int dissect_valueSpecification(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
981   return dissect_mms_Data(FALSE, tvb, offset, pinfo, tree, hf_mms_valueSpecification);
982 }
983
984
985 /*--- Fields for imported types ---*/
986
987 static int dissect_coded(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
988   return dissect_acse_EXTERNALt(FALSE, tvb, offset, pinfo, tree, hf_mms_coded);
989 }
990 static int dissect_encodedString(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
991   return dissect_acse_EXTERNALt(FALSE, tvb, offset, pinfo, tree, hf_mms_encodedString);
992 }
993
994
995
996 static int
997 dissect_mms_Unsigned32(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
998   offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
999                                   NULL);
1000
1001   return offset;
1002 }
1003 static int dissect_invokeID(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1004   return dissect_mms_Unsigned32(FALSE, tvb, offset, pinfo, tree, hf_mms_invokeID);
1005 }
1006 static int dissect_invokeID_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1007   return dissect_mms_Unsigned32(TRUE, tvb, offset, pinfo, tree, hf_mms_invokeID);
1008 }
1009 static int dissect_modifierPosition_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1010   return dissect_mms_Unsigned32(TRUE, tvb, offset, pinfo, tree, hf_mms_modifierPosition);
1011 }
1012 static int dissect_originalInvokeID_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1013   return dissect_mms_Unsigned32(TRUE, tvb, offset, pinfo, tree, hf_mms_originalInvokeID);
1014 }
1015 static int dissect_numberOfElements_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1016   return dissect_mms_Unsigned32(TRUE, tvb, offset, pinfo, tree, hf_mms_numberOfElements);
1017 }
1018 static int dissect_index_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1019   return dissect_mms_Unsigned32(TRUE, tvb, offset, pinfo, tree, hf_mms_index);
1020 }
1021 static int dissect_lowIndex_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1022   return dissect_mms_Unsigned32(TRUE, tvb, offset, pinfo, tree, hf_mms_lowIndex);
1023 }
1024 static int dissect_numberMatched_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1025   return dissect_mms_Unsigned32(TRUE, tvb, offset, pinfo, tree, hf_mms_numberMatched);
1026 }
1027 static int dissect_numberDeleted_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1028   return dissect_mms_Unsigned32(TRUE, tvb, offset, pinfo, tree, hf_mms_numberDeleted);
1029 }
1030 static int dissect_numericAddress_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1031   return dissect_mms_Unsigned32(TRUE, tvb, offset, pinfo, tree, hf_mms_numericAddress);
1032 }
1033 static int dissect_acceptableDelay_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1034   return dissect_mms_Unsigned32(TRUE, tvb, offset, pinfo, tree, hf_mms_acceptableDelay);
1035 }
1036 static int dissect_controlTimeOut_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1037   return dissect_mms_Unsigned32(TRUE, tvb, offset, pinfo, tree, hf_mms_controlTimeOut);
1038 }
1039 static int dissect_remainingTimeOut_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1040   return dissect_mms_Unsigned32(TRUE, tvb, offset, pinfo, tree, hf_mms_remainingTimeOut);
1041 }
1042 static int dissect_inputTimeOut_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1043   return dissect_mms_Unsigned32(TRUE, tvb, offset, pinfo, tree, hf_mms_inputTimeOut);
1044 }
1045 static int dissect_evaluationInterval_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1046   return dissect_mms_Unsigned32(TRUE, tvb, offset, pinfo, tree, hf_mms_evaluationInterval);
1047 }
1048 static int dissect_numberOfEventEnrollments_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1049   return dissect_mms_Unsigned32(TRUE, tvb, offset, pinfo, tree, hf_mms_numberOfEventEnrollments);
1050 }
1051 static int dissect_remainingAcceptableDelay_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1052   return dissect_mms_Unsigned32(TRUE, tvb, offset, pinfo, tree, hf_mms_remainingAcceptableDelay);
1053 }
1054 static int dissect_timeSequenceIdentifier_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1055   return dissect_mms_Unsigned32(TRUE, tvb, offset, pinfo, tree, hf_mms_timeSequenceIdentifier);
1056 }
1057 static int dissect_currentEntries_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1058   return dissect_mms_Unsigned32(TRUE, tvb, offset, pinfo, tree, hf_mms_currentEntries);
1059 }
1060 static int dissect_initialPosition_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1061   return dissect_mms_Unsigned32(TRUE, tvb, offset, pinfo, tree, hf_mms_initialPosition);
1062 }
1063 static int dissect_sizeOfFile_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1064   return dissect_mms_Unsigned32(TRUE, tvb, offset, pinfo, tree, hf_mms_sizeOfFile);
1065 }
1066
1067
1068
1069 static int
1070 dissect_mms_Identifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
1071   offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_VisibleString,
1072                                             pinfo, tree, tvb, offset, hf_index,
1073                                             NULL);
1074
1075   return offset;
1076 }
1077 static int dissect_vmd_specific_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1078   return dissect_mms_Identifier(TRUE, tvb, offset, pinfo, tree, hf_mms_vmd_specific);
1079 }
1080 static int dissect_domainId(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1081   return dissect_mms_Identifier(FALSE, tvb, offset, pinfo, tree, hf_mms_domainId);
1082 }
1083 static int dissect_itemId(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1084   return dissect_mms_Identifier(FALSE, tvb, offset, pinfo, tree, hf_mms_itemId);
1085 }
1086 static int dissect_aa_specific_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1087   return dissect_mms_Identifier(TRUE, tvb, offset, pinfo, tree, hf_mms_aa_specific);
1088 }
1089 static int dissect_domainSpecific_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1090   return dissect_mms_Identifier(TRUE, tvb, offset, pinfo, tree, hf_mms_domainSpecific);
1091 }
1092 static int dissect_continueAfter_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1093   return dissect_mms_Identifier(TRUE, tvb, offset, pinfo, tree, hf_mms_continueAfter);
1094 }
1095 static int dissect_listOfIdentifier_item(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1096   return dissect_mms_Identifier(FALSE, tvb, offset, pinfo, tree, hf_mms_listOfIdentifier_item);
1097 }
1098 static int dissect_newIdentifier_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1099   return dissect_mms_Identifier(TRUE, tvb, offset, pinfo, tree, hf_mms_newIdentifier);
1100 }
1101 static int dissect_domainName_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1102   return dissect_mms_Identifier(TRUE, tvb, offset, pinfo, tree, hf_mms_domainName);
1103 }
1104 static int dissect_listOfProgramInvocations_item(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1105   return dissect_mms_Identifier(FALSE, tvb, offset, pinfo, tree, hf_mms_listOfProgramInvocations_item);
1106 }
1107 static int dissect_programInvocationName_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1108   return dissect_mms_Identifier(TRUE, tvb, offset, pinfo, tree, hf_mms_programInvocationName);
1109 }
1110 static int dissect_listOfDomainName_item(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1111   return dissect_mms_Identifier(FALSE, tvb, offset, pinfo, tree, hf_mms_listOfDomainName_item);
1112 }
1113 static int dissect_listOfDomainNames_item(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1114   return dissect_mms_Identifier(FALSE, tvb, offset, pinfo, tree, hf_mms_listOfDomainNames_item);
1115 }
1116 static int dissect_componentName_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1117   return dissect_mms_Identifier(TRUE, tvb, offset, pinfo, tree, hf_mms_componentName);
1118 }
1119 static int dissect_component_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1120   return dissect_mms_Identifier(TRUE, tvb, offset, pinfo, tree, hf_mms_component);
1121 }
1122 static int dissect_namedToken_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1123   return dissect_mms_Identifier(TRUE, tvb, offset, pinfo, tree, hf_mms_namedToken);
1124 }
1125 static int dissect_nameToStartAfter_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1126   return dissect_mms_Identifier(TRUE, tvb, offset, pinfo, tree, hf_mms_nameToStartAfter);
1127 }
1128 static int dissect_freeNamedToken_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1129   return dissect_mms_Identifier(TRUE, tvb, offset, pinfo, tree, hf_mms_freeNamedToken);
1130 }
1131 static int dissect_ownedNamedToken_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1132   return dissect_mms_Identifier(TRUE, tvb, offset, pinfo, tree, hf_mms_ownedNamedToken);
1133 }
1134 static int dissect_hungNamedToken_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1135   return dissect_mms_Identifier(TRUE, tvb, offset, pinfo, tree, hf_mms_hungNamedToken);
1136 }
1137 static int dissect_operatorStationName_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1138   return dissect_mms_Identifier(TRUE, tvb, offset, pinfo, tree, hf_mms_operatorStationName);
1139 }
1140 static int dissect_domain_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1141   return dissect_mms_Identifier(TRUE, tvb, offset, pinfo, tree, hf_mms_domain);
1142 }
1143
1144
1145 static const ber_sequence_t T_domain_specific_sequence[] = {
1146   { BER_CLASS_UNI, BER_UNI_TAG_VisibleString, BER_FLAGS_NOOWNTAG, dissect_domainId },
1147   { BER_CLASS_UNI, BER_UNI_TAG_VisibleString, BER_FLAGS_NOOWNTAG, dissect_itemId },
1148   { 0, 0, 0, NULL }
1149 };
1150
1151 static int
1152 dissect_mms_T_domain_specific(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
1153   offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1154                                    T_domain_specific_sequence, hf_index, ett_mms_T_domain_specific);
1155
1156   return offset;
1157 }
1158 static int dissect_domain_specific_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1159   return dissect_mms_T_domain_specific(TRUE, tvb, offset, pinfo, tree, hf_mms_domain_specific);
1160 }
1161
1162
1163 static const value_string mms_ObjectName_vals[] = {
1164   {   0, "vmd-specific" },
1165   {   1, "domain-specific" },
1166   {   2, "aa-specific" },
1167   { 0, NULL }
1168 };
1169
1170 static const ber_choice_t ObjectName_choice[] = {
1171   {   0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_vmd_specific_impl },
1172   {   1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_domain_specific_impl },
1173   {   2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_aa_specific_impl },
1174   { 0, 0, 0, 0, NULL }
1175 };
1176
1177 static int
1178 dissect_mms_ObjectName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
1179   offset = dissect_ber_choice(pinfo, tree, tvb, offset,
1180                                  ObjectName_choice, hf_index, ett_mms_ObjectName,
1181                                  NULL);
1182
1183   return offset;
1184 }
1185 static int dissect_currentName(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1186   return dissect_mms_ObjectName(FALSE, tvb, offset, pinfo, tree, hf_mms_currentName);
1187 }
1188 static int dissect_typeName(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1189   return dissect_mms_ObjectName(FALSE, tvb, offset, pinfo, tree, hf_mms_typeName);
1190 }
1191 static int dissect_name(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1192   return dissect_mms_ObjectName(FALSE, tvb, offset, pinfo, tree, hf_mms_name);
1193 }
1194 static int dissect_variableName(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1195   return dissect_mms_ObjectName(FALSE, tvb, offset, pinfo, tree, hf_mms_variableName);
1196 }
1197 static int dissect_scatteredAccessName(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1198   return dissect_mms_ObjectName(FALSE, tvb, offset, pinfo, tree, hf_mms_scatteredAccessName);
1199 }
1200 static int dissect_listOfName_item(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1201   return dissect_mms_ObjectName(FALSE, tvb, offset, pinfo, tree, hf_mms_listOfName_item);
1202 }
1203 static int dissect_variableListName(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1204   return dissect_mms_ObjectName(FALSE, tvb, offset, pinfo, tree, hf_mms_variableListName);
1205 }
1206 static int dissect_listOfVariableListName_item(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1207   return dissect_mms_ObjectName(FALSE, tvb, offset, pinfo, tree, hf_mms_listOfVariableListName_item);
1208 }
1209 static int dissect_listOfTypeName_item(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1210   return dissect_mms_ObjectName(FALSE, tvb, offset, pinfo, tree, hf_mms_listOfTypeName_item);
1211 }
1212 static int dissect_semaphoreName(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1213   return dissect_mms_ObjectName(FALSE, tvb, offset, pinfo, tree, hf_mms_semaphoreName);
1214 }
1215 static int dissect_eventConditionName(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1216   return dissect_mms_ObjectName(FALSE, tvb, offset, pinfo, tree, hf_mms_eventConditionName);
1217 }
1218 static int dissect_specific_item(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1219   return dissect_mms_ObjectName(FALSE, tvb, offset, pinfo, tree, hf_mms_specific_item);
1220 }
1221 static int dissect_eventActionName(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1222   return dissect_mms_ObjectName(FALSE, tvb, offset, pinfo, tree, hf_mms_eventActionName);
1223 }
1224 static int dissect_eventEnrollmentName(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1225   return dissect_mms_ObjectName(FALSE, tvb, offset, pinfo, tree, hf_mms_eventEnrollmentName);
1226 }
1227 static int dissect_ec(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1228   return dissect_mms_ObjectName(FALSE, tvb, offset, pinfo, tree, hf_mms_ec);
1229 }
1230 static int dissect_ea(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1231   return dissect_mms_ObjectName(FALSE, tvb, offset, pinfo, tree, hf_mms_ea);
1232 }
1233 static int dissect_eventEnrollmentNames_item(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1234   return dissect_mms_ObjectName(FALSE, tvb, offset, pinfo, tree, hf_mms_eventEnrollmentNames_item);
1235 }
1236 static int dissect_continueAfter2(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1237   return dissect_mms_ObjectName(FALSE, tvb, offset, pinfo, tree, hf_mms_continueAfter2);
1238 }
1239 static int dissect_eventCondition(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1240   return dissect_mms_ObjectName(FALSE, tvb, offset, pinfo, tree, hf_mms_eventCondition);
1241 }
1242 static int dissect_eventAction(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1243   return dissect_mms_ObjectName(FALSE, tvb, offset, pinfo, tree, hf_mms_eventAction);
1244 }
1245 static int dissect_eventActioName(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1246   return dissect_mms_ObjectName(FALSE, tvb, offset, pinfo, tree, hf_mms_eventActioName);
1247 }
1248 static int dissect_journalName(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1249   return dissect_mms_ObjectName(FALSE, tvb, offset, pinfo, tree, hf_mms_journalName);
1250 }
1251
1252
1253 static const asn_namedbit Transitions_bits[] = {
1254   {  0, &hf_mms_Transitions_idle_to_disabled, -1, -1, "idle-to-disabled", NULL },
1255   {  1, &hf_mms_Transitions_active_to_disabled, -1, -1, "active-to-disabled", NULL },
1256   {  2, &hf_mms_Transitions_disabled_to_idle, -1, -1, "disabled-to-idle", NULL },
1257   {  3, &hf_mms_Transitions_active_to_idle, -1, -1, "active-to-idle", NULL },
1258   {  4, &hf_mms_Transitions_disabled_to_active, -1, -1, "disabled-to-active", NULL },
1259   {  5, &hf_mms_Transitions_idle_to_active, -1, -1, "idle-to-active", NULL },
1260   {  6, &hf_mms_Transitions_any_to_deleted, -1, -1, "any-to-deleted", NULL },
1261   { 0, NULL, 0, 0, NULL, NULL }
1262 };
1263
1264 static int
1265 dissect_mms_Transitions(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
1266   offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
1267                                     Transitions_bits, hf_index, ett_mms_Transitions,
1268                                     NULL);
1269
1270   return offset;
1271 }
1272 static int dissect_eventConditionTransition_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1273   return dissect_mms_Transitions(TRUE, tvb, offset, pinfo, tree, hf_mms_eventConditionTransition);
1274 }
1275 static int dissect_eventConditionTransitions_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1276   return dissect_mms_Transitions(TRUE, tvb, offset, pinfo, tree, hf_mms_eventConditionTransitions);
1277 }
1278 static int dissect_causingTransitions_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1279   return dissect_mms_Transitions(TRUE, tvb, offset, pinfo, tree, hf_mms_causingTransitions);
1280 }
1281
1282
1283 static const ber_sequence_t AttachToEventCondition_sequence[] = {
1284   { BER_CLASS_CON, 0, BER_FLAGS_NOTCHKTAG, dissect_eventEnrollmentName },
1285   { BER_CLASS_CON, 1, BER_FLAGS_NOTCHKTAG, dissect_eventConditionName },
1286   { BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_causingTransitions_impl },
1287   { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_acceptableDelay_impl },
1288   { 0, 0, 0, NULL }
1289 };
1290
1291 static int
1292 dissect_mms_AttachToEventCondition(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
1293   offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1294                                    AttachToEventCondition_sequence, hf_index, ett_mms_AttachToEventCondition);
1295
1296   return offset;
1297 }
1298 static int dissect_attach_To_Event_Condition_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1299   return dissect_mms_AttachToEventCondition(TRUE, tvb, offset, pinfo, tree, hf_mms_attach_To_Event_Condition);
1300 }
1301
1302
1303
1304 static int
1305 dissect_mms_Unsigned8(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
1306   offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
1307                                   NULL);
1308
1309   return offset;
1310 }
1311 static int dissect_integer_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1312   return dissect_mms_Unsigned8(TRUE, tvb, offset, pinfo, tree, hf_mms_integer);
1313 }
1314 static int dissect_unsigned_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1315   return dissect_mms_Unsigned8(TRUE, tvb, offset, pinfo, tree, hf_mms_unsigned);
1316 }
1317 static int dissect_bcd_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1318   return dissect_mms_Unsigned8(TRUE, tvb, offset, pinfo, tree, hf_mms_bcd);
1319 }
1320 static int dissect_severity_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1321   return dissect_mms_Unsigned8(TRUE, tvb, offset, pinfo, tree, hf_mms_severity);
1322 }
1323 static int dissect_mostSevere_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1324   return dissect_mms_Unsigned8(TRUE, tvb, offset, pinfo, tree, hf_mms_mostSevere);
1325 }
1326 static int dissect_leastSevere_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1327   return dissect_mms_Unsigned8(TRUE, tvb, offset, pinfo, tree, hf_mms_leastSevere);
1328 }
1329
1330
1331
1332 static int
1333 dissect_mms_Priority(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
1334   offset = dissect_mms_Unsigned8(implicit_tag, tvb, offset, pinfo, tree, hf_index);
1335
1336   return offset;
1337 }
1338 static int dissect_priority_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1339   return dissect_mms_Priority(TRUE, tvb, offset, pinfo, tree, hf_mms_priority);
1340 }
1341 static int dissect_prio_rity_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1342   return dissect_mms_Priority(TRUE, tvb, offset, pinfo, tree, hf_mms_prio_rity);
1343 }
1344
1345
1346
1347 static int
1348 dissect_mms_BOOLEAN(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
1349   offset = dissect_ber_boolean(implicit_tag, pinfo, tree, tvb, offset, hf_index);
1350
1351   return offset;
1352 }
1353 static int dissect_moreFollows_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1354   return dissect_mms_BOOLEAN(TRUE, tvb, offset, pinfo, tree, hf_mms_moreFollows);
1355 }
1356 static int dissect_sharable_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1357   return dissect_mms_BOOLEAN(TRUE, tvb, offset, pinfo, tree, hf_mms_sharable);
1358 }
1359 static int dissect_mmsDeletable_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1360   return dissect_mms_BOOLEAN(TRUE, tvb, offset, pinfo, tree, hf_mms_mmsDeletable);
1361 }
1362 static int dissect_reusable_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1363   return dissect_mms_BOOLEAN(TRUE, tvb, offset, pinfo, tree, hf_mms_reusable);
1364 }
1365 static int dissect_monitorType_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1366   return dissect_mms_BOOLEAN(TRUE, tvb, offset, pinfo, tree, hf_mms_monitorType);
1367 }
1368 static int dissect_monitor_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1369   return dissect_mms_BOOLEAN(TRUE, tvb, offset, pinfo, tree, hf_mms_monitor);
1370 }
1371 static int dissect_packed_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1372   return dissect_mms_BOOLEAN(TRUE, tvb, offset, pinfo, tree, hf_mms_packed);
1373 }
1374 static int dissect_binary_time_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1375   return dissect_mms_BOOLEAN(TRUE, tvb, offset, pinfo, tree, hf_mms_binary_time);
1376 }
1377 static int dissect_specificationWithResult_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1378   return dissect_mms_BOOLEAN(TRUE, tvb, offset, pinfo, tree, hf_mms_specificationWithResult);
1379 }
1380 static int dissect_boolean1_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1381   return dissect_mms_BOOLEAN(TRUE, tvb, offset, pinfo, tree, hf_mms_boolean1);
1382 }
1383 static int dissect_abortOnTimeOut_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1384   return dissect_mms_BOOLEAN(TRUE, tvb, offset, pinfo, tree, hf_mms_abortOnTimeOut);
1385 }
1386 static int dissect_relinquishIfConnectionLost_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1387   return dissect_mms_BOOLEAN(TRUE, tvb, offset, pinfo, tree, hf_mms_relinquishIfConnectionLost);
1388 }
1389 static int dissect_echo_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1390   return dissect_mms_BOOLEAN(TRUE, tvb, offset, pinfo, tree, hf_mms_echo);
1391 }
1392 static int dissect_alarmSummaryReports_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1393   return dissect_mms_BOOLEAN(TRUE, tvb, offset, pinfo, tree, hf_mms_alarmSummaryReports);
1394 }
1395 static int dissect_enabled_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1396   return dissect_mms_BOOLEAN(TRUE, tvb, offset, pinfo, tree, hf_mms_enabled);
1397 }
1398 static int dissect_notificationLost_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1399   return dissect_mms_BOOLEAN(TRUE, tvb, offset, pinfo, tree, hf_mms_notificationLost);
1400 }
1401 static int dissect_enrollmentsOnly_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1402   return dissect_mms_BOOLEAN(TRUE, tvb, offset, pinfo, tree, hf_mms_enrollmentsOnly);
1403 }
1404 static int dissect_activeAlarmsOnly_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1405   return dissect_mms_BOOLEAN(TRUE, tvb, offset, pinfo, tree, hf_mms_activeAlarmsOnly);
1406 }
1407
1408
1409 static const ber_sequence_t AttachToSemaphore_sequence[] = {
1410   { BER_CLASS_CON, 0, BER_FLAGS_NOTCHKTAG, dissect_semaphoreName },
1411   { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_namedToken_impl },
1412   { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_priority_impl },
1413   { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_acceptableDelay_impl },
1414   { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_controlTimeOut_impl },
1415   { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_abortOnTimeOut_impl },
1416   { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_relinquishIfConnectionLost_impl },
1417   { 0, 0, 0, NULL }
1418 };
1419
1420 static int
1421 dissect_mms_AttachToSemaphore(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
1422   offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1423                                    AttachToSemaphore_sequence, hf_index, ett_mms_AttachToSemaphore);
1424
1425   return offset;
1426 }
1427 static int dissect_attach_To_Semaphore_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1428   return dissect_mms_AttachToSemaphore(TRUE, tvb, offset, pinfo, tree, hf_mms_attach_To_Semaphore);
1429 }
1430
1431
1432 static const value_string mms_Modifier_vals[] = {
1433   {   0, "attach-To-Event-Condition" },
1434   {   1, "attach-To-Semaphore" },
1435   { 0, NULL }
1436 };
1437
1438 static const ber_choice_t Modifier_choice[] = {
1439   {   0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_attach_To_Event_Condition_impl },
1440   {   1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_attach_To_Semaphore_impl },
1441   { 0, 0, 0, 0, NULL }
1442 };
1443
1444 static int
1445 dissect_mms_Modifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
1446   offset = dissect_ber_choice(pinfo, tree, tvb, offset,
1447                                  Modifier_choice, hf_index, ett_mms_Modifier,
1448                                  NULL);
1449
1450   return offset;
1451 }
1452 static int dissect_listOfModifier_item(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1453   return dissect_mms_Modifier(FALSE, tvb, offset, pinfo, tree, hf_mms_listOfModifier_item);
1454 }
1455
1456
1457 static const ber_sequence_t SEQUENCE_OF_Modifier_sequence_of[1] = {
1458   { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_listOfModifier_item },
1459 };
1460
1461 static int
1462 dissect_mms_SEQUENCE_OF_Modifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
1463   offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
1464                                       SEQUENCE_OF_Modifier_sequence_of, hf_index, ett_mms_SEQUENCE_OF_Modifier);
1465
1466   return offset;
1467 }
1468 static int dissect_listOfModifier(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1469   return dissect_mms_SEQUENCE_OF_Modifier(FALSE, tvb, offset, pinfo, tree, hf_mms_listOfModifier);
1470 }
1471 static int dissect_listOfModifier_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1472   return dissect_mms_SEQUENCE_OF_Modifier(TRUE, tvb, offset, pinfo, tree, hf_mms_listOfModifier);
1473 }
1474
1475
1476
1477 static int
1478 dissect_mms_Status_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
1479   offset = dissect_ber_boolean(implicit_tag, pinfo, tree, tvb, offset, hf_index);
1480
1481   return offset;
1482 }
1483 static int dissect_status_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1484   return dissect_mms_Status_Request(TRUE, tvb, offset, pinfo, tree, hf_mms_status);
1485 }
1486
1487
1488 static const value_string mms_T_objectClass_vals[] = {
1489   {   0, "nammedVariable" },
1490   {   1, "scatteredAccess" },
1491   {   2, "namedVariableList" },
1492   {   3, "namedType" },
1493   {   4, "semaphore" },
1494   {   5, "eventCondition" },
1495   {   6, "eventAction" },
1496   {   7, "eventEnrollment" },
1497   {   8, "journal" },
1498   {   9, "domain" },
1499   {  10, "programInvocation" },
1500   {  11, "operatorStation" },
1501   { 0, NULL }
1502 };
1503
1504
1505 static int
1506 dissect_mms_T_objectClass(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
1507   offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
1508                                   NULL);
1509
1510   return offset;
1511 }
1512 static int dissect_objectClass_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1513   return dissect_mms_T_objectClass(TRUE, tvb, offset, pinfo, tree, hf_mms_objectClass);
1514 }
1515
1516
1517 static const value_string mms_T_extendedObjectClass_vals[] = {
1518   {   0, "objectClass" },
1519   { 0, NULL }
1520 };
1521
1522 static const ber_choice_t T_extendedObjectClass_choice[] = {
1523   {   0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_objectClass_impl },
1524   { 0, 0, 0, 0, NULL }
1525 };
1526
1527 static int
1528 dissect_mms_T_extendedObjectClass(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
1529   offset = dissect_ber_choice(pinfo, tree, tvb, offset,
1530                                  T_extendedObjectClass_choice, hf_index, ett_mms_T_extendedObjectClass,
1531                                  NULL);
1532
1533   return offset;
1534 }
1535 static int dissect_extendedObjectClass(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1536   return dissect_mms_T_extendedObjectClass(FALSE, tvb, offset, pinfo, tree, hf_mms_extendedObjectClass);
1537 }
1538
1539
1540
1541 static int
1542 dissect_mms_NULL(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
1543   offset = dissect_ber_null(implicit_tag, pinfo, tree, tvb, offset, hf_index);
1544
1545   return offset;
1546 }
1547 static int dissect_vmdSpecific_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1548   return dissect_mms_NULL(TRUE, tvb, offset, pinfo, tree, hf_mms_vmdSpecific);
1549 }
1550 static int dissect_aaSpecific_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1551   return dissect_mms_NULL(TRUE, tvb, offset, pinfo, tree, hf_mms_aaSpecific);
1552 }
1553 static int dissect_boolean_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1554   return dissect_mms_NULL(TRUE, tvb, offset, pinfo, tree, hf_mms_boolean);
1555 }
1556 static int dissect_generalized_time_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1557   return dissect_mms_NULL(TRUE, tvb, offset, pinfo, tree, hf_mms_generalized_time);
1558 }
1559 static int dissect_objId_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1560   return dissect_mms_NULL(TRUE, tvb, offset, pinfo, tree, hf_mms_objId);
1561 }
1562 static int dissect_allElements_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1563   return dissect_mms_NULL(TRUE, tvb, offset, pinfo, tree, hf_mms_allElements);
1564 }
1565 static int dissect_success_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1566   return dissect_mms_NULL(TRUE, tvb, offset, pinfo, tree, hf_mms_success);
1567 }
1568 static int dissect_invalidated_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1569   return dissect_mms_NULL(TRUE, tvb, offset, pinfo, tree, hf_mms_invalidated);
1570 }
1571 static int dissect_noResult_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1572   return dissect_mms_NULL(TRUE, tvb, offset, pinfo, tree, hf_mms_noResult);
1573 }
1574 static int dissect_aa_specific1_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1575   return dissect_mms_NULL(TRUE, tvb, offset, pinfo, tree, hf_mms_aa_specific1);
1576 }
1577 static int dissect_vmd_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1578   return dissect_mms_NULL(TRUE, tvb, offset, pinfo, tree, hf_mms_vmd);
1579 }
1580 static int dissect_undefined_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1581   return dissect_mms_NULL(TRUE, tvb, offset, pinfo, tree, hf_mms_undefined);
1582 }
1583
1584
1585 static const value_string mms_T_objectScope_vals[] = {
1586   {   0, "vmdSpecific" },
1587   {   1, "domainSpecific" },
1588   {   2, "aaSpecific" },
1589   { 0, NULL }
1590 };
1591
1592 static const ber_choice_t T_objectScope_choice[] = {
1593   {   0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_vmdSpecific_impl },
1594   {   1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_domainSpecific_impl },
1595   {   2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_aaSpecific_impl },
1596   { 0, 0, 0, 0, NULL }
1597 };
1598
1599 static int
1600 dissect_mms_T_objectScope(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
1601   offset = dissect_ber_choice(pinfo, tree, tvb, offset,
1602                                  T_objectScope_choice, hf_index, ett_mms_T_objectScope,
1603                                  NULL);
1604
1605   return offset;
1606 }
1607 static int dissect_objectScope(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1608   return dissect_mms_T_objectScope(FALSE, tvb, offset, pinfo, tree, hf_mms_objectScope);
1609 }
1610
1611
1612 static const ber_sequence_t GetNameList_Request_sequence[] = {
1613   { BER_CLASS_CON, 0, 0, dissect_extendedObjectClass },
1614   { BER_CLASS_CON, 1, 0, dissect_objectScope },
1615   { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_continueAfter_impl },
1616   { 0, 0, 0, NULL }
1617 };
1618
1619 static int
1620 dissect_mms_GetNameList_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
1621   offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1622                                    GetNameList_Request_sequence, hf_index, ett_mms_GetNameList_Request);
1623
1624   return offset;
1625 }
1626 static int dissect_getNameList_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1627   return dissect_mms_GetNameList_Request(TRUE, tvb, offset, pinfo, tree, hf_mms_getNameList);
1628 }
1629
1630
1631
1632 static int
1633 dissect_mms_Identify_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
1634   offset = dissect_ber_null(implicit_tag, pinfo, tree, tvb, offset, hf_index);
1635
1636   return offset;
1637 }
1638 static int dissect_identify_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1639   return dissect_mms_Identify_Request(TRUE, tvb, offset, pinfo, tree, hf_mms_identify);
1640 }
1641
1642
1643 static const value_string mms_T_objectClass1_vals[] = {
1644   {   0, "namedVariable" },
1645   {   1, "scatteredAccess" },
1646   {   2, "namedVariableList" },
1647   {   3, "namedType" },
1648   {   4, "semaphore" },
1649   {   5, "eventCondition" },
1650   {   6, "eventAction" },
1651   {   7, "eventEnrollment" },
1652   {   8, "journal" },
1653   {   9, "domain" },
1654   {  10, "programInvocation" },
1655   {  11, "operatorStation" },
1656   { 0, NULL }
1657 };
1658
1659
1660 static int
1661 dissect_mms_T_objectClass1(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
1662   offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
1663                                   NULL);
1664
1665   return offset;
1666 }
1667 static int dissect_objectClass1_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1668   return dissect_mms_T_objectClass1(TRUE, tvb, offset, pinfo, tree, hf_mms_objectClass1);
1669 }
1670
1671
1672 static const value_string mms_T_extendedObjectClass1_vals[] = {
1673   {   0, "objectClass" },
1674   { 0, NULL }
1675 };
1676
1677 static const ber_choice_t T_extendedObjectClass1_choice[] = {
1678   {   0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_objectClass1_impl },
1679   { 0, 0, 0, 0, NULL }
1680 };
1681
1682 static int
1683 dissect_mms_T_extendedObjectClass1(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
1684   offset = dissect_ber_choice(pinfo, tree, tvb, offset,
1685                                  T_extendedObjectClass1_choice, hf_index, ett_mms_T_extendedObjectClass1,
1686                                  NULL);
1687
1688   return offset;
1689 }
1690 static int dissect_extendedObjectClass1(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1691   return dissect_mms_T_extendedObjectClass1(FALSE, tvb, offset, pinfo, tree, hf_mms_extendedObjectClass1);
1692 }
1693
1694
1695 static const ber_sequence_t Rename_Request_sequence[] = {
1696   { BER_CLASS_CON, 0, 0, dissect_extendedObjectClass1 },
1697   { BER_CLASS_CON, 1, BER_FLAGS_NOTCHKTAG, dissect_currentName },
1698   { BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_newIdentifier_impl },
1699   { 0, 0, 0, NULL }
1700 };
1701
1702 static int
1703 dissect_mms_Rename_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
1704   offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1705                                    Rename_Request_sequence, hf_index, ett_mms_Rename_Request);
1706
1707   return offset;
1708 }
1709 static int dissect_rename_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1710   return dissect_mms_Rename_Request(TRUE, tvb, offset, pinfo, tree, hf_mms_rename);
1711 }
1712
1713
1714
1715 static int
1716 dissect_mms_VisibleString(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
1717   offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_VisibleString,
1718                                             pinfo, tree, tvb, offset, hf_index,
1719                                             NULL);
1720
1721   return offset;
1722 }
1723 static int dissect_additionalDescription_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1724   return dissect_mms_VisibleString(TRUE, tvb, offset, pinfo, tree, hf_mms_additionalDescription);
1725 }
1726 static int dissect_vendorName_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1727   return dissect_mms_VisibleString(TRUE, tvb, offset, pinfo, tree, hf_mms_vendorName);
1728 }
1729 static int dissect_modelName_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1730   return dissect_mms_VisibleString(TRUE, tvb, offset, pinfo, tree, hf_mms_modelName);
1731 }
1732 static int dissect_revision_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1733   return dissect_mms_VisibleString(TRUE, tvb, offset, pinfo, tree, hf_mms_revision);
1734 }
1735 static int dissect_continueAfter1(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1736   return dissect_mms_VisibleString(FALSE, tvb, offset, pinfo, tree, hf_mms_continueAfter1);
1737 }
1738 static int dissect_listOfCapabilities_item(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1739   return dissect_mms_VisibleString(FALSE, tvb, offset, pinfo, tree, hf_mms_listOfCapabilities_item);
1740 }
1741 static int dissect_simpleString_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1742   return dissect_mms_VisibleString(TRUE, tvb, offset, pinfo, tree, hf_mms_simpleString);
1743 }
1744 static int dissect_startArgument_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1745   return dissect_mms_VisibleString(TRUE, tvb, offset, pinfo, tree, hf_mms_startArgument);
1746 }
1747 static int dissect_visible_string1_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1748   return dissect_mms_VisibleString(TRUE, tvb, offset, pinfo, tree, hf_mms_visible_string1);
1749 }
1750 static int dissect_symbolicAddress_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1751   return dissect_mms_VisibleString(TRUE, tvb, offset, pinfo, tree, hf_mms_symbolicAddress);
1752 }
1753 static int dissect_listOfPromptData_item(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1754   return dissect_mms_VisibleString(FALSE, tvb, offset, pinfo, tree, hf_mms_listOfPromptData_item);
1755 }
1756 static int dissect_listOfOutputData_item(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1757   return dissect_mms_VisibleString(FALSE, tvb, offset, pinfo, tree, hf_mms_listOfOutputData_item);
1758 }
1759 static int dissect_listOfVariables_item(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1760   return dissect_mms_VisibleString(FALSE, tvb, offset, pinfo, tree, hf_mms_listOfVariables_item);
1761 }
1762 static int dissect_variableTag_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1763   return dissect_mms_VisibleString(TRUE, tvb, offset, pinfo, tree, hf_mms_variableTag);
1764 }
1765 static int dissect_annotation_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1766   return dissect_mms_VisibleString(TRUE, tvb, offset, pinfo, tree, hf_mms_annotation);
1767 }
1768
1769
1770
1771 static int
1772 dissect_mms_OCTET_STRING(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
1773   offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
1774                                        NULL);
1775
1776   return offset;
1777 }
1778 static int dissect_non_coded_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1779   return dissect_mms_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_mms_non_coded);
1780 }
1781 static int dissect_octet_string1_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1782   return dissect_mms_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_mms_octet_string1);
1783 }
1784 static int dissect_unconstrainedAddress_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1785   return dissect_mms_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_mms_unconstrainedAddress);
1786 }
1787 static int dissect_entryIdToStartAfter_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1788   return dissect_mms_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_mms_entryIdToStartAfter);
1789 }
1790 static int dissect_entryId_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1791   return dissect_mms_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_mms_entryId);
1792 }
1793 static int dissect_startingEntry_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1794   return dissect_mms_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_mms_startingEntry);
1795 }
1796 static int dissect_entrySpecification_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1797   return dissect_mms_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_mms_entrySpecification);
1798 }
1799 static int dissect_entryIdentifier_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1800   return dissect_mms_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_mms_entryIdentifier);
1801 }
1802 static int dissect_limitingEntry_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1803   return dissect_mms_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_mms_limitingEntry);
1804 }
1805 static int dissect_fileData_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1806   return dissect_mms_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_mms_fileData);
1807 }
1808
1809
1810 static const value_string mms_Address_vals[] = {
1811   {   0, "numericAddress" },
1812   {   1, "symbolicAddress" },
1813   {   2, "unconstrainedAddress" },
1814   { 0, NULL }
1815 };
1816
1817 static const ber_choice_t Address_choice[] = {
1818   {   0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_numericAddress_impl },
1819   {   1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_symbolicAddress_impl },
1820   {   2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_unconstrainedAddress_impl },
1821   { 0, 0, 0, 0, NULL }
1822 };
1823
1824 static int
1825 dissect_mms_Address(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
1826   offset = dissect_ber_choice(pinfo, tree, tvb, offset,
1827                                  Address_choice, hf_index, ett_mms_Address,
1828                                  NULL);
1829
1830   return offset;
1831 }
1832 static int dissect_address(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1833   return dissect_mms_Address(FALSE, tvb, offset, pinfo, tree, hf_mms_address);
1834 }
1835
1836
1837 static const ber_sequence_t T_array_sequence[] = {
1838   { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_packed_impl },
1839   { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_numberOfElements_impl },
1840   { BER_CLASS_CON, 2, BER_FLAGS_NOTCHKTAG, dissect_elementType },
1841   { 0, 0, 0, NULL }
1842 };
1843
1844 static int
1845 dissect_mms_T_array(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
1846   offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1847                                    T_array_sequence, hf_index, ett_mms_T_array);
1848
1849   return offset;
1850 }
1851 static int dissect_array_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1852   return dissect_mms_T_array(TRUE, tvb, offset, pinfo, tree, hf_mms_array);
1853 }
1854
1855
1856 static const ber_sequence_t T_components_item_sequence[] = {
1857   { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_componentName_impl },
1858   { BER_CLASS_CON, 1, BER_FLAGS_NOTCHKTAG, dissect_componentType },
1859   { 0, 0, 0, NULL }
1860 };
1861
1862 static int
1863 dissect_mms_T_components_item(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
1864   offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1865                                    T_components_item_sequence, hf_index, ett_mms_T_components_item);
1866
1867   return offset;
1868 }
1869 static int dissect_components_item(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1870   return dissect_mms_T_components_item(FALSE, tvb, offset, pinfo, tree, hf_mms_components_item);
1871 }
1872
1873
1874 static const ber_sequence_t T_components_sequence_of[1] = {
1875   { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_components_item },
1876 };
1877
1878 static int
1879 dissect_mms_T_components(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
1880   offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
1881                                       T_components_sequence_of, hf_index, ett_mms_T_components);
1882
1883   return offset;
1884 }
1885 static int dissect_components_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1886   return dissect_mms_T_components(TRUE, tvb, offset, pinfo, tree, hf_mms_components);
1887 }
1888
1889
1890 static const ber_sequence_t T_structure_sequence[] = {
1891   { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_packed_impl },
1892   { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_components_impl },
1893   { 0, 0, 0, NULL }
1894 };
1895
1896 static int
1897 dissect_mms_T_structure(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
1898   offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1899                                    T_structure_sequence, hf_index, ett_mms_T_structure);
1900
1901   return offset;
1902 }
1903 static int dissect_structure_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1904   return dissect_mms_T_structure(TRUE, tvb, offset, pinfo, tree, hf_mms_structure);
1905 }
1906
1907
1908
1909 static int
1910 dissect_mms_Integer32(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
1911   offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
1912                                   NULL);
1913
1914   return offset;
1915 }
1916 static int dissect_localDetailCalling_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1917   return dissect_mms_Integer32(TRUE, tvb, offset, pinfo, tree, hf_mms_localDetailCalling);
1918 }
1919 static int dissect_localDetailCalled_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1920   return dissect_mms_Integer32(TRUE, tvb, offset, pinfo, tree, hf_mms_localDetailCalled);
1921 }
1922 static int dissect_ulsmID_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1923   return dissect_mms_Integer32(TRUE, tvb, offset, pinfo, tree, hf_mms_ulsmID);
1924 }
1925 static int dissect_bit_string_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1926   return dissect_mms_Integer32(TRUE, tvb, offset, pinfo, tree, hf_mms_bit_string);
1927 }
1928 static int dissect_octet_string_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1929   return dissect_mms_Integer32(TRUE, tvb, offset, pinfo, tree, hf_mms_octet_string);
1930 }
1931 static int dissect_visible_string_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1932   return dissect_mms_Integer32(TRUE, tvb, offset, pinfo, tree, hf_mms_visible_string);
1933 }
1934 static int dissect_numberOfEntries_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1935   return dissect_mms_Integer32(TRUE, tvb, offset, pinfo, tree, hf_mms_numberOfEntries);
1936 }
1937 static int dissect_frsmID_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
1938   return dissect_mms_Integer32(TRUE, tvb, offset, pinfo, tree, hf_mms_frsmID);
1939 }
1940
1941
1942 static const value_string mms_TypeSpecification_vals[] = {
1943   {   0, "typeName" },
1944   {   1, "array" },
1945   {   2, "structure" },
1946   {   3, "boolean" },
1947   {   4, "bit-string" },
1948   {   5, "integer" },
1949   {   6, "unsigned" },
1950   {   9, "octet-string" },
1951   {  10, "visible-string" },
1952   {  11, "generalized-time" },
1953   {  12, "binary-time" },
1954   {  13, "bcd" },
1955   {  15, "objId" },
1956   { 0, NULL }
1957 };
1958
1959 static const ber_choice_t TypeSpecification_choice[] = {
1960   {   0, BER_CLASS_CON, 0, 0, dissect_typeName },
1961   {   1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_array_impl },
1962   {   2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_structure_impl },
1963   {   3, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_boolean_impl },
1964   {   4, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_bit_string_impl },
1965   {   5, BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_integer_impl },
1966   {   6, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_unsigned_impl },
1967   {   9, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_octet_string_impl },
1968   {  10, BER_CLASS_CON, 10, BER_FLAGS_IMPLTAG, dissect_visible_string_impl },
1969   {  11, BER_CLASS_CON, 11, BER_FLAGS_IMPLTAG, dissect_generalized_time_impl },
1970   {  12, BER_CLASS_CON, 12, BER_FLAGS_IMPLTAG, dissect_binary_time_impl },
1971   {  13, BER_CLASS_CON, 13, BER_FLAGS_IMPLTAG, dissect_bcd_impl },
1972   {  15, BER_CLASS_CON, 15, BER_FLAGS_IMPLTAG, dissect_objId_impl },
1973   { 0, 0, 0, 0, NULL }
1974 };
1975
1976 static int
1977 dissect_mms_TypeSpecification(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
1978   offset = dissect_ber_choice(pinfo, tree, tvb, offset,
1979                                  TypeSpecification_choice, hf_index, ett_mms_TypeSpecification,
1980                                  NULL);
1981
1982   return offset;
1983 }
1984
1985
1986 static const ber_sequence_t T_variableDescription_sequence[] = {
1987   { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_address },
1988   { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_typeSpecification },
1989   { 0, 0, 0, NULL }
1990 };
1991
1992 static int
1993 dissect_mms_T_variableDescription(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
1994   offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1995                                    T_variableDescription_sequence, hf_index, ett_mms_T_variableDescription);
1996
1997   return offset;
1998 }
1999 static int dissect_variableDescription_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
2000   return dissect_mms_T_variableDescription(TRUE, tvb, offset, pinfo, tree, hf_mms_variableDescription);
2001 }
2002
2003
2004 static const ber_sequence_t T_indexRange_sequence[] = {
2005   { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_lowIndex_impl },
2006   { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_numberOfElements_impl },
2007   { 0, 0, 0, NULL }
2008 };
2009
2010 static int
2011 dissect_mms_T_indexRange(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
2012   offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2013                                    T_indexRange_sequence, hf_index, ett_mms_T_indexRange);
2014
2015   return offset;
2016 }
2017 static int dissect_indexRange_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
2018   return dissect_mms_T_indexRange(TRUE, tvb, offset, pinfo, tree, hf_mms_indexRange);
2019 }
2020
2021
2022 static const value_string mms_T_selectAccess_vals[] = {
2023   {   1, "component" },
2024   {   2, "index" },
2025   {   3, "indexRange" },
2026   {   4, "allElements" },
2027   { 0, NULL }
2028 };
2029
2030 static const ber_choice_t T_selectAccess_choice[] = {
2031   {   1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_component_impl },
2032   {   2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_index_impl },
2033   {   3, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_indexRange_impl },
2034   {   4, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_allElements_impl },
2035   { 0, 0, 0, 0, NULL }
2036 };
2037
2038 static int
2039 dissect_mms_T_selectAccess(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
2040   offset = dissect_ber_choice(pinfo, tree, tvb, offset,
2041                                  T_selectAccess_choice, hf_index, ett_mms_T_selectAccess,
2042                                  NULL);
2043
2044   return offset;
2045 }
2046 static int dissect_selectAccess(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
2047   return dissect_mms_T_selectAccess(FALSE, tvb, offset, pinfo, tree, hf_mms_selectAccess);
2048 }
2049
2050
2051 static const value_string mms_AlternateAccessSelection_vals[] = {
2052   { -1/*choice*/, "selectAccess" },
2053   { 0, NULL }
2054 };
2055
2056 static const ber_choice_t AlternateAccessSelection_choice[] = {
2057   { -1/*choice*/, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_selectAccess },
2058   { 0, 0, 0, 0, NULL }
2059 };
2060
2061 static int
2062 dissect_mms_AlternateAccessSelection(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
2063   offset = dissect_ber_choice(pinfo, tree, tvb, offset,
2064                                  AlternateAccessSelection_choice, hf_index, ett_mms_AlternateAccessSelection,
2065                                  NULL);
2066
2067   return offset;
2068 }
2069 static int dissect_unnamed(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
2070   return dissect_mms_AlternateAccessSelection(FALSE, tvb, offset, pinfo, tree, hf_mms_unnamed);
2071 }
2072 static int dissect_accesst(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
2073   return dissect_mms_AlternateAccessSelection(FALSE, tvb, offset, pinfo, tree, hf_mms_accesst);
2074 }
2075
2076
2077 static const ber_sequence_t T_named_sequence[] = {
2078   { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_componentName_impl },
2079   { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_accesst },
2080   { 0, 0, 0, NULL }
2081 };
2082
2083 static int
2084 dissect_mms_T_named(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
2085   offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2086                                    T_named_sequence, hf_index, ett_mms_T_named);
2087
2088   return offset;
2089 }
2090 static int dissect_named_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
2091   return dissect_mms_T_named(TRUE, tvb, offset, pinfo, tree, hf_mms_named);
2092 }
2093
2094
2095 static const value_string mms_AlternateAccess_item_vals[] = {
2096   {   0, "unnamed" },
2097   {   1, "named" },
2098   { 0, NULL }
2099 };
2100
2101 static const ber_choice_t AlternateAccess_item_choice[] = {
2102   {   0, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_unnamed },
2103   {   1, BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_named_impl },
2104   { 0, 0, 0, 0, NULL }
2105 };
2106
2107 static int
2108 dissect_mms_AlternateAccess_item(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
2109   offset = dissect_ber_choice(pinfo, tree, tvb, offset,
2110                                  AlternateAccess_item_choice, hf_index, ett_mms_AlternateAccess_item,
2111                                  NULL);
2112
2113   return offset;
2114 }
2115 static int dissect_AlternateAccess_item(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
2116   return dissect_mms_AlternateAccess_item(FALSE, tvb, offset, pinfo, tree, hf_mms_AlternateAccess_item);
2117 }
2118
2119
2120 static const ber_sequence_t AlternateAccess_sequence_of[1] = {
2121   { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_AlternateAccess_item },
2122 };
2123
2124 static int
2125 dissect_mms_AlternateAccess(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
2126   offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
2127                                       AlternateAccess_sequence_of, hf_index, ett_mms_AlternateAccess);
2128
2129   return offset;
2130 }
2131 static int dissect_alternateAccess_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
2132   return dissect_mms_AlternateAccess(TRUE, tvb, offset, pinfo, tree, hf_mms_alternateAccess);
2133 }
2134
2135
2136 static const ber_sequence_t ScatteredAccessDescription_item_sequence[] = {
2137   { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_componentName_impl },
2138   { BER_CLASS_CON, 1, BER_FLAGS_NOTCHKTAG, dissect_variableSpecification },
2139   { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_alternateAccess_impl },
2140   { 0, 0, 0, NULL }
2141 };
2142
2143 static int
2144 dissect_mms_ScatteredAccessDescription_item(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
2145   offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2146                                    ScatteredAccessDescription_item_sequence, hf_index, ett_mms_ScatteredAccessDescription_item);
2147
2148   return offset;
2149 }
2150 static int dissect_ScatteredAccessDescription_item(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
2151   return dissect_mms_ScatteredAccessDescription_item(FALSE, tvb, offset, pinfo, tree, hf_mms_ScatteredAccessDescription_item);
2152 }
2153
2154
2155 static const ber_sequence_t ScatteredAccessDescription_sequence_of[1] = {
2156   { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_ScatteredAccessDescription_item },
2157 };
2158
2159 static int
2160 dissect_mms_ScatteredAccessDescription(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
2161   offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
2162                                       ScatteredAccessDescription_sequence_of, hf_index, ett_mms_ScatteredAccessDescription);
2163
2164   return offset;
2165 }
2166 static int dissect_scatteredAccessDescription_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
2167   return dissect_mms_ScatteredAccessDescription(TRUE, tvb, offset, pinfo, tree, hf_mms_scatteredAccessDescription);
2168 }
2169
2170
2171 static const value_string mms_VariableSpecification_vals[] = {
2172   {   0, "name" },
2173   {   1, "address" },
2174   {   2, "variableDescription" },
2175   {   3, "scatteredAccessDescription" },
2176   {   4, "invalidated" },
2177   { 0, NULL }
2178 };
2179
2180 static const ber_choice_t VariableSpecification_choice[] = {
2181   {   0, BER_CLASS_CON, 0, 0, dissect_name },
2182   {   1, BER_CLASS_CON, 1, 0, dissect_address },
2183   {   2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_variableDescription_impl },
2184   {   3, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_scatteredAccessDescription_impl },
2185   {   4, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_invalidated_impl },
2186   { 0, 0, 0, 0, NULL }
2187 };
2188
2189 static int
2190 dissect_mms_VariableSpecification(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
2191   offset = dissect_ber_choice(pinfo, tree, tvb, offset,
2192                                  VariableSpecification_choice, hf_index, ett_mms_VariableSpecification,
2193                                  NULL);
2194
2195   return offset;
2196 }
2197
2198
2199 static const ber_sequence_t T_listOfVariable_item2_sequence[] = {
2200   { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_variableSpecification },
2201   { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_alternateAccess_impl },
2202   { 0, 0, 0, NULL }
2203 };
2204
2205 static int
2206 dissect_mms_T_listOfVariable_item2(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
2207   offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2208                                    T_listOfVariable_item2_sequence, hf_index, ett_mms_T_listOfVariable_item2);
2209
2210   return offset;
2211 }
2212 static int dissect_listOfVariable_item2(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
2213   return dissect_mms_T_listOfVariable_item2(FALSE, tvb, offset, pinfo, tree, hf_mms_listOfVariable_item2);
2214 }
2215
2216
2217 static const ber_sequence_t T_listOfVariable2_sequence_of[1] = {
2218   { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_listOfVariable_item2 },
2219 };
2220
2221 static int
2222 dissect_mms_T_listOfVariable2(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
2223   offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
2224                                       T_listOfVariable2_sequence_of, hf_index, ett_mms_T_listOfVariable2);
2225
2226   return offset;
2227 }
2228 static int dissect_listOfVariable2_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
2229   return dissect_mms_T_listOfVariable2(TRUE, tvb, offset, pinfo, tree, hf_mms_listOfVariable2);
2230 }
2231
2232
2233 static const value_string mms_VariableAccessSpecification_vals[] = {
2234   {   0, "listOfVariable" },
2235   {   1, "variableListName" },
2236   { 0, NULL }
2237 };
2238
2239 static const ber_choice_t VariableAccessSpecification_choice[] = {
2240   {   0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_listOfVariable2_impl },
2241   {   1, BER_CLASS_CON, 1, 0, dissect_variableListName },
2242   { 0, 0, 0, 0, NULL }
2243 };
2244
2245 static int
2246 dissect_mms_VariableAccessSpecification(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
2247   offset = dissect_ber_choice(pinfo, tree, tvb, offset,
2248                                  VariableAccessSpecification_choice, hf_index, ett_mms_VariableAccessSpecification,
2249                                  NULL);
2250
2251   return offset;
2252 }
2253 static int dissect_variableAccessSpecificatn(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
2254   return dissect_mms_VariableAccessSpecification(FALSE, tvb, offset, pinfo, tree, hf_mms_variableAccessSpecificatn);
2255 }
2256 static int dissect_variableAccessSpecification(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
2257   return dissect_mms_VariableAccessSpecification(FALSE, tvb, offset, pinfo, tree, hf_mms_variableAccessSpecification);
2258 }
2259
2260
2261 static const ber_sequence_t Read_Request_sequence[] = {
2262   { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_specificationWithResult_impl },
2263   { BER_CLASS_CON, 1, BER_FLAGS_NOTCHKTAG, dissect_variableAccessSpecificatn },
2264   { 0, 0, 0, NULL }
2265 };
2266
2267 static int
2268 dissect_mms_Read_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
2269   offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2270                                    Read_Request_sequence, hf_index, ett_mms_Read_Request);
2271
2272   return offset;
2273 }
2274 static int dissect_read_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
2275   return dissect_mms_Read_Request(TRUE, tvb, offset, pinfo, tree, hf_mms_read);
2276 }
2277
2278
2279 static const ber_sequence_t SEQUENCE_OF_Data_sequence_of[1] = {
2280   { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_listOfData_item },
2281 };
2282
2283 static int
2284 dissect_mms_SEQUENCE_OF_Data(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
2285   offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
2286                                       SEQUENCE_OF_Data_sequence_of, hf_index, ett_mms_SEQUENCE_OF_Data);
2287
2288   return offset;
2289 }
2290 static int dissect_listOfData_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
2291   return dissect_mms_SEQUENCE_OF_Data(TRUE, tvb, offset, pinfo, tree, hf_mms_listOfData);
2292 }
2293 static int dissect_array1_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
2294   return dissect_mms_SEQUENCE_OF_Data(TRUE, tvb, offset, pinfo, tree, hf_mms_array1);
2295 }
2296 static int dissect_structure1_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
2297   return dissect_mms_SEQUENCE_OF_Data(TRUE, tvb, offset, pinfo, tree, hf_mms_structure1);
2298 }
2299
2300
2301
2302 static int
2303 dissect_mms_BIT_STRING(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
2304   offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
2305                                     NULL, hf_index, -1,
2306                                     NULL);
2307
2308   return offset;
2309 }
2310 static int dissect_bit_string1_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
2311   return dissect_mms_BIT_STRING(TRUE, tvb, offset, pinfo, tree, hf_mms_bit_string1);
2312 }
2313 static int dissect_booleanArray_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
2314   return dissect_mms_BIT_STRING(TRUE, tvb, offset, pinfo, tree, hf_mms_booleanArray);
2315 }
2316
2317
2318
2319 static int
2320 dissect_mms_INTEGER(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
2321   offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2322                                   NULL);
2323
2324   return offset;
2325 }
2326 static int dissect_foo(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
2327   return dissect_mms_INTEGER(FALSE, tvb, offset, pinfo, tree, hf_mms_foo);
2328 }
2329 static int dissect_others_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
2330   return dissect_mms_INTEGER(TRUE, tvb, offset, pinfo, tree, hf_mms_others);
2331 }
2332 static int dissect_additionalCode_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
2333   return dissect_mms_INTEGER(TRUE, tvb, offset, pinfo, tree, hf_mms_additionalCode);
2334 }
2335 static int dissect_integer1_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
2336   return dissect_mms_INTEGER(TRUE, tvb, offset, pinfo, tree, hf_mms_integer1);
2337 }
2338 static int dissect_unsigned1_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
2339   return dissect_mms_INTEGER(TRUE, tvb, offset, pinfo, tree, hf_mms_unsigned1);
2340 }
2341 static int dissect_bcd1_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
2342   return dissect_mms_INTEGER(TRUE, tvb, offset, pinfo, tree, hf_mms_bcd1);
2343 }
2344
2345
2346
2347 static int
2348 dissect_mms_FloatingPoint(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
2349   offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2350                                        NULL);
2351
2352   return offset;
2353 }
2354 static int dissect_floating_point_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
2355   return dissect_mms_FloatingPoint(TRUE, tvb, offset, pinfo, tree, hf_mms_floating_point);
2356 }
2357
2358
2359
2360 static int
2361 dissect_mms_TimeOfDay(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
2362   offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2363                                        NULL);
2364
2365   return offset;
2366 }
2367 static int dissect_binary_time1_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
2368   return dissect_mms_TimeOfDay(TRUE, tvb, offset, pinfo, tree, hf_mms_binary_time1);
2369 }
2370 static int dissect_timeOfDayT_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
2371   return dissect_mms_TimeOfDay(TRUE, tvb, offset, pinfo, tree, hf_mms_timeOfDayT);
2372 }
2373 static int dissect_startingTime_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
2374   return dissect_mms_TimeOfDay(TRUE, tvb, offset, pinfo, tree, hf_mms_startingTime);
2375 }
2376 static int dissect_endingTime_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
2377   return dissect_mms_TimeOfDay(TRUE, tvb, offset, pinfo, tree, hf_mms_endingTime);
2378 }
2379 static int dissect_timeSpecification_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
2380   return dissect_mms_TimeOfDay(TRUE, tvb, offset, pinfo, tree, hf_mms_timeSpecification);
2381 }
2382 static int dissect_limitingTime_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
2383   return dissect_mms_TimeOfDay(TRUE, tvb, offset, pinfo, tree, hf_mms_limitingTime);
2384 }
2385 static int dissect_occurenceTime_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
2386   return dissect_mms_TimeOfDay(TRUE, tvb, offset, pinfo, tree, hf_mms_occurenceTime);
2387 }
2388
2389
2390 static const value_string mms_Data_vals[] = {
2391   {   1, "array" },
2392   {   2, "structure" },
2393   {   3, "boolean" },
2394   {   4, "bit-string" },
2395   {   5, "integer" },
2396   {   6, "unsigned" },
2397   {   7, "floating-point" },
2398   {   9, "octet-string" },
2399   {  10, "visible-string" },
2400   {  12, "binary-time" },
2401   {  13, "bcd" },
2402   {  14, "booleanArray" },
2403   { 0, NULL }
2404 };
2405
2406 static const ber_choice_t Data_choice[] = {
2407   {   1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_array1_impl },
2408   {   2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_structure1_impl },
2409   {   3, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_boolean1_impl },
2410   {   4, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_bit_string1_impl },
2411   {   5, BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_integer1_impl },
2412   {   6, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_unsigned1_impl },
2413   {   7, BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_floating_point_impl },
2414   {   9, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_octet_string1_impl },
2415   {  10, BER_CLASS_CON, 10, BER_FLAGS_IMPLTAG, dissect_visible_string1_impl },
2416   {  12, BER_CLASS_CON, 12, BER_FLAGS_IMPLTAG, dissect_binary_time1_impl },
2417   {  13, BER_CLASS_CON, 13, BER_FLAGS_IMPLTAG, dissect_bcd1_impl },
2418   {  14, BER_CLASS_CON, 14, BER_FLAGS_IMPLTAG, dissect_booleanArray_impl },
2419   { 0, 0, 0, 0, NULL }
2420 };
2421
2422 static int
2423 dissect_mms_Data(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
2424   offset = dissect_ber_choice(pinfo, tree, tvb, offset,
2425                                  Data_choice, hf_index, ett_mms_Data,
2426                                  NULL);
2427
2428   return offset;
2429 }
2430
2431
2432 static const ber_sequence_t Write_Request_sequence[] = {
2433   { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_variableAccessSpecificatn },
2434   { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_listOfData_impl },
2435   { 0, 0, 0, NULL }
2436 };
2437
2438 static int
2439 dissect_mms_Write_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
2440   offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2441                                    Write_Request_sequence, hf_index, ett_mms_Write_Request);
2442
2443   return offset;
2444 }
2445 static int dissect_write_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
2446   return dissect_mms_Write_Request(TRUE, tvb, offset, pinfo, tree, hf_mms_write);
2447 }
2448
2449
2450 static const value_string mms_GetVariableAccessAttributes_Request_vals[] = {
2451   {   0, "name" },
2452   {   1, "address" },
2453   { 0, NULL }
2454 };
2455
2456 static const ber_choice_t GetVariableAccessAttributes_Request_choice[] = {
2457   {   0, BER_CLASS_CON, 0, 0, dissect_name },
2458   {   1, BER_CLASS_CON, 1, 0, dissect_address },
2459   { 0, 0, 0, 0, NULL }
2460 };
2461
2462 static int
2463 dissect_mms_GetVariableAccessAttributes_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
2464   offset = dissect_ber_choice(pinfo, tree, tvb, offset,
2465                                  GetVariableAccessAttributes_Request_choice, hf_index, ett_mms_GetVariableAccessAttributes_Request,
2466                                  NULL);
2467
2468   return offset;
2469 }
2470 static int dissect_getVariableAccessAttributes(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
2471   return dissect_mms_GetVariableAccessAttributes_Request(FALSE, tvb, offset, pinfo, tree, hf_mms_getVariableAccessAttributes);
2472 }
2473
2474
2475 static const ber_sequence_t DefineNamedVariable_Request_sequence[] = {
2476   { BER_CLASS_CON, 0, BER_FLAGS_NOTCHKTAG, dissect_variableName },
2477   { BER_CLASS_CON, 1, BER_FLAGS_NOTCHKTAG, dissect_address },
2478   { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_typeSpecification },
2479   { 0, 0, 0, NULL }
2480 };
2481
2482 static int
2483 dissect_mms_DefineNamedVariable_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
2484   offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2485                                    DefineNamedVariable_Request_sequence, hf_index, ett_mms_DefineNamedVariable_Request);
2486
2487   return offset;
2488 }
2489 static int dissect_defineNamedVariable_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
2490   return dissect_mms_DefineNamedVariable_Request(TRUE, tvb, offset, pinfo, tree, hf_mms_defineNamedVariable);
2491 }
2492
2493
2494 static const ber_sequence_t DefineScatteredAccess_Request_sequence[] = {
2495   { BER_CLASS_CON, 0, BER_FLAGS_NOTCHKTAG, dissect_scatteredAccessName },
2496   { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_scatteredAccessDescription_impl },
2497   { 0, 0, 0, NULL }
2498 };
2499
2500 static int
2501 dissect_mms_DefineScatteredAccess_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
2502   offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2503                                    DefineScatteredAccess_Request_sequence, hf_index, ett_mms_DefineScatteredAccess_Request);
2504
2505   return offset;
2506 }
2507 static int dissect_defineScatteredAccess_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
2508   return dissect_mms_DefineScatteredAccess_Request(TRUE, tvb, offset, pinfo, tree, hf_mms_defineScatteredAccess);
2509 }
2510
2511
2512
2513 static int
2514 dissect_mms_GetScatteredAccessAttributes_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
2515   offset = dissect_mms_ObjectName(implicit_tag, tvb, offset, pinfo, tree, hf_index);
2516
2517   return offset;
2518 }
2519 static int dissect_getScatteredAccessAttributes_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
2520   return dissect_mms_GetScatteredAccessAttributes_Request(TRUE, tvb, offset, pinfo, tree, hf_mms_getScatteredAccessAttributes);
2521 }
2522
2523
2524 static const value_string mms_T_scopeOfDelete_vals[] = {
2525   {   0, "specific" },
2526   {   1, "aa-specific" },
2527   {   2, "domain" },
2528   {   3, "vmd" },
2529   { 0, NULL }
2530 };
2531
2532
2533 static int
2534 dissect_mms_T_scopeOfDelete(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
2535   offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2536                                   NULL);
2537
2538   return offset;
2539 }
2540 static int dissect_scopeOfDelete_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
2541   return dissect_mms_T_scopeOfDelete(TRUE, tvb, offset, pinfo, tree, hf_mms_scopeOfDelete);
2542 }
2543
2544
2545 static const ber_sequence_t SEQUENCE_OF_ObjectName_sequence_of[1] = {
2546   { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_listOfName_item },
2547 };
2548
2549 static int
2550 dissect_mms_SEQUENCE_OF_ObjectName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
2551   offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
2552                                       SEQUENCE_OF_ObjectName_sequence_of, hf_index, ett_mms_SEQUENCE_OF_ObjectName);
2553
2554   return offset;
2555 }
2556 static int dissect_listOfName_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
2557   return dissect_mms_SEQUENCE_OF_ObjectName(TRUE, tvb, offset, pinfo, tree, hf_mms_listOfName);
2558 }
2559 static int dissect_listOfVariableListName_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
2560   return dissect_mms_SEQUENCE_OF_ObjectName(TRUE, tvb, offset, pinfo, tree, hf_mms_listOfVariableListName);
2561 }
2562 static int dissect_listOfTypeName_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
2563   return dissect_mms_SEQUENCE_OF_ObjectName(TRUE, tvb, offset, pinfo, tree, hf_mms_listOfTypeName);
2564 }
2565 static int dissect_specific_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
2566   return dissect_mms_SEQUENCE_OF_ObjectName(TRUE, tvb, offset, pinfo, tree, hf_mms_specific);
2567 }
2568 static int dissect_eventEnrollmentNames_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
2569   return dissect_mms_SEQUENCE_OF_ObjectName(TRUE, tvb, offset, pinfo, tree, hf_mms_eventEnrollmentNames);
2570 }
2571
2572
2573 static const ber_sequence_t DeleteVariableAccess_Request_sequence[] = {
2574   { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_scopeOfDelete_impl },
2575   { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_listOfName_impl },
2576   { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_domainName_impl },
2577   { 0, 0, 0, NULL }
2578 };
2579
2580 static int
2581 dissect_mms_DeleteVariableAccess_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
2582   offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2583                                    DeleteVariableAccess_Request_sequence, hf_index, ett_mms_DeleteVariableAccess_Request);
2584
2585   return offset;
2586 }
2587 static int dissect_deleteVariableAccess_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
2588   return dissect_mms_DeleteVariableAccess_Request(TRUE, tvb, offset, pinfo, tree, hf_mms_deleteVariableAccess);
2589 }
2590
2591
2592 static const ber_sequence_t T_listOfVariable_item_sequence[] = {
2593   { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_variableSpecification },
2594   { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_alternateAccess_impl },
2595   { 0, 0, 0, NULL }
2596 };
2597
2598 static int
2599 dissect_mms_T_listOfVariable_item(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
2600   offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2601                                    T_listOfVariable_item_sequence, hf_index, ett_mms_T_listOfVariable_item);
2602
2603   return offset;
2604 }
2605 static int dissect_listOfVariable_item(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
2606   return dissect_mms_T_listOfVariable_item(FALSE, tvb, offset, pinfo, tree, hf_mms_listOfVariable_item);
2607 }
2608
2609
2610 static const ber_sequence_t T_listOfVariable_sequence_of[1] = {
2611   { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_listOfVariable_item },
2612 };
2613
2614 static int
2615 dissect_mms_T_listOfVariable(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
2616   offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
2617                                       T_listOfVariable_sequence_of, hf_index, ett_mms_T_listOfVariable);
2618
2619   return offset;
2620 }
2621 static int dissect_listOfVariable_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
2622   return dissect_mms_T_listOfVariable(TRUE, tvb, offset, pinfo, tree, hf_mms_listOfVariable);
2623 }
2624
2625
2626 static const ber_sequence_t DefineNamedVariableList_Request_sequence[] = {
2627   { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_variableListName },
2628   { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_listOfVariable_impl },
2629   { 0, 0, 0, NULL }
2630 };
2631
2632 static int
2633 dissect_mms_DefineNamedVariableList_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
2634   offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2635                                    DefineNamedVariableList_Request_sequence, hf_index, ett_mms_DefineNamedVariableList_Request);
2636
2637   return offset;
2638 }
2639 static int dissect_defineNamedVariableList_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
2640   return dissect_mms_DefineNamedVariableList_Request(TRUE, tvb, offset, pinfo, tree, hf_mms_defineNamedVariableList);
2641 }
2642
2643
2644
2645 static int
2646 dissect_mms_GetNamedVariableListAttributes_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
2647   offset = dissect_mms_ObjectName(implicit_tag, tvb, offset, pinfo, tree, hf_index);
2648
2649   return offset;
2650 }
2651 static int dissect_getNamedVariableListAttributes_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
2652   return dissect_mms_GetNamedVariableListAttributes_Request(TRUE, tvb, offset, pinfo, tree, hf_mms_getNamedVariableListAttributes);
2653 }
2654
2655
2656 static const value_string mms_T_scopeOfDelete1_vals[] = {
2657   {   0, "specific" },
2658   {   1, "aa-specific" },
2659   {   2, "domain" },
2660   {   3, "vmd" },
2661   { 0, NULL }
2662 };
2663
2664
2665 static int
2666 dissect_mms_T_scopeOfDelete1(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
2667   offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2668                                   NULL);
2669
2670   return offset;
2671 }
2672 static int dissect_scopeOfDelete1_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
2673   return dissect_mms_T_scopeOfDelete1(TRUE, tvb, offset, pinfo, tree, hf_mms_scopeOfDelete1);
2674 }
2675
2676
2677 static const ber_sequence_t DeleteNamedVariableList_Request_sequence[] = {
2678   { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_scopeOfDelete1_impl },
2679   { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_listOfVariableListName_impl },
2680   { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_domainName_impl },
2681   { 0, 0, 0, NULL }
2682 };
2683
2684 static int
2685 dissect_mms_DeleteNamedVariableList_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
2686   offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2687                                    DeleteNamedVariableList_Request_sequence, hf_index, ett_mms_DeleteNamedVariableList_Request);
2688
2689   return offset;
2690 }
2691 static int dissect_deleteNamedVariableList_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
2692   return dissect_mms_DeleteNamedVariableList_Request(TRUE, tvb, offset, pinfo, tree, hf_mms_deleteNamedVariableList);
2693 }
2694
2695
2696 static const ber_sequence_t DefineNamedType_Request_sequence[] = {
2697   { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_typeName },
2698   { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_typeSpecification },
2699   { 0, 0, 0, NULL }
2700 };
2701
2702 static int
2703 dissect_mms_DefineNamedType_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
2704   offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2705                                    DefineNamedType_Request_sequence, hf_index, ett_mms_DefineNamedType_Request);
2706
2707   return offset;
2708 }
2709 static int dissect_defineNamedType_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
2710   return dissect_mms_DefineNamedType_Request(TRUE, tvb, offset, pinfo, tree, hf_mms_defineNamedType);
2711 }
2712
2713
2714
2715 static int
2716 dissect_mms_GetNamedTypeAttributes_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
2717   offset = dissect_mms_ObjectName(implicit_tag, tvb, offset, pinfo, tree, hf_index);
2718
2719   return offset;
2720 }
2721 static int dissect_getNamedTypeAttributes_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
2722   return dissect_mms_GetNamedTypeAttributes_Request(TRUE, tvb, offset, pinfo, tree, hf_mms_getNamedTypeAttributes);
2723 }
2724
2725
2726 static const value_string mms_T_scopeOfDelete2_vals[] = {
2727   {   0, "specific" },
2728   {   1, "aa-specific" },
2729   {   2, "domain" },
2730   {   3, "vmd" },
2731   { 0, NULL }
2732 };
2733
2734
2735 static int
2736 dissect_mms_T_scopeOfDelete2(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
2737   offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2738                                   NULL);
2739
2740   return offset;
2741 }
2742 static int dissect_scopeOfDelete2_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
2743   return dissect_mms_T_scopeOfDelete2(TRUE, tvb, offset, pinfo, tree, hf_mms_scopeOfDelete2);
2744 }
2745
2746
2747 static const ber_sequence_t DeleteNamedType_Request_sequence[] = {
2748   { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_scopeOfDelete2_impl },
2749   { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_listOfTypeName_impl },
2750   { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_domainName_impl },
2751   { 0, 0, 0, NULL }
2752 };
2753
2754 static int
2755 dissect_mms_DeleteNamedType_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
2756   offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2757                                    DeleteNamedType_Request_sequence, hf_index, ett_mms_DeleteNamedType_Request);
2758
2759   return offset;
2760 }
2761 static int dissect_deleteNamedType_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
2762   return dissect_mms_DeleteNamedType_Request(TRUE, tvb, offset, pinfo, tree, hf_mms_deleteNamedType);
2763 }
2764
2765
2766 static const ber_sequence_t T_listOfPromptData_sequence_of[1] = {
2767   { BER_CLASS_UNI, BER_UNI_TAG_VisibleString, BER_FLAGS_NOOWNTAG, dissect_listOfPromptData_item },
2768 };
2769
2770 static int
2771 dissect_mms_T_listOfPromptData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
2772   offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
2773                                       T_listOfPromptData_sequence_of, hf_index, ett_mms_T_listOfPromptData);
2774
2775   return offset;
2776 }
2777 static int dissect_listOfPromptData_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
2778   return dissect_mms_T_listOfPromptData(TRUE, tvb, offset, pinfo, tree, hf_mms_listOfPromptData);
2779 }
2780
2781
2782 static const ber_sequence_t Input_Request_sequence[] = {
2783   { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_operatorStationName_impl },
2784   { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_echo_impl },
2785   { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_listOfPromptData_impl },
2786   { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inputTimeOut_impl },
2787   { 0, 0, 0, NULL }
2788 };
2789
2790 static int
2791 dissect_mms_Input_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
2792   offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2793                                    Input_Request_sequence, hf_index, ett_mms_Input_Request);
2794
2795   return offset;
2796 }
2797 static int dissect_input_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
2798   return dissect_mms_Input_Request(TRUE, tvb, offset, pinfo, tree, hf_mms_input);
2799 }
2800
2801
2802 static const ber_sequence_t T_listOfOutputData_sequence_of[1] = {
2803   { BER_CLASS_UNI, BER_UNI_TAG_VisibleString, BER_FLAGS_NOOWNTAG, dissect_listOfOutputData_item },
2804 };
2805
2806 static int
2807 dissect_mms_T_listOfOutputData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
2808   offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
2809                                       T_listOfOutputData_sequence_of, hf_index, ett_mms_T_listOfOutputData);
2810
2811   return offset;
2812 }
2813 static int dissect_listOfOutputData_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
2814   return dissect_mms_T_listOfOutputData(TRUE, tvb, offset, pinfo, tree, hf_mms_listOfOutputData);
2815 }
2816
2817
2818 static const ber_sequence_t Output_Request_sequence[] = {
2819   { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_operatorStationName_impl },
2820   { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_listOfOutputData_impl },
2821   { 0, 0, 0, NULL }
2822 };
2823
2824 static int
2825 dissect_mms_Output_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
2826   offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2827                                    Output_Request_sequence, hf_index, ett_mms_Output_Request);
2828
2829   return offset;
2830 }
2831 static int dissect_output_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
2832   return dissect_mms_Output_Request(TRUE, tvb, offset, pinfo, tree, hf_mms_output);
2833 }
2834
2835
2836
2837 static int
2838 dissect_mms_T_ap_title(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
2839 #line 23 "mms.cnf"
2840   offset=dissect_acse_AP_title(FALSE, tvb, offset, pinfo, tree, hf_mms_ap_title);
2841
2842
2843
2844   return offset;
2845 }
2846 static int dissect_ap_title(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
2847   return dissect_mms_T_ap_title(FALSE, tvb, offset, pinfo, tree, hf_mms_ap_title);
2848 }
2849
2850
2851
2852 static int
2853 dissect_mms_T_ap_invocation_id(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
2854 #line 26 "mms.cnf"
2855   offset=dissect_acse_AP_invocation_identifier(FALSE, tvb, offset, pinfo, tree, hf_mms_ap_invocation_id);
2856
2857
2858
2859   return offset;
2860 }
2861 static int dissect_ap_invocation_id(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
2862   return dissect_mms_T_ap_invocation_id(FALSE, tvb, offset, pinfo, tree, hf_mms_ap_invocation_id);
2863 }
2864
2865
2866
2867 static int
2868 dissect_mms_T_ae_qualifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
2869 #line 29 "mms.cnf"
2870   offset=dissect_acse_AE_qualifier(FALSE, tvb, offset, pinfo, tree, hf_mms_ae_qualifier);
2871
2872
2873
2874   return offset;
2875 }
2876 static int dissect_ae_qualifier(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
2877   return dissect_mms_T_ae_qualifier(FALSE, tvb, offset, pinfo, tree, hf_mms_ae_qualifier);
2878 }
2879
2880
2881
2882 static int
2883 dissect_mms_T_ae_invocation_id(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
2884 #line 32 "mms.cnf"
2885   offset=dissect_acse_AE_invocation_identifier(FALSE, tvb, offset, pinfo, tree, hf_mms_ae_invocation_id);
2886
2887
2888
2889   return offset;
2890 }
2891 static int dissect_ae_invocation_id(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
2892   return dissect_mms_T_ae_invocation_id(FALSE, tvb, offset, pinfo, tree, hf_mms_ae_invocation_id);
2893 }
2894
2895
2896 static const ber_sequence_t ApplicationReference_sequence[] = {
2897   { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_ap_title },
2898   { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_ap_invocation_id },
2899   { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_ae_qualifier },
2900   { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_ae_invocation_id },
2901   { 0, 0, 0, NULL }
2902 };
2903
2904 static int
2905 dissect_mms_ApplicationReference(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
2906   offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2907                                    ApplicationReference_sequence, hf_index, ett_mms_ApplicationReference);
2908
2909   return offset;
2910 }
2911 static int dissect_thirdParty_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
2912   return dissect_mms_ApplicationReference(TRUE, tvb, offset, pinfo, tree, hf_mms_thirdParty);
2913 }
2914 static int dissect_applicationToPreempt_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
2915   return dissect_mms_ApplicationReference(TRUE, tvb, offset, pinfo, tree, hf_mms_applicationToPreempt);
2916 }
2917 static int dissect_applicationReference(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
2918   return dissect_mms_ApplicationReference(FALSE, tvb, offset, pinfo, tree, hf_mms_applicationReference);
2919 }
2920 static int dissect_clientApplication(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
2921   return dissect_mms_ApplicationReference(FALSE, tvb, offset, pinfo, tree, hf_mms_clientApplication);
2922 }
2923 static int dissect_originatingApplication(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
2924   return dissect_mms_ApplicationReference(FALSE, tvb, offset, pinfo, tree, hf_mms_originatingApplication);
2925 }
2926 static int dissect_sourceFileServer_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
2927   return dissect_mms_ApplicationReference(TRUE, tvb, offset, pinfo, tree, hf_mms_sourceFileServer);
2928 }
2929
2930
2931 static const ber_sequence_t TakeControl_Request_sequence[] = {
2932   { BER_CLASS_CON, 0, BER_FLAGS_NOTCHKTAG, dissect_semaphoreName },
2933   { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_namedToken_impl },
2934   { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_priority_impl },
2935   { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_acceptableDelay_impl },
2936   { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_controlTimeOut_impl },
2937   { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_abortOnTimeOut_impl },
2938   { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_relinquishIfConnectionLost_impl },
2939   { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_applicationToPreempt_impl },
2940   { 0, 0, 0, NULL }
2941 };
2942
2943 static int
2944 dissect_mms_TakeControl_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
2945   offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2946                                    TakeControl_Request_sequence, hf_index, ett_mms_TakeControl_Request);
2947
2948   return offset;
2949 }
2950 static int dissect_takeControl_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
2951   return dissect_mms_TakeControl_Request(TRUE, tvb, offset, pinfo, tree, hf_mms_takeControl);
2952 }
2953
2954
2955 static const ber_sequence_t RelinquishControl_Request_sequence[] = {
2956   { BER_CLASS_CON, 0, BER_FLAGS_NOTCHKTAG, dissect_semaphoreName },
2957   { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_namedToken_impl },
2958   { 0, 0, 0, NULL }
2959 };
2960
2961 static int
2962 dissect_mms_RelinquishControl_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
2963   offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2964                                    RelinquishControl_Request_sequence, hf_index, ett_mms_RelinquishControl_Request);
2965
2966   return offset;
2967 }
2968 static int dissect_relinquishControl_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
2969   return dissect_mms_RelinquishControl_Request(TRUE, tvb, offset, pinfo, tree, hf_mms_relinquishControl);
2970 }
2971
2972
2973
2974 static int
2975 dissect_mms_Unsigned16(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
2976   offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2977                                   NULL);
2978
2979   return offset;
2980 }
2981 static int dissect_numbersOfTokens_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
2982   return dissect_mms_Unsigned16(TRUE, tvb, offset, pinfo, tree, hf_mms_numbersOfTokens);
2983 }
2984 static int dissect_numberOfTokens_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
2985   return dissect_mms_Unsigned16(TRUE, tvb, offset, pinfo, tree, hf_mms_numberOfTokens);
2986 }
2987 static int dissect_numberOfOwnedTokens_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
2988   return dissect_mms_Unsigned16(TRUE, tvb, offset, pinfo, tree, hf_mms_numberOfOwnedTokens);
2989 }
2990 static int dissect_numberOfHungTokens_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
2991   return dissect_mms_Unsigned16(TRUE, tvb, offset, pinfo, tree, hf_mms_numberOfHungTokens);
2992 }
2993
2994
2995 static const ber_sequence_t DefineSemaphore_Request_sequence[] = {
2996   { BER_CLASS_CON, 0, BER_FLAGS_NOTCHKTAG, dissect_semaphoreName },
2997   { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_numbersOfTokens_impl },
2998   { 0, 0, 0, NULL }
2999 };
3000
3001 static int
3002 dissect_mms_DefineSemaphore_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
3003   offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3004                                    DefineSemaphore_Request_sequence, hf_index, ett_mms_DefineSemaphore_Request);
3005
3006   return offset;
3007 }
3008 static int dissect_defineSemaphore_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
3009   return dissect_mms_DefineSemaphore_Request(TRUE, tvb, offset, pinfo, tree, hf_mms_defineSemaphore);
3010 }
3011
3012
3013
3014 static int
3015 dissect_mms_DeleteSemaphore_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
3016   offset = dissect_mms_ObjectName(implicit_tag, tvb, offset, pinfo, tree, hf_index);
3017
3018   return offset;
3019 }
3020 static int dissect_deleteSemaphore_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
3021   return dissect_mms_DeleteSemaphore_Request(TRUE, tvb, offset, pinfo, tree, hf_mms_deleteSemaphore);
3022 }
3023
3024
3025
3026 static int
3027 dissect_mms_ReportSemaphoreStatus_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
3028   offset = dissect_mms_ObjectName(implicit_tag, tvb, offset, pinfo, tree, hf_index);
3029
3030   return offset;
3031 }
3032 static int dissect_reportSemaphoreStatus_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
3033   return dissect_mms_ReportSemaphoreStatus_Request(TRUE, tvb, offset, pinfo, tree, hf_mms_reportSemaphoreStatus);
3034 }
3035
3036
3037 static const ber_sequence_t ReportPoolSemaphoreStatus_Request_sequence[] = {
3038   { BER_CLASS_CON, 0, BER_FLAGS_NOTCHKTAG, dissect_semaphoreName },
3039   { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_nameToStartAfter_impl },
3040   { 0, 0, 0, NULL }
3041 };
3042
3043 static int
3044 dissect_mms_ReportPoolSemaphoreStatus_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
3045   offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3046                                    ReportPoolSemaphoreStatus_Request_sequence, hf_index, ett_mms_ReportPoolSemaphoreStatus_Request);
3047
3048   return offset;
3049 }
3050 static int dissect_reportPoolSemaphoreStatus_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
3051   return dissect_mms_ReportPoolSemaphoreStatus_Request(TRUE, tvb, offset, pinfo, tree, hf_mms_reportPoolSemaphoreStatus);
3052 }
3053
3054
3055 static const value_string mms_T_state_vals[] = {
3056   {   0, "queued" },
3057   {   1, "owner" },
3058   {   2, "hung" },
3059   { 0, NULL }
3060 };
3061
3062
3063 static int
3064 dissect_mms_T_state(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
3065   offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3066                                   NULL);
3067
3068   return offset;
3069 }
3070 static int dissect_state2_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
3071   return dissect_mms_T_state(TRUE, tvb, offset, pinfo, tree, hf_mms_state2);
3072 }
3073
3074
3075 static const ber_sequence_t ReportSemaphoreEntryStatus_Request_sequence[] = {
3076   { BER_CLASS_CON, 0, BER_FLAGS_NOTCHKTAG, dissect_semaphoreName },
3077   { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_state2_impl },
3078   { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_entryIdToStartAfter_impl },
3079   { 0, 0, 0, NULL }
3080 };
3081
3082 static int
3083 dissect_mms_ReportSemaphoreEntryStatus_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
3084   offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3085                                    ReportSemaphoreEntryStatus_Request_sequence, hf_index, ett_mms_ReportSemaphoreEntryStatus_Request);
3086
3087   return offset;
3088 }
3089 static int dissect_reportSemaphoreEntryStatus_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
3090   return dissect_mms_ReportSemaphoreEntryStatus_Request(TRUE, tvb, offset, pinfo, tree, hf_mms_reportSemaphoreEntryStatus);
3091 }
3092
3093
3094 static const ber_sequence_t T_listOfCapabilities1_sequence_of[1] = {
3095   { BER_CLASS_UNI, BER_UNI_TAG_VisibleString, BER_FLAGS_NOOWNTAG, dissect_listOfCapabilities_item },
3096 };
3097
3098 static int
3099 dissect_mms_T_listOfCapabilities1(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
3100   offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
3101                                       T_listOfCapabilities1_sequence_of, hf_index, ett_mms_T_listOfCapabilities1);
3102
3103   return offset;
3104 }
3105 static int dissect_listOfCapabilities1_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
3106   return dissect_mms_T_listOfCapabilities1(TRUE, tvb, offset, pinfo, tree, hf_mms_listOfCapabilities1);
3107 }
3108
3109
3110 static const ber_sequence_t InitiateDownloadSequence_Request_sequence[] = {
3111   { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_domainName_impl },
3112   { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_listOfCapabilities1_impl },
3113   { BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_sharable_impl },
3114   { 0, 0, 0, NULL }
3115 };
3116
3117 static int
3118 dissect_mms_InitiateDownloadSequence_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
3119   offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3120                                    InitiateDownloadSequence_Request_sequence, hf_index, ett_mms_InitiateDownloadSequence_Request);
3121
3122   return offset;
3123 }
3124 static int dissect_initiateDownloadSequence_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
3125   return dissect_mms_InitiateDownloadSequence_Request(TRUE, tvb, offset, pinfo, tree, hf_mms_initiateDownloadSequence);
3126 }
3127
3128
3129
3130 static int
3131 dissect_mms_DownloadSegment_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
3132   offset = dissect_mms_Identifier(implicit_tag, tvb, offset, pinfo, tree, hf_index);
3133
3134   return offset;
3135 }
3136 static int dissect_downloadSegment_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
3137   return dissect_mms_DownloadSegment_Request(TRUE, tvb, offset, pinfo, tree, hf_mms_downloadSegment);
3138 }
3139
3140
3141 static const value_string mms_T_vmd_state_vals[] = {
3142   {   0, "other" },
3143   {   1, "vmd-state-conflict" },
3144   {   2, "vmd-operational-problem" },
3145   {   3, "domain-transfer-problem" },
3146   {   4, "state-machine-id-invalid" },
3147   { 0, NULL }
3148 };
3149
3150
3151 static int
3152 dissect_mms_T_vmd_state(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
3153   offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3154                                   NULL);
3155
3156   return offset;
3157 }
3158 static int dissect_vmd_state_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
3159   return dissect_mms_T_vmd_state(TRUE, tvb, offset, pinfo, tree, hf_mms_vmd_state);
3160 }
3161
3162
3163 static const value_string mms_T_application_reference_vals[] = {
3164   {   0, "other" },
3165   {   1, "aplication-unreachable" },
3166   {   2, "connection-lost" },
3167   {   3, "application-reference-invalid" },
3168   {   4, "context-unsupported" },
3169   { 0, NULL }
3170 };
3171
3172
3173 static int
3174 dissect_mms_T_application_reference(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
3175   offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3176                                   NULL);
3177
3178   return offset;
3179 }
3180 static int dissect_application_reference_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
3181   return dissect_mms_T_application_reference(TRUE, tvb, offset, pinfo, tree, hf_mms_application_reference);
3182 }
3183
3184
3185 static const value_string mms_T_definition_vals[] = {
3186   {   0, "other" },
3187   {   1, "object-undefined" },
3188   {   2, "invalid-address" },
3189   {   3, "type-unsupported" },
3190   {   4, "type-inconsistent" },
3191   {   5, "object-exists" },
3192   {   6, "object-attribute-inconsistent" },
3193   { 0, NULL }
3194 };
3195
3196
3197 static int
3198 dissect_mms_T_definition(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
3199   offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3200                                   NULL);
3201
3202   return offset;
3203 }
3204 static int dissect_definition_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
3205   return dissect_mms_T_definition(TRUE, tvb, offset, pinfo, tree, hf_mms_definition);
3206 }
3207
3208
3209 static const value_string mms_T_resource_vals[] = {
3210   {   0, "other" },
3211   {   1, "memory-unavailable" },
3212   {   2, "processor-resource-unavailable" },
3213   {   3, "mass-storage-unavailable" },
3214   {   4, "capability-unavailable" },
3215   {   5, "capability-unknown" },
3216   { 0, NULL }
3217 };
3218
3219
3220 static int
3221 dissect_mms_T_resource(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
3222   offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3223                                   NULL);
3224
3225   return offset;
3226 }
3227 static int dissect_resource_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
3228   return dissect_mms_T_resource(TRUE, tvb, offset, pinfo, tree, hf_mms_resource);
3229 }
3230
3231
3232 static const value_string mms_T_service_vals[] = {
3233   {   0, "other" },
3234   {   1, "primitives-out-of-sequence" },
3235   {   2, "object-sate-conflict" },
3236   {   3, "pdu-size" },
3237   {   4, "continuation-invalid" },
3238   {   5, "object-constraint-conflict" },
3239   { 0, NULL }
3240 };
3241
3242
3243 static int
3244 dissect_mms_T_service(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
3245   offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3246                                   NULL);
3247
3248   return offset;
3249 }
3250 static int dissect_service_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
3251   return dissect_mms_T_service(TRUE, tvb, offset, pinfo, tree, hf_mms_service);
3252 }
3253
3254
3255 static const value_string mms_T_service_preempt_vals[] = {
3256   {   0, "other" },
3257   {   1, "timeout" },
3258   {   2, "deadlock" },
3259   {   3, "cancel" },
3260   { 0, NULL }
3261 };
3262
3263
3264 static int
3265 dissect_mms_T_service_preempt(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
3266   offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3267                                   NULL);
3268
3269   return offset;
3270 }
3271 static int dissect_service_preempt_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
3272   return dissect_mms_T_service_preempt(TRUE, tvb, offset, pinfo, tree, hf_mms_service_preempt);
3273 }
3274
3275
3276 static const value_string mms_T_time_resolution_vals[] = {
3277   {   0, "other" },
3278   {   1, "unsupportable-time-resolution" },
3279   { 0, NULL }
3280 };
3281
3282
3283 static int
3284 dissect_mms_T_time_resolution(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
3285   offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3286                                   NULL);
3287
3288   return offset;
3289 }
3290 static int dissect_time_resolution_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
3291   return dissect_mms_T_time_resolution(TRUE, tvb, offset, pinfo, tree, hf_mms_time_resolution);
3292 }
3293
3294
3295 static const value_string mms_T_access_vals[] = {
3296   {   0, "other" },
3297   {   1, "object-access-unsupported" },
3298   {   2, "object-non-existent" },
3299   {   3, "object-access-denied" },
3300   {   4, "object-invalidated" },
3301   { 0, NULL }
3302 };
3303
3304
3305 static int
3306 dissect_mms_T_access(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
3307   offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3308                                   NULL);
3309
3310   return offset;
3311 }
3312 static int dissect_access_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
3313   return dissect_mms_T_access(TRUE, tvb, offset, pinfo, tree, hf_mms_access);
3314 }
3315
3316
3317 static const value_string mms_T_initiate_vals[] = {
3318   {   0, "other" },
3319   {   1, "version-incompatible" },
3320   {   2, "max-segment-insufficient" },
3321   {   3, "max-services-outstanding-calling-insufficient" },
3322   {   4, "max-services-outstanding-called-insufficient" },
3323   {   5, "service-CBB-insufficient" },
3324   {   6, "parameter-CBB-insufficient" },
3325   {   7, "nesting-level-insufficient" },
3326   { 0, NULL }
3327 };
3328
3329
3330 static int
3331 dissect_mms_T_initiate(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
3332   offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3333                                   NULL);
3334
3335   return offset;
3336 }
3337 static int dissect_initiate_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
3338   return dissect_mms_T_initiate(TRUE, tvb, offset, pinfo, tree, hf_mms_initiate);
3339 }
3340
3341
3342 static const value_string mms_T_conclude_vals[] = {
3343   {   0, "other" },
3344   {   1, "further-communication-required" },
3345   { 0, NULL }
3346 };
3347
3348
3349 static int
3350 dissect_mms_T_conclude(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
3351   offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3352                                   NULL);
3353
3354   return offset;
3355 }
3356 static int dissect_conclude_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
3357   return dissect_mms_T_conclude(TRUE, tvb, offset, pinfo, tree, hf_mms_conclude);
3358 }
3359
3360
3361 static const value_string mms_T_cancel_vals[] = {
3362   {   0, "other" },
3363   {   1, "invoke-id-unknown" },
3364   {   2, "cancel-not-possible" },
3365   { 0, NULL }
3366 };
3367
3368
3369 static int
3370 dissect_mms_T_cancel(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
3371   offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3372                                   NULL);
3373
3374   return offset;
3375 }
3376 static int dissect_cancel_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
3377   return dissect_mms_T_cancel(TRUE, tvb, offset, pinfo, tree, hf_mms_cancel);
3378 }
3379
3380
3381 static const value_string mms_T_file_vals[] = {
3382   {   0, "other" },
3383   {   1, "filename-ambiguous" },
3384   {   2, "file-busy" },
3385   {   3, "filename-syntax-error" },
3386   {   4, "content-type-invalid" },
3387   {   5, "position-invalid" },
3388   {   6, "file-acces-denied" },
3389   {   7, "file-non-existent" },
3390   {   8, "duplicate-filename" },
3391   {   9, "insufficient-space-in-filestore" },
3392   { 0, NULL }
3393 };
3394
3395
3396 static int
3397 dissect_mms_T_file(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
3398   offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3399                                   NULL);
3400
3401   return offset;
3402 }
3403 static int dissect_file_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
3404   return dissect_mms_T_file(TRUE, tvb, offset, pinfo, tree, hf_mms_file);
3405 }
3406
3407
3408 static const value_string mms_T_errorClass_vals[] = {
3409   {   0, "vmd-state" },
3410   {   1, "application-reference" },
3411   {   2, "definition" },
3412   {   3, "resource" },
3413   {   4, "service" },
3414   {   5, "service-preempt" },
3415   {   6, "time-resolution" },
3416   {   7, "access" },
3417   {   8, "initiate" },
3418   {   9, "conclude" },
3419   {  10, "cancel" },
3420   {  11, "file" },
3421   {  12, "others" },
3422   { 0, NULL }
3423 };
3424
3425 static const ber_choice_t T_errorClass_choice[] = {
3426   {   0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_vmd_state_impl },
3427   {   1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_application_reference_impl },
3428   {   2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_definition_impl },
3429   {   3, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_resource_impl },
3430   {   4, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_service_impl },
3431   {   5, BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_service_preempt_impl },
3432   {   6, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_time_resolution_impl },
3433   {   7, BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_access_impl },
3434   {   8, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_initiate_impl },
3435   {   9, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_conclude_impl },
3436   {  10, BER_CLASS_CON, 10, BER_FLAGS_IMPLTAG, dissect_cancel_impl },
3437   {  11, BER_CLASS_CON, 11, BER_FLAGS_IMPLTAG, dissect_file_impl },
3438   {  12, BER_CLASS_CON, 12, BER_FLAGS_IMPLTAG, dissect_others_impl },
3439   { 0, 0, 0, 0, NULL }
3440 };
3441
3442 static int
3443 dissect_mms_T_errorClass(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
3444   offset = dissect_ber_choice(pinfo, tree, tvb, offset,
3445                                  T_errorClass_choice, hf_index, ett_mms_T_errorClass,
3446                                  NULL);
3447
3448   return offset;
3449 }
3450 static int dissect_errorClass(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
3451   return dissect_mms_T_errorClass(FALSE, tvb, offset, pinfo, tree, hf_mms_errorClass);
3452 }
3453
3454
3455 static const value_string mms_ObtainFile_Error_vals[] = {
3456   {   0, "source-file" },
3457   {   1, "destination-file" },
3458   { 0, NULL }
3459 };
3460
3461
3462 static int
3463 dissect_mms_ObtainFile_Error(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
3464   offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3465                                   NULL);
3466
3467   return offset;
3468 }
3469 static int dissect_obtainFile2_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
3470   return dissect_mms_ObtainFile_Error(TRUE, tvb, offset, pinfo, tree, hf_mms_obtainFile2);
3471 }
3472
3473
3474 static const value_string mms_ProgramInvocationState_vals[] = {
3475   {   0, "non-existent" },
3476   {   1, "unrunable" },
3477   {   2, "idle" },
3478   {   3, "running" },
3479   {   4, "stopped" },
3480   {   5, "starting" },
3481   {   6, "stopping" },
3482   {   7, "resuming" },
3483   {   8, "resetting" },
3484   { 0, NULL }
3485 };
3486
3487
3488 static int
3489 dissect_mms_ProgramInvocationState(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
3490   offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3491                                   NULL);
3492
3493   return offset;
3494 }
3495 static int dissect_state1_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
3496   return dissect_mms_ProgramInvocationState(TRUE, tvb, offset, pinfo, tree, hf_mms_state1);
3497 }
3498
3499
3500
3501 static int
3502 dissect_mms_Start_Error(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
3503   offset = dissect_mms_ProgramInvocationState(implicit_tag, tvb, offset, pinfo, tree, hf_index);
3504
3505   return offset;
3506 }
3507 static int dissect_start2_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
3508   return dissect_mms_Start_Error(TRUE, tvb, offset, pinfo, tree, hf_mms_start2);
3509 }
3510
3511
3512
3513 static int
3514 dissect_mms_Stop_Error(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
3515   offset = dissect_mms_ProgramInvocationState(implicit_tag, tvb, offset, pinfo, tree, hf_index);
3516
3517   return offset;
3518 }
3519 static int dissect_stop2_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
3520   return dissect_mms_Stop_Error(TRUE, tvb, offset, pinfo, tree, hf_mms_stop2);
3521 }
3522
3523
3524
3525 static int
3526 dissect_mms_Resume_Error(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
3527   offset = dissect_mms_ProgramInvocationState(implicit_tag, tvb, offset, pinfo, tree, hf_index);
3528
3529   return offset;
3530 }
3531 static int dissect_resume2_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
3532   return dissect_mms_Resume_Error(TRUE, tvb, offset, pinfo, tree, hf_mms_resume2);
3533 }
3534
3535
3536
3537 static int
3538 dissect_mms_Reset_Error(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
3539   offset = dissect_mms_ProgramInvocationState(implicit_tag, tvb, offset, pinfo, tree, hf_index);
3540
3541   return offset;
3542 }
3543 static int dissect_reset2_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
3544   return dissect_mms_Reset_Error(TRUE, tvb, offset, pinfo, tree, hf_mms_reset2);
3545 }
3546
3547
3548
3549 static int
3550 dissect_mms_DeleteVariableAccess_Error(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
3551   offset = dissect_mms_Unsigned32(implicit_tag, tvb, offset, pinfo, tree, hf_index);
3552
3553   return offset;
3554 }
3555 static int dissect_deleteVariableAccess2_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
3556   return dissect_mms_DeleteVariableAccess_Error(TRUE, tvb, offset, pinfo, tree, hf_mms_deleteVariableAccess2);
3557 }
3558
3559
3560
3561 static int
3562 dissect_mms_DeleteNamedVariableList_Error(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
3563   offset = dissect_mms_Unsigned32(implicit_tag, tvb, offset, pinfo, tree, hf_index);
3564
3565   return offset;
3566 }
3567 static int dissect_deleteNamedVariableList2_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
3568   return dissect_mms_DeleteNamedVariableList_Error(TRUE, tvb, offset, pinfo, tree, hf_mms_deleteNamedVariableList2);
3569 }
3570
3571
3572
3573 static int
3574 dissect_mms_DeleteNamedType_Error(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
3575   offset = dissect_mms_Unsigned32(implicit_tag, tvb, offset, pinfo, tree, hf_index);
3576
3577   return offset;
3578 }
3579 static int dissect_deleteNamedType2_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
3580   return dissect_mms_DeleteNamedType_Error(TRUE, tvb, offset, pinfo, tree, hf_mms_deleteNamedType2);
3581 }
3582
3583
3584
3585 static int
3586 dissect_mms_DefineEventEnrollment_Error(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
3587   offset = dissect_mms_ObjectName(implicit_tag, tvb, offset, pinfo, tree, hf_index);
3588
3589   return offset;
3590 }
3591 static int dissect_defineEventEnrollment_Error(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
3592   return dissect_mms_DefineEventEnrollment_Error(FALSE, tvb, offset, pinfo, tree, hf_mms_defineEventEnrollment_Error);
3593 }
3594
3595
3596 static const value_string mms_FileRename_Error_vals[] = {
3597   {   0, "source-file" },
3598   {   1, "destination-file" },
3599   { 0, NULL }
3600 };
3601
3602
3603 static int
3604 dissect_mms_FileRename_Error(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
3605   offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3606                                   NULL);
3607
3608   return offset;
3609 }
3610 static int dissect_fileRename2_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
3611   return dissect_mms_FileRename_Error(TRUE, tvb, offset, pinfo, tree, hf_mms_fileRename2);
3612 }
3613
3614
3615 static const value_string mms_T_serviceSpecificInformation_vals[] = {
3616   {   0, "obtainFile" },
3617   {   1, "start" },
3618   {   2, "stop" },
3619   {   3, "resume" },
3620   {   4, "reset" },
3621   {   5, "deleteVariableAccess" },
3622   {   6, "deleteNamedVariableList" },
3623   {   7, "deleteNamedType" },
3624   {   8, "defineEventEnrollment-Error" },
3625   {   9, "fileRename" },
3626   { 0, NULL }
3627 };
3628
3629 static const ber_choice_t T_serviceSpecificInformation_choice[] = {
3630   {   0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_obtainFile2_impl },
3631   {   1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_start2_impl },
3632   {   2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_stop2_impl },
3633   {   3, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_resume2_impl },
3634   {   4, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_reset2_impl },
3635   {   5, BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_deleteVariableAccess2_impl },
3636   {   6, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_deleteNamedVariableList2_impl },
3637   {   7, BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_deleteNamedType2_impl },
3638   {   8, BER_CLASS_CON, 8, 0, dissect_defineEventEnrollment_Error },
3639   {   9, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_fileRename2_impl },
3640   { 0, 0, 0, 0, NULL }
3641 };
3642
3643 static int
3644 dissect_mms_T_serviceSpecificInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
3645   offset = dissect_ber_choice(pinfo, tree, tvb, offset,
3646                                  T_serviceSpecificInformation_choice, hf_index, ett_mms_T_serviceSpecificInformation,
3647                                  NULL);
3648
3649   return offset;
3650 }
3651 static int dissect_serviceSpecificInformation(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
3652   return dissect_mms_T_serviceSpecificInformation(FALSE, tvb, offset, pinfo, tree, hf_mms_serviceSpecificInformation);
3653 }
3654
3655
3656 static const ber_sequence_t ServiceError_sequence[] = {
3657   { BER_CLASS_CON, 0, 0, dissect_errorClass },
3658   { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_additionalCode_impl },
3659   { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_additionalDescription_impl },
3660   { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_serviceSpecificInformation },
3661   { 0, 0, 0, NULL }
3662 };
3663
3664 static int
3665 dissect_mms_ServiceError(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
3666   offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3667                                    ServiceError_sequence, hf_index, ett_mms_ServiceError);
3668
3669   return offset;
3670 }
3671 static int dissect_serviceError_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
3672   return dissect_mms_ServiceError(TRUE, tvb, offset, pinfo, tree, hf_mms_serviceError);
3673 }
3674 static int dissect_discard_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
3675   return dissect_mms_ServiceError(TRUE, tvb, offset, pinfo, tree, hf_mms_discard);
3676 }
3677 static int dissect_failure1_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
3678   return dissect_mms_ServiceError(TRUE, tvb, offset, pinfo, tree, hf_mms_failure1);
3679 }
3680
3681
3682 static const ber_sequence_t TerminateDownloadSequence_Request_sequence[] = {
3683   { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_domainName_impl },
3684   { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_discard_impl },
3685   { 0, 0, 0, NULL }
3686 };
3687
3688 static int
3689 dissect_mms_TerminateDownloadSequence_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
3690   offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3691                                    TerminateDownloadSequence_Request_sequence, hf_index, ett_mms_TerminateDownloadSequence_Request);
3692
3693   return offset;
3694 }
3695 static int dissect_terminateDownloadSequence_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
3696   return dissect_mms_TerminateDownloadSequence_Request(TRUE, tvb, offset, pinfo, tree, hf_mms_terminateDownloadSequence);
3697 }
3698
3699
3700
3701 static int
3702 dissect_mms_InitiateUploadSequence_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
3703   offset = dissect_mms_Identifier(implicit_tag, tvb, offset, pinfo, tree, hf_index);
3704
3705   return offset;
3706 }
3707 static int dissect_initiateUploadSequence_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
3708   return dissect_mms_InitiateUploadSequence_Request(TRUE, tvb, offset, pinfo, tree, hf_mms_initiateUploadSequence);
3709 }
3710
3711
3712
3713 static int
3714 dissect_mms_UploadSegment_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
3715   offset = dissect_mms_Integer32(implicit_tag, tvb, offset, pinfo, tree, hf_index);
3716
3717   return offset;
3718 }
3719 static int dissect_uploadSegment_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
3720   return dissect_mms_UploadSegment_Request(TRUE, tvb, offset, pinfo, tree, hf_mms_uploadSegment);
3721 }
3722
3723
3724
3725 static int
3726 dissect_mms_TerminateUploadSequence_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
3727   offset = dissect_mms_Integer32(implicit_tag, tvb, offset, pinfo, tree, hf_index);
3728
3729   return offset;
3730 }
3731 static int dissect_terminateUploadSequence_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
3732   return dissect_mms_TerminateUploadSequence_Request(TRUE, tvb, offset, pinfo, tree, hf_mms_terminateUploadSequence);
3733 }
3734
3735
3736 static const ber_sequence_t T_listOfCapabilities3_sequence_of[1] = {
3737   { BER_CLASS_UNI, BER_UNI_TAG_VisibleString, BER_FLAGS_NOOWNTAG, dissect_listOfCapabilities_item },
3738 };
3739
3740 static int
3741 dissect_mms_T_listOfCapabilities3(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
3742   offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
3743                                       T_listOfCapabilities3_sequence_of, hf_index, ett_mms_T_listOfCapabilities3);
3744
3745   return offset;
3746 }
3747 static int dissect_listOfCapabilities3_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
3748   return dissect_mms_T_listOfCapabilities3(TRUE, tvb, offset, pinfo, tree, hf_mms_listOfCapabilities3);
3749 }
3750
3751
3752
3753 static int
3754 dissect_mms_GraphicString(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
3755   offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_GraphicString,
3756                                             pinfo, tree, tvb, offset, hf_index,
3757                                             NULL);
3758
3759   return offset;
3760 }
3761 static int dissect_FileName_item(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
3762   return dissect_mms_GraphicString(FALSE, tvb, offset, pinfo, tree, hf_mms_FileName_item);
3763 }
3764
3765
3766 static const ber_sequence_t FileName_sequence_of[1] = {
3767   { BER_CLASS_UNI, BER_UNI_TAG_GraphicString, BER_FLAGS_NOOWNTAG, dissect_FileName_item },
3768 };
3769
3770 static int
3771 dissect_mms_FileName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
3772   offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
3773                                       FileName_sequence_of, hf_index, ett_mms_FileName);
3774
3775   return offset;
3776 }
3777 static int dissect_fileName_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
3778   return dissect_mms_FileName(TRUE, tvb, offset, pinfo, tree, hf_mms_fileName);
3779 }
3780 static int dissect_filenName_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
3781   return dissect_mms_FileName(TRUE, tvb, offset, pinfo, tree, hf_mms_filenName);
3782 }
3783 static int dissect_sourceFile_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
3784   return dissect_mms_FileName(TRUE, tvb, offset, pinfo, tree, hf_mms_sourceFile);
3785 }
3786 static int dissect_destinationFile_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
3787   return dissect_mms_FileName(TRUE, tvb, offset, pinfo, tree, hf_mms_destinationFile);
3788 }
3789 static int dissect_currentFileName_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
3790   return dissect_mms_FileName(TRUE, tvb, offset, pinfo, tree, hf_mms_currentFileName);
3791 }
3792 static int dissect_newFileName_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
3793   return dissect_mms_FileName(TRUE, tvb, offset, pinfo, tree, hf_mms_newFileName);
3794 }
3795 static int dissect_fileSpecification_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
3796   return dissect_mms_FileName(TRUE, tvb, offset, pinfo, tree, hf_mms_fileSpecification);
3797 }
3798 static int dissect_continueAfter3_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
3799   return dissect_mms_FileName(TRUE, tvb, offset, pinfo, tree, hf_mms_continueAfter3);
3800 }
3801 static int dissect_filename_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
3802   return dissect_mms_FileName(TRUE, tvb, offset, pinfo, tree, hf_mms_filename);
3803 }
3804
3805
3806 static const ber_sequence_t RequestDomainDownload_Request_sequence[] = {
3807   { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_domainName_impl },
3808   { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_listOfCapabilities3_impl },
3809   { BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_sharable_impl },
3810   { BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_fileName_impl },
3811   { 0, 0, 0, NULL }
3812 };
3813
3814 static int
3815 dissect_mms_RequestDomainDownload_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
3816   offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3817                                    RequestDomainDownload_Request_sequence, hf_index, ett_mms_RequestDomainDownload_Request);
3818
3819   return offset;
3820 }
3821 static int dissect_requestDomainDownload_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
3822   return dissect_mms_RequestDomainDownload_Request(TRUE, tvb, offset, pinfo, tree, hf_mms_requestDomainDownload);
3823 }
3824
3825
3826 static const ber_sequence_t RequestDomainUpload_Request_sequence[] = {
3827   { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_domainName_impl },
3828   { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_fileName_impl },
3829   { 0, 0, 0, NULL }
3830 };
3831
3832 static int
3833 dissect_mms_RequestDomainUpload_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
3834   offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3835                                    RequestDomainUpload_Request_sequence, hf_index, ett_mms_RequestDomainUpload_Request);
3836
3837   return offset;
3838 }
3839 static int dissect_requestDomainUpload_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
3840   return dissect_mms_RequestDomainUpload_Request(TRUE, tvb, offset, pinfo, tree, hf_mms_requestDomainUpload);
3841 }
3842
3843
3844 static const ber_sequence_t T_listOfCapabilities4_sequence_of[1] = {
3845   { BER_CLASS_UNI, BER_UNI_TAG_VisibleString, BER_FLAGS_NOOWNTAG, dissect_listOfCapabilities_item },
3846 };
3847
3848 static int
3849 dissect_mms_T_listOfCapabilities4(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
3850   offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
3851                                       T_listOfCapabilities4_sequence_of, hf_index, ett_mms_T_listOfCapabilities4);
3852
3853   return offset;
3854 }
3855 static int dissect_listOfCapabilities4_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
3856   return dissect_mms_T_listOfCapabilities4(TRUE, tvb, offset, pinfo, tree, hf_mms_listOfCapabilities4);
3857 }
3858
3859
3860 static const ber_sequence_t LoadDomainContent_Request_sequence[] = {
3861   { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_domainName_impl },
3862   { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_listOfCapabilities4_impl },
3863   { BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_sharable_impl },
3864   { BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_fileName_impl },
3865   { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_thirdParty_impl },
3866   { 0, 0, 0, NULL }
3867 };
3868
3869 static int
3870 dissect_mms_LoadDomainContent_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
3871   offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3872                                    LoadDomainContent_Request_sequence, hf_index, ett_mms_LoadDomainContent_Request);
3873
3874   return offset;
3875 }
3876 static int dissect_loadDomainContent_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
3877   return dissect_mms_LoadDomainContent_Request(TRUE, tvb, offset, pinfo, tree, hf_mms_loadDomainContent);
3878 }
3879
3880
3881 static const ber_sequence_t StoreDomainContent_Request_sequence[] = {
3882   { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_domainName_impl },
3883   { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_filenName_impl },
3884   { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_thirdParty_impl },
3885   { 0, 0, 0, NULL }
3886 };
3887
3888 static int
3889 dissect_mms_StoreDomainContent_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
3890   offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3891                                    StoreDomainContent_Request_sequence, hf_index, ett_mms_StoreDomainContent_Request);
3892
3893   return offset;
3894 }
3895 static int dissect_storeDomainContent_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
3896   return dissect_mms_StoreDomainContent_Request(TRUE, tvb, offset, pinfo, tree, hf_mms_storeDomainContent);
3897 }
3898
3899
3900
3901 static int
3902 dissect_mms_DeleteDomain_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
3903   offset = dissect_mms_Identifier(implicit_tag, tvb, offset, pinfo, tree, hf_index);
3904
3905   return offset;
3906 }
3907 static int dissect_deleteDomain_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
3908   return dissect_mms_DeleteDomain_Request(TRUE, tvb, offset, pinfo, tree, hf_mms_deleteDomain);
3909 }
3910
3911
3912
3913 static int
3914 dissect_mms_GetDomainAttributes_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
3915   offset = dissect_mms_Identifier(implicit_tag, tvb, offset, pinfo, tree, hf_index);
3916
3917   return offset;
3918 }
3919 static int dissect_getDomainAttributes_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
3920   return dissect_mms_GetDomainAttributes_Request(TRUE, tvb, offset, pinfo, tree, hf_mms_getDomainAttributes);
3921 }
3922
3923
3924 static const ber_sequence_t SEQUENCE_OF_Identifier_sequence_of[1] = {
3925   { BER_CLASS_UNI, BER_UNI_TAG_VisibleString, BER_FLAGS_NOOWNTAG, dissect_listOfIdentifier_item },
3926 };
3927
3928 static int
3929 dissect_mms_SEQUENCE_OF_Identifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
3930   offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
3931                                       SEQUENCE_OF_Identifier_sequence_of, hf_index, ett_mms_SEQUENCE_OF_Identifier);
3932
3933   return offset;
3934 }
3935 static int dissect_listOfIdentifier_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
3936   return dissect_mms_SEQUENCE_OF_Identifier(TRUE, tvb, offset, pinfo, tree, hf_mms_listOfIdentifier);
3937 }
3938 static int dissect_listOfProgramInvocations_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
3939   return dissect_mms_SEQUENCE_OF_Identifier(TRUE, tvb, offset, pinfo, tree, hf_mms_listOfProgramInvocations);
3940 }
3941 static int dissect_listOfDomainName_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
3942   return dissect_mms_SEQUENCE_OF_Identifier(TRUE, tvb, offset, pinfo, tree, hf_mms_listOfDomainName);
3943 }
3944 static int dissect_listOfDomainNames_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
3945   return dissect_mms_SEQUENCE_OF_Identifier(TRUE, tvb, offset, pinfo, tree, hf_mms_listOfDomainNames);
3946 }
3947
3948
3949 static const ber_sequence_t CreateProgramInvocation_Request_sequence[] = {
3950   { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_programInvocationName_impl },
3951   { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_listOfDomainName_impl },
3952   { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_reusable_impl },
3953   { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_monitorType_impl },
3954   { 0, 0, 0, NULL }
3955 };
3956
3957 static int
3958 dissect_mms_CreateProgramInvocation_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
3959   offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3960                                    CreateProgramInvocation_Request_sequence, hf_index, ett_mms_CreateProgramInvocation_Request);
3961
3962   return offset;
3963 }
3964 static int dissect_createProgramInvocation_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
3965   return dissect_mms_CreateProgramInvocation_Request(TRUE, tvb, offset, pinfo, tree, hf_mms_createProgramInvocation);
3966 }
3967
3968
3969
3970 static int
3971 dissect_mms_DeleteProgramInvocation_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
3972   offset = dissect_mms_Identifier(implicit_tag, tvb, offset, pinfo, tree, hf_index);
3973
3974   return offset;
3975 }
3976 static int dissect_deleteProgramInvocation_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
3977   return dissect_mms_DeleteProgramInvocation_Request(TRUE, tvb, offset, pinfo, tree, hf_mms_deleteProgramInvocation);
3978 }
3979
3980
3981 static const value_string mms_T_executionArgument_vals[] = {
3982   {   0, "simpleString" },
3983   {   1, "encodedString" },
3984   { 0, NULL }
3985 };
3986
3987 static const ber_choice_t T_executionArgument_choice[] = {
3988   {   0, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_simpleString_impl },
3989   {   1, BER_CLASS_UNI, 8, BER_FLAGS_NOOWNTAG, dissect_encodedString },
3990   { 0, 0, 0, 0, NULL }
3991 };
3992
3993 static int
3994 dissect_mms_T_executionArgument(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
3995   offset = dissect_ber_choice(pinfo, tree, tvb, offset,
3996                                  T_executionArgument_choice, hf_index, ett_mms_T_executionArgument,
3997                                  NULL);
3998
3999   return offset;
4000 }
4001 static int dissect_executionArgument(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
4002   return dissect_mms_T_executionArgument(FALSE, tvb, offset, pinfo, tree, hf_mms_executionArgument);
4003 }
4004
4005
4006 static const ber_sequence_t Start_Request_sequence[] = {
4007   { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_programInvocationName_impl },
4008   { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_executionArgument },
4009   { 0, 0, 0, NULL }
4010 };
4011
4012 static int
4013 dissect_mms_Start_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
4014   offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4015                                    Start_Request_sequence, hf_index, ett_mms_Start_Request);
4016
4017   return offset;
4018 }
4019 static int dissect_start_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
4020   return dissect_mms_Start_Request(TRUE, tvb, offset, pinfo, tree, hf_mms_start);
4021 }
4022
4023
4024 static const ber_sequence_t Stop_Request_sequence[] = {
4025   { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_programInvocationName_impl },
4026   { 0, 0, 0, NULL }
4027 };
4028
4029 static int
4030 dissect_mms_Stop_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
4031   offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4032                                    Stop_Request_sequence, hf_index, ett_mms_Stop_Request);
4033
4034   return offset;
4035 }
4036 static int dissect_stop_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
4037   return dissect_mms_Stop_Request(TRUE, tvb, offset, pinfo, tree, hf_mms_stop);
4038 }
4039
4040
4041 static const value_string mms_T_executionArgument1_vals[] = {
4042   {   0, "simpleString" },
4043   {   1, "encodedString" },
4044   { 0, NULL }
4045 };
4046
4047 static const ber_choice_t T_executionArgument1_choice[] = {
4048   {   0, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_simpleString_impl },
4049   {   1, BER_CLASS_UNI, 8, BER_FLAGS_NOOWNTAG, dissect_encodedString },
4050   { 0, 0, 0, 0, NULL }
4051 };
4052
4053 static int
4054 dissect_mms_T_executionArgument1(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
4055   offset = dissect_ber_choice(pinfo, tree, tvb, offset,
4056                                  T_executionArgument1_choice, hf_index, ett_mms_T_executionArgument1,
4057                                  NULL);
4058
4059   return offset;
4060 }
4061 static int dissect_executionArgument1(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
4062   return dissect_mms_T_executionArgument1(FALSE, tvb, offset, pinfo, tree, hf_mms_executionArgument1);
4063 }
4064
4065
4066 static const ber_sequence_t Resume_Request_sequence[] = {
4067   { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_programInvocationName_impl },
4068   { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_executionArgument1 },
4069   { 0, 0, 0, NULL }
4070 };
4071
4072 static int
4073 dissect_mms_Resume_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
4074   offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4075                                    Resume_Request_sequence, hf_index, ett_mms_Resume_Request);
4076
4077   return offset;
4078 }
4079 static int dissect_resume_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
4080   return dissect_mms_Resume_Request(TRUE, tvb, offset, pinfo, tree, hf_mms_resume);
4081 }
4082
4083
4084 static const ber_sequence_t Reset_Request_sequence[] = {
4085   { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_programInvocationName_impl },
4086   { 0, 0, 0, NULL }
4087 };
4088
4089 static int
4090 dissect_mms_Reset_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
4091   offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4092                                    Reset_Request_sequence, hf_index, ett_mms_Reset_Request);
4093
4094   return offset;
4095 }
4096 static int dissect_reset_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
4097   return dissect_mms_Reset_Request(TRUE, tvb, offset, pinfo, tree, hf_mms_reset);
4098 }
4099
4100
4101 static const ber_sequence_t Kill_Request_sequence[] = {
4102   { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_programInvocationName_impl },
4103   { 0, 0, 0, NULL }
4104 };
4105
4106 static int
4107 dissect_mms_Kill_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
4108   offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4109                                    Kill_Request_sequence, hf_index, ett_mms_Kill_Request);
4110
4111   return offset;
4112 }
4113 static int dissect_kill_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
4114   return dissect_mms_Kill_Request(TRUE, tvb, offset, pinfo, tree, hf_mms_kill);
4115 }
4116
4117
4118
4119 static int
4120 dissect_mms_GetProgramInvocationAttributes_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
4121   offset = dissect_mms_Identifier(implicit_tag, tvb, offset, pinfo, tree, hf_index);
4122
4123   return offset;
4124 }
4125 static int dissect_getProgramInvocationAttributes_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
4126   return dissect_mms_GetProgramInvocationAttributes_Request(TRUE, tvb, offset, pinfo, tree, hf_mms_getProgramInvocationAttributes);
4127 }
4128
4129
4130 static const ber_sequence_t ObtainFile_Request_sequence[] = {
4131   { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_sourceFileServer_impl },
4132   { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_sourceFile_impl },
4133   { BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_destinationFile_impl },
4134   { 0, 0, 0, NULL }
4135 };
4136
4137 static int
4138 dissect_mms_ObtainFile_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
4139   offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4140                                    ObtainFile_Request_sequence, hf_index, ett_mms_ObtainFile_Request);
4141
4142   return offset;
4143 }
4144 static int dissect_obtainFile_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
4145   return dissect_mms_ObtainFile_Request(TRUE, tvb, offset, pinfo, tree, hf_mms_obtainFile);
4146 }
4147
4148
4149 static const value_string mms_EC_Class_vals[] = {
4150   {   0, "network-triggered" },
4151   {   1, "monitored" },
4152   { 0, NULL }
4153 };
4154
4155
4156 static int
4157 dissect_mms_EC_Class(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
4158   offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
4159                                   NULL);
4160
4161   return offset;
4162 }
4163 static int dissect_class1_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
4164   return dissect_mms_EC_Class(TRUE, tvb, offset, pinfo, tree, hf_mms_class1);
4165 }
4166
4167
4168 static const ber_sequence_t DefineEventCondition_Request_sequence[] = {
4169   { BER_CLASS_CON, 0, BER_FLAGS_NOTCHKTAG, dissect_eventConditionName },
4170   { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_class1_impl },
4171   { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_prio_rity_impl },
4172   { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_severity_impl },
4173   { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_alarmSummaryReports_impl },
4174   { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_monitoredVariable },
4175   { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_evaluationInterval_impl },
4176   { 0, 0, 0, NULL }
4177 };
4178
4179 static int
4180 dissect_mms_DefineEventCondition_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
4181   offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4182                                    DefineEventCondition_Request_sequence, hf_index, ett_mms_DefineEventCondition_Request);
4183
4184   return offset;
4185 }
4186 static int dissect_defineEventCondition_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
4187   return dissect_mms_DefineEventCondition_Request(TRUE, tvb, offset, pinfo, tree, hf_mms_defineEventCondition);
4188 }
4189
4190
4191 static const value_string mms_DeleteEventCondition_Request_vals[] = {
4192   {   0, "specific" },
4193   {   1, "aa-specific" },
4194   {   2, "domain" },
4195   {   3, "vmd" },
4196   { 0, NULL }
4197 };
4198
4199 static const ber_choice_t DeleteEventCondition_Request_choice[] = {
4200   {   0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_specific_impl },
4201   {   1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_aa_specific1_impl },
4202   {   2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_domain_impl },
4203   {   3, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_vmd_impl },
4204   { 0, 0, 0, 0, NULL }
4205 };
4206
4207 static int
4208 dissect_mms_DeleteEventCondition_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
4209   offset = dissect_ber_choice(pinfo, tree, tvb, offset,
4210                                  DeleteEventCondition_Request_choice, hf_index, ett_mms_DeleteEventCondition_Request,
4211                                  NULL);
4212
4213   return offset;
4214 }
4215 static int dissect_deleteEventCondition(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
4216   return dissect_mms_DeleteEventCondition_Request(FALSE, tvb, offset, pinfo, tree, hf_mms_deleteEventCondition);
4217 }
4218
4219
4220
4221 static int
4222 dissect_mms_GetEventConditionAttributes_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
4223   offset = dissect_mms_ObjectName(implicit_tag, tvb, offset, pinfo, tree, hf_index);
4224
4225   return offset;
4226 }
4227 static int dissect_getEventConditionAttributes(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
4228   return dissect_mms_GetEventConditionAttributes_Request(FALSE, tvb, offset, pinfo, tree, hf_mms_getEventConditionAttributes);
4229 }
4230
4231
4232
4233 static int
4234 dissect_mms_ReportEventConditionStatus_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
4235   offset = dissect_mms_ObjectName(implicit_tag, tvb, offset, pinfo, tree, hf_index);
4236
4237   return offset;
4238 }
4239 static int dissect_reportEventConditionStatus(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
4240   return dissect_mms_ReportEventConditionStatus_Request(FALSE, tvb, offset, pinfo, tree, hf_mms_reportEventConditionStatus);
4241 }
4242
4243
4244 static const ber_sequence_t AlterEventConditionMonitoring_Request_sequence[] = {
4245   { BER_CLASS_CON, 0, BER_FLAGS_NOTCHKTAG, dissect_eventConditionName },
4246   { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_enabled_impl },
4247   { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_priority_impl },
4248   { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_alarmSummaryReports_impl },
4249   { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_evaluationInterval_impl },
4250   { 0, 0, 0, NULL }
4251 };
4252
4253 static int
4254 dissect_mms_AlterEventConditionMonitoring_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
4255   offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4256                                    AlterEventConditionMonitoring_Request_sequence, hf_index, ett_mms_AlterEventConditionMonitoring_Request);
4257
4258   return offset;
4259 }
4260 static int dissect_alterEventConditionMonitoring_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
4261   return dissect_mms_AlterEventConditionMonitoring_Request(TRUE, tvb, offset, pinfo, tree, hf_mms_alterEventConditionMonitoring);
4262 }
4263
4264
4265 static const ber_sequence_t TriggerEvent_Request_sequence[] = {
4266   { BER_CLASS_CON, 0, BER_FLAGS_NOTCHKTAG, dissect_eventConditionName },
4267   { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_priority_impl },
4268   { 0, 0, 0, NULL }
4269 };
4270
4271 static int
4272 dissect_mms_TriggerEvent_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
4273   offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4274                                    TriggerEvent_Request_sequence, hf_index, ett_mms_TriggerEvent_Request);
4275
4276   return offset;
4277 }
4278 static int dissect_triggerEvent_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
4279   return dissect_mms_TriggerEvent_Request(TRUE, tvb, offset, pinfo, tree, hf_mms_triggerEvent);
4280 }
4281
4282
4283 static const ber_sequence_t DefineEventAction_Request_sequence[] = {
4284   { BER_CLASS_CON, 0, BER_FLAGS_NOTCHKTAG, dissect_eventActionName },
4285   { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_listOfModifier_impl },
4286   { 0, 0, 0, NULL }
4287 };
4288
4289 static int
4290 dissect_mms_DefineEventAction_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
4291   offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4292                                    DefineEventAction_Request_sequence, hf_index, ett_mms_DefineEventAction_Request);
4293
4294   return offset;
4295 }
4296 static int dissect_defineEventAction_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
4297   return dissect_mms_DefineEventAction_Request(TRUE, tvb, offset, pinfo, tree, hf_mms_defineEventAction);
4298 }
4299
4300
4301 static const value_string mms_DeleteEventAction_Request_vals[] = {
4302   {   0, "specific" },
4303   {   1, "aa-specific" },
4304   {   3, "domain" },
4305   {   4, "vmd" },
4306   { 0, NULL }
4307 };
4308
4309 static const ber_choice_t DeleteEventAction_Request_choice[] = {
4310   {   0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_specific_impl },
4311   {   1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_aa_specific1_impl },
4312   {   3, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_domain_impl },
4313   {   4, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_vmd_impl },
4314   { 0, 0, 0, 0, NULL }
4315 };
4316
4317 static int
4318 dissect_mms_DeleteEventAction_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
4319   offset = dissect_ber_choice(pinfo, tree, tvb, offset,
4320                                  DeleteEventAction_Request_choice, hf_index, ett_mms_DeleteEventAction_Request,
4321                                  NULL);
4322
4323   return offset;
4324 }
4325 static int dissect_deleteEventAction(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
4326   return dissect_mms_DeleteEventAction_Request(FALSE, tvb, offset, pinfo, tree, hf_mms_deleteEventAction);
4327 }
4328
4329
4330
4331 static int
4332 dissect_mms_GetEventActionAttributes_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
4333   offset = dissect_mms_ObjectName(implicit_tag, tvb, offset, pinfo, tree, hf_index);
4334
4335   return offset;
4336 }
4337 static int dissect_getEventActionAttributes(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
4338   return dissect_mms_GetEventActionAttributes_Request(FALSE, tvb, offset, pinfo, tree, hf_mms_getEventActionAttributes);
4339 }
4340
4341
4342
4343 static int
4344 dissect_mms_ReportEventActionStatus_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
4345   offset = dissect_mms_ObjectName(implicit_tag, tvb, offset, pinfo, tree, hf_index);
4346
4347   return offset;
4348 }
4349 static int dissect_reportEventActionStatus(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
4350   return dissect_mms_ReportEventActionStatus_Request(FALSE, tvb, offset, pinfo, tree, hf_mms_reportEventActionStatus);
4351 }
4352
4353
4354 static const value_string mms_AlarmAckRule_vals[] = {
4355   {   0, "none" },
4356   {   1, "simple" },
4357   {   2, "ack-active" },
4358   {   3, "ack-all" },
4359   { 0, NULL }
4360 };
4361
4362
4363 static int
4364 dissect_mms_AlarmAckRule(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
4365   offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
4366                                   NULL);
4367
4368   return offset;
4369 }
4370 static int dissect_alarmAcknowledgementRule_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
4371   return dissect_mms_AlarmAckRule(TRUE, tvb, offset, pinfo, tree, hf_mms_alarmAcknowledgementRule);
4372 }
4373 static int dissect_alarmAcknowledgmentRule_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
4374   return dissect_mms_AlarmAckRule(TRUE, tvb, offset, pinfo, tree, hf_mms_alarmAcknowledgmentRule);
4375 }
4376
4377
4378 static const ber_sequence_t DefineEventEnrollment_Request_sequence[] = {
4379   { BER_CLASS_CON, 0, BER_FLAGS_NOTCHKTAG, dissect_eventEnrollmentName },
4380   { BER_CLASS_CON, 1, BER_FLAGS_NOTCHKTAG, dissect_eventConditionName },
4381   { BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_eventConditionTransition_impl },
4382   { BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_alarmAcknowledgementRule_impl },
4383   { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_eventActionName },
4384   { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL, dissect_clientApplication },
4385   { 0, 0, 0, NULL }
4386 };
4387
4388 static int
4389 dissect_mms_DefineEventEnrollment_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
4390   offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4391                                    DefineEventEnrollment_Request_sequence, hf_index, ett_mms_DefineEventEnrollment_Request);
4392
4393   return offset;
4394 }
4395 static int dissect_defineEventEnrollment_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
4396   return dissect_mms_DefineEventEnrollment_Request(TRUE, tvb, offset, pinfo, tree, hf_mms_defineEventEnrollment);
4397 }
4398
4399
4400 static const value_string mms_DeleteEventEnrollment_Request_vals[] = {
4401   {   0, "specific" },
4402   {   1, "ec" },
4403   {   2, "ea" },
4404   { 0, NULL }
4405 };
4406
4407 static const ber_choice_t DeleteEventEnrollment_Request_choice[] = {
4408   {   0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_specific_impl },
4409   {   1, BER_CLASS_CON, 1, 0, dissect_ec },
4410   {   2, BER_CLASS_CON, 2, 0, dissect_ea },
4411   { 0, 0, 0, 0, NULL }
4412 };
4413
4414 static int
4415 dissect_mms_DeleteEventEnrollment_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
4416   offset = dissect_ber_choice(pinfo, tree, tvb, offset,
4417                                  DeleteEventEnrollment_Request_choice, hf_index, ett_mms_DeleteEventEnrollment_Request,
4418                                  NULL);
4419
4420   return offset;
4421 }
4422 static int dissect_deleteEventEnrollment(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
4423   return dissect_mms_DeleteEventEnrollment_Request(FALSE, tvb, offset, pinfo, tree, hf_mms_deleteEventEnrollment);
4424 }
4425
4426
4427 static const ber_sequence_t AlterEventEnrollment_Request_sequence[] = {
4428   { BER_CLASS_CON, 0, BER_FLAGS_NOTCHKTAG, dissect_eventEnrollmentName },
4429   { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_eventConditionTransitions_impl },
4430   { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_alarmAcknowledgmentRule_impl },
4431   { 0, 0, 0, NULL }
4432 };
4433
4434 static int
4435 dissect_mms_AlterEventEnrollment_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
4436   offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4437                                    AlterEventEnrollment_Request_sequence, hf_index, ett_mms_AlterEventEnrollment_Request);
4438
4439   return offset;
4440 }
4441 static int dissect_alterEventEnrollment_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
4442   return dissect_mms_AlterEventEnrollment_Request(TRUE, tvb, offset, pinfo, tree, hf_mms_alterEventEnrollment);
4443 }
4444
4445
4446
4447 static int
4448 dissect_mms_ReportEventEnrollmentStatus_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
4449   offset = dissect_mms_ObjectName(implicit_tag, tvb, offset, pinfo, tree, hf_index);
4450
4451   return offset;
4452 }
4453 static int dissect_reportEventEnrollmentStatus(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
4454   return dissect_mms_ReportEventEnrollmentStatus_Request(FALSE, tvb, offset, pinfo, tree, hf_mms_reportEventEnrollmentStatus);
4455 }
4456
4457
4458 static const value_string mms_T_scopeOfRequest_vals[] = {
4459   {   0, "specific" },
4460   {   1, "client" },
4461   {   2, "ec" },
4462   {   3, "ea" },
4463   { 0, NULL }
4464 };
4465
4466
4467 static int
4468 dissect_mms_T_scopeOfRequest(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
4469   offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
4470                                   NULL);
4471
4472   return offset;
4473 }
4474 static int dissect_scopeOfRequest_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
4475   return dissect_mms_T_scopeOfRequest(TRUE, tvb, offset, pinfo, tree, hf_mms_scopeOfRequest);
4476 }
4477
4478
4479 static const ber_sequence_t GetEventEnrollmentAttributes_Request_sequence[] = {
4480   { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_scopeOfRequest_impl },
4481   { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_eventEnrollmentNames_impl },
4482   { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_clientApplication },
4483   { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_eventConditionName },
4484   { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_eventActionName },
4485   { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_continueAfter2 },
4486   { 0, 0, 0, NULL }
4487 };
4488
4489 static int
4490 dissect_mms_GetEventEnrollmentAttributes_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
4491   offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4492                                    GetEventEnrollmentAttributes_Request_sequence, hf_index, ett_mms_GetEventEnrollmentAttributes_Request);
4493
4494   return offset;
4495 }
4496 static int dissect_getEventEnrollmentAttributes_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
4497   return dissect_mms_GetEventEnrollmentAttributes_Request(TRUE, tvb, offset, pinfo, tree, hf_mms_getEventEnrollmentAttributes);
4498 }
4499
4500
4501 static const value_string mms_EC_State_vals[] = {
4502   {   0, "disabled" },
4503   {   1, "idle" },
4504   {   2, "active" },
4505   { 0, NULL }
4506 };
4507
4508
4509 static int
4510 dissect_mms_EC_State(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
4511   offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
4512                                   NULL);
4513
4514   return offset;
4515 }
4516 static int dissect_currentState_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
4517   return dissect_mms_EC_State(TRUE, tvb, offset, pinfo, tree, hf_mms_currentState);
4518 }
4519 static int dissect_acknowledgedState_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
4520   return dissect_mms_EC_State(TRUE, tvb, offset, pinfo, tree, hf_mms_acknowledgedState);
4521 }
4522
4523
4524 static const value_string mms_EventTime_vals[] = {
4525   {   0, "timeOfDayT" },
4526   {   1, "timeSequenceIdentifier" },
4527   { 0, NULL }
4528 };
4529
4530 static const ber_choice_t EventTime_choice[] = {
4531   {   0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_timeOfDayT_impl },
4532   {   1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_timeSequenceIdentifier_impl },
4533   { 0, 0, 0, 0, NULL }
4534 };
4535
4536 static int
4537 dissect_mms_EventTime(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
4538   offset = dissect_ber_choice(pinfo, tree, tvb, offset,
4539                                  EventTime_choice, hf_index, ett_mms_EventTime,
4540                                  NULL);
4541
4542   return offset;
4543 }
4544 static int dissect_timeOfLastTransitionToActive(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
4545   return dissect_mms_EventTime(FALSE, tvb, offset, pinfo, tree, hf_mms_timeOfLastTransitionToActive);
4546 }
4547 static int dissect_timeOfLastTransitionToIdle(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
4548   return dissect_mms_EventTime(FALSE, tvb, offset, pinfo, tree, hf_mms_timeOfLastTransitionToIdle);
4549 }
4550 static int dissect_transitionTime(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
4551   return dissect_mms_EventTime(FALSE, tvb, offset, pinfo, tree, hf_mms_transitionTime);
4552 }
4553 static int dissect_timeOfAcknowledgedTransition(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
4554   return dissect_mms_EventTime(FALSE, tvb, offset, pinfo, tree, hf_mms_timeOfAcknowledgedTransition);
4555 }
4556 static int dissect_timeActiveAcknowledged(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
4557   return dissect_mms_EventTime(FALSE, tvb, offset, pinfo, tree, hf_mms_timeActiveAcknowledged);
4558 }
4559 static int dissect_timeIdleAcknowledged(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
4560   return dissect_mms_EventTime(FALSE, tvb, offset, pinfo, tree, hf_mms_timeIdleAcknowledged);
4561 }
4562
4563
4564 static const ber_sequence_t AcknowledgeEventNotification_Request_sequence[] = {
4565   { BER_CLASS_CON, 0, BER_FLAGS_NOTCHKTAG, dissect_eventEnrollmentName },
4566   { BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_acknowledgedState_impl },
4567   { BER_CLASS_CON, 3, BER_FLAGS_NOTCHKTAG, dissect_timeOfAcknowledgedTransition },
4568   { 0, 0, 0, NULL }
4569 };
4570
4571 static int
4572 dissect_mms_AcknowledgeEventNotification_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
4573   offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4574                                    AcknowledgeEventNotification_Request_sequence, hf_index, ett_mms_AcknowledgeEventNotification_Request);
4575
4576   return offset;
4577 }
4578 static int dissect_acknowledgeEventNotification_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
4579   return dissect_mms_AcknowledgeEventNotification_Request(TRUE, tvb, offset, pinfo, tree, hf_mms_acknowledgeEventNotification);
4580 }
4581
4582
4583 static const value_string mms_T_acknowledgmentFilter_vals[] = {
4584   {   0, "not-acked" },
4585   {   1, "acked" },
4586   {   2, "all" },
4587   { 0, NULL }
4588 };
4589
4590
4591 static int
4592 dissect_mms_T_acknowledgmentFilter(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
4593   offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
4594                                   NULL);
4595
4596   return offset;
4597 }
4598 static int dissect_acknowledgmentFilter_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
4599   return dissect_mms_T_acknowledgmentFilter(TRUE, tvb, offset, pinfo, tree, hf_mms_acknowledgmentFilter);
4600 }
4601
4602
4603 static const ber_sequence_t T_severityFilter_sequence[] = {
4604   { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mostSevere_impl },
4605   { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_leastSevere_impl },
4606   { 0, 0, 0, NULL }
4607 };
4608
4609 static int
4610 dissect_mms_T_severityFilter(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
4611   offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4612                                    T_severityFilter_sequence, hf_index, ett_mms_T_severityFilter);
4613
4614   return offset;
4615 }
4616 static int dissect_severityFilter_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
4617   return dissect_mms_T_severityFilter(TRUE, tvb, offset, pinfo, tree, hf_mms_severityFilter);
4618 }
4619
4620
4621 static const ber_sequence_t GetAlarmSummary_Request_sequence[] = {
4622   { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_enrollmentsOnly_impl },
4623   { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_activeAlarmsOnly_impl },
4624   { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_acknowledgmentFilter_impl },
4625   { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_severityFilter_impl },
4626   { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_continueAfter2 },
4627   { 0, 0, 0, NULL }
4628 };
4629
4630 static int
4631 dissect_mms_GetAlarmSummary_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
4632   offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4633                                    GetAlarmSummary_Request_sequence, hf_index, ett_mms_GetAlarmSummary_Request);
4634
4635   return offset;
4636 }
4637 static int dissect_getAlarmSummary_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
4638   return dissect_mms_GetAlarmSummary_Request(TRUE, tvb, offset, pinfo, tree, hf_mms_getAlarmSummary);
4639 }
4640
4641
4642 static const value_string mms_T_acknowledgmentFilter1_vals[] = {
4643   {   0, "not-acked" },
4644   {   1, "acked" },
4645   {   2, "all" },
4646   { 0, NULL }
4647 };
4648
4649
4650 static int
4651 dissect_mms_T_acknowledgmentFilter1(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
4652   offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
4653                                   NULL);
4654
4655   return offset;
4656 }
4657 static int dissect_acknowledgmentFilter1_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
4658   return dissect_mms_T_acknowledgmentFilter1(TRUE, tvb, offset, pinfo, tree, hf_mms_acknowledgmentFilter1);
4659 }
4660
4661
4662 static const ber_sequence_t T_severityFilter1_sequence[] = {
4663   { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mostSevere_impl },
4664   { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_leastSevere_impl },
4665   { 0, 0, 0, NULL }
4666 };
4667
4668 static int
4669 dissect_mms_T_severityFilter1(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
4670   offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4671                                    T_severityFilter1_sequence, hf_index, ett_mms_T_severityFilter1);
4672
4673   return offset;
4674 }
4675 static int dissect_severityFilter1_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
4676   return dissect_mms_T_severityFilter1(TRUE, tvb, offset, pinfo, tree, hf_mms_severityFilter1);
4677 }
4678
4679
4680 static const ber_sequence_t GetAlarmEnrollmentSummary_Request_sequence[] = {
4681   { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_enrollmentsOnly_impl },
4682   { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_activeAlarmsOnly_impl },
4683   { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_acknowledgmentFilter1_impl },
4684   { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_severityFilter1_impl },
4685   { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_continueAfter2 },
4686   { 0, 0, 0, NULL }
4687 };
4688
4689 static int
4690 dissect_mms_GetAlarmEnrollmentSummary_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
4691   offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4692                                    GetAlarmEnrollmentSummary_Request_sequence, hf_index, ett_mms_GetAlarmEnrollmentSummary_Request);
4693
4694   return offset;
4695 }
4696 static int dissect_getAlarmEnrollmentSummary_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
4697   return dissect_mms_GetAlarmEnrollmentSummary_Request(TRUE, tvb, offset, pinfo, tree, hf_mms_getAlarmEnrollmentSummary);
4698 }
4699
4700
4701 static const value_string mms_T_rangeStartSpecification_vals[] = {
4702   {   0, "startingTime" },
4703   {   1, "startingEntry" },
4704   { 0, NULL }
4705 };
4706
4707 static const ber_choice_t T_rangeStartSpecification_choice[] = {
4708   {   0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_startingTime_impl },
4709   {   1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_startingEntry_impl },
4710   { 0, 0, 0, 0, NULL }
4711 };
4712
4713 static int
4714 dissect_mms_T_rangeStartSpecification(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
4715   offset = dissect_ber_choice(pinfo, tree, tvb, offset,
4716                                  T_rangeStartSpecification_choice, hf_index, ett_mms_T_rangeStartSpecification,
4717                                  NULL);
4718
4719   return offset;
4720 }
4721 static int dissect_rangeStartSpecification(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
4722   return dissect_mms_T_rangeStartSpecification(FALSE, tvb, offset, pinfo, tree, hf_mms_rangeStartSpecification);
4723 }
4724
4725
4726 static const value_string mms_T_rangeStopSpecification_vals[] = {
4727   {   0, "endingTime" },
4728   {   1, "numberOfEntries" },
4729   { 0, NULL }
4730 };
4731
4732 static const ber_choice_t T_rangeStopSpecification_choice[] = {
4733   {   0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_endingTime_impl },
4734   {   1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_numberOfEntries_impl },
4735   { 0, 0, 0, 0, NULL }
4736 };
4737
4738 static int
4739 dissect_mms_T_rangeStopSpecification(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
4740   offset = dissect_ber_choice(pinfo, tree, tvb, offset,
4741                                  T_rangeStopSpecification_choice, hf_index, ett_mms_T_rangeStopSpecification,
4742                                  NULL);
4743
4744   return offset;
4745 }
4746 static int dissect_rangeStopSpecification(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
4747   return dissect_mms_T_rangeStopSpecification(FALSE, tvb, offset, pinfo, tree, hf_mms_rangeStopSpecification);
4748 }
4749
4750
4751 static const ber_sequence_t T_listOfVariables_sequence_of[1] = {
4752   { BER_CLASS_UNI, BER_UNI_TAG_VisibleString, BER_FLAGS_NOOWNTAG, dissect_listOfVariables_item },
4753 };
4754
4755 static int
4756 dissect_mms_T_listOfVariables(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
4757   offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
4758                                       T_listOfVariables_sequence_of, hf_index, ett_mms_T_listOfVariables);
4759
4760   return offset;
4761 }
4762 static int dissect_listOfVariables_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
4763   return dissect_mms_T_listOfVariables(TRUE, tvb, offset, pinfo, tree, hf_mms_listOfVariables);
4764 }
4765
4766
4767 static const ber_sequence_t T_entryToStartAfter_sequence[] = {
4768   { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_timeSpecification_impl },
4769   { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_entrySpecification_impl },
4770   { 0, 0, 0, NULL }
4771 };
4772
4773 static int
4774 dissect_mms_T_entryToStartAfter(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
4775   offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4776                                    T_entryToStartAfter_sequence, hf_index, ett_mms_T_entryToStartAfter);
4777
4778   return offset;
4779 }
4780 static int dissect_entryToStartAfter_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
4781   return dissect_mms_T_entryToStartAfter(TRUE, tvb, offset, pinfo, tree, hf_mms_entryToStartAfter);
4782 }
4783
4784
4785 static const ber_sequence_t ReadJournal_Request_sequence[] = {
4786   { BER_CLASS_CON, 0, BER_FLAGS_NOTCHKTAG, dissect_journalName },
4787   { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_rangeStartSpecification },
4788   { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_rangeStopSpecification },
4789   { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_listOfVariables_impl },
4790   { BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_entryToStartAfter_impl },
4791   { 0, 0, 0, NULL }
4792 };
4793
4794 static int
4795 dissect_mms_ReadJournal_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
4796   offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4797                                    ReadJournal_Request_sequence, hf_index, ett_mms_ReadJournal_Request);
4798
4799   return offset;
4800 }
4801 static int dissect_readJournal_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
4802   return dissect_mms_ReadJournal_Request(TRUE, tvb, offset, pinfo, tree, hf_mms_readJournal);
4803 }
4804
4805
4806
4807 static int
4808 dissect_mms_JOU_Additional_Detail(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
4809   offset = dissect_ber_null(implicit_tag, pinfo, tree, tvb, offset, hf_index);
4810
4811   return offset;
4812 }
4813 static int dissect_additionalDetail(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
4814   return dissect_mms_JOU_Additional_Detail(FALSE, tvb, offset, pinfo, tree, hf_mms_additionalDetail);
4815 }
4816
4817
4818 static const ber_sequence_t T_event_sequence[] = {
4819   { BER_CLASS_CON, 0, BER_FLAGS_NOTCHKTAG, dissect_eventConditionName },
4820   { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_currentState_impl },
4821   { 0, 0, 0, NULL }
4822 };
4823
4824 static int
4825 dissect_mms_T_event(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
4826   offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4827                                    T_event_sequence, hf_index, ett_mms_T_event);
4828
4829   return offset;
4830 }
4831 static int dissect_event_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
4832   return dissect_mms_T_event(TRUE, tvb, offset, pinfo, tree, hf_mms_event);
4833 }
4834
4835
4836 static const ber_sequence_t T_listOfVariables_item_sequence[] = {
4837   { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_variableTag_impl },
4838   { BER_CLASS_CON, 1, BER_FLAGS_NOTCHKTAG, dissect_valueSpecification },
4839   { 0, 0, 0, NULL }
4840 };
4841
4842 static int
4843 dissect_mms_T_listOfVariables_item(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
4844   offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4845                                    T_listOfVariables_item_sequence, hf_index, ett_mms_T_listOfVariables_item);
4846
4847   return offset;
4848 }
4849 static int dissect_listOfVariables_item1(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
4850   return dissect_mms_T_listOfVariables_item(FALSE, tvb, offset, pinfo, tree, hf_mms_listOfVariables_item1);
4851 }
4852
4853
4854 static const ber_sequence_t T_listOfVariables1_sequence_of[1] = {
4855   { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_listOfVariables_item1 },
4856 };
4857
4858 static int
4859 dissect_mms_T_listOfVariables1(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
4860   offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
4861                                       T_listOfVariables1_sequence_of, hf_index, ett_mms_T_listOfVariables1);
4862
4863   return offset;
4864 }
4865 static int dissect_listOfVariables1_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
4866   return dissect_mms_T_listOfVariables1(TRUE, tvb, offset, pinfo, tree, hf_mms_listOfVariables1);
4867 }
4868
4869
4870 static const ber_sequence_t T_data_sequence[] = {
4871   { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_event_impl },
4872   { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_listOfVariables1_impl },
4873   { 0, 0, 0, NULL }
4874 };
4875
4876 static int
4877 dissect_mms_T_data(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
4878   offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4879                                    T_data_sequence, hf_index, ett_mms_T_data);
4880
4881   return offset;
4882 }
4883 static int dissect_data_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
4884   return dissect_mms_T_data(TRUE, tvb, offset, pinfo, tree, hf_mms_data);
4885 }
4886
4887
4888 static const value_string mms_T_entryForm_vals[] = {
4889   {   2, "data" },
4890   {   3, "annotation" },
4891   { 0, NULL }
4892 };
4893
4894 static const ber_choice_t T_entryForm_choice[] = {
4895   {   2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_data_impl },
4896   {   3, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_annotation_impl },
4897   { 0, 0, 0, 0, NULL }
4898 };
4899
4900 static int
4901 dissect_mms_T_entryForm(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
4902   offset = dissect_ber_choice(pinfo, tree, tvb, offset,
4903                                  T_entryForm_choice, hf_index, ett_mms_T_entryForm,
4904                                  NULL);
4905
4906   return offset;
4907 }
4908 static int dissect_entryForm(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
4909   return dissect_mms_T_entryForm(FALSE, tvb, offset, pinfo, tree, hf_mms_entryForm);
4910 }
4911
4912
4913 static const ber_sequence_t EntryContent_sequence[] = {
4914   { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_occurenceTime_impl },
4915   { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_additionalDetail },
4916   { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_entryForm },
4917   { 0, 0, 0, NULL }
4918 };
4919
4920 static int
4921 dissect_mms_EntryContent(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
4922   offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4923                                    EntryContent_sequence, hf_index, ett_mms_EntryContent);
4924
4925   return offset;
4926 }
4927 static int dissect_entryContent_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
4928   return dissect_mms_EntryContent(TRUE, tvb, offset, pinfo, tree, hf_mms_entryContent);
4929 }
4930 static int dissect_listOfJournalEntry_item1(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
4931   return dissect_mms_EntryContent(FALSE, tvb, offset, pinfo, tree, hf_mms_listOfJournalEntry_item1);
4932 }
4933
4934
4935 static const ber_sequence_t SEQUENCE_OF_EntryContent_sequence_of[1] = {
4936   { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_listOfJournalEntry_item1 },
4937 };
4938
4939 static int
4940 dissect_mms_SEQUENCE_OF_EntryContent(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
4941   offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
4942                                       SEQUENCE_OF_EntryContent_sequence_of, hf_index, ett_mms_SEQUENCE_OF_EntryContent);
4943
4944   return offset;
4945 }
4946 static int dissect_listOfJournalEntry1_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
4947   return dissect_mms_SEQUENCE_OF_EntryContent(TRUE, tvb, offset, pinfo, tree, hf_mms_listOfJournalEntry1);
4948 }
4949
4950
4951 static const ber_sequence_t WriteJournal_Request_sequence[] = {
4952   { BER_CLASS_CON, 0, BER_FLAGS_NOTCHKTAG, dissect_journalName },
4953   { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_listOfJournalEntry1_impl },
4954   { 0, 0, 0, NULL }
4955 };
4956
4957 static int
4958 dissect_mms_WriteJournal_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
4959   offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4960                                    WriteJournal_Request_sequence, hf_index, ett_mms_WriteJournal_Request);
4961
4962   return offset;
4963 }
4964 static int dissect_writeJournal_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
4965   return dissect_mms_WriteJournal_Request(TRUE, tvb, offset, pinfo, tree, hf_mms_writeJournal);
4966 }
4967
4968
4969 static const ber_sequence_t T_limitSpecification_sequence[] = {
4970   { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_limitingTime_impl },
4971   { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_limitingEntry_impl },
4972   { 0, 0, 0, NULL }
4973 };
4974
4975 static int
4976 dissect_mms_T_limitSpecification(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
4977   offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4978                                    T_limitSpecification_sequence, hf_index, ett_mms_T_limitSpecification);
4979
4980   return offset;
4981 }
4982 static int dissect_limitSpecification_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
4983   return dissect_mms_T_limitSpecification(TRUE, tvb, offset, pinfo, tree, hf_mms_limitSpecification);
4984 }
4985
4986
4987 static const ber_sequence_t InitializeJournal_Request_sequence[] = {
4988   { BER_CLASS_CON, 0, BER_FLAGS_NOTCHKTAG, dissect_journalName },
4989   { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_limitSpecification_impl },
4990   { 0, 0, 0, NULL }
4991 };
4992
4993 static int
4994 dissect_mms_InitializeJournal_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
4995   offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4996                                    InitializeJournal_Request_sequence, hf_index, ett_mms_InitializeJournal_Request);
4997
4998   return offset;
4999 }
5000 static int dissect_initializeJournal_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
5001   return dissect_mms_InitializeJournal_Request(TRUE, tvb, offset, pinfo, tree, hf_mms_initializeJournal);
5002 }
5003
5004
5005
5006 static int
5007 dissect_mms_ReportJournalStatus_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
5008   offset = dissect_mms_ObjectName(implicit_tag, tvb, offset, pinfo, tree, hf_index);
5009
5010   return offset;
5011 }
5012 static int dissect_reportJournalStatus_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
5013   return dissect_mms_ReportJournalStatus_Request(TRUE, tvb, offset, pinfo, tree, hf_mms_reportJournalStatus);
5014 }
5015
5016
5017 static const ber_sequence_t CreateJournal_Request_sequence[] = {
5018   { BER_CLASS_CON, 0, BER_FLAGS_NOTCHKTAG, dissect_journalName },
5019   { 0, 0, 0, NULL }
5020 };
5021
5022 static int
5023 dissect_mms_CreateJournal_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
5024   offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5025                                    CreateJournal_Request_sequence, hf_index, ett_mms_CreateJournal_Request);
5026
5027   return offset;
5028 }
5029 static int dissect_createJournal_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
5030   return dissect_mms_CreateJournal_Request(TRUE, tvb, offset, pinfo, tree, hf_mms_createJournal);
5031 }
5032
5033
5034 static const ber_sequence_t DeleteJournal_Request_sequence[] = {
5035   { BER_CLASS_CON, 0, BER_FLAGS_NOTCHKTAG, dissect_journalName },
5036   { 0, 0, 0, NULL }
5037 };
5038
5039 static int
5040 dissect_mms_DeleteJournal_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
5041   offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5042                                    DeleteJournal_Request_sequence, hf_index, ett_mms_DeleteJournal_Request);
5043
5044   return offset;
5045 }
5046 static int dissect_deleteJournal_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
5047   return dissect_mms_DeleteJournal_Request(TRUE, tvb, offset, pinfo, tree, hf_mms_deleteJournal);
5048 }
5049
5050
5051 static const ber_sequence_t GetCapabilityList_Request_sequence[] = {
5052   { BER_CLASS_UNI, BER_UNI_TAG_VisibleString, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_continueAfter1 },
5053   { 0, 0, 0, NULL }
5054 };
5055
5056 static int
5057 dissect_mms_GetCapabilityList_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
5058   offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5059                                    GetCapabilityList_Request_sequence, hf_index, ett_mms_GetCapabilityList_Request);
5060
5061   return offset;
5062 }
5063 static int dissect_getCapabilityList_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
5064   return dissect_mms_GetCapabilityList_Request(TRUE, tvb, offset, pinfo, tree, hf_mms_getCapabilityList);
5065 }
5066
5067
5068 static const ber_sequence_t FileOpen_Request_sequence[] = {
5069   { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_fileName_impl },
5070   { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_initialPosition_impl },
5071   { 0, 0, 0, NULL }
5072 };
5073
5074 static int
5075 dissect_mms_FileOpen_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
5076   offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5077                                    FileOpen_Request_sequence, hf_index, ett_mms_FileOpen_Request);
5078
5079   return offset;
5080 }
5081 static int dissect_fileOpen_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
5082   return dissect_mms_FileOpen_Request(TRUE, tvb, offset, pinfo, tree, hf_mms_fileOpen);
5083 }
5084
5085
5086
5087 static int
5088 dissect_mms_FileRead_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
5089   offset = dissect_mms_Integer32(implicit_tag, tvb, offset, pinfo, tree, hf_index);
5090
5091   return offset;
5092 }
5093 static int dissect_fileRead_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
5094   return dissect_mms_FileRead_Request(TRUE, tvb, offset, pinfo, tree, hf_mms_fileRead);
5095 }
5096
5097
5098
5099 static int
5100 dissect_mms_FileClose_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
5101   offset = dissect_mms_Integer32(implicit_tag, tvb, offset, pinfo, tree, hf_index);
5102
5103   return offset;
5104 }
5105 static int dissect_fileClose_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
5106   return dissect_mms_FileClose_Request(TRUE, tvb, offset, pinfo, tree, hf_mms_fileClose);
5107 }
5108
5109
5110 static const ber_sequence_t FileRename_Request_sequence[] = {
5111   { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_currentFileName_impl },
5112   { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_newFileName_impl },
5113   { 0, 0, 0, NULL }
5114 };
5115
5116 static int
5117 dissect_mms_FileRename_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
5118   offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5119                                    FileRename_Request_sequence, hf_index, ett_mms_FileRename_Request);
5120
5121   return offset;
5122 }
5123 static int dissect_fileRename_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
5124   return dissect_mms_FileRename_Request(TRUE, tvb, offset, pinfo, tree, hf_mms_fileRename);
5125 }
5126
5127
5128
5129 static int
5130 dissect_mms_FileDelete_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
5131   offset = dissect_mms_FileName(implicit_tag, tvb, offset, pinfo, tree, hf_index);
5132
5133   return offset;
5134 }
5135 static int dissect_fileDelete_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
5136   return dissect_mms_FileDelete_Request(TRUE, tvb, offset, pinfo, tree, hf_mms_fileDelete);
5137 }
5138
5139
5140 static const ber_sequence_t FileDirectory_Request_sequence[] = {
5141   { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_fileSpecification_impl },
5142   { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_continueAfter3_impl },
5143   { 0, 0, 0, NULL }
5144 };
5145
5146 static int
5147 dissect_mms_FileDirectory_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
5148   offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5149                                    FileDirectory_Request_sequence, hf_index, ett_mms_FileDirectory_Request);
5150
5151   return offset;
5152 }
5153 static int dissect_fileDirectory_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
5154   return dissect_mms_FileDirectory_Request(TRUE, tvb, offset, pinfo, tree, hf_mms_fileDirectory);
5155 }
5156
5157
5158 static const value_string mms_ConfirmedServiceRequest_vals[] = {
5159   {   0, "status" },
5160   {   1, "getNameList" },
5161   {   2, "identify" },
5162   {   3, "rename" },
5163   {   4, "read" },
5164   {   5, "write" },
5165   {   6, "getVariableAccessAttributes" },
5166   {   7, "defineNamedVariable" },
5167   {   8, "defineScatteredAccess" },
5168   {   9, "getScatteredAccessAttributes" },
5169   {  10, "deleteVariableAccess" },
5170   {  11, "defineNamedVariableList" },
5171   {  12, "getNamedVariableListAttributes" },
5172   {  13, "deleteNamedVariableList" },
5173   {  14, "defineNamedType" },
5174   {  15, "getNamedTypeAttributes" },
5175   {  16, "deleteNamedType" },
5176   {  17, "input" },
5177   {  18, "output" },
5178   {  19, "takeControl" },
5179   {  20, "relinquishControl" },
5180   {  21, "defineSemaphore" },
5181   {  22, "deleteSemaphore" },
5182   {  23, "reportSemaphoreStatus" },
5183   {  24, "reportPoolSemaphoreStatus" },
5184   {  25, "reportSemaphoreEntryStatus" },
5185   {  26, "initiateDownloadSequence" },
5186   {  27, "downloadSegment" },
5187   {  28, "terminateDownloadSequence" },
5188   {  29, "initiateUploadSequence" },
5189   {  30, "uploadSegment" },
5190   {  31, "terminateUploadSequence" },
5191   {  32, "requestDomainDownload" },
5192   {  33, "requestDomainUpload" },
5193   {  34, "loadDomainContent" },
5194   {  35, "storeDomainContent" },
5195   {  36, "deleteDomain" },
5196   {  37, "getDomainAttributes" },
5197   {  38, "createProgramInvocation" },
5198   {  39, "deleteProgramInvocation" },
5199   {  40, "start" },
5200   {  41, "stop" },
5201   {  42, "resume" },
5202   {  43, "reset" },
5203   {  44, "kill" },
5204   {  45, "getProgramInvocationAttributes" },
5205   {  46, "obtainFile" },
5206   {  47, "defineEventCondition" },
5207   {  48, "deleteEventCondition" },
5208   {  49, "getEventConditionAttributes" },
5209   {  50, "reportEventConditionStatus" },
5210   {  51, "alterEventConditionMonitoring" },
5211   {  52, "triggerEvent" },
5212   {  53, "defineEventAction" },
5213   {  54, "deleteEventAction" },
5214   {  55, "getEventActionAttributes" },
5215   {  56, "reportEventActionStatus" },
5216   {  57, "defineEventEnrollment" },
5217   {  58, "deleteEventEnrollment" },
5218   {  59, "alterEventEnrollment" },
5219   {  60, "reportEventEnrollmentStatus" },
5220   {  61, "getEventEnrollmentAttributes" },
5221   {  62, "acknowledgeEventNotification" },
5222   {  63, "getAlarmSummary" },
5223   {  64, "getAlarmEnrollmentSummary" },
5224   {  65, "readJournal" },
5225   {  66, "writeJournal" },
5226   {  67, "initializeJournal" },
5227   {  68, "reportJournalStatus" },
5228   {  69, "createJournal" },
5229   {  70, "deleteJournal" },
5230   {  71, "getCapabilityList" },
5231   {  72, "fileOpen" },
5232   {  73, "fileRead" },
5233   {  74, "fileClose" },
5234   {  75, "fileRename" },
5235   {  76, "fileDelete" },
5236   {  77, "fileDirectory" },
5237   { 0, NULL }
5238 };
5239
5240 static const ber_choice_t ConfirmedServiceRequest_choice[] = {
5241   {   0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_status_impl },
5242   {   1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_getNameList_impl },
5243   {   2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_identify_impl },
5244   {   3, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_rename_impl },
5245   {   4, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_read_impl },
5246   {   5, BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_write_impl },
5247   {   6, BER_CLASS_CON, 6, 0, dissect_getVariableAccessAttributes },
5248   {   7, BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_defineNamedVariable_impl },
5249   {   8, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_defineScatteredAccess_impl },
5250   {   9, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_getScatteredAccessAttributes_impl },
5251   {  10, BER_CLASS_CON, 10, BER_FLAGS_IMPLTAG, dissect_deleteVariableAccess_impl },
5252   {  11, BER_CLASS_CON, 11, BER_FLAGS_IMPLTAG, dissect_defineNamedVariableList_impl },
5253   {  12, BER_CLASS_CON, 12, BER_FLAGS_IMPLTAG, dissect_getNamedVariableListAttributes_impl },
5254   {  13, BER_CLASS_CON, 13, BER_FLAGS_IMPLTAG, dissect_deleteNamedVariableList_impl },
5255   {  14, BER_CLASS_CON, 14, BER_FLAGS_IMPLTAG, dissect_defineNamedType_impl },
5256   {  15, BER_CLASS_CON, 15, BER_FLAGS_IMPLTAG, dissect_getNamedTypeAttributes_impl },
5257   {  16, BER_CLASS_CON, 16, BER_FLAGS_IMPLTAG, dissect_deleteNamedType_impl },
5258   {  17, BER_CLASS_CON, 17, BER_FLAGS_IMPLTAG, dissect_input_impl },
5259   {  18, BER_CLASS_CON, 18, BER_FLAGS_IMPLTAG, dissect_output_impl },
5260   {  19, BER_CLASS_CON, 19, BER_FLAGS_IMPLTAG, dissect_takeControl_impl },
5261   {  20, BER_CLASS_CON, 20, BER_FLAGS_IMPLTAG, dissect_relinquishControl_impl },
5262   {  21, BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_defineSemaphore_impl },
5263   {  22, BER_CLASS_CON, 22, BER_FLAGS_IMPLTAG, dissect_deleteSemaphore_impl },
5264   {  23, BER_CLASS_CON, 23, BER_FLAGS_IMPLTAG, dissect_reportSemaphoreStatus_impl },
5265   {  24, BER_CLASS_CON, 24, BER_FLAGS_IMPLTAG, dissect_reportPoolSemaphoreStatus_impl },
5266   {  25, BER_CLASS_CON, 25, BER_FLAGS_IMPLTAG, dissect_reportSemaphoreEntryStatus_impl },
5267   {  26, BER_CLASS_CON, 26, BER_FLAGS_IMPLTAG, dissect_initiateDownloadSequence_impl },
5268   {  27, BER_CLASS_CON, 27, BER_FLAGS_IMPLTAG, dissect_downloadSegment_impl },
5269   {  28, BER_CLASS_CON, 28, BER_FLAGS_IMPLTAG, dissect_terminateDownloadSequence_impl },
5270   {  29, BER_CLASS_CON, 29, BER_FLAGS_IMPLTAG, dissect_initiateUploadSequence_impl },
5271   {  30, BER_CLASS_CON, 30, BER_FLAGS_IMPLTAG, dissect_uploadSegment_impl },
5272   {  31, BER_CLASS_CON, 31, BER_FLAGS_IMPLTAG, dissect_terminateUploadSequence_impl },
5273   {  32, BER_CLASS_CON, 32, BER_FLAGS_IMPLTAG, dissect_requestDomainDownload_impl },
5274   {  33, BER_CLASS_CON, 33, BER_FLAGS_IMPLTAG, dissect_requestDomainUpload_impl },
5275   {  34, BER_CLASS_CON, 34, BER_FLAGS_IMPLTAG, dissect_loadDomainContent_impl },
5276   {  35, BER_CLASS_CON, 35, BER_FLAGS_IMPLTAG, dissect_storeDomainContent_impl },
5277   {  36, BER_CLASS_CON, 36, BER_FLAGS_IMPLTAG, dissect_deleteDomain_impl },
5278   {  37, BER_CLASS_CON, 37, BER_FLAGS_IMPLTAG, dissect_getDomainAttributes_impl },
5279   {  38, BER_CLASS_CON, 38, BER_FLAGS_IMPLTAG, dissect_createProgramInvocation_impl },
5280   {  39, BER_CLASS_CON, 39, BER_FLAGS_IMPLTAG, dissect_deleteProgramInvocation_impl },
5281   {  40, BER_CLASS_CON, 40, BER_FLAGS_IMPLTAG, dissect_start_impl },
5282   {  41, BER_CLASS_CON, 41, BER_FLAGS_IMPLTAG, dissect_stop_impl },
5283   {  42, BER_CLASS_CON, 42, BER_FLAGS_IMPLTAG, dissect_resume_impl },
5284   {  43, BER_CLASS_CON, 43, BER_FLAGS_IMPLTAG, dissect_reset_impl },
5285   {  44, BER_CLASS_CON, 44, BER_FLAGS_IMPLTAG, dissect_kill_impl },
5286   {  45, BER_CLASS_CON, 45, BER_FLAGS_IMPLTAG, dissect_getProgramInvocationAttributes_impl },
5287   {  46, BER_CLASS_CON, 46, BER_FLAGS_IMPLTAG, dissect_obtainFile_impl },
5288   {  47, BER_CLASS_CON, 47, BER_FLAGS_IMPLTAG, dissect_defineEventCondition_impl },
5289   {  48, BER_CLASS_CON, 48, 0, dissect_deleteEventCondition },
5290   {  49, BER_CLASS_CON, 49, 0, dissect_getEventConditionAttributes },
5291   {  50, BER_CLASS_CON, 50, 0, dissect_reportEventConditionStatus },
5292   {  51, BER_CLASS_CON, 51, BER_FLAGS_IMPLTAG, dissect_alterEventConditionMonitoring_impl },
5293   {  52, BER_CLASS_CON, 52, BER_FLAGS_IMPLTAG, dissect_triggerEvent_impl },
5294   {  53, BER_CLASS_CON, 53, BER_FLAGS_IMPLTAG, dissect_defineEventAction_impl },
5295   {  54, BER_CLASS_CON, 54, 0, dissect_deleteEventAction },
5296   {  55, BER_CLASS_CON, 55, 0, dissect_getEventActionAttributes },
5297   {  56, BER_CLASS_CON, 56, 0, dissect_reportEventActionStatus },
5298   {  57, BER_CLASS_CON, 57, BER_FLAGS_IMPLTAG, dissect_defineEventEnrollment_impl },
5299   {  58, BER_CLASS_CON, 58, 0, dissect_deleteEventEnrollment },
5300   {  59, BER_CLASS_CON, 59, BER_FLAGS_IMPLTAG, dissect_alterEventEnrollment_impl },
5301   {  60, BER_CLASS_CON, 60, 0, dissect_reportEventEnrollmentStatus },
5302   {  61, BER_CLASS_CON, 61, BER_FLAGS_IMPLTAG, dissect_getEventEnrollmentAttributes_impl },
5303   {  62, BER_CLASS_CON, 62, BER_FLAGS_IMPLTAG, dissect_acknowledgeEventNotification_impl },
5304   {  63, BER_CLASS_CON, 63, BER_FLAGS_IMPLTAG, dissect_getAlarmSummary_impl },
5305   {  64, BER_CLASS_CON, 64, BER_FLAGS_IMPLTAG, dissect_getAlarmEnrollmentSummary_impl },
5306   {  65, BER_CLASS_CON, 65, BER_FLAGS_IMPLTAG, dissect_readJournal_impl },
5307   {  66, BER_CLASS_CON, 66, BER_FLAGS_IMPLTAG, dissect_writeJournal_impl },
5308   {  67, BER_CLASS_CON, 67, BER_FLAGS_IMPLTAG, dissect_initializeJournal_impl },
5309   {  68, BER_CLASS_CON, 68, BER_FLAGS_IMPLTAG, dissect_reportJournalStatus_impl },
5310   {  69, BER_CLASS_CON, 69, BER_FLAGS_IMPLTAG, dissect_createJournal_impl },
5311   {  70, BER_CLASS_CON, 70, BER_FLAGS_IMPLTAG, dissect_deleteJournal_impl },
5312   {  71, BER_CLASS_CON, 71, BER_FLAGS_IMPLTAG, dissect_getCapabilityList_impl },
5313   {  72, BER_CLASS_CON, 72, BER_FLAGS_IMPLTAG, dissect_fileOpen_impl },
5314   {  73, BER_CLASS_CON, 73, BER_FLAGS_IMPLTAG, dissect_fileRead_impl },
5315   {  74, BER_CLASS_CON, 74, BER_FLAGS_IMPLTAG, dissect_fileClose_impl },
5316   {  75, BER_CLASS_CON, 75, BER_FLAGS_IMPLTAG, dissect_fileRename_impl },
5317   {  76, BER_CLASS_CON, 76, BER_FLAGS_IMPLTAG, dissect_fileDelete_impl },
5318   {  77, BER_CLASS_CON, 77, BER_FLAGS_IMPLTAG, dissect_fileDirectory_impl },
5319   { 0, 0, 0, 0, NULL }
5320 };
5321
5322 static int
5323 dissect_mms_ConfirmedServiceRequest(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
5324   offset = dissect_ber_choice(pinfo, tree, tvb, offset,
5325                                  ConfirmedServiceRequest_choice, hf_index, ett_mms_ConfirmedServiceRequest,
5326                                  NULL);
5327
5328   return offset;
5329 }
5330 static int dissect_confirmedServiceRequest(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
5331   return dissect_mms_ConfirmedServiceRequest(FALSE, tvb, offset, pinfo, tree, hf_mms_confirmedServiceRequest);
5332 }
5333
5334
5335 static const value_string mms_CS_Request_Detail_vals[] = {
5336   {   0, "foo" },
5337   { 0, NULL }
5338 };
5339
5340 static const ber_choice_t CS_Request_Detail_choice[] = {
5341   {   0, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_foo },
5342   { 0, 0, 0, 0, NULL }
5343 };
5344
5345 static int
5346 dissect_mms_CS_Request_Detail(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
5347   offset = dissect_ber_choice(pinfo, tree, tvb, offset,
5348                                  CS_Request_Detail_choice, hf_index, ett_mms_CS_Request_Detail,
5349                                  NULL);
5350
5351   return offset;
5352 }
5353 static int dissect_cs_request_detail(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
5354   return dissect_mms_CS_Request_Detail(FALSE, tvb, offset, pinfo, tree, hf_mms_cs_request_detail);
5355 }
5356
5357
5358 static const ber_sequence_t Confirmed_RequestPDU_sequence[] = {
5359   { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_invokeID },
5360   { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_listOfModifier },
5361   { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_confirmedServiceRequest },
5362   { BER_CLASS_CON, 79, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_cs_request_detail },
5363   { 0, 0, 0, NULL }
5364 };
5365
5366 static int
5367 dissect_mms_Confirmed_RequestPDU(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
5368   offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5369                                    Confirmed_RequestPDU_sequence, hf_index, ett_mms_Confirmed_RequestPDU);
5370
5371   return offset;
5372 }
5373 static int dissect_confirmed_RequestPDU_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
5374   return dissect_mms_Confirmed_RequestPDU(TRUE, tvb, offset, pinfo, tree, hf_mms_confirmed_RequestPDU);
5375 }
5376
5377
5378 static const value_string mms_T_vmdLogicalStatus_vals[] = {
5379   {   0, "state-changes-allowed" },
5380   {   1, "no-state-changes-allowed" },
5381   {   2, "limited-services-allowed" },
5382   {   3, "support-services-allowed" },
5383   { 0, NULL }
5384 };
5385
5386
5387 static int
5388 dissect_mms_T_vmdLogicalStatus(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
5389   offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
5390                                   NULL);
5391
5392   return offset;
5393 }
5394 static int dissect_vmdLogicalStatus_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
5395   return dissect_mms_T_vmdLogicalStatus(TRUE, tvb, offset, pinfo, tree, hf_mms_vmdLogicalStatus);
5396 }
5397
5398
5399 static const value_string mms_T_vmdPhysicalStatus_vals[] = {
5400   {   0, "operational" },
5401   {   1, "partially-operational" },
5402   {   2, "inoperable" },
5403   {   3, "needs-commissioning" },
5404   { 0, NULL }
5405 };
5406
5407
5408 static int
5409 dissect_mms_T_vmdPhysicalStatus(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
5410   offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
5411                                   NULL);
5412
5413   return offset;
5414 }
5415 static int dissect_vmdPhysicalStatus_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
5416   return dissect_mms_T_vmdPhysicalStatus(TRUE, tvb, offset, pinfo, tree, hf_mms_vmdPhysicalStatus);
5417 }
5418
5419
5420
5421 static int
5422 dissect_mms_BIT_STRING_SIZE_0_128(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
5423   offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
5424                                     NULL, hf_index, -1,
5425                                     NULL);
5426
5427   return offset;
5428 }
5429 static int dissect_localDetail_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
5430   return dissect_mms_BIT_STRING_SIZE_0_128(TRUE, tvb, offset, pinfo, tree, hf_mms_localDetail);
5431 }
5432
5433
5434 static const ber_sequence_t Status_Response_sequence[] = {
5435   { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_vmdLogicalStatus_impl },
5436   { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_vmdPhysicalStatus_impl },
5437   { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_localDetail_impl },
5438   { 0, 0, 0, NULL }
5439 };
5440
5441 static int
5442 dissect_mms_Status_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
5443   offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5444                                    Status_Response_sequence, hf_index, ett_mms_Status_Response);
5445
5446   return offset;
5447 }
5448 static int dissect_status1_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
5449   return dissect_mms_Status_Response(TRUE, tvb, offset, pinfo, tree, hf_mms_status1);
5450 }
5451
5452
5453 static const ber_sequence_t GetNameList_Response_sequence[] = {
5454   { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_listOfIdentifier_impl },
5455   { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_moreFollows_impl },
5456   { 0, 0, 0, NULL }
5457 };
5458
5459 static int
5460 dissect_mms_GetNameList_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
5461   offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5462                                    GetNameList_Response_sequence, hf_index, ett_mms_GetNameList_Response);
5463
5464   return offset;
5465 }
5466 static int dissect_getNameList1_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
5467   return dissect_mms_GetNameList_Response(TRUE, tvb, offset, pinfo, tree, hf_mms_getNameList1);
5468 }
5469
5470
5471
5472 static int
5473 dissect_mms_OBJECT_IDENTIFIER(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
5474   offset = dissect_ber_object_identifier(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
5475
5476   return offset;
5477 }
5478 static int dissect_listOfAbstractSyntaxes_item(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
5479   return dissect_mms_OBJECT_IDENTIFIER(FALSE, tvb, offset, pinfo, tree, hf_mms_listOfAbstractSyntaxes_item);
5480 }
5481
5482
5483 static const ber_sequence_t T_listOfAbstractSyntaxes_sequence_of[1] = {
5484   { BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_listOfAbstractSyntaxes_item },
5485 };
5486
5487 static int
5488 dissect_mms_T_listOfAbstractSyntaxes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
5489   offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
5490                                       T_listOfAbstractSyntaxes_sequence_of, hf_index, ett_mms_T_listOfAbstractSyntaxes);
5491
5492   return offset;
5493 }
5494 static int dissect_listOfAbstractSyntaxes_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
5495   return dissect_mms_T_listOfAbstractSyntaxes(TRUE, tvb, offset, pinfo, tree, hf_mms_listOfAbstractSyntaxes);
5496 }
5497
5498
5499 static const ber_sequence_t Identify_Response_sequence[] = {
5500   { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_vendorName_impl },
5501   { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_modelName_impl },
5502   { BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_revision_impl },
5503   { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_listOfAbstractSyntaxes_impl },
5504   { 0, 0, 0, NULL }
5505 };
5506
5507 static int
5508 dissect_mms_Identify_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
5509   offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5510                                    Identify_Response_sequence, hf_index, ett_mms_Identify_Response);
5511
5512   return offset;
5513 }
5514 static int dissect_identify1_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
5515   return dissect_mms_Identify_Response(TRUE, tvb, offset, pinfo, tree, hf_mms_identify1);
5516 }
5517
5518
5519
5520 static int
5521 dissect_mms_Rename_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
5522   offset = dissect_ber_null(implicit_tag, pinfo, tree, tvb, offset, hf_index);
5523
5524   return offset;
5525 }
5526 static int dissect_rename1_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
5527   return dissect_mms_Rename_Response(TRUE, tvb, offset, pinfo, tree, hf_mms_rename1);
5528 }
5529
5530
5531 static const value_string mms_DataAccessError_vals[] = {
5532   {   0, "object-invalidated" },
5533   {   1, "hardware-fault" },
5534   {   2, "temporarily-unavailable" },
5535   {   3, "object-access-denied" },
5536   {   4, "object-undefined" },
5537   {   5, "invalid-address" },
5538   {   6, "type-unsupported" },
5539   {   7, "type-inconsistent" },
5540   {   8, "object-attribute-inconsistent" },
5541   {   9, "object-access-unsupported" },
5542   {  10, "object-non-existent" },
5543   { 0, NULL }
5544 };
5545
5546
5547 static int
5548 dissect_mms_DataAccessError(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
5549   offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
5550                                   NULL);
5551
5552   return offset;
5553 }
5554 static int dissect_failure_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
5555   return dissect_mms_DataAccessError(TRUE, tvb, offset, pinfo, tree, hf_mms_failure);
5556 }
5557
5558
5559 static const value_string mms_AccessResult_vals[] = {
5560   {   0, "failure" },
5561   {   1, "array" },
5562   {   2, "structure" },
5563   {   3, "boolean" },
5564   {   4, "bit-string" },
5565   {   5, "integer" },
5566   {   6, "unsigned" },
5567   {   7, "floating-point" },
5568   {   9, "octet-string" },
5569   {  10, "visible-string" },
5570   {  12, "binary-time" },
5571   {  13, "bcd" },
5572   {  14, "booleanArray" },
5573   { 0, NULL }
5574 };
5575
5576 static const ber_choice_t AccessResult_choice[] = {
5577   {   0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_failure_impl },
5578   {   1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_array1_impl },
5579   {   2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_structure1_impl },
5580   {   3, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_boolean1_impl },
5581   {   4, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_bit_string1_impl },
5582   {   5, BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_integer1_impl },
5583   {   6, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_unsigned1_impl },
5584   {   7, BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_floating_point_impl },
5585   {   9, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_octet_string1_impl },
5586   {  10, BER_CLASS_CON, 10, BER_FLAGS_IMPLTAG, dissect_visible_string1_impl },
5587   {  12, BER_CLASS_CON, 12, BER_FLAGS_IMPLTAG, dissect_binary_time1_impl },
5588   {  13, BER_CLASS_CON, 13, BER_FLAGS_IMPLTAG, dissect_bcd1_impl },
5589   {  14, BER_CLASS_CON, 14, BER_FLAGS_IMPLTAG, dissect_booleanArray_impl },
5590   { 0, 0, 0, 0, NULL }
5591 };
5592
5593 static int
5594 dissect_mms_AccessResult(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
5595   offset = dissect_ber_choice(pinfo, tree, tvb, offset,
5596                                  AccessResult_choice, hf_index, ett_mms_AccessResult,
5597                                  NULL);
5598
5599   return offset;
5600 }
5601 static int dissect_listOfAccessResult_item(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
5602   return dissect_mms_AccessResult(FALSE, tvb, offset, pinfo, tree, hf_mms_listOfAccessResult_item);
5603 }
5604
5605
5606 static const ber_sequence_t SEQUENCE_OF_AccessResult_sequence_of[1] = {
5607   { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_listOfAccessResult_item },
5608 };
5609
5610 static int
5611 dissect_mms_SEQUENCE_OF_AccessResult(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
5612   offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
5613                                       SEQUENCE_OF_AccessResult_sequence_of, hf_index, ett_mms_SEQUENCE_OF_AccessResult);
5614
5615   return offset;
5616 }
5617 static int dissect_listOfAccessResult_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
5618   return dissect_mms_SEQUENCE_OF_AccessResult(TRUE, tvb, offset, pinfo, tree, hf_mms_listOfAccessResult);
5619 }
5620
5621
5622 static const ber_sequence_t Read_Response_sequence[] = {
5623   { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_variableAccessSpecificatn },
5624   { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_listOfAccessResult_impl },
5625   { 0, 0, 0, NULL }
5626 };
5627
5628 static int
5629 dissect_mms_Read_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
5630   offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5631                                    Read_Response_sequence, hf_index, ett_mms_Read_Response);
5632
5633   return offset;
5634 }
5635 static int dissect_read1_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
5636   return dissect_mms_Read_Response(TRUE, tvb, offset, pinfo, tree, hf_mms_read1);
5637 }
5638
5639
5640 static const value_string mms_Write_Response_item_vals[] = {
5641   {   0, "failure" },
5642   {   1, "success" },
5643   { 0, NULL }
5644 };
5645
5646 static const ber_choice_t Write_Response_item_choice[] = {
5647   {   0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_failure_impl },
5648   {   1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_success_impl },
5649   { 0, 0, 0, 0, NULL }
5650 };
5651
5652 static int
5653 dissect_mms_Write_Response_item(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
5654   offset = dissect_ber_choice(pinfo, tree, tvb, offset,
5655                                  Write_Response_item_choice, hf_index, ett_mms_Write_Response_item,
5656                                  NULL);
5657
5658   return offset;
5659 }
5660 static int dissect_Write_Response_item(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
5661   return dissect_mms_Write_Response_item(FALSE, tvb, offset, pinfo, tree, hf_mms_Write_Response_item);
5662 }
5663
5664
5665 static const ber_sequence_t Write_Response_sequence_of[1] = {
5666   { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_Write_Response_item },
5667 };
5668
5669 static int
5670 dissect_mms_Write_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
5671   offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
5672                                       Write_Response_sequence_of, hf_index, ett_mms_Write_Response);
5673
5674   return offset;
5675 }
5676 static int dissect_write1_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
5677   return dissect_mms_Write_Response(TRUE, tvb, offset, pinfo, tree, hf_mms_write1);
5678 }
5679
5680
5681 static const ber_sequence_t GetVariableAccessAttributes_Response_sequence[] = {
5682   { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mmsDeletable_impl },
5683   { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_address },
5684   { BER_CLASS_CON, 2, BER_FLAGS_NOTCHKTAG, dissect_typeSpecification },
5685   { 0, 0, 0, NULL }
5686 };
5687
5688 static int
5689 dissect_mms_GetVariableAccessAttributes_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
5690   offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5691                                    GetVariableAccessAttributes_Response_sequence, hf_index, ett_mms_GetVariableAccessAttributes_Response);
5692
5693   return offset;
5694 }
5695 static int dissect_getVariableAccessAttributes1_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
5696   return dissect_mms_GetVariableAccessAttributes_Response(TRUE, tvb, offset, pinfo, tree, hf_mms_getVariableAccessAttributes1);
5697 }
5698
5699
5700
5701 static int
5702 dissect_mms_DefineNamedVariable_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
5703   offset = dissect_ber_null(implicit_tag, pinfo, tree, tvb, offset, hf_index);
5704
5705   return offset;
5706 }
5707 static int dissect_defineNamedVariable1_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
5708   return dissect_mms_DefineNamedVariable_Response(TRUE, tvb, offset, pinfo, tree, hf_mms_defineNamedVariable1);
5709 }
5710
5711
5712
5713 static int
5714 dissect_mms_DefineScatteredAccess_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
5715   offset = dissect_ber_null(implicit_tag, pinfo, tree, tvb, offset, hf_index);
5716
5717   return offset;
5718 }
5719 static int dissect_defineScatteredAccess1_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
5720   return dissect_mms_DefineScatteredAccess_Response(TRUE, tvb, offset, pinfo, tree, hf_mms_defineScatteredAccess1);
5721 }
5722
5723
5724 static const ber_sequence_t GetScatteredAccessAttributes_Response_sequence[] = {
5725   { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mmsDeletable_impl },
5726   { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_scatteredAccessDescription_impl },
5727   { 0, 0, 0, NULL }
5728 };
5729
5730 static int
5731 dissect_mms_GetScatteredAccessAttributes_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
5732   offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5733                                    GetScatteredAccessAttributes_Response_sequence, hf_index, ett_mms_GetScatteredAccessAttributes_Response);
5734
5735   return offset;
5736 }
5737 static int dissect_getScatteredAccessAttributes1_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
5738   return dissect_mms_GetScatteredAccessAttributes_Response(TRUE, tvb, offset, pinfo, tree, hf_mms_getScatteredAccessAttributes1);
5739 }
5740
5741
5742 static const ber_sequence_t DeleteVariableAccess_Response_sequence[] = {
5743   { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_numberMatched_impl },
5744   { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_numberDeleted_impl },
5745   { 0, 0, 0, NULL }
5746 };
5747
5748 static int
5749 dissect_mms_DeleteVariableAccess_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
5750   offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5751                                    DeleteVariableAccess_Response_sequence, hf_index, ett_mms_DeleteVariableAccess_Response);
5752
5753   return offset;
5754 }
5755 static int dissect_deleteVariableAccess1_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
5756   return dissect_mms_DeleteVariableAccess_Response(TRUE, tvb, offset, pinfo, tree, hf_mms_deleteVariableAccess1);
5757 }
5758
5759
5760
5761 static int
5762 dissect_mms_DefineNamedVariableList_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
5763   offset = dissect_ber_null(implicit_tag, pinfo, tree, tvb, offset, hf_index);
5764
5765   return offset;
5766 }
5767 static int dissect_defineNamedVariableList1_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
5768   return dissect_mms_DefineNamedVariableList_Response(TRUE, tvb, offset, pinfo, tree, hf_mms_defineNamedVariableList1);
5769 }
5770
5771
5772 static const ber_sequence_t T_listOfVariable_item1_sequence[] = {
5773   { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_variableSpecification },
5774   { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_alternateAccess_impl },
5775   { 0, 0, 0, NULL }
5776 };
5777
5778 static int
5779 dissect_mms_T_listOfVariable_item1(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
5780   offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5781                                    T_listOfVariable_item1_sequence, hf_index, ett_mms_T_listOfVariable_item1);
5782
5783   return offset;
5784 }
5785 static int dissect_listOfVariable_item1(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
5786   return dissect_mms_T_listOfVariable_item1(FALSE, tvb, offset, pinfo, tree, hf_mms_listOfVariable_item1);
5787 }
5788
5789
5790 static const ber_sequence_t T_listOfVariable1_sequence_of[1] = {
5791   { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_listOfVariable_item1 },
5792 };
5793
5794 static int
5795 dissect_mms_T_listOfVariable1(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
5796   offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
5797                                       T_listOfVariable1_sequence_of, hf_index, ett_mms_T_listOfVariable1);
5798
5799   return offset;
5800 }
5801 static int dissect_listOfVariable1_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
5802   return dissect_mms_T_listOfVariable1(TRUE, tvb, offset, pinfo, tree, hf_mms_listOfVariable1);
5803 }
5804
5805
5806 static const ber_sequence_t GetNamedVariableListAttributes_Response_sequence[] = {
5807   { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mmsDeletable_impl },
5808   { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_listOfVariable1_impl },
5809   { 0, 0, 0, NULL }
5810 };
5811
5812 static int
5813 dissect_mms_GetNamedVariableListAttributes_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
5814   offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5815                                    GetNamedVariableListAttributes_Response_sequence, hf_index, ett_mms_GetNamedVariableListAttributes_Response);
5816
5817   return offset;
5818 }
5819 static int dissect_getNamedVariableListAttributes1_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
5820   return dissect_mms_GetNamedVariableListAttributes_Response(TRUE, tvb, offset, pinfo, tree, hf_mms_getNamedVariableListAttributes1);
5821 }
5822
5823
5824 static const ber_sequence_t DeleteNamedVariableList_Response_sequence[] = {
5825   { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_numberMatched_impl },
5826   { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_numberDeleted_impl },
5827   { 0, 0, 0, NULL }
5828 };
5829
5830 static int
5831 dissect_mms_DeleteNamedVariableList_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
5832   offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5833                                    DeleteNamedVariableList_Response_sequence, hf_index, ett_mms_DeleteNamedVariableList_Response);
5834
5835   return offset;
5836 }
5837 static int dissect_deleteNamedVariableList1_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
5838   return dissect_mms_DeleteNamedVariableList_Response(TRUE, tvb, offset, pinfo, tree, hf_mms_deleteNamedVariableList1);
5839 }
5840
5841
5842
5843 static int
5844 dissect_mms_DefineNamedType_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
5845   offset = dissect_ber_null(implicit_tag, pinfo, tree, tvb, offset, hf_index);
5846
5847   return offset;
5848 }
5849 static int dissect_defineNamedType1_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
5850   return dissect_mms_DefineNamedType_Response(TRUE, tvb, offset, pinfo, tree, hf_mms_defineNamedType1);
5851 }
5852
5853
5854 static const ber_sequence_t GetNamedTypeAttributes_Response_sequence[] = {
5855   { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mmsDeletable_impl },
5856   { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_typeSpecification },
5857   { 0, 0, 0, NULL }
5858 };
5859
5860 static int
5861 dissect_mms_GetNamedTypeAttributes_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
5862   offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5863                                    GetNamedTypeAttributes_Response_sequence, hf_index, ett_mms_GetNamedTypeAttributes_Response);
5864
5865   return offset;
5866 }
5867 static int dissect_getNamedTypeAttributes1_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
5868   return dissect_mms_GetNamedTypeAttributes_Response(TRUE, tvb, offset, pinfo, tree, hf_mms_getNamedTypeAttributes1);
5869 }
5870
5871
5872 static const ber_sequence_t DeleteNamedType_Response_sequence[] = {
5873   { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_numberMatched_impl },
5874   { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_numberDeleted_impl },
5875   { 0, 0, 0, NULL }
5876 };
5877
5878 static int
5879 dissect_mms_DeleteNamedType_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
5880   offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5881                                    DeleteNamedType_Response_sequence, hf_index, ett_mms_DeleteNamedType_Response);
5882
5883   return offset;
5884 }
5885 static int dissect_deleteNamedType1_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
5886   return dissect_mms_DeleteNamedType_Response(TRUE, tvb, offset, pinfo, tree, hf_mms_deleteNamedType1);
5887 }
5888
5889
5890
5891 static int
5892 dissect_mms_Input_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
5893   offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_VisibleString,
5894                                             pinfo, tree, tvb, offset, hf_index,
5895                                             NULL);
5896
5897   return offset;
5898 }
5899 static int dissect_input1_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
5900   return dissect_mms_Input_Response(TRUE, tvb, offset, pinfo, tree, hf_mms_input1);
5901 }
5902
5903
5904
5905 static int
5906 dissect_mms_Output_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
5907   offset = dissect_ber_null(implicit_tag, pinfo, tree, tvb, offset, hf_index);
5908
5909   return offset;
5910 }
5911 static int dissect_output1_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
5912   return dissect_mms_Output_Response(TRUE, tvb, offset, pinfo, tree, hf_mms_output1);
5913 }
5914
5915
5916 static const value_string mms_TakeControl_Response_vals[] = {
5917   {   0, "noResult" },
5918   {   1, "namedToken" },
5919   { 0, NULL }
5920 };
5921
5922 static const ber_choice_t TakeControl_Response_choice[] = {
5923   {   0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_noResult_impl },
5924   {   1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_namedToken_impl },
5925   { 0, 0, 0, 0, NULL }
5926 };
5927
5928 static int
5929 dissect_mms_TakeControl_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
5930   offset = dissect_ber_choice(pinfo, tree, tvb, offset,
5931                                  TakeControl_Response_choice, hf_index, ett_mms_TakeControl_Response,
5932                                  NULL);
5933
5934   return offset;
5935 }
5936 static int dissect_takeControl1(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
5937   return dissect_mms_TakeControl_Response(FALSE, tvb, offset, pinfo, tree, hf_mms_takeControl1);
5938 }
5939
5940
5941
5942 static int
5943 dissect_mms_RelinquishControl_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
5944   offset = dissect_ber_null(implicit_tag, pinfo, tree, tvb, offset, hf_index);
5945
5946   return offset;
5947 }
5948 static int dissect_relinquishControl1_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
5949   return dissect_mms_RelinquishControl_Response(TRUE, tvb, offset, pinfo, tree, hf_mms_relinquishControl1);
5950 }
5951
5952
5953
5954 static int
5955 dissect_mms_DefineSemaphore_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
5956   offset = dissect_ber_null(implicit_tag, pinfo, tree, tvb, offset, hf_index);
5957
5958   return offset;
5959 }
5960 static int dissect_defineSemaphore1_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
5961   return dissect_mms_DefineSemaphore_Response(TRUE, tvb, offset, pinfo, tree, hf_mms_defineSemaphore1);
5962 }
5963
5964
5965
5966 static int
5967 dissect_mms_DeleteSemaphore_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
5968   offset = dissect_ber_null(implicit_tag, pinfo, tree, tvb, offset, hf_index);
5969
5970   return offset;
5971 }
5972 static int dissect_deleteSemaphore1_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
5973   return dissect_mms_DeleteSemaphore_Response(TRUE, tvb, offset, pinfo, tree, hf_mms_deleteSemaphore1);
5974 }
5975
5976
5977 static const value_string mms_T_class_vals[] = {
5978   {   0, "token" },
5979   {   1, "pool" },
5980   { 0, NULL }
5981 };
5982
5983
5984 static int
5985 dissect_mms_T_class(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
5986   offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
5987                                   NULL);
5988
5989   return offset;
5990 }
5991 static int dissect_class_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
5992   return dissect_mms_T_class(TRUE, tvb, offset, pinfo, tree, hf_mms_class);
5993 }
5994
5995
5996 static const ber_sequence_t ReportSemaphoreStatus_Response_sequence[] = {
5997   { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mmsDeletable_impl },
5998   { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_class_impl },
5999   { BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_numberOfTokens_impl },
6000   { BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_numberOfOwnedTokens_impl },
6001   { BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_numberOfHungTokens_impl },
6002   { 0, 0, 0, NULL }
6003 };
6004
6005 static int
6006 dissect_mms_ReportSemaphoreStatus_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
6007   offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6008                                    ReportSemaphoreStatus_Response_sequence, hf_index, ett_mms_ReportSemaphoreStatus_Response);
6009
6010   return offset;
6011 }
6012 static int dissect_reportSemaphoreStatus1_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
6013   return dissect_mms_ReportSemaphoreStatus_Response(TRUE, tvb, offset, pinfo, tree, hf_mms_reportSemaphoreStatus1);
6014 }
6015
6016
6017 static const value_string mms_T_listOfNamedTokens_item_vals[] = {
6018   {   0, "freeNamedToken" },
6019   {   1, "ownedNamedToken" },
6020   {   2, "hungNamedToken" },
6021   { 0, NULL }
6022 };
6023
6024 static const ber_choice_t T_listOfNamedTokens_item_choice[] = {
6025   {   0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_freeNamedToken_impl },
6026   {   1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ownedNamedToken_impl },
6027   {   2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_hungNamedToken_impl },
6028   { 0, 0, 0, 0, NULL }
6029 };
6030
6031 static int
6032 dissect_mms_T_listOfNamedTokens_item(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
6033   offset = dissect_ber_choice(pinfo, tree, tvb, offset,
6034                                  T_listOfNamedTokens_item_choice, hf_index, ett_mms_T_listOfNamedTokens_item,
6035                                  NULL);
6036
6037   return offset;
6038 }
6039 static int dissect_listOfNamedTokens_item(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
6040   return dissect_mms_T_listOfNamedTokens_item(FALSE, tvb, offset, pinfo, tree, hf_mms_listOfNamedTokens_item);
6041 }
6042
6043
6044 static const ber_sequence_t T_listOfNamedTokens_sequence_of[1] = {
6045   { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_listOfNamedTokens_item },
6046 };
6047
6048 static int
6049 dissect_mms_T_listOfNamedTokens(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
6050   offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
6051                                       T_listOfNamedTokens_sequence_of, hf_index, ett_mms_T_listOfNamedTokens);
6052
6053   return offset;
6054 }
6055 static int dissect_listOfNamedTokens_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
6056   return dissect_mms_T_listOfNamedTokens(TRUE, tvb, offset, pinfo, tree, hf_mms_listOfNamedTokens);
6057 }
6058
6059
6060 static const ber_sequence_t ReportPoolSemaphoreStatus_Response_sequence[] = {
6061   { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_listOfNamedTokens_impl },
6062   { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_moreFollows_impl },
6063   { 0, 0, 0, NULL }
6064 };
6065
6066 static int
6067 dissect_mms_ReportPoolSemaphoreStatus_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
6068   offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6069                                    ReportPoolSemaphoreStatus_Response_sequence, hf_index, ett_mms_ReportPoolSemaphoreStatus_Response);
6070
6071   return offset;
6072 }
6073 static int dissect_reportPoolSemaphoreStatus1_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
6074   return dissect_mms_ReportPoolSemaphoreStatus_Response(TRUE, tvb, offset, pinfo, tree, hf_mms_reportPoolSemaphoreStatus1);
6075 }
6076
6077
6078 static const value_string mms_T_entryClass_vals[] = {
6079   {   0, "simple" },
6080   {   1, "modifier" },
6081   { 0, NULL }
6082 };
6083
6084
6085 static int
6086 dissect_mms_T_entryClass(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
6087   offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
6088                                   NULL);
6089
6090   return offset;
6091 }
6092 static int dissect_entryClass_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
6093   return dissect_mms_T_entryClass(TRUE, tvb, offset, pinfo, tree, hf_mms_entryClass);
6094 }
6095
6096
6097 static const ber_sequence_t SemaphoreEntry_sequence[] = {
6098   { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_entryId_impl },
6099   { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_entryClass_impl },
6100   { BER_CLASS_CON, 2, 0, dissect_applicationReference },
6101   { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_namedToken_impl },
6102   { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_priority_impl },
6103   { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_remainingTimeOut_impl },
6104   { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_abortOnTimeOut_impl },
6105   { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_relinquishIfConnectionLost_impl },
6106   { 0, 0, 0, NULL }
6107 };
6108
6109 static int
6110 dissect_mms_SemaphoreEntry(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
6111   offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6112                                    SemaphoreEntry_sequence, hf_index, ett_mms_SemaphoreEntry);
6113
6114   return offset;
6115 }
6116 static int dissect_listOfSemaphoreEntry_item(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
6117   return dissect_mms_SemaphoreEntry(FALSE, tvb, offset, pinfo, tree, hf_mms_listOfSemaphoreEntry_item);
6118 }
6119
6120
6121 static const ber_sequence_t SEQUENCE_OF_SemaphoreEntry_sequence_of[1] = {
6122   { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_listOfSemaphoreEntry_item },
6123 };
6124
6125 static int
6126 dissect_mms_SEQUENCE_OF_SemaphoreEntry(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
6127   offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
6128                                       SEQUENCE_OF_SemaphoreEntry_sequence_of, hf_index, ett_mms_SEQUENCE_OF_SemaphoreEntry);
6129
6130   return offset;
6131 }
6132 static int dissect_listOfSemaphoreEntry_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
6133   return dissect_mms_SEQUENCE_OF_SemaphoreEntry(TRUE, tvb, offset, pinfo, tree, hf_mms_listOfSemaphoreEntry);
6134 }
6135
6136
6137 static const ber_sequence_t ReportSemaphoreEntryStatus_Response_sequence[] = {
6138   { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_listOfSemaphoreEntry_impl },
6139   { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_moreFollows_impl },
6140   { 0, 0, 0, NULL }
6141 };
6142
6143 static int
6144 dissect_mms_ReportSemaphoreEntryStatus_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
6145   offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6146                                    ReportSemaphoreEntryStatus_Response_sequence, hf_index, ett_mms_ReportSemaphoreEntryStatus_Response);
6147
6148   return offset;
6149 }
6150 static int dissect_reportSemaphoreEntryStatus1_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
6151   return dissect_mms_ReportSemaphoreEntryStatus_Response(TRUE, tvb, offset, pinfo, tree, hf_mms_reportSemaphoreEntryStatus1);
6152 }
6153
6154
6155
6156 static int
6157 dissect_mms_InitiateDownloadSequence_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
6158   offset = dissect_ber_null(implicit_tag, pinfo, tree, tvb, offset, hf_index);
6159
6160   return offset;
6161 }
6162 static int dissect_initiateDownloadSequence1_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
6163   return dissect_mms_InitiateDownloadSequence_Response(TRUE, tvb, offset, pinfo, tree, hf_mms_initiateDownloadSequence1);
6164 }
6165
6166
6167 static const value_string mms_T_loadData_vals[] = {
6168   {   0, "non-coded" },
6169   {   1, "coded" },
6170   { 0, NULL }
6171 };
6172
6173 static const ber_choice_t T_loadData_choice[] = {
6174   {   0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_non_coded_impl },
6175   {   1, BER_CLASS_UNI, 8, BER_FLAGS_NOOWNTAG, dissect_coded },
6176   { 0, 0, 0, 0, NULL }
6177 };
6178
6179 static int
6180 dissect_mms_T_loadData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
6181   offset = dissect_ber_choice(pinfo, tree, tvb, offset,
6182                                  T_loadData_choice, hf_index, ett_mms_T_loadData,
6183                                  NULL);
6184
6185   return offset;
6186 }
6187 static int dissect_loadData(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
6188   return dissect_mms_T_loadData(FALSE, tvb, offset, pinfo, tree, hf_mms_loadData);
6189 }
6190
6191
6192 static const ber_sequence_t DownloadSegment_Response_sequence[] = {
6193   { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_loadData },
6194   { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_moreFollows_impl },
6195   { 0, 0, 0, NULL }
6196 };
6197
6198 static int
6199 dissect_mms_DownloadSegment_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
6200   offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6201                                    DownloadSegment_Response_sequence, hf_index, ett_mms_DownloadSegment_Response);
6202
6203   return offset;
6204 }
6205 static int dissect_downloadSegment1_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
6206   return dissect_mms_DownloadSegment_Response(TRUE, tvb, offset, pinfo, tree, hf_mms_downloadSegment1);
6207 }
6208
6209
6210
6211 static int
6212 dissect_mms_TerminateDownloadSequence_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
6213   offset = dissect_ber_null(implicit_tag, pinfo, tree, tvb, offset, hf_index);
6214
6215   return offset;
6216 }
6217 static int dissect_terminateDownloadSequence1_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
6218   return dissect_mms_TerminateDownloadSequence_Response(TRUE, tvb, offset, pinfo, tree, hf_mms_terminateDownloadSequence1);
6219 }
6220
6221
6222 static const ber_sequence_t T_listOfCapabilities2_sequence_of[1] = {
6223   { BER_CLASS_UNI, BER_UNI_TAG_VisibleString, BER_FLAGS_NOOWNTAG, dissect_listOfCapabilities_item },
6224 };
6225
6226 static int
6227 dissect_mms_T_listOfCapabilities2(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
6228   offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
6229                                       T_listOfCapabilities2_sequence_of, hf_index, ett_mms_T_listOfCapabilities2);
6230
6231   return offset;
6232 }
6233 static int dissect_listOfCapabilities2_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
6234   return dissect_mms_T_listOfCapabilities2(TRUE, tvb, offset, pinfo, tree, hf_mms_listOfCapabilities2);
6235 }
6236
6237
6238 static const ber_sequence_t InitiateUploadSequence_Response_sequence[] = {
6239   { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ulsmID_impl },
6240   { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_listOfCapabilities2_impl },
6241   { 0, 0, 0, NULL }
6242 };
6243
6244 static int
6245 dissect_mms_InitiateUploadSequence_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
6246   offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6247                                    InitiateUploadSequence_Response_sequence, hf_index, ett_mms_InitiateUploadSequence_Response);
6248
6249   return offset;
6250 }
6251 static int dissect_initiateUploadSequence1_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
6252   return dissect_mms_InitiateUploadSequence_Response(TRUE, tvb, offset, pinfo, tree, hf_mms_initiateUploadSequence1);
6253 }
6254
6255
6256 static const value_string mms_T_loadData1_vals[] = {
6257   {   0, "non-coded" },
6258   {   1, "coded" },
6259   { 0, NULL }
6260 };
6261
6262 static const ber_choice_t T_loadData1_choice[] = {
6263   {   0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_non_coded_impl },
6264   {   1, BER_CLASS_UNI, 8, BER_FLAGS_NOOWNTAG, dissect_coded },
6265   { 0, 0, 0, 0, NULL }
6266 };
6267
6268 static int
6269 dissect_mms_T_loadData1(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
6270   offset = dissect_ber_choice(pinfo, tree, tvb, offset,
6271                                  T_loadData1_choice, hf_index, ett_mms_T_loadData1,
6272                                  NULL);
6273
6274   return offset;
6275 }
6276 static int dissect_loadData1(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
6277   return dissect_mms_T_loadData1(FALSE, tvb, offset, pinfo, tree, hf_mms_loadData1);
6278 }
6279
6280
6281 static const ber_sequence_t UploadSegment_Response_sequence[] = {
6282   { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_loadData1 },
6283   { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_moreFollows_impl },
6284   { 0, 0, 0, NULL }
6285 };
6286
6287 static int
6288 dissect_mms_UploadSegment_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
6289   offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6290                                    UploadSegment_Response_sequence, hf_index, ett_mms_UploadSegment_Response);
6291
6292   return offset;
6293 }
6294 static int dissect_uploadSegment1_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
6295   return dissect_mms_UploadSegment_Response(TRUE, tvb, offset, pinfo, tree, hf_mms_uploadSegment1);
6296 }
6297
6298
6299
6300 static int
6301 dissect_mms_TerminateUploadSequence_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
6302   offset = dissect_ber_null(implicit_tag, pinfo, tree, tvb, offset, hf_index);
6303
6304   return offset;
6305 }
6306 static int dissect_terminateUploadSequence1_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
6307   return dissect_mms_TerminateUploadSequence_Response(TRUE, tvb, offset, pinfo, tree, hf_mms_terminateUploadSequence1);
6308 }
6309
6310
6311
6312 static int
6313 dissect_mms_RequestDomainDownload_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
6314   offset = dissect_ber_null(implicit_tag, pinfo, tree, tvb, offset, hf_index);
6315
6316   return offset;
6317 }
6318 static int dissect_requestDomainDownLoad_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
6319   return dissect_mms_RequestDomainDownload_Response(TRUE, tvb, offset, pinfo, tree, hf_mms_requestDomainDownLoad);
6320 }
6321
6322
6323
6324 static int
6325 dissect_mms_RequestDomainUpload_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
6326   offset = dissect_ber_null(implicit_tag, pinfo, tree, tvb, offset, hf_index);
6327
6328   return offset;
6329 }
6330 static int dissect_requestDomainUpload1_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
6331   return dissect_mms_RequestDomainUpload_Response(TRUE, tvb, offset, pinfo, tree, hf_mms_requestDomainUpload1);
6332 }
6333
6334
6335
6336 static int
6337 dissect_mms_LoadDomainContent_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
6338   offset = dissect_ber_null(implicit_tag, pinfo, tree, tvb, offset, hf_index);
6339
6340   return offset;
6341 }
6342 static int dissect_loadDomainContent1_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
6343   return dissect_mms_LoadDomainContent_Response(TRUE, tvb, offset, pinfo, tree, hf_mms_loadDomainContent1);
6344 }
6345
6346
6347
6348 static int
6349 dissect_mms_StoreDomainContent_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
6350   offset = dissect_ber_null(implicit_tag, pinfo, tree, tvb, offset, hf_index);
6351
6352   return offset;
6353 }
6354 static int dissect_storeDomainContent1_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
6355   return dissect_mms_StoreDomainContent_Response(TRUE, tvb, offset, pinfo, tree, hf_mms_storeDomainContent1);
6356 }
6357
6358
6359
6360 static int
6361 dissect_mms_DeleteDomain_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
6362   offset = dissect_ber_null(implicit_tag, pinfo, tree, tvb, offset, hf_index);
6363
6364   return offset;
6365 }
6366 static int dissect_deleteDomain1_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
6367   return dissect_mms_DeleteDomain_Response(TRUE, tvb, offset, pinfo, tree, hf_mms_deleteDomain1);
6368 }
6369
6370
6371 static const ber_sequence_t T_listOfCapabilities5_sequence_of[1] = {
6372   { BER_CLASS_UNI, BER_UNI_TAG_VisibleString, BER_FLAGS_NOOWNTAG, dissect_listOfCapabilities_item },
6373 };
6374
6375 static int
6376 dissect_mms_T_listOfCapabilities5(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
6377   offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
6378                                       T_listOfCapabilities5_sequence_of, hf_index, ett_mms_T_listOfCapabilities5);
6379
6380   return offset;
6381 }
6382 static int dissect_listOfCapabilities5_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
6383   return dissect_mms_T_listOfCapabilities5(TRUE, tvb, offset, pinfo, tree, hf_mms_listOfCapabilities5);
6384 }
6385
6386
6387 static const value_string mms_DomainState_vals[] = {
6388   {   0, "non-existent" },
6389   {   1, "loading" },
6390   {   2, "ready" },
6391   {   3, "in-use" },
6392   {   4, "complete" },
6393   {   5, "incomplete" },
6394   {   7, "d1" },
6395   {   8, "d2" },
6396   {   9, "d3" },
6397   {  10, "d4" },
6398   {  11, "d5" },
6399   {  12, "d6" },
6400   {  13, "d7" },
6401   {  14, "d8" },
6402   {  15, "d9" },
6403   { 0, NULL }
6404 };
6405
6406
6407 static int
6408 dissect_mms_DomainState(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
6409   offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
6410                                   NULL);
6411
6412   return offset;
6413 }
6414 static int dissect_state_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
6415   return dissect_mms_DomainState(TRUE, tvb, offset, pinfo, tree, hf_mms_state);
6416 }
6417
6418
6419
6420 static int
6421 dissect_mms_Integer8(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
6422   offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
6423                                   NULL);
6424
6425   return offset;
6426 }
6427 static int dissect_proposedDataStructureNestingLevel_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
6428   return dissect_mms_Integer8(TRUE, tvb, offset, pinfo, tree, hf_mms_proposedDataStructureNestingLevel);
6429 }
6430 static int dissect_negociatedDataStructureNestingLevel_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
6431   return dissect_mms_Integer8(TRUE, tvb, offset, pinfo, tree, hf_mms_negociatedDataStructureNestingLevel);
6432 }
6433 static int dissect_uploadInProgress_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
6434   return dissect_mms_Integer8(TRUE, tvb, offset, pinfo, tree, hf_mms_uploadInProgress);
6435 }
6436
6437
6438 static const ber_sequence_t GetDomainAttributes_Response_sequence[] = {
6439   { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_listOfCapabilities5_impl },
6440   { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_state_impl },
6441   { BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_mmsDeletable_impl },
6442   { BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_sharable_impl },
6443   { BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_listOfProgramInvocations_impl },
6444   { BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_uploadInProgress_impl },
6445   { 0, 0, 0, NULL }
6446 };
6447
6448 static int
6449 dissect_mms_GetDomainAttributes_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
6450   offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6451                                    GetDomainAttributes_Response_sequence, hf_index, ett_mms_GetDomainAttributes_Response);
6452
6453   return offset;
6454 }
6455 static int dissect_getDomainAttributes1_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
6456   return dissect_mms_GetDomainAttributes_Response(TRUE, tvb, offset, pinfo, tree, hf_mms_getDomainAttributes1);
6457 }
6458
6459
6460
6461 static int
6462 dissect_mms_CreateProgramInvocation_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
6463   offset = dissect_ber_null(implicit_tag, pinfo, tree, tvb, offset, hf_index);
6464
6465   return offset;
6466 }
6467 static int dissect_createProgramInvocation1_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
6468   return dissect_mms_CreateProgramInvocation_Response(TRUE, tvb, offset, pinfo, tree, hf_mms_createProgramInvocation1);
6469 }
6470
6471
6472
6473 static int
6474 dissect_mms_DeleteProgramInvocation_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
6475   offset = dissect_ber_null(implicit_tag, pinfo, tree, tvb, offset, hf_index);
6476
6477   return offset;
6478 }
6479 static int dissect_deleteProgramInvocation1_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
6480   return dissect_mms_DeleteProgramInvocation_Response(TRUE, tvb, offset, pinfo, tree, hf_mms_deleteProgramInvocation1);
6481 }
6482
6483
6484
6485 static int
6486 dissect_mms_Start_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
6487   offset = dissect_ber_null(implicit_tag, pinfo, tree, tvb, offset, hf_index);
6488
6489   return offset;
6490 }
6491 static int dissect_start1_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
6492   return dissect_mms_Start_Response(TRUE, tvb, offset, pinfo, tree, hf_mms_start1);
6493 }
6494
6495
6496
6497 static int
6498 dissect_mms_Stop_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
6499   offset = dissect_ber_null(implicit_tag, pinfo, tree, tvb, offset, hf_index);
6500
6501   return offset;
6502 }
6503 static int dissect_stop1_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
6504   return dissect_mms_Stop_Response(TRUE, tvb, offset, pinfo, tree, hf_mms_stop1);
6505 }
6506
6507
6508
6509 static int
6510 dissect_mms_Resume_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
6511   offset = dissect_ber_null(implicit_tag, pinfo, tree, tvb, offset, hf_index);
6512
6513   return offset;
6514 }
6515 static int dissect_resume1_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
6516   return dissect_mms_Resume_Response(TRUE, tvb, offset, pinfo, tree, hf_mms_resume1);
6517 }
6518
6519
6520
6521 static int
6522 dissect_mms_Reset_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
6523   offset = dissect_ber_null(implicit_tag, pinfo, tree, tvb, offset, hf_index);
6524
6525   return offset;
6526 }
6527 static int dissect_reset1_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
6528   return dissect_mms_Reset_Response(TRUE, tvb, offset, pinfo, tree, hf_mms_reset1);
6529 }
6530
6531
6532
6533 static int
6534 dissect_mms_Kill_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
6535   offset = dissect_ber_null(implicit_tag, pinfo, tree, tvb, offset, hf_index);
6536
6537   return offset;
6538 }
6539 static int dissect_kill1_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
6540   return dissect_mms_Kill_Response(TRUE, tvb, offset, pinfo, tree, hf_mms_kill1);
6541 }
6542
6543
6544 static const value_string mms_T_executionArgument2_vals[] = {
6545   {   0, "simpleString" },
6546   {   1, "encodedString" },
6547   { 0, NULL }
6548 };
6549
6550 static const ber_choice_t T_executionArgument2_choice[] = {
6551   {   0, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_simpleString_impl },
6552   {   1, BER_CLASS_UNI, 8, BER_FLAGS_NOOWNTAG, dissect_encodedString },
6553   { 0, 0, 0, 0, NULL }
6554 };
6555
6556 static int
6557 dissect_mms_T_executionArgument2(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
6558   offset = dissect_ber_choice(pinfo, tree, tvb, offset,
6559                                  T_executionArgument2_choice, hf_index, ett_mms_T_executionArgument2,
6560                                  NULL);
6561
6562   return offset;
6563 }
6564 static int dissect_executionArgument2(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
6565   return dissect_mms_T_executionArgument2(FALSE, tvb, offset, pinfo, tree, hf_mms_executionArgument2);
6566 }
6567
6568
6569 static const ber_sequence_t GetProgramInvocationAttributes_Response_sequence[] = {
6570   { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_state1_impl },
6571   { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_listOfDomainNames_impl },
6572   { BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_mmsDeletable_impl },
6573   { BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_reusable_impl },
6574   { BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_monitor_impl },
6575   { BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_startArgument_impl },
6576   { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_executionArgument2 },
6577   { 0, 0, 0, NULL }
6578 };
6579
6580 static int
6581 dissect_mms_GetProgramInvocationAttributes_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
6582   offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6583                                    GetProgramInvocationAttributes_Response_sequence, hf_index, ett_mms_GetProgramInvocationAttributes_Response);
6584
6585   return offset;
6586 }
6587 static int dissect_getProgramInvocationAttributes1_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
6588   return dissect_mms_GetProgramInvocationAttributes_Response(TRUE, tvb, offset, pinfo, tree, hf_mms_getProgramInvocationAttributes1);
6589 }
6590
6591
6592
6593 static int
6594 dissect_mms_ObtainFile_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
6595   offset = dissect_ber_null(implicit_tag, pinfo, tree, tvb, offset, hf_index);
6596
6597   return offset;
6598 }
6599 static int dissect_obtainFile1_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
6600   return dissect_mms_ObtainFile_Response(TRUE, tvb, offset, pinfo, tree, hf_mms_obtainFile1);
6601 }
6602
6603
6604
6605 static int
6606 dissect_mms_GeneralizedTime(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
6607   offset = dissect_ber_GeneralizedTime(implicit_tag, pinfo, tree, tvb, offset, hf_index);
6608
6609   return offset;
6610 }
6611 static int dissect_lastModified_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
6612   return dissect_mms_GeneralizedTime(TRUE, tvb, offset, pinfo, tree, hf_mms_lastModified);
6613 }
6614
6615
6616 static const ber_sequence_t FileAttributes_sequence[] = {
6617   { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_sizeOfFile_impl },
6618   { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_lastModified_impl },
6619   { 0, 0, 0, NULL }
6620 };
6621
6622 static int
6623 dissect_mms_FileAttributes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
6624   offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6625                                    FileAttributes_sequence, hf_index, ett_mms_FileAttributes);
6626
6627   return offset;
6628 }
6629 static int dissect_fileAttributes_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
6630   return dissect_mms_FileAttributes(TRUE, tvb, offset, pinfo, tree, hf_mms_fileAttributes);
6631 }
6632
6633
6634 static const ber_sequence_t FileOpen_Response_sequence[] = {
6635   { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_frsmID_impl },
6636   { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_fileAttributes_impl },
6637   { 0, 0, 0, NULL }
6638 };
6639
6640 static int
6641 dissect_mms_FileOpen_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
6642   offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6643                                    FileOpen_Response_sequence, hf_index, ett_mms_FileOpen_Response);
6644
6645   return offset;
6646 }
6647 static int dissect_fileOpen1_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
6648   return dissect_mms_FileOpen_Response(TRUE, tvb, offset, pinfo, tree, hf_mms_fileOpen1);
6649 }
6650
6651
6652
6653 static int
6654 dissect_mms_DefineEventCondition_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
6655   offset = dissect_ber_null(implicit_tag, pinfo, tree, tvb, offset, hf_index);
6656
6657   return offset;
6658 }
6659 static int dissect_defineEventCondition1_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
6660   return dissect_mms_DefineEventCondition_Response(TRUE, tvb, offset, pinfo, tree, hf_mms_defineEventCondition1);
6661 }
6662
6663
6664
6665 static int
6666 dissect_mms_DeleteEventCondition_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
6667   offset = dissect_mms_Unsigned32(implicit_tag, tvb, offset, pinfo, tree, hf_index);
6668
6669   return offset;
6670 }
6671 static int dissect_deleteEventCondition1_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
6672   return dissect_mms_DeleteEventCondition_Response(TRUE, tvb, offset, pinfo, tree, hf_mms_deleteEventCondition1);
6673 }
6674
6675
6676 static const value_string mms_T_monitoredVariable_vals[] = {
6677   {   0, "variableReference" },
6678   {   1, "undefined" },
6679   { 0, NULL }
6680 };
6681
6682 static const ber_choice_t T_monitoredVariable_choice[] = {
6683   {   0, BER_CLASS_CON, 0, 0, dissect_variableReference },
6684   {   1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_undefined_impl },
6685   { 0, 0, 0, 0, NULL }
6686 };
6687
6688 static int
6689 dissect_mms_T_monitoredVariable(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
6690   offset = dissect_ber_choice(pinfo, tree, tvb, offset,
6691                                  T_monitoredVariable_choice, hf_index, ett_mms_T_monitoredVariable,
6692                                  NULL);
6693
6694   return offset;
6695 }
6696 static int dissect_monitoredVariable1(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
6697   return dissect_mms_T_monitoredVariable(FALSE, tvb, offset, pinfo, tree, hf_mms_monitoredVariable1);
6698 }
6699
6700
6701 static const ber_sequence_t GetEventConditionAttributes_Response_sequence[] = {
6702   { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mmsDeletable_impl },
6703   { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_class1_impl },
6704   { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_prio_rity_impl },
6705   { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_severity_impl },
6706   { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_alarmSummaryReports_impl },
6707   { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL, dissect_monitoredVariable1 },
6708   { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_evaluationInterval_impl },
6709   { 0, 0, 0, NULL }
6710 };
6711
6712 static int
6713 dissect_mms_GetEventConditionAttributes_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
6714   offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6715                                    GetEventConditionAttributes_Response_sequence, hf_index, ett_mms_GetEventConditionAttributes_Response);
6716
6717   return offset;
6718 }
6719 static int dissect_getEventConditionAttributes1_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
6720   return dissect_mms_GetEventConditionAttributes_Response(TRUE, tvb, offset, pinfo, tree, hf_mms_getEventConditionAttributes1);
6721 }
6722
6723
6724 static const ber_sequence_t ReportEventConditionStatus_Response_sequence[] = {
6725   { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_currentState_impl },
6726   { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_numberOfEventEnrollments_impl },
6727   { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_enabled_impl },
6728   { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_timeOfLastTransitionToActive },
6729   { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_timeOfLastTransitionToIdle },
6730   { 0, 0, 0, NULL }
6731 };
6732
6733 static int
6734 dissect_mms_ReportEventConditionStatus_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
6735   offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6736                                    ReportEventConditionStatus_Response_sequence, hf_index, ett_mms_ReportEventConditionStatus_Response);
6737
6738   return offset;
6739 }
6740 static int dissect_reportEventConditionStatus1_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
6741   return dissect_mms_ReportEventConditionStatus_Response(TRUE, tvb, offset, pinfo, tree, hf_mms_reportEventConditionStatus1);
6742 }
6743
6744
6745
6746 static int
6747 dissect_mms_AlterEventConditionMonitoring_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
6748   offset = dissect_ber_null(implicit_tag, pinfo, tree, tvb, offset, hf_index);
6749
6750   return offset;
6751 }
6752 static int dissect_alterEventConditionMonitoring1_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
6753   return dissect_mms_AlterEventConditionMonitoring_Response(TRUE, tvb, offset, pinfo, tree, hf_mms_alterEventConditionMonitoring1);
6754 }
6755
6756
6757
6758 static int
6759 dissect_mms_TriggerEvent_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
6760   offset = dissect_ber_null(implicit_tag, pinfo, tree, tvb, offset, hf_index);
6761
6762   return offset;
6763 }
6764 static int dissect_triggerEvent1_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
6765   return dissect_mms_TriggerEvent_Response(TRUE, tvb, offset, pinfo, tree, hf_mms_triggerEvent1);
6766 }
6767
6768
6769
6770 static int
6771 dissect_mms_DefineEventAction_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
6772   offset = dissect_ber_null(implicit_tag, pinfo, tree, tvb, offset, hf_index);
6773
6774   return offset;
6775 }
6776 static int dissect_defineEventAction1_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
6777   return dissect_mms_DefineEventAction_Response(TRUE, tvb, offset, pinfo, tree, hf_mms_defineEventAction1);
6778 }
6779
6780
6781
6782 static int
6783 dissect_mms_DeleteEventAction_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
6784   offset = dissect_mms_Unsigned32(implicit_tag, tvb, offset, pinfo, tree, hf_index);
6785
6786   return offset;
6787 }
6788 static int dissect_deleteEventAction1_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
6789   return dissect_mms_DeleteEventAction_Response(TRUE, tvb, offset, pinfo, tree, hf_mms_deleteEventAction1);
6790 }
6791
6792
6793 static const ber_sequence_t GetEventActionAttributes_Response_sequence[] = {
6794   { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mmsDeletable_impl },
6795   { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_listOfModifier_impl },
6796   { 0, 0, 0, NULL }
6797 };
6798
6799 static int
6800 dissect_mms_GetEventActionAttributes_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
6801   offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6802                                    GetEventActionAttributes_Response_sequence, hf_index, ett_mms_GetEventActionAttributes_Response);
6803
6804   return offset;
6805 }
6806 static int dissect_getEventActionAttributes1_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
6807   return dissect_mms_GetEventActionAttributes_Response(TRUE, tvb, offset, pinfo, tree, hf_mms_getEventActionAttributes1);
6808 }
6809
6810
6811
6812 static int
6813 dissect_mms_ReportEventActionStatus_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
6814   offset = dissect_mms_Unsigned32(implicit_tag, tvb, offset, pinfo, tree, hf_index);
6815
6816   return offset;
6817 }
6818 static int dissect_reportActionStatus_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
6819   return dissect_mms_ReportEventActionStatus_Response(TRUE, tvb, offset, pinfo, tree, hf_mms_reportActionStatus);
6820 }
6821
6822
6823
6824 static int
6825 dissect_mms_DefineEventEnrollment_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
6826   offset = dissect_ber_null(implicit_tag, pinfo, tree, tvb, offset, hf_index);
6827
6828   return offset;
6829 }
6830 static int dissect_defineEventEnrollment1_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
6831   return dissect_mms_DefineEventEnrollment_Response(TRUE, tvb, offset, pinfo, tree, hf_mms_defineEventEnrollment1);
6832 }
6833
6834
6835
6836 static int
6837 dissect_mms_DeleteEventEnrollment_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
6838   offset = dissect_mms_Unsigned32(implicit_tag, tvb, offset, pinfo, tree, hf_index);
6839
6840   return offset;
6841 }
6842 static int dissect_deleteEventEnrollment1_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
6843   return dissect_mms_DeleteEventEnrollment_Response(TRUE, tvb, offset, pinfo, tree, hf_mms_deleteEventEnrollment1);
6844 }
6845
6846
6847 static const value_string mms_EE_State_vals[] = {
6848   {   0, "disabled" },
6849   {   1, "idle" },
6850   {   2, "active" },
6851   {   3, "activeNoAckA" },
6852   {   4, "idleNoAckI" },
6853   {   5, "idleNoAckA" },
6854   {   6, "idleAcked" },
6855   {   7, "activeAcked" },
6856   { 0, NULL }
6857 };
6858
6859
6860 static int
6861 dissect_mms_EE_State(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
6862   offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
6863                                   NULL);
6864
6865   return offset;
6866 }
6867 static int dissect_currentState1_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
6868   return dissect_mms_EE_State(TRUE, tvb, offset, pinfo, tree, hf_mms_currentState1);
6869 }
6870 static int dissect_state3_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
6871   return dissect_mms_EE_State(TRUE, tvb, offset, pinfo, tree, hf_mms_state3);
6872 }
6873 static int dissect_enrollementState_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
6874   return dissect_mms_EE_State(TRUE, tvb, offset, pinfo, tree, hf_mms_enrollementState);
6875 }
6876
6877
6878 static const value_string mms_T_currentState_vals[] = {
6879   {   0, "state" },
6880   {   1, "undefined" },
6881   { 0, NULL }
6882 };
6883
6884 static const ber_choice_t T_currentState_choice[] = {
6885   {   0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_state3_impl },
6886   {   1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_undefined_impl },
6887   { 0, 0, 0, 0, NULL }
6888 };
6889
6890 static int
6891 dissect_mms_T_currentState(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
6892   offset = dissect_ber_choice(pinfo, tree, tvb, offset,
6893                                  T_currentState_choice, hf_index, ett_mms_T_currentState,
6894                                  NULL);
6895
6896   return offset;
6897 }
6898 static int dissect_currentState2(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
6899   return dissect_mms_T_currentState(FALSE, tvb, offset, pinfo, tree, hf_mms_currentState2);
6900 }
6901
6902
6903 static const ber_sequence_t AlterEventEnrollment_Response_sequence[] = {
6904   { BER_CLASS_CON, 0, 0, dissect_currentState2 },
6905   { BER_CLASS_CON, 1, BER_FLAGS_NOTCHKTAG, dissect_transitionTime },
6906   { 0, 0, 0, NULL }
6907 };
6908
6909 static int
6910 dissect_mms_AlterEventEnrollment_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
6911   offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6912                                    AlterEventEnrollment_Response_sequence, hf_index, ett_mms_AlterEventEnrollment_Response);
6913
6914   return offset;
6915 }
6916 static int dissect_alterEventEnrollment1_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
6917   return dissect_mms_AlterEventEnrollment_Response(TRUE, tvb, offset, pinfo, tree, hf_mms_alterEventEnrollment1);
6918 }
6919
6920
6921 static const value_string mms_EE_Duration_vals[] = {
6922   {   0, "current" },
6923   {   1, "permanent" },
6924   { 0, NULL }
6925 };
6926
6927
6928 static int
6929 dissect_mms_EE_Duration(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
6930   offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
6931                                   NULL);
6932
6933   return offset;
6934 }
6935 static int dissect_duration_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
6936   return dissect_mms_EE_Duration(TRUE, tvb, offset, pinfo, tree, hf_mms_duration);
6937 }
6938
6939
6940 static const ber_sequence_t ReportEventEnrollmentStatus_Response_sequence[] = {
6941   { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_eventConditionTransitions_impl },
6942   { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_notificationLost_impl },
6943   { BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_duration_impl },
6944   { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_alarmAcknowledgmentRule_impl },
6945   { BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_currentState1_impl },
6946   { 0, 0, 0, NULL }
6947 };
6948
6949 static int
6950 dissect_mms_ReportEventEnrollmentStatus_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
6951   offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6952                                    ReportEventEnrollmentStatus_Response_sequence, hf_index, ett_mms_ReportEventEnrollmentStatus_Response);
6953
6954   return offset;
6955 }
6956 static int dissect_reportEventEnrollmentStatus1_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
6957   return dissect_mms_ReportEventEnrollmentStatus_Response(TRUE, tvb, offset, pinfo, tree, hf_mms_reportEventEnrollmentStatus1);
6958 }
6959
6960
6961 static const value_string mms_T_eventConditionName_vals[] = {
6962   {   0, "eventCondition" },
6963   {   1, "undefined" },
6964   { 0, NULL }
6965 };
6966
6967 static const ber_choice_t T_eventConditionName_choice[] = {
6968   {   0, BER_CLASS_CON, 0, 0, dissect_eventCondition },
6969   {   1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_undefined_impl },
6970   { 0, 0, 0, 0, NULL }
6971 };
6972
6973 static int
6974 dissect_mms_T_eventConditionName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
6975   offset = dissect_ber_choice(pinfo, tree, tvb, offset,
6976                                  T_eventConditionName_choice, hf_index, ett_mms_T_eventConditionName,
6977                                  NULL);
6978
6979   return offset;
6980 }
6981 static int dissect_eventConditionName1(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
6982   return dissect_mms_T_eventConditionName(FALSE, tvb, offset, pinfo, tree, hf_mms_eventConditionName1);
6983 }
6984
6985
6986 static const value_string mms_T_eventActionName_vals[] = {
6987   {   0, "eventAction" },
6988   {   1, "undefined" },
6989   { 0, NULL }
6990 };
6991
6992 static const ber_choice_t T_eventActionName_choice[] = {
6993   {   0, BER_CLASS_CON, 0, 0, dissect_eventAction },
6994   {   1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_undefined_impl },
6995   { 0, 0, 0, 0, NULL }
6996 };
6997
6998 static int
6999 dissect_mms_T_eventActionName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
7000   offset = dissect_ber_choice(pinfo, tree, tvb, offset,
7001                                  T_eventActionName_choice, hf_index, ett_mms_T_eventActionName,
7002                                  NULL);
7003
7004   return offset;
7005 }
7006 static int dissect_eventActionName1(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
7007   return dissect_mms_T_eventActionName(FALSE, tvb, offset, pinfo, tree, hf_mms_eventActionName1);
7008 }
7009
7010
7011 static const value_string mms_EE_Class_vals[] = {
7012   {   0, "modifier" },
7013   {   1, "notification" },
7014   { 0, NULL }
7015 };
7016
7017
7018 static int
7019 dissect_mms_EE_Class(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
7020   offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
7021                                   NULL);
7022
7023   return offset;
7024 }
7025 static int dissect_enrollmentClass_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
7026   return dissect_mms_EE_Class(TRUE, tvb, offset, pinfo, tree, hf_mms_enrollmentClass);
7027 }
7028
7029
7030 static const ber_sequence_t EventEnrollment_sequence[] = {
7031   { BER_CLASS_CON, 0, BER_FLAGS_NOTCHKTAG, dissect_eventEnrollmentName },
7032   { BER_CLASS_CON, 1, 0, dissect_eventConditionName1 },
7033   { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_eventActionName1 },
7034   { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_clientApplication },
7035   { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mmsDeletable_impl },
7036   { BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_enrollmentClass_impl },
7037   { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_duration_impl },
7038   { BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_invokeID_impl },
7039   { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_remainingAcceptableDelay_impl },
7040   { 0, 0, 0, NULL }
7041 };
7042
7043 static int
7044 dissect_mms_EventEnrollment(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
7045   offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7046                                    EventEnrollment_sequence, hf_index, ett_mms_EventEnrollment);
7047
7048   return offset;
7049 }
7050 static int dissect_listOfEventEnrollment_item(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
7051   return dissect_mms_EventEnrollment(FALSE, tvb, offset, pinfo, tree, hf_mms_listOfEventEnrollment_item);
7052 }
7053
7054
7055 static const ber_sequence_t SEQUENCE_OF_EventEnrollment_sequence_of[1] = {
7056   { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_listOfEventEnrollment_item },
7057 };
7058
7059 static int
7060 dissect_mms_SEQUENCE_OF_EventEnrollment(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
7061   offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
7062                                       SEQUENCE_OF_EventEnrollment_sequence_of, hf_index, ett_mms_SEQUENCE_OF_EventEnrollment);
7063
7064   return offset;
7065 }
7066 static int dissect_listOfEventEnrollment_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
7067   return dissect_mms_SEQUENCE_OF_EventEnrollment(TRUE, tvb, offset, pinfo, tree, hf_mms_listOfEventEnrollment);
7068 }
7069
7070
7071 static const ber_sequence_t GetEventEnrollmentAttributes_Response_sequence[] = {
7072   { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_listOfEventEnrollment_impl },
7073   { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_moreFollows_impl },
7074   { 0, 0, 0, NULL }
7075 };
7076
7077 static int
7078 dissect_mms_GetEventEnrollmentAttributes_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
7079   offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7080                                    GetEventEnrollmentAttributes_Response_sequence, hf_index, ett_mms_GetEventEnrollmentAttributes_Response);
7081
7082   return offset;
7083 }
7084 static int dissect_getEventEnrollmentAttributes1_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
7085   return dissect_mms_GetEventEnrollmentAttributes_Response(TRUE, tvb, offset, pinfo, tree, hf_mms_getEventEnrollmentAttributes1);
7086 }
7087
7088
7089
7090 static int
7091 dissect_mms_AcknowledgeEventNotification_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
7092   offset = dissect_ber_null(implicit_tag, pinfo, tree, tvb, offset, hf_index);
7093
7094   return offset;
7095 }
7096 static int dissect_acknowledgeEventNotification1_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
7097   return dissect_mms_AcknowledgeEventNotification_Response(TRUE, tvb, offset, pinfo, tree, hf_mms_acknowledgeEventNotification1);
7098 }
7099
7100
7101 static const value_string mms_T_unacknowledgedState_vals[] = {
7102   {   0, "none" },
7103   {   1, "active" },
7104   {   2, "idle" },
7105   {   3, "both" },
7106   { 0, NULL }
7107 };
7108
7109
7110 static int
7111 dissect_mms_T_unacknowledgedState(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
7112   offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
7113                                   NULL);
7114
7115   return offset;
7116 }
7117 static int dissect_unacknowledgedState_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
7118   return dissect_mms_T_unacknowledgedState(TRUE, tvb, offset, pinfo, tree, hf_mms_unacknowledgedState);
7119 }
7120
7121
7122 static const ber_sequence_t AlarmSummary_sequence[] = {
7123   { BER_CLASS_CON, 0, BER_FLAGS_NOTCHKTAG, dissect_eventConditionName },
7124   { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_severity_impl },
7125   { BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_currentState_impl },
7126   { BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_unacknowledgedState_impl },
7127   { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_timeOfLastTransitionToActive },
7128   { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_timeOfLastTransitionToIdle },
7129   { 0, 0, 0, NULL }
7130 };
7131
7132 static int
7133 dissect_mms_AlarmSummary(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
7134   offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7135                                    AlarmSummary_sequence, hf_index, ett_mms_AlarmSummary);
7136
7137   return offset;
7138 }
7139 static int dissect_listOfAlarmSummary_item(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
7140   return dissect_mms_AlarmSummary(FALSE, tvb, offset, pinfo, tree, hf_mms_listOfAlarmSummary_item);
7141 }
7142
7143
7144 static const ber_sequence_t SEQUENCE_OF_AlarmSummary_sequence_of[1] = {
7145   { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_listOfAlarmSummary_item },
7146 };
7147
7148 static int
7149 dissect_mms_SEQUENCE_OF_AlarmSummary(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
7150   offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
7151                                       SEQUENCE_OF_AlarmSummary_sequence_of, hf_index, ett_mms_SEQUENCE_OF_AlarmSummary);
7152
7153   return offset;
7154 }
7155 static int dissect_listOfAlarmSummary_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
7156   return dissect_mms_SEQUENCE_OF_AlarmSummary(TRUE, tvb, offset, pinfo, tree, hf_mms_listOfAlarmSummary);
7157 }
7158
7159
7160 static const ber_sequence_t GetAlarmSummary_Response_sequence[] = {
7161   { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_listOfAlarmSummary_impl },
7162   { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_moreFollows_impl },
7163   { 0, 0, 0, NULL }
7164 };
7165
7166 static int
7167 dissect_mms_GetAlarmSummary_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
7168   offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7169                                    GetAlarmSummary_Response_sequence, hf_index, ett_mms_GetAlarmSummary_Response);
7170
7171   return offset;
7172 }
7173 static int dissect_getAlarmSummary1_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
7174   return dissect_mms_GetAlarmSummary_Response(TRUE, tvb, offset, pinfo, tree, hf_mms_getAlarmSummary1);
7175 }
7176
7177
7178 static const ber_sequence_t AlarmEnrollmentSummary_sequence[] = {
7179   { BER_CLASS_CON, 0, BER_FLAGS_NOTCHKTAG, dissect_eventEnrollmentName },
7180   { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_clientApplication },
7181   { BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_severity_impl },
7182   { BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_currentState_impl },
7183   { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_notificationLost_impl },
7184   { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_alarmAcknowledgmentRule_impl },
7185   { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_enrollementState_impl },
7186   { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_timeOfLastTransitionToActive },
7187   { BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_timeActiveAcknowledged },
7188   { BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_timeOfLastTransitionToIdle },
7189   { BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_timeIdleAcknowledged },
7190   { 0, 0, 0, NULL }
7191 };
7192
7193 static int
7194 dissect_mms_AlarmEnrollmentSummary(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
7195   offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7196                                    AlarmEnrollmentSummary_sequence, hf_index, ett_mms_AlarmEnrollmentSummary);
7197
7198   return offset;
7199 }
7200 static int dissect_listOfAlarmEnrollmentSummary_item(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
7201   return dissect_mms_AlarmEnrollmentSummary(FALSE, tvb, offset, pinfo, tree, hf_mms_listOfAlarmEnrollmentSummary_item);
7202 }
7203
7204
7205 static const ber_sequence_t SEQUENCE_OF_AlarmEnrollmentSummary_sequence_of[1] = {
7206   { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_listOfAlarmEnrollmentSummary_item },
7207 };
7208
7209 static int
7210 dissect_mms_SEQUENCE_OF_AlarmEnrollmentSummary(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
7211   offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
7212                                       SEQUENCE_OF_AlarmEnrollmentSummary_sequence_of, hf_index, ett_mms_SEQUENCE_OF_AlarmEnrollmentSummary);
7213
7214   return offset;
7215 }
7216 static int dissect_listOfAlarmEnrollmentSummary_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
7217   return dissect_mms_SEQUENCE_OF_AlarmEnrollmentSummary(TRUE, tvb, offset, pinfo, tree, hf_mms_listOfAlarmEnrollmentSummary);
7218 }
7219
7220
7221 static const ber_sequence_t GetAlarmEnrollmentSummary_Response_sequence[] = {
7222   { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_listOfAlarmEnrollmentSummary_impl },
7223   { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_moreFollows_impl },
7224   { 0, 0, 0, NULL }
7225 };
7226
7227 static int
7228 dissect_mms_GetAlarmEnrollmentSummary_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
7229   offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7230                                    GetAlarmEnrollmentSummary_Response_sequence, hf_index, ett_mms_GetAlarmEnrollmentSummary_Response);
7231
7232   return offset;
7233 }
7234 static int dissect_getAlarmEnrollmentSummary1_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
7235   return dissect_mms_GetAlarmEnrollmentSummary_Response(TRUE, tvb, offset, pinfo, tree, hf_mms_getAlarmEnrollmentSummary1);
7236 }
7237
7238
7239 static const ber_sequence_t JournalEntry_sequence[] = {
7240   { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_entryIdentifier_impl },
7241   { BER_CLASS_CON, 1, 0, dissect_originatingApplication },
7242   { BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_entryContent_impl },
7243   { 0, 0, 0, NULL }
7244 };
7245
7246 static int
7247 dissect_mms_JournalEntry(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
7248   offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7249                                    JournalEntry_sequence, hf_index, ett_mms_JournalEntry);
7250
7251   return offset;
7252 }
7253 static int dissect_listOfJournalEntry_item(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
7254   return dissect_mms_JournalEntry(FALSE, tvb, offset, pinfo, tree, hf_mms_listOfJournalEntry_item);
7255 }
7256
7257
7258 static const ber_sequence_t SEQUENCE_OF_JournalEntry_sequence_of[1] = {
7259   { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_listOfJournalEntry_item },
7260 };
7261
7262 static int
7263 dissect_mms_SEQUENCE_OF_JournalEntry(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
7264   offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
7265                                       SEQUENCE_OF_JournalEntry_sequence_of, hf_index, ett_mms_SEQUENCE_OF_JournalEntry);
7266
7267   return offset;
7268 }
7269 static int dissect_listOfJournalEntry_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
7270   return dissect_mms_SEQUENCE_OF_JournalEntry(TRUE, tvb, offset, pinfo, tree, hf_mms_listOfJournalEntry);
7271 }
7272
7273
7274 static const ber_sequence_t ReadJournal_Response_sequence[] = {
7275   { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_listOfJournalEntry_impl },
7276   { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_moreFollows_impl },
7277   { 0, 0, 0, NULL }
7278 };
7279
7280 static int
7281 dissect_mms_ReadJournal_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
7282   offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7283                                    ReadJournal_Response_sequence, hf_index, ett_mms_ReadJournal_Response);
7284
7285   return offset;
7286 }
7287 static int dissect_readJournal1_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
7288   return dissect_mms_ReadJournal_Response(TRUE, tvb, offset, pinfo, tree, hf_mms_readJournal1);
7289 }
7290
7291
7292
7293 static int
7294 dissect_mms_WriteJournal_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
7295   offset = dissect_ber_null(implicit_tag, pinfo, tree, tvb, offset, hf_index);
7296
7297   return offset;
7298 }
7299 static int dissect_writeJournal1_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
7300   return dissect_mms_WriteJournal_Response(TRUE, tvb, offset, pinfo, tree, hf_mms_writeJournal1);
7301 }
7302
7303
7304
7305 static int
7306 dissect_mms_InitializeJournal_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
7307   offset = dissect_mms_Unsigned32(implicit_tag, tvb, offset, pinfo, tree, hf_index);
7308
7309   return offset;
7310 }
7311 static int dissect_initializeJournal1_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
7312   return dissect_mms_InitializeJournal_Response(TRUE, tvb, offset, pinfo, tree, hf_mms_initializeJournal1);
7313 }
7314
7315
7316 static const ber_sequence_t ReportJournalStatus_Response_sequence[] = {
7317   { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_currentEntries_impl },
7318   { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_mmsDeletable_impl },
7319   { 0, 0, 0, NULL }
7320 };
7321
7322 static int
7323 dissect_mms_ReportJournalStatus_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
7324   offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7325                                    ReportJournalStatus_Response_sequence, hf_index, ett_mms_ReportJournalStatus_Response);
7326
7327   return offset;
7328 }
7329 static int dissect_reportJournalStatus1_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
7330   return dissect_mms_ReportJournalStatus_Response(TRUE, tvb, offset, pinfo, tree, hf_mms_reportJournalStatus1);
7331 }
7332
7333
7334
7335 static int
7336 dissect_mms_CreateJournal_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
7337   offset = dissect_ber_null(implicit_tag, pinfo, tree, tvb, offset, hf_index);
7338
7339   return offset;
7340 }
7341 static int dissect_createJournal1_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
7342   return dissect_mms_CreateJournal_Response(TRUE, tvb, offset, pinfo, tree, hf_mms_createJournal1);
7343 }
7344
7345
7346
7347 static int
7348 dissect_mms_DeleteJournal_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
7349   offset = dissect_ber_null(implicit_tag, pinfo, tree, tvb, offset, hf_index);
7350
7351   return offset;
7352 }
7353 static int dissect_deleteJournal1_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
7354   return dissect_mms_DeleteJournal_Response(TRUE, tvb, offset, pinfo, tree, hf_mms_deleteJournal1);
7355 }
7356
7357
7358 static const ber_sequence_t T_listOfCapabilities_sequence_of[1] = {
7359   { BER_CLASS_UNI, BER_UNI_TAG_VisibleString, BER_FLAGS_NOOWNTAG, dissect_listOfCapabilities_item },
7360 };
7361
7362 static int
7363 dissect_mms_T_listOfCapabilities(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
7364   offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
7365                                       T_listOfCapabilities_sequence_of, hf_index, ett_mms_T_listOfCapabilities);
7366
7367   return offset;
7368 }
7369 static int dissect_listOfCapabilities_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
7370   return dissect_mms_T_listOfCapabilities(TRUE, tvb, offset, pinfo, tree, hf_mms_listOfCapabilities);
7371 }
7372
7373
7374 static const ber_sequence_t GetCapabilityList_Response_sequence[] = {
7375   { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_listOfCapabilities_impl },
7376   { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_moreFollows_impl },
7377   { 0, 0, 0, NULL }
7378 };
7379
7380 static int
7381 dissect_mms_GetCapabilityList_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
7382   offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7383                                    GetCapabilityList_Response_sequence, hf_index, ett_mms_GetCapabilityList_Response);
7384
7385   return offset;
7386 }
7387 static int dissect_getCapabilityList1_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
7388   return dissect_mms_GetCapabilityList_Response(TRUE, tvb, offset, pinfo, tree, hf_mms_getCapabilityList1);
7389 }
7390
7391
7392 static const ber_sequence_t FileRead_Response_sequence[] = {
7393   { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_fileData_impl },
7394   { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_moreFollows_impl },
7395   { 0, 0, 0, NULL }
7396 };
7397
7398 static int
7399 dissect_mms_FileRead_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
7400   offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7401                                    FileRead_Response_sequence, hf_index, ett_mms_FileRead_Response);
7402
7403   return offset;
7404 }
7405 static int dissect_fileRead1_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
7406   return dissect_mms_FileRead_Response(TRUE, tvb, offset, pinfo, tree, hf_mms_fileRead1);
7407 }
7408
7409
7410
7411 static int
7412 dissect_mms_FileClose_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
7413   offset = dissect_ber_null(implicit_tag, pinfo, tree, tvb, offset, hf_index);
7414
7415   return offset;
7416 }
7417 static int dissect_fileClose1_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
7418   return dissect_mms_FileClose_Response(TRUE, tvb, offset, pinfo, tree, hf_mms_fileClose1);
7419 }
7420
7421
7422
7423 static int
7424 dissect_mms_FileRename_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
7425   offset = dissect_ber_null(implicit_tag, pinfo, tree, tvb, offset, hf_index);
7426
7427   return offset;
7428 }
7429 static int dissect_fileRename1_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
7430   return dissect_mms_FileRename_Response(TRUE, tvb, offset, pinfo, tree, hf_mms_fileRename1);
7431 }
7432
7433
7434
7435 static int
7436 dissect_mms_FileDelete_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
7437   offset = dissect_ber_null(implicit_tag, pinfo, tree, tvb, offset, hf_index);
7438
7439   return offset;
7440 }
7441 static int dissect_fileDelete1_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
7442   return dissect_mms_FileDelete_Response(TRUE, tvb, offset, pinfo, tree, hf_mms_fileDelete1);
7443 }
7444
7445
7446 static const ber_sequence_t DirectoryEntry_sequence[] = {
7447   { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_filename_impl },
7448   { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_fileAttributes_impl },
7449   { 0, 0, 0, NULL }
7450 };
7451
7452 static int
7453 dissect_mms_DirectoryEntry(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
7454   offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7455                                    DirectoryEntry_sequence, hf_index, ett_mms_DirectoryEntry);
7456
7457   return offset;
7458 }
7459 static int dissect_listOfDirectoryEntry_item(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
7460   return dissect_mms_DirectoryEntry(FALSE, tvb, offset, pinfo, tree, hf_mms_listOfDirectoryEntry_item);
7461 }
7462
7463
7464 static const ber_sequence_t SEQUENCE_OF_DirectoryEntry_sequence_of[1] = {
7465   { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_listOfDirectoryEntry_item },
7466 };
7467
7468 static int
7469 dissect_mms_SEQUENCE_OF_DirectoryEntry(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
7470   offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
7471                                       SEQUENCE_OF_DirectoryEntry_sequence_of, hf_index, ett_mms_SEQUENCE_OF_DirectoryEntry);
7472
7473   return offset;
7474 }
7475 static int dissect_listOfDirectoryEntry(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
7476   return dissect_mms_SEQUENCE_OF_DirectoryEntry(FALSE, tvb, offset, pinfo, tree, hf_mms_listOfDirectoryEntry);
7477 }
7478
7479
7480 static const ber_sequence_t FileDirectory_Response_sequence[] = {
7481   { BER_CLASS_CON, 0, 0, dissect_listOfDirectoryEntry },
7482   { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_moreFollows_impl },
7483   { 0, 0, 0, NULL }
7484 };
7485
7486 static int
7487 dissect_mms_FileDirectory_Response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
7488   offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7489                                    FileDirectory_Response_sequence, hf_index, ett_mms_FileDirectory_Response);
7490
7491   return offset;
7492 }
7493 static int dissect_fileDirectory1_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
7494   return dissect_mms_FileDirectory_Response(TRUE, tvb, offset, pinfo, tree, hf_mms_fileDirectory1);
7495 }
7496
7497
7498 static const value_string mms_ConfirmedServiceResponse_vals[] = {
7499   {   0, "status" },
7500   {   1, "getNameList" },
7501   {   2, "identify" },
7502   {   3, "rename" },
7503   {   4, "read" },
7504   {   5, "write" },
7505   {   6, "getVariableAccessAttributes" },
7506   {   7, "defineNamedVariable" },
7507   {   8, "defineScatteredAccess" },
7508   {   9, "getScatteredAccessAttributes" },
7509   {  10, "deleteVariableAccess" },
7510   {  11, "defineNamedVariableList" },
7511   {  12, "getNamedVariableListAttributes" },
7512   {  13, "deleteNamedVariableList" },
7513   {  14, "defineNamedType" },
7514   {  15, "getNamedTypeAttributes" },
7515   {  16, "deleteNamedType" },
7516   {  17, "input" },
7517   {  18, "output" },
7518   {  19, "takeControl" },
7519   {  20, "relinquishControl" },
7520   {  21, "defineSemaphore" },
7521   {  22, "deleteSemaphore" },
7522   {  23, "reportSemaphoreStatus" },
7523   {  24, "reportPoolSemaphoreStatus" },
7524   {  25, "reportSemaphoreEntryStatus" },
7525   {  26, "initiateDownloadSequence" },
7526   {  27, "downloadSegment" },
7527   {  28, "terminateDownloadSequence" },
7528   {  29, "initiateUploadSequence" },
7529   {  30, "uploadSegment" },
7530   {  31, "terminateUploadSequence" },
7531   {  32, "requestDomainDownLoad" },
7532   {  33, "requestDomainUpload" },
7533   {  34, "loadDomainContent" },
7534   {  35, "storeDomainContent" },
7535   {  36, "deleteDomain" },
7536   {  37, "getDomainAttributes" },
7537   {  38, "createProgramInvocation" },
7538   {  39, "deleteProgramInvocation" },
7539   {  40, "start" },
7540   {  41, "stop" },
7541   {  42, "resume" },
7542   {  43, "reset" },
7543   {  44, "kill" },
7544   {  45, "getProgramInvocationAttributes" },
7545   {  46, "obtainFile" },
7546   {  72, "fileOpen" },
7547   {  47, "defineEventCondition" },
7548   {  48, "deleteEventCondition" },
7549   {  49, "getEventConditionAttributes" },
7550   {  50, "reportEventConditionStatus" },
7551   {  51, "alterEventConditionMonitoring" },
7552   {  52, "triggerEvent" },
7553   {  53, "defineEventAction" },
7554   {  54, "deleteEventAction" },
7555   {  55, "getEventActionAttributes" },
7556   {  56, "reportActionStatus" },
7557   {  57, "defineEventEnrollment" },
7558   {  58, "deleteEventEnrollment" },
7559   {  59, "alterEventEnrollment" },
7560   {  60, "reportEventEnrollmentStatus" },
7561   {  61, "getEventEnrollmentAttributes" },
7562   {  62, "acknowledgeEventNotification" },
7563   {  63, "getAlarmSummary" },
7564   {  64, "getAlarmEnrollmentSummary" },
7565   {  65, "readJournal" },
7566   {  66, "writeJournal" },
7567   {  67, "initializeJournal" },
7568   {  68, "reportJournalStatus" },
7569   {  69, "createJournal" },
7570   {  70, "deleteJournal" },
7571   {  71, "getCapabilityList" },
7572   {  73, "fileRead" },
7573   {  74, "fileClose" },
7574   {  75, "fileRename" },
7575   {  76, "fileDelete" },
7576   {  77, "fileDirectory" },
7577   { 0, NULL }
7578 };
7579
7580 static const ber_choice_t ConfirmedServiceResponse_choice[] = {
7581   {   0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_status1_impl },
7582   {   1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_getNameList1_impl },
7583   {   2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_identify1_impl },
7584   {   3, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_rename1_impl },
7585   {   4, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_read1_impl },
7586   {   5, BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_write1_impl },
7587   {   6, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_getVariableAccessAttributes1_impl },
7588   {   7, BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_defineNamedVariable1_impl },
7589   {   8, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_defineScatteredAccess1_impl },
7590   {   9, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_getScatteredAccessAttributes1_impl },
7591   {  10, BER_CLASS_CON, 10, BER_FLAGS_IMPLTAG, dissect_deleteVariableAccess1_impl },
7592   {  11, BER_CLASS_CON, 11, BER_FLAGS_IMPLTAG, dissect_defineNamedVariableList1_impl },
7593   {  12, BER_CLASS_CON, 12, BER_FLAGS_IMPLTAG, dissect_getNamedVariableListAttributes1_impl },
7594   {  13, BER_CLASS_CON, 13, BER_FLAGS_IMPLTAG, dissect_deleteNamedVariableList1_impl },
7595   {  14, BER_CLASS_CON, 14, BER_FLAGS_IMPLTAG, dissect_defineNamedType1_impl },
7596   {  15, BER_CLASS_CON, 15, BER_FLAGS_IMPLTAG, dissect_getNamedTypeAttributes1_impl },
7597   {  16, BER_CLASS_CON, 16, BER_FLAGS_IMPLTAG, dissect_deleteNamedType1_impl },
7598   {  17, BER_CLASS_CON, 17, BER_FLAGS_IMPLTAG, dissect_input1_impl },
7599   {  18, BER_CLASS_CON, 18, BER_FLAGS_IMPLTAG, dissect_output1_impl },
7600   {  19, BER_CLASS_CON, 19, 0, dissect_takeControl1 },
7601   {  20, BER_CLASS_CON, 20, BER_FLAGS_IMPLTAG, dissect_relinquishControl1_impl },
7602   {  21, BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_defineSemaphore1_impl },
7603   {  22, BER_CLASS_CON, 22, BER_FLAGS_IMPLTAG, dissect_deleteSemaphore1_impl },
7604   {  23, BER_CLASS_CON, 23, BER_FLAGS_IMPLTAG, dissect_reportSemaphoreStatus1_impl },
7605   {  24, BER_CLASS_CON, 24, BER_FLAGS_IMPLTAG, dissect_reportPoolSemaphoreStatus1_impl },
7606   {  25, BER_CLASS_CON, 25, BER_FLAGS_IMPLTAG, dissect_reportSemaphoreEntryStatus1_impl },
7607   {  26, BER_CLASS_CON, 26, BER_FLAGS_IMPLTAG, dissect_initiateDownloadSequence1_impl },
7608   {  27, BER_CLASS_CON, 27, BER_FLAGS_IMPLTAG, dissect_downloadSegment1_impl },
7609   {  28, BER_CLASS_CON, 28, BER_FLAGS_IMPLTAG, dissect_terminateDownloadSequence1_impl },
7610   {  29, BER_CLASS_CON, 29, BER_FLAGS_IMPLTAG, dissect_initiateUploadSequence1_impl },
7611   {  30, BER_CLASS_CON, 30, BER_FLAGS_IMPLTAG, dissect_uploadSegment1_impl },
7612   {  31, BER_CLASS_CON, 31, BER_FLAGS_IMPLTAG, dissect_terminateUploadSequence1_impl },
7613   {  32, BER_CLASS_CON, 32, BER_FLAGS_IMPLTAG, dissect_requestDomainDownLoad_impl },
7614   {  33, BER_CLASS_CON, 33, BER_FLAGS_IMPLTAG, dissect_requestDomainUpload1_impl },
7615   {  34, BER_CLASS_CON, 34, BER_FLAGS_IMPLTAG, dissect_loadDomainContent1_impl },
7616   {  35, BER_CLASS_CON, 35, BER_FLAGS_IMPLTAG, dissect_storeDomainContent1_impl },
7617   {  36, BER_CLASS_CON, 36, BER_FLAGS_IMPLTAG, dissect_deleteDomain1_impl },
7618   {  37, BER_CLASS_CON, 37, BER_FLAGS_IMPLTAG, dissect_getDomainAttributes1_impl },
7619   {  38, BER_CLASS_CON, 38, BER_FLAGS_IMPLTAG, dissect_createProgramInvocation1_impl },
7620   {  39, BER_CLASS_CON, 39, BER_FLAGS_IMPLTAG, dissect_deleteProgramInvocation1_impl },
7621   {  40, BER_CLASS_CON, 40, BER_FLAGS_IMPLTAG, dissect_start1_impl },
7622   {  41, BER_CLASS_CON, 41, BER_FLAGS_IMPLTAG, dissect_stop1_impl },
7623   {  42, BER_CLASS_CON, 42, BER_FLAGS_IMPLTAG, dissect_resume1_impl },
7624   {  43, BER_CLASS_CON, 43, BER_FLAGS_IMPLTAG, dissect_reset1_impl },
7625   {  44, BER_CLASS_CON, 44, BER_FLAGS_IMPLTAG, dissect_kill1_impl },
7626   {  45, BER_CLASS_CON, 45, BER_FLAGS_IMPLTAG, dissect_getProgramInvocationAttributes1_impl },
7627   {  46, BER_CLASS_CON, 46, BER_FLAGS_IMPLTAG, dissect_obtainFile1_impl },
7628   {  72, BER_CLASS_CON, 72, BER_FLAGS_IMPLTAG, dissect_fileOpen1_impl },
7629   {  47, BER_CLASS_CON, 47, BER_FLAGS_IMPLTAG, dissect_defineEventCondition1_impl },
7630   {  48, BER_CLASS_CON, 48, BER_FLAGS_IMPLTAG, dissect_deleteEventCondition1_impl },
7631   {  49, BER_CLASS_CON, 49, BER_FLAGS_IMPLTAG, dissect_getEventConditionAttributes1_impl },
7632   {  50, BER_CLASS_CON, 50, BER_FLAGS_IMPLTAG, dissect_reportEventConditionStatus1_impl },
7633   {  51, BER_CLASS_CON, 51, BER_FLAGS_IMPLTAG, dissect_alterEventConditionMonitoring1_impl },
7634   {  52, BER_CLASS_CON, 52, BER_FLAGS_IMPLTAG, dissect_triggerEvent1_impl },
7635   {  53, BER_CLASS_CON, 53, BER_FLAGS_IMPLTAG, dissect_defineEventAction1_impl },
7636   {  54, BER_CLASS_CON, 54, BER_FLAGS_IMPLTAG, dissect_deleteEventAction1_impl },
7637   {  55, BER_CLASS_CON, 55, BER_FLAGS_IMPLTAG, dissect_getEventActionAttributes1_impl },
7638   {  56, BER_CLASS_CON, 56, BER_FLAGS_IMPLTAG, dissect_reportActionStatus_impl },
7639   {  57, BER_CLASS_CON, 57, BER_FLAGS_IMPLTAG, dissect_defineEventEnrollment1_impl },
7640   {  58, BER_CLASS_CON, 58, BER_FLAGS_IMPLTAG, dissect_deleteEventEnrollment1_impl },
7641   {  59, BER_CLASS_CON, 59, BER_FLAGS_IMPLTAG, dissect_alterEventEnrollment1_impl },
7642   {  60, BER_CLASS_CON, 60, BER_FLAGS_IMPLTAG, dissect_reportEventEnrollmentStatus1_impl },
7643   {  61, BER_CLASS_CON, 61, BER_FLAGS_IMPLTAG, dissect_getEventEnrollmentAttributes1_impl },
7644   {  62, BER_CLASS_CON, 62, BER_FLAGS_IMPLTAG, dissect_acknowledgeEventNotification1_impl },
7645   {  63, BER_CLASS_CON, 63, BER_FLAGS_IMPLTAG, dissect_getAlarmSummary1_impl },
7646   {  64, BER_CLASS_CON, 64, BER_FLAGS_IMPLTAG, dissect_getAlarmEnrollmentSummary1_impl },
7647   {  65, BER_CLASS_CON, 65, BER_FLAGS_IMPLTAG, dissect_readJournal1_impl },
7648   {  66, BER_CLASS_CON, 66, BER_FLAGS_IMPLTAG, dissect_writeJournal1_impl },
7649   {  67, BER_CLASS_CON, 67, BER_FLAGS_IMPLTAG, dissect_initializeJournal1_impl },
7650   {  68, BER_CLASS_CON, 68, BER_FLAGS_IMPLTAG, dissect_reportJournalStatus1_impl },
7651   {  69, BER_CLASS_CON, 69, BER_FLAGS_IMPLTAG, dissect_createJournal1_impl },
7652   {  70, BER_CLASS_CON, 70, BER_FLAGS_IMPLTAG, dissect_deleteJournal1_impl },
7653   {  71, BER_CLASS_CON, 71, BER_FLAGS_IMPLTAG, dissect_getCapabilityList1_impl },
7654   {  73, BER_CLASS_CON, 73, BER_FLAGS_IMPLTAG, dissect_fileRead1_impl },
7655   {  74, BER_CLASS_CON, 74, BER_FLAGS_IMPLTAG, dissect_fileClose1_impl },
7656   {  75, BER_CLASS_CON, 75, BER_FLAGS_IMPLTAG, dissect_fileRename1_impl },
7657   {  76, BER_CLASS_CON, 76, BER_FLAGS_IMPLTAG, dissect_fileDelete1_impl },
7658   {  77, BER_CLASS_CON, 77, BER_FLAGS_IMPLTAG, dissect_fileDirectory1_impl },
7659   { 0, 0, 0, 0, NULL }
7660 };
7661
7662 static int
7663 dissect_mms_ConfirmedServiceResponse(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
7664   offset = dissect_ber_choice(pinfo, tree, tvb, offset,
7665                                  ConfirmedServiceResponse_choice, hf_index, ett_mms_ConfirmedServiceResponse,
7666                                  NULL);
7667
7668   return offset;
7669 }
7670 static int dissect_confirmedServiceResponse(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
7671   return dissect_mms_ConfirmedServiceResponse(FALSE, tvb, offset, pinfo, tree, hf_mms_confirmedServiceResponse);
7672 }
7673 static int dissect_success1(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
7674   return dissect_mms_ConfirmedServiceResponse(FALSE, tvb, offset, pinfo, tree, hf_mms_success1);
7675 }
7676
7677
7678 static const ber_sequence_t Confirmed_ResponsePDU_sequence[] = {
7679   { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_invokeID },
7680   { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_confirmedServiceResponse },
7681   { BER_CLASS_CON, 79, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_cs_request_detail },
7682   { 0, 0, 0, NULL }
7683 };
7684
7685 static int
7686 dissect_mms_Confirmed_ResponsePDU(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
7687   offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7688                                    Confirmed_ResponsePDU_sequence, hf_index, ett_mms_Confirmed_ResponsePDU);
7689
7690   return offset;
7691 }
7692 static int dissect_confirmed_ResponsePDU_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
7693   return dissect_mms_Confirmed_ResponsePDU(TRUE, tvb, offset, pinfo, tree, hf_mms_confirmed_ResponsePDU);
7694 }
7695
7696
7697 static const ber_sequence_t Confirmed_ErrorPDU_sequence[] = {
7698   { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_invokeID_impl },
7699   { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_modifierPosition_impl },
7700   { BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_serviceError_impl },
7701   { 0, 0, 0, NULL }
7702 };
7703
7704 static int
7705 dissect_mms_Confirmed_ErrorPDU(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
7706   offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7707                                    Confirmed_ErrorPDU_sequence, hf_index, ett_mms_Confirmed_ErrorPDU);
7708
7709   return offset;
7710 }
7711 static int dissect_confirmed_ErrorPDU_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
7712   return dissect_mms_Confirmed_ErrorPDU(TRUE, tvb, offset, pinfo, tree, hf_mms_confirmed_ErrorPDU);
7713 }
7714
7715
7716 static const ber_sequence_t InformationReport_sequence[] = {
7717   { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_variableAccessSpecification },
7718   { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_listOfAccessResult_impl },
7719   { 0, 0, 0, NULL }
7720 };
7721
7722 static int
7723 dissect_mms_InformationReport(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
7724   offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7725                                    InformationReport_sequence, hf_index, ett_mms_InformationReport);
7726
7727   return offset;
7728 }
7729 static int dissect_informationReport_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
7730   return dissect_mms_InformationReport(TRUE, tvb, offset, pinfo, tree, hf_mms_informationReport);
7731 }
7732
7733
7734
7735 static int
7736 dissect_mms_UnsolicitedStatus(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
7737   offset = dissect_mms_Status_Response(implicit_tag, tvb, offset, pinfo, tree, hf_index);
7738
7739   return offset;
7740 }
7741 static int dissect_unsolicitedStatus_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
7742   return dissect_mms_UnsolicitedStatus(TRUE, tvb, offset, pinfo, tree, hf_mms_unsolicitedStatus);
7743 }
7744
7745
7746 static const value_string mms_T_eventConditionName1_vals[] = {
7747   {   0, "eventCondition" },
7748   {   1, "undefined" },
7749   { 0, NULL }
7750 };
7751
7752 static const ber_choice_t T_eventConditionName1_choice[] = {
7753   {   0, BER_CLASS_CON, 0, 0, dissect_eventCondition },
7754   {   1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_undefined_impl },
7755   { 0, 0, 0, 0, NULL }
7756 };
7757
7758 static int
7759 dissect_mms_T_eventConditionName1(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
7760   offset = dissect_ber_choice(pinfo, tree, tvb, offset,
7761                                  T_eventConditionName1_choice, hf_index, ett_mms_T_eventConditionName1,
7762                                  NULL);
7763
7764   return offset;
7765 }
7766 static int dissect_eventConditionName2(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
7767   return dissect_mms_T_eventConditionName1(FALSE, tvb, offset, pinfo, tree, hf_mms_eventConditionName2);
7768 }
7769
7770
7771 static const value_string mms_T_eventActionResult_vals[] = {
7772   {   0, "success" },
7773   {   1, "failure" },
7774   { 0, NULL }
7775 };
7776
7777 static const ber_choice_t T_eventActionResult_choice[] = {
7778   {   0, BER_CLASS_CON, 0, 0, dissect_success1 },
7779   {   1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_failure1_impl },
7780   { 0, 0, 0, 0, NULL }
7781 };
7782
7783 static int
7784 dissect_mms_T_eventActionResult(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
7785   offset = dissect_ber_choice(pinfo, tree, tvb, offset,
7786                                  T_eventActionResult_choice, hf_index, ett_mms_T_eventActionResult,
7787                                  NULL);
7788
7789   return offset;
7790 }
7791 static int dissect_eventActionResult(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
7792   return dissect_mms_T_eventActionResult(FALSE, tvb, offset, pinfo, tree, hf_mms_eventActionResult);
7793 }
7794
7795
7796 static const ber_sequence_t T_actionResult_sequence[] = {
7797   { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_eventActioName },
7798   { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_eventActionResult },
7799   { 0, 0, 0, NULL }
7800 };
7801
7802 static int
7803 dissect_mms_T_actionResult(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
7804   offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7805                                    T_actionResult_sequence, hf_index, ett_mms_T_actionResult);
7806
7807   return offset;
7808 }
7809 static int dissect_actionResult_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
7810   return dissect_mms_T_actionResult(TRUE, tvb, offset, pinfo, tree, hf_mms_actionResult);
7811 }
7812
7813
7814 static const ber_sequence_t EventNotification_sequence[] = {
7815   { BER_CLASS_CON, 0, BER_FLAGS_NOTCHKTAG, dissect_eventEnrollmentName },
7816   { BER_CLASS_CON, 1, 0, dissect_eventConditionName2 },
7817   { BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_severity_impl },
7818   { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_currentState_impl },
7819   { BER_CLASS_CON, 4, BER_FLAGS_NOTCHKTAG, dissect_transitionTime },
7820   { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_notificationLost_impl },
7821   { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_alarmAcknowledgmentRule_impl },
7822   { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_actionResult_impl },
7823   { 0, 0, 0, NULL }
7824 };
7825
7826 static int
7827 dissect_mms_EventNotification(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
7828   offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7829                                    EventNotification_sequence, hf_index, ett_mms_EventNotification);
7830
7831   return offset;
7832 }
7833 static int dissect_eventNotification_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
7834   return dissect_mms_EventNotification(TRUE, tvb, offset, pinfo, tree, hf_mms_eventNotification);
7835 }
7836
7837
7838 static const value_string mms_UnconfirmedService_vals[] = {
7839   {   0, "informationReport" },
7840   {   1, "unsolicitedStatus" },
7841   {   2, "eventNotification" },
7842   { 0, NULL }
7843 };
7844
7845 static const ber_choice_t UnconfirmedService_choice[] = {
7846   {   0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_informationReport_impl },
7847   {   1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_unsolicitedStatus_impl },
7848   {   2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_eventNotification_impl },
7849   { 0, 0, 0, 0, NULL }
7850 };
7851
7852 static int
7853 dissect_mms_UnconfirmedService(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
7854   offset = dissect_ber_choice(pinfo, tree, tvb, offset,
7855                                  UnconfirmedService_choice, hf_index, ett_mms_UnconfirmedService,
7856                                  NULL);
7857
7858   return offset;
7859 }
7860 static int dissect_unconfirmedService(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
7861   return dissect_mms_UnconfirmedService(FALSE, tvb, offset, pinfo, tree, hf_mms_unconfirmedService);
7862 }
7863
7864
7865 static const ber_sequence_t Unconfirmed_PDU_sequence[] = {
7866   { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_unconfirmedService },
7867   { BER_CLASS_CON, 79, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_cs_request_detail },
7868   { 0, 0, 0, NULL }
7869 };
7870
7871 static int
7872 dissect_mms_Unconfirmed_PDU(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
7873   offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7874                                    Unconfirmed_PDU_sequence, hf_index, ett_mms_Unconfirmed_PDU);
7875
7876   return offset;
7877 }
7878 static int dissect_unconfirmed_PDU_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
7879   return dissect_mms_Unconfirmed_PDU(TRUE, tvb, offset, pinfo, tree, hf_mms_unconfirmed_PDU);
7880 }
7881
7882
7883 static const value_string mms_T_confirmed_requestPDU_vals[] = {
7884   {   0, "other" },
7885   {   1, "unrecognized-service" },
7886   {   2, "unrecognized-modifier" },
7887   {   3, "invalid-invokeID" },
7888   {   4, "invalid-argument" },
7889   {   5, "invalid-modifier" },
7890   {   6, "max-serv-outstanding-exceeded" },
7891   {   8, "max-recursion-exceeded" },
7892   {   9, "value-out-of-range" },
7893   { 0, NULL }
7894 };
7895
7896
7897 static int
7898 dissect_mms_T_confirmed_requestPDU(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
7899   offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
7900                                   NULL);
7901
7902   return offset;
7903 }
7904 static int dissect_confirmed_requestPDU_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
7905   return dissect_mms_T_confirmed_requestPDU(TRUE, tvb, offset, pinfo, tree, hf_mms_confirmed_requestPDU);
7906 }
7907
7908
7909 static const value_string mms_T_confirmed_responsePDU_vals[] = {
7910   {   0, "other" },
7911   {   1, "unrecognized-service" },
7912   {   2, "invalid-invokeID" },
7913   {   3, "invalid-result" },
7914   {   5, "max-recursion-exceeded" },
7915   {   6, "value-out-of-range" },
7916   { 0, NULL }
7917 };
7918
7919
7920 static int
7921 dissect_mms_T_confirmed_responsePDU(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
7922   offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
7923                                   NULL);
7924
7925   return offset;
7926 }
7927 static int dissect_confirmed_responsePDU_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
7928   return dissect_mms_T_confirmed_responsePDU(TRUE, tvb, offset, pinfo, tree, hf_mms_confirmed_responsePDU);
7929 }
7930
7931
7932 static const value_string mms_T_confirmed_errorPDU_vals[] = {
7933   {   0, "other" },
7934   {   1, "unrecognized-service" },
7935   {   2, "invalid-invokeID" },
7936   {   3, "invalid-serviceError" },
7937   {   4, "value-out-of-range" },
7938   { 0, NULL }
7939 };
7940
7941
7942 static int
7943 dissect_mms_T_confirmed_errorPDU(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
7944   offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
7945                                   NULL);
7946
7947   return offset;
7948 }
7949 static int dissect_confirmed_errorPDU_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
7950   return dissect_mms_T_confirmed_errorPDU(TRUE, tvb, offset, pinfo, tree, hf_mms_confirmed_errorPDU);
7951 }
7952
7953
7954 static const value_string mms_T_unconfirmedPDU_vals[] = {
7955   {   0, "other" },
7956   {   1, "unrecognized-service" },
7957   {   2, "invalid-argument" },
7958   {   3, "max-recursion-exceeded" },
7959   {   4, "value-out-of-range" },
7960   { 0, NULL }
7961 };
7962
7963
7964 static int
7965 dissect_mms_T_unconfirmedPDU(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
7966   offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
7967                                   NULL);
7968
7969   return offset;
7970 }
7971 static int dissect_unconfirmedPDU_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
7972   return dissect_mms_T_unconfirmedPDU(TRUE, tvb, offset, pinfo, tree, hf_mms_unconfirmedPDU);
7973 }
7974
7975
7976 static const value_string mms_T_pdu_error_vals[] = {
7977   {   0, "unknown-pdu-type" },
7978   {   1, "invalid-pdu" },
7979   {   2, "illegal-acse-mapping" },
7980   { 0, NULL }
7981 };
7982
7983
7984 static int
7985 dissect_mms_T_pdu_error(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
7986   offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
7987                                   NULL);
7988
7989   return offset;
7990 }
7991 static int dissect_pdu_error_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
7992   return dissect_mms_T_pdu_error(TRUE, tvb, offset, pinfo, tree, hf_mms_pdu_error);
7993 }
7994
7995
7996 static const value_string mms_T_cancel_requestPDU_vals[] = {
7997   {   0, "other" },
7998   {   1, "invalid-invokeID" },
7999   { 0, NULL }
8000 };
8001
8002
8003 static int
8004 dissect_mms_T_cancel_requestPDU(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
8005   offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
8006                                   NULL);
8007
8008   return offset;
8009 }
8010 static int dissect_cancel_requestPDU_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
8011   return dissect_mms_T_cancel_requestPDU(TRUE, tvb, offset, pinfo, tree, hf_mms_cancel_requestPDU);
8012 }
8013
8014
8015 static const value_string mms_T_cancel_responsePDU_vals[] = {
8016   {   0, "other" },
8017   {   1, "invalid-invokeID" },
8018   { 0, NULL }
8019 };
8020
8021
8022 static int
8023 dissect_mms_T_cancel_responsePDU(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
8024   offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
8025                                   NULL);
8026
8027   return offset;
8028 }
8029 static int dissect_cancel_responsePDU_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
8030   return dissect_mms_T_cancel_responsePDU(TRUE, tvb, offset, pinfo, tree, hf_mms_cancel_responsePDU);
8031 }
8032
8033
8034 static const value_string mms_T_cancel_errorPDU_vals[] = {
8035   {   0, "other" },
8036   {   1, "invalid-invokeID" },
8037   {   2, "invalid-serviceError" },
8038   {   3, "value-out-of-range" },
8039   { 0, NULL }
8040 };
8041
8042
8043 static int
8044 dissect_mms_T_cancel_errorPDU(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
8045   offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
8046                                   NULL);
8047
8048   return offset;
8049 }
8050 static int dissect_cancel_errorPDU_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
8051   return dissect_mms_T_cancel_errorPDU(TRUE, tvb, offset, pinfo, tree, hf_mms_cancel_errorPDU);
8052 }
8053
8054
8055 static const value_string mms_T_conclude_requestPDU_vals[] = {
8056   {   0, "other" },
8057   {   1, "invalid-argument" },
8058   { 0, NULL }
8059 };
8060
8061
8062 static int
8063 dissect_mms_T_conclude_requestPDU(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
8064   offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
8065                                   NULL);
8066
8067   return offset;
8068 }
8069 static int dissect_conclude_requestPDU_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
8070   return dissect_mms_T_conclude_requestPDU(TRUE, tvb, offset, pinfo, tree, hf_mms_conclude_requestPDU);
8071 }
8072
8073
8074 static const value_string mms_T_conclude_responsePDU_vals[] = {
8075   {   0, "other" },
8076   {   1, "invalid-result" },
8077   { 0, NULL }
8078 };
8079
8080
8081 static int
8082 dissect_mms_T_conclude_responsePDU(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
8083   offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
8084                                   NULL);
8085
8086   return offset;
8087 }
8088 static int dissect_conclude_responsePDU_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
8089   return dissect_mms_T_conclude_responsePDU(TRUE, tvb, offset, pinfo, tree, hf_mms_conclude_responsePDU);
8090 }
8091
8092
8093 static const value_string mms_T_conclude_errorPDU_vals[] = {
8094   {   0, "other" },
8095   {   1, "invalid-serviceError" },
8096   {   2, "value-out-of-range" },
8097   { 0, NULL }
8098 };
8099
8100
8101 static int
8102 dissect_mms_T_conclude_errorPDU(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
8103   offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
8104                                   NULL);
8105
8106   return offset;
8107 }
8108 static int dissect_conclude_errorPDU_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
8109   return dissect_mms_T_conclude_errorPDU(TRUE, tvb, offset, pinfo, tree, hf_mms_conclude_errorPDU);
8110 }
8111
8112
8113 static const value_string mms_T_rejectReason_vals[] = {
8114   {   1, "confirmed-requestPDU" },
8115   {   2, "confirmed-responsePDU" },
8116   {   3, "confirmed-errorPDU" },
8117   {   4, "unconfirmedPDU" },
8118   {   5, "pdu-error" },
8119   {   6, "cancel-requestPDU" },
8120   {   7, "cancel-responsePDU" },
8121   {   8, "cancel-errorPDU" },
8122   {   9, "conclude-requestPDU" },
8123   {  10, "conclude-responsePDU" },
8124   {  11, "conclude-errorPDU" },
8125   { 0, NULL }
8126 };
8127
8128 static const ber_choice_t T_rejectReason_choice[] = {
8129   {   1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_confirmed_requestPDU_impl },
8130   {   2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_confirmed_responsePDU_impl },
8131   {   3, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_confirmed_errorPDU_impl },
8132   {   4, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_unconfirmedPDU_impl },
8133   {   5, BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_pdu_error_impl },
8134   {   6, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_cancel_requestPDU_impl },
8135   {   7, BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_cancel_responsePDU_impl },
8136   {   8, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_cancel_errorPDU_impl },
8137   {   9, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_conclude_requestPDU_impl },
8138   {  10, BER_CLASS_CON, 10, BER_FLAGS_IMPLTAG, dissect_conclude_responsePDU_impl },
8139   {  11, BER_CLASS_CON, 11, BER_FLAGS_IMPLTAG, dissect_conclude_errorPDU_impl },
8140   { 0, 0, 0, 0, NULL }
8141 };
8142
8143 static int
8144 dissect_mms_T_rejectReason(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
8145   offset = dissect_ber_choice(pinfo, tree, tvb, offset,
8146                                  T_rejectReason_choice, hf_index, ett_mms_T_rejectReason,
8147                                  NULL);
8148
8149   return offset;
8150 }
8151 static int dissect_rejectReason(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
8152   return dissect_mms_T_rejectReason(FALSE, tvb, offset, pinfo, tree, hf_mms_rejectReason);
8153 }
8154
8155
8156 static const ber_sequence_t RejectPDU_sequence[] = {
8157   { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_originalInvokeID_impl },
8158   { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_rejectReason },
8159   { 0, 0, 0, NULL }
8160 };
8161
8162 static int
8163 dissect_mms_RejectPDU(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
8164   offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
8165                                    RejectPDU_sequence, hf_index, ett_mms_RejectPDU);
8166
8167   return offset;
8168 }
8169 static int dissect_rejectPDU_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
8170   return dissect_mms_RejectPDU(TRUE, tvb, offset, pinfo, tree, hf_mms_rejectPDU);
8171 }
8172
8173
8174
8175 static int
8176 dissect_mms_Cancel_RequestPDU(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
8177   offset = dissect_mms_Unsigned32(implicit_tag, tvb, offset, pinfo, tree, hf_index);
8178
8179   return offset;
8180 }
8181 static int dissect_cancel_RequestPDU_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
8182   return dissect_mms_Cancel_RequestPDU(TRUE, tvb, offset, pinfo, tree, hf_mms_cancel_RequestPDU);
8183 }
8184
8185
8186
8187 static int
8188 dissect_mms_Cancel_ResponsePDU(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
8189   offset = dissect_mms_Unsigned32(implicit_tag, tvb, offset, pinfo, tree, hf_index);
8190
8191   return offset;
8192 }
8193 static int dissect_cancel_ResponsePDU_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
8194   return dissect_mms_Cancel_ResponsePDU(TRUE, tvb, offset, pinfo, tree, hf_mms_cancel_ResponsePDU);
8195 }
8196
8197
8198 static const ber_sequence_t Cancel_ErrorPDU_sequence[] = {
8199   { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_originalInvokeID_impl },
8200   { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_serviceError_impl },
8201   { 0, 0, 0, NULL }
8202 };
8203
8204 static int
8205 dissect_mms_Cancel_ErrorPDU(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
8206   offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
8207                                    Cancel_ErrorPDU_sequence, hf_index, ett_mms_Cancel_ErrorPDU);
8208
8209   return offset;
8210 }
8211 static int dissect_cancel_ErrorPDU_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
8212   return dissect_mms_Cancel_ErrorPDU(TRUE, tvb, offset, pinfo, tree, hf_mms_cancel_ErrorPDU);
8213 }
8214
8215
8216
8217 static int
8218 dissect_mms_Integer16(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
8219   offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
8220                                   NULL);
8221
8222   return offset;
8223 }
8224 static int dissect_proposedMaxServOutstandingCalling_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
8225   return dissect_mms_Integer16(TRUE, tvb, offset, pinfo, tree, hf_mms_proposedMaxServOutstandingCalling);
8226 }
8227 static int dissect_proposedMaxServOutstandingCalled_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
8228   return dissect_mms_Integer16(TRUE, tvb, offset, pinfo, tree, hf_mms_proposedMaxServOutstandingCalled);
8229 }
8230 static int dissect_proposedVersionNumber_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
8231   return dissect_mms_Integer16(TRUE, tvb, offset, pinfo, tree, hf_mms_proposedVersionNumber);
8232 }
8233 static int dissect_negociatedMaxServOutstandingCalling_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
8234   return dissect_mms_Integer16(TRUE, tvb, offset, pinfo, tree, hf_mms_negociatedMaxServOutstandingCalling);
8235 }
8236 static int dissect_negociatedMaxServOutstandingCalled_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
8237   return dissect_mms_Integer16(TRUE, tvb, offset, pinfo, tree, hf_mms_negociatedMaxServOutstandingCalled);
8238 }
8239 static int dissect_negociatedVersionNumber_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
8240   return dissect_mms_Integer16(TRUE, tvb, offset, pinfo, tree, hf_mms_negociatedVersionNumber);
8241 }
8242
8243
8244 static const asn_namedbit ParameterSupportOptions_bits[] = {
8245   {  0, &hf_mms_ParameterSupportOptions_str1, -1, -1, "str1", NULL },
8246   {  1, &hf_mms_ParameterSupportOptions_str2, -1, -1, "str2", NULL },
8247   {  2, &hf_mms_ParameterSupportOptions_vnam, -1, -1, "vnam", NULL },
8248   {  3, &hf_mms_ParameterSupportOptions_valt, -1, -1, "valt", NULL },
8249   {  4, &hf_mms_ParameterSupportOptions_vadr, -1, -1, "vadr", NULL },
8250   {  5, &hf_mms_ParameterSupportOptions_vsca, -1, -1, "vsca", NULL },
8251   {  6, &hf_mms_ParameterSupportOptions_tpy, -1, -1, "tpy", NULL },
8252   {  7, &hf_mms_ParameterSupportOptions_vlis, -1, -1, "vlis", NULL },
8253   {  8, &hf_mms_ParameterSupportOptions_real, -1, -1, "real", NULL },
8254   { 10, &hf_mms_ParameterSupportOptions_cei, -1, -1, "cei", NULL },
8255   { 0, NULL, 0, 0, NULL, NULL }
8256 };
8257
8258 static int
8259 dissect_mms_ParameterSupportOptions(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
8260   offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
8261                                     ParameterSupportOptions_bits, hf_index, ett_mms_ParameterSupportOptions,
8262                                     NULL);
8263
8264   return offset;
8265 }
8266 static int dissect_proposedParameterCBB_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
8267   return dissect_mms_ParameterSupportOptions(TRUE, tvb, offset, pinfo, tree, hf_mms_proposedParameterCBB);
8268 }
8269 static int dissect_negociatedParameterCBB_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
8270   return dissect_mms_ParameterSupportOptions(TRUE, tvb, offset, pinfo, tree, hf_mms_negociatedParameterCBB);
8271 }
8272
8273
8274 static const asn_namedbit ServiceSupportOptions_bits[] = {
8275   {  0, &hf_mms_ServiceSupportOptions_status, -1, -1, "status", NULL },
8276   {  1, &hf_mms_ServiceSupportOptions_getNameList, -1, -1, "getNameList", NULL },
8277   {  2, &hf_mms_ServiceSupportOptions_identify, -1, -1, "identify", NULL },
8278   {  3, &hf_mms_ServiceSupportOptions_rename, -1, -1, "rename", NULL },
8279   {  4, &hf_mms_ServiceSupportOptions_read, -1, -1, "read", NULL },
8280   {  5, &hf_mms_ServiceSupportOptions_write, -1, -1, "write", NULL },
8281   {  6, &hf_mms_ServiceSupportOptions_getVariableAccessAttributes, -1, -1, "getVariableAccessAttributes", NULL },
8282   {  7, &hf_mms_ServiceSupportOptions_defineNamedVariable, -1, -1, "defineNamedVariable", NULL },
8283   {  8, &hf_mms_ServiceSupportOptions_defineScatteredAccess, -1, -1, "defineScatteredAccess", NULL },
8284   {  9, &hf_mms_ServiceSupportOptions_getScatteredAccessAttributes, -1, -1, "getScatteredAccessAttributes", NULL },
8285   { 10, &hf_mms_ServiceSupportOptions_deleteVariableAccess, -1, -1, "deleteVariableAccess", NULL },
8286   { 11, &hf_mms_ServiceSupportOptions_defineNamedVariableList, -1, -1, "defineNamedVariableList", NULL },
8287   { 12, &hf_mms_ServiceSupportOptions_getNamedVariableListAttributes, -1, -1, "getNamedVariableListAttributes", NULL },
8288   { 13, &hf_mms_ServiceSupportOptions_deleteNamedVariableList, -1, -1, "deleteNamedVariableList", NULL },
8289   { 14, &hf_mms_ServiceSupportOptions_defineNamedType, -1, -1, "defineNamedType", NULL },
8290   { 15, &hf_mms_ServiceSupportOptions_getNamedTypeAttributes, -1, -1, "getNamedTypeAttributes", NULL },
8291   { 16, &hf_mms_ServiceSupportOptions_deleteNamedType, -1, -1, "deleteNamedType", NULL },
8292   { 17, &hf_mms_ServiceSupportOptions_input, -1, -1, "input", NULL },
8293   { 18, &hf_mms_ServiceSupportOptions_output, -1, -1, "output", NULL },
8294   { 19, &hf_mms_ServiceSupportOptions_takeControl, -1, -1, "takeControl", NULL },
8295   { 20, &hf_mms_ServiceSupportOptions_relinquishControl, -1, -1, "relinquishControl", NULL },
8296   { 21, &hf_mms_ServiceSupportOptions_defineSemaphore, -1, -1, "defineSemaphore", NULL },
8297   { 22, &hf_mms_ServiceSupportOptions_deleteSemaphore, -1, -1, "deleteSemaphore", NULL },
8298   { 23, &hf_mms_ServiceSupportOptions_reportSemaphoreStatus, -1, -1, "reportSemaphoreStatus", NULL },
8299   { 24, &hf_mms_ServiceSupportOptions_reportPoolSemaphoreStatus, -1, -1, "reportPoolSemaphoreStatus", NULL },
8300   { 25, &hf_mms_ServiceSupportOptions_reportSemaphoreEntryStatus, -1, -1, "reportSemaphoreEntryStatus", NULL },
8301   { 26, &hf_mms_ServiceSupportOptions_initiateDownloadSequence, -1, -1, "initiateDownloadSequence", NULL },
8302   { 27, &hf_mms_ServiceSupportOptions_downloadSegment, -1, -1, "downloadSegment", NULL },
8303   { 28, &hf_mms_ServiceSupportOptions_terminateDownloadSequence, -1, -1, "terminateDownloadSequence", NULL },
8304   { 29, &hf_mms_ServiceSupportOptions_initiateUploadSequence, -1, -1, "initiateUploadSequence", NULL },
8305   { 30, &hf_mms_ServiceSupportOptions_uploadSegment, -1, -1, "uploadSegment", NULL },
8306   { 31, &hf_mms_ServiceSupportOptions_terminateUploadSequence, -1, -1, "terminateUploadSequence", NULL },
8307   { 32, &hf_mms_ServiceSupportOptions_requestDomainDownload, -1, -1, "requestDomainDownload", NULL },
8308   { 33, &hf_mms_ServiceSupportOptions_requestDomainUpload, -1, -1, "requestDomainUpload", NULL },
8309   { 34, &hf_mms_ServiceSupportOptions_loadDomainContent, -1, -1, "loadDomainContent", NULL },
8310   { 35, &hf_mms_ServiceSupportOptions_storeDomainContent, -1, -1, "storeDomainContent", NULL },
8311   { 36, &hf_mms_ServiceSupportOptions_deleteDomain, -1, -1, "deleteDomain", NULL },
8312   { 37, &hf_mms_ServiceSupportOptions_getDomainAttributes, -1, -1, "getDomainAttributes", NULL },
8313   { 38, &hf_mms_ServiceSupportOptions_createProgramInvocation, -1, -1, "createProgramInvocation", NULL },
8314   { 39, &hf_mms_ServiceSupportOptions_deleteProgramInvocation, -1, -1, "deleteProgramInvocation", NULL },
8315   { 40, &hf_mms_ServiceSupportOptions_start, -1, -1, "start", NULL },
8316   { 41, &hf_mms_ServiceSupportOptions_stop, -1, -1, "stop", NULL },
8317   { 42, &hf_mms_ServiceSupportOptions_resume, -1, -1, "resume", NULL },
8318   { 43, &hf_mms_ServiceSupportOptions_reset, -1, -1, "reset", NULL },
8319   { 44, &hf_mms_ServiceSupportOptions_kill, -1, -1, "kill", NULL },
8320   { 45, &hf_mms_ServiceSupportOptions_getProgramInvocationAttributes, -1, -1, "getProgramInvocationAttributes", NULL },
8321   { 46, &hf_mms_ServiceSupportOptions_obtainFile, -1, -1, "obtainFile", NULL },
8322   { 47, &hf_mms_ServiceSupportOptions_defineEventCondition, -1, -1, "defineEventCondition", NULL },
8323   { 48, &hf_mms_ServiceSupportOptions_deleteEventCondition, -1, -1, "deleteEventCondition", NULL },
8324   { 49, &hf_mms_ServiceSupportOptions_getEventConditionAttributes, -1, -1, "getEventConditionAttributes", NULL },
8325   { 50, &hf_mms_ServiceSupportOptions_reportEventConditionStatus, -1, -1, "reportEventConditionStatus", NULL },
8326   { 51, &hf_mms_ServiceSupportOptions_alterEventConditionMonitoring, -1, -1, "alterEventConditionMonitoring", NULL },
8327   { 52, &hf_mms_ServiceSupportOptions_triggerEvent, -1, -1, "triggerEvent", NULL },
8328   { 53, &hf_mms_ServiceSupportOptions_defineEventAction, -1, -1, "defineEventAction", NULL },
8329   { 54, &hf_mms_ServiceSupportOptions_deleteEventAction, -1, -1, "deleteEventAction", NULL },
8330   { 55, &hf_mms_ServiceSupportOptions_getEventActionAttributes, -1, -1, "getEventActionAttributes", NULL },
8331   { 56, &hf_mms_ServiceSupportOptions_reportActionStatus, -1, -1, "reportActionStatus", NULL },
8332   { 57, &hf_mms_ServiceSupportOptions_defineEventEnrollment, -1, -1, "defineEventEnrollment", NULL },
8333   { 58, &hf_mms_ServiceSupportOptions_deleteEventEnrollment, -1, -1, "deleteEventEnrollment", NULL },
8334   { 59, &hf_mms_ServiceSupportOptions_alterEventEnrollment, -1, -1, "alterEventEnrollment", NULL },
8335   { 60, &hf_mms_ServiceSupportOptions_reportEventEnrollmentStatus, -1, -1, "reportEventEnrollmentStatus", NULL },
8336   { 61, &hf_mms_ServiceSupportOptions_getEventEnrollmentAttributes, -1, -1, "getEventEnrollmentAttributes", NULL },
8337   { 62, &hf_mms_ServiceSupportOptions_acknowledgeEventNotification, -1, -1, "acknowledgeEventNotification", NULL },
8338   { 63, &hf_mms_ServiceSupportOptions_getAlarmSummary, -1, -1, "getAlarmSummary", NULL },
8339   { 64, &hf_mms_ServiceSupportOptions_getAlarmEnrollmentSummary, -1, -1, "getAlarmEnrollmentSummary", NULL },
8340   { 65, &hf_mms_ServiceSupportOptions_readJournal, -1, -1, "readJournal", NULL },
8341   { 66, &hf_mms_ServiceSupportOptions_writeJournal, -1, -1, "writeJournal", NULL },
8342   { 67, &hf_mms_ServiceSupportOptions_initializeJournal, -1, -1, "initializeJournal", NULL },
8343   { 68, &hf_mms_ServiceSupportOptions_reportJournalStatus, -1, -1, "reportJournalStatus", NULL },
8344   { 69, &hf_mms_ServiceSupportOptions_createJournal, -1, -1, "createJournal", NULL },
8345   { 70, &hf_mms_ServiceSupportOptions_deleteJournal, -1, -1, "deleteJournal", NULL },
8346   { 71, &hf_mms_ServiceSupportOptions_getCapabilityList, -1, -1, "getCapabilityList", NULL },
8347   { 72, &hf_mms_ServiceSupportOptions_fileOpen, -1, -1, "fileOpen", NULL },
8348   { 73, &hf_mms_ServiceSupportOptions_fileRead, -1, -1, "fileRead", NULL },
8349   { 74, &hf_mms_ServiceSupportOptions_fileClose, -1, -1, "fileClose", NULL },
8350   { 75, &hf_mms_ServiceSupportOptions_fileRename, -1, -1, "fileRename", NULL },
8351   { 76, &hf_mms_ServiceSupportOptions_fileDelete, -1, -1, "fileDelete", NULL },
8352   { 77, &hf_mms_ServiceSupportOptions_fileDirectory, -1, -1, "fileDirectory", NULL },
8353   { 78, &hf_mms_ServiceSupportOptions_unsolicitedStatus, -1, -1, "unsolicitedStatus", NULL },
8354   { 79, &hf_mms_ServiceSupportOptions_informationReport, -1, -1, "informationReport", NULL },
8355   { 80, &hf_mms_ServiceSupportOptions_eventNotification, -1, -1, "eventNotification", NULL },
8356   { 81, &hf_mms_ServiceSupportOptions_attachToEventCondition, -1, -1, "attachToEventCondition", NULL },
8357   { 82, &hf_mms_ServiceSupportOptions_attachToSemaphore, -1, -1, "attachToSemaphore", NULL },
8358   { 83, &hf_mms_ServiceSupportOptions_conclude, -1, -1, "conclude", NULL },
8359   { 84, &hf_mms_ServiceSupportOptions_cancel, -1, -1, "cancel", NULL },
8360   { 0, NULL, 0, 0, NULL, NULL }
8361 };
8362
8363 static int
8364 dissect_mms_ServiceSupportOptions(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
8365   offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
8366                                     ServiceSupportOptions_bits, hf_index, ett_mms_ServiceSupportOptions,
8367                                     NULL);
8368
8369   return offset;
8370 }
8371 static int dissect_servicesSupportedCalling_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
8372   return dissect_mms_ServiceSupportOptions(TRUE, tvb, offset, pinfo, tree, hf_mms_servicesSupportedCalling);
8373 }
8374 static int dissect_servicesSupportedCalled_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
8375   return dissect_mms_ServiceSupportOptions(TRUE, tvb, offset, pinfo, tree, hf_mms_servicesSupportedCalled);
8376 }
8377
8378
8379 static const ber_sequence_t InitRequestDetail_sequence[] = {
8380   { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_proposedVersionNumber_impl },
8381   { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_proposedParameterCBB_impl },
8382   { BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_servicesSupportedCalling_impl },
8383   { 0, 0, 0, NULL }
8384 };
8385
8386 static int
8387 dissect_mms_InitRequestDetail(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
8388   offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
8389                                    InitRequestDetail_sequence, hf_index, ett_mms_InitRequestDetail);
8390
8391   return offset;
8392 }
8393 static int dissect_mmsInitRequestDetail_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
8394   return dissect_mms_InitRequestDetail(TRUE, tvb, offset, pinfo, tree, hf_mms_mmsInitRequestDetail);
8395 }
8396
8397
8398 static const ber_sequence_t Initiate_RequestPDU_sequence[] = {
8399   { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_localDetailCalling_impl },
8400   { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_proposedMaxServOutstandingCalling_impl },
8401   { BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_proposedMaxServOutstandingCalled_impl },
8402   { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_proposedDataStructureNestingLevel_impl },
8403   { BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_mmsInitRequestDetail_impl },
8404   { 0, 0, 0, NULL }
8405 };
8406
8407 static int
8408 dissect_mms_Initiate_RequestPDU(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
8409   offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
8410                                    Initiate_RequestPDU_sequence, hf_index, ett_mms_Initiate_RequestPDU);
8411
8412   return offset;
8413 }
8414 static int dissect_initiate_RequestPDU_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
8415   return dissect_mms_Initiate_RequestPDU(TRUE, tvb, offset, pinfo, tree, hf_mms_initiate_RequestPDU);
8416 }
8417
8418
8419 static const ber_sequence_t InitResponseDetail_sequence[] = {
8420   { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_negociatedVersionNumber_impl },
8421   { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_negociatedParameterCBB_impl },
8422   { BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_servicesSupportedCalled_impl },
8423   { 0, 0, 0, NULL }
8424 };
8425
8426 static int
8427 dissect_mms_InitResponseDetail(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
8428   offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
8429                                    InitResponseDetail_sequence, hf_index, ett_mms_InitResponseDetail);
8430
8431   return offset;
8432 }
8433 static int dissect_mmsInitResponseDetail_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
8434   return dissect_mms_InitResponseDetail(TRUE, tvb, offset, pinfo, tree, hf_mms_mmsInitResponseDetail);
8435 }
8436
8437
8438 static const ber_sequence_t Initiate_ResponsePDU_sequence[] = {
8439   { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_localDetailCalled_impl },
8440   { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_negociatedMaxServOutstandingCalling_impl },
8441   { BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_negociatedMaxServOutstandingCalled_impl },
8442   { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_negociatedDataStructureNestingLevel_impl },
8443   { BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_mmsInitResponseDetail_impl },
8444   { 0, 0, 0, NULL }
8445 };
8446
8447 static int
8448 dissect_mms_Initiate_ResponsePDU(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
8449   offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
8450                                    Initiate_ResponsePDU_sequence, hf_index, ett_mms_Initiate_ResponsePDU);
8451
8452   return offset;
8453 }
8454 static int dissect_initiate_ResponsePDU_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
8455   return dissect_mms_Initiate_ResponsePDU(TRUE, tvb, offset, pinfo, tree, hf_mms_initiate_ResponsePDU);
8456 }
8457
8458
8459
8460 static int
8461 dissect_mms_Initiate_ErrorPDU(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
8462   offset = dissect_mms_ServiceError(implicit_tag, tvb, offset, pinfo, tree, hf_index);
8463
8464   return offset;
8465 }
8466 static int dissect_initiate_ErrorPDU_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
8467   return dissect_mms_Initiate_ErrorPDU(TRUE, tvb, offset, pinfo, tree, hf_mms_initiate_ErrorPDU);
8468 }
8469
8470
8471
8472 static int
8473 dissect_mms_Conclude_RequestPDU(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
8474   offset = dissect_ber_null(implicit_tag, pinfo, tree, tvb, offset, hf_index);
8475
8476   return offset;
8477 }
8478 static int dissect_conclude_RequestPDU_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
8479   return dissect_mms_Conclude_RequestPDU(TRUE, tvb, offset, pinfo, tree, hf_mms_conclude_RequestPDU);
8480 }
8481
8482
8483
8484 static int
8485 dissect_mms_Conclude_ResponsePDU(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
8486   offset = dissect_ber_null(implicit_tag, pinfo, tree, tvb, offset, hf_index);
8487
8488   return offset;
8489 }
8490 static int dissect_conclude_ResponsePDU_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
8491   return dissect_mms_Conclude_ResponsePDU(TRUE, tvb, offset, pinfo, tree, hf_mms_conclude_ResponsePDU);
8492 }
8493
8494
8495
8496 static int
8497 dissect_mms_Conclude_ErrorPDU(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
8498   offset = dissect_mms_ServiceError(implicit_tag, tvb, offset, pinfo, tree, hf_index);
8499
8500   return offset;
8501 }
8502 static int dissect_conclude_ErrorPDU_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) {
8503   return dissect_mms_Conclude_ErrorPDU(TRUE, tvb, offset, pinfo, tree, hf_mms_conclude_ErrorPDU);
8504 }
8505
8506
8507 const value_string mms_MMSpdu_vals[] = {
8508   {   0, "confirmed-RequestPDU" },
8509   {   1, "confirmed-ResponsePDU" },
8510   {   2, "confirmed-ErrorPDU" },
8511   {   3, "unconfirmed-PDU" },
8512   {   4, "rejectPDU" },
8513   {   5, "cancel-RequestPDU" },
8514   {   6, "cancel-ResponsePDU" },
8515   {   7, "cancel-ErrorPDU" },
8516   {   8, "initiate-RequestPDU" },
8517   {   9, "initiate-ResponsePDU" },
8518   {  10, "initiate-ErrorPDU" },
8519   {  11, "conclude-RequestPDU" },
8520   {  12, "conclude-ResponsePDU" },
8521   {  13, "conclude-ErrorPDU" },
8522   { 0, NULL }
8523 };
8524
8525 static const ber_choice_t MMSpdu_choice[] = {
8526   {   0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_confirmed_RequestPDU_impl },
8527   {   1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_confirmed_ResponsePDU_impl },
8528   {   2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_confirmed_ErrorPDU_impl },
8529   {   3, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_unconfirmed_PDU_impl },
8530   {   4, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_rejectPDU_impl },
8531   {   5, BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_cancel_RequestPDU_impl },
8532   {   6, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_cancel_ResponsePDU_impl },
8533   {   7, BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_cancel_ErrorPDU_impl },
8534   {   8, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_initiate_RequestPDU_impl },
8535   {   9, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_initiate_ResponsePDU_impl },
8536   {  10, BER_CLASS_CON, 10, BER_FLAGS_IMPLTAG, dissect_initiate_ErrorPDU_impl },
8537   {  11, BER_CLASS_CON, 11, BER_FLAGS_IMPLTAG, dissect_conclude_RequestPDU_impl },
8538   {  12, BER_CLASS_CON, 12, BER_FLAGS_IMPLTAG, dissect_conclude_ResponsePDU_impl },
8539   {  13, BER_CLASS_CON, 13, BER_FLAGS_IMPLTAG, dissect_conclude_ErrorPDU_impl },
8540   { 0, 0, 0, 0, NULL }
8541 };
8542
8543 int
8544 dissect_mms_MMSpdu(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int hf_index _U_) {
8545 #line 35 "mms.cnf"
8546   gint branch_taken;
8547
8548   offset = dissect_ber_choice(pinfo, tree, tvb, offset,
8549                                  MMSpdu_choice, hf_index, ett_mms_MMSpdu,
8550                                  &branch_taken);
8551
8552   if(check_col(pinfo->cinfo, COL_INFO))
8553     col_append_fstr(pinfo->cinfo, COL_INFO, "%s ", val_to_str(branch_taken, mms_MMSpdu_vals, "Unknown"));
8554
8555
8556
8557
8558   return offset;
8559 }
8560
8561
8562 /*--- End of included file: packet-mms-fn.c ---*/
8563 #line 55 "packet-mms-template.c"
8564
8565 /*
8566 * Dissect MMS PDUs inside a PPDU.
8567 */
8568 static void
8569 dissect_mms(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
8570 {
8571         int offset = 0;
8572         int old_offset;
8573         proto_item *item=NULL;
8574         proto_tree *tree=NULL;
8575
8576         if(parent_tree){
8577                 item = proto_tree_add_item(parent_tree, proto_mms, tvb, 0, -1, FALSE);
8578                 tree = proto_item_add_subtree(item, ett_mms);
8579         }
8580         if (check_col(pinfo->cinfo, COL_PROTOCOL))
8581                 col_set_str(pinfo->cinfo, COL_PROTOCOL, "MMS");
8582         if (check_col(pinfo->cinfo, COL_INFO))
8583                 col_clear(pinfo->cinfo, COL_INFO);
8584
8585         while (tvb_reported_length_remaining(tvb, offset) > 0){
8586                 old_offset=offset;
8587                 offset=dissect_mms_MMSpdu(FALSE, tvb, offset, pinfo , tree, -1);
8588                 if(offset == old_offset){
8589                         proto_tree_add_text(tree, tvb, offset, -1,"Internal error, zero-byte MMS PDU");
8590                         offset = tvb_length(tvb);
8591                         break;
8592                 }
8593         }
8594 }
8595
8596
8597 /*--- proto_register_mms -------------------------------------------*/
8598 void proto_register_mms(void) {
8599
8600   /* List of fields */
8601   static hf_register_info hf[] =
8602   {
8603
8604 /*--- Included file: packet-mms-hfarr.c ---*/
8605 #line 1 "packet-mms-hfarr.c"
8606     { &hf_mms_confirmed_RequestPDU,
8607       { "confirmed-RequestPDU", "mms.confirmed_RequestPDU",
8608         FT_NONE, BASE_NONE, NULL, 0,
8609         "mms.Confirmed_RequestPDU", HFILL }},
8610     { &hf_mms_confirmed_ResponsePDU,
8611       { "confirmed-ResponsePDU", "mms.confirmed_ResponsePDU",
8612         FT_NONE, BASE_NONE, NULL, 0,
8613         "mms.Confirmed_ResponsePDU", HFILL }},
8614     { &hf_mms_confirmed_ErrorPDU,
8615       { "confirmed-ErrorPDU", "mms.confirmed_ErrorPDU",
8616         FT_NONE, BASE_NONE, NULL, 0,
8617         "mms.Confirmed_ErrorPDU", HFILL }},
8618     { &hf_mms_unconfirmed_PDU,
8619       { "unconfirmed-PDU", "mms.unconfirmed_PDU",
8620         FT_NONE, BASE_NONE, NULL, 0,
8621         "mms.Unconfirmed_PDU", HFILL }},
8622     { &hf_mms_rejectPDU,
8623       { "rejectPDU", "mms.rejectPDU",
8624         FT_NONE, BASE_NONE, NULL, 0,
8625         "mms.RejectPDU", HFILL }},
8626     { &hf_mms_cancel_RequestPDU,
8627       { "cancel-RequestPDU", "mms.cancel_RequestPDU",
8628         FT_INT32, BASE_DEC, NULL, 0,
8629         "mms.Cancel_RequestPDU", HFILL }},
8630     { &hf_mms_cancel_ResponsePDU,
8631       { "cancel-ResponsePDU", "mms.cancel_ResponsePDU",
8632         FT_INT32, BASE_DEC, NULL, 0,
8633         "mms.Cancel_ResponsePDU", HFILL }},
8634     { &hf_mms_cancel_ErrorPDU,
8635       { "cancel-ErrorPDU", "mms.cancel_ErrorPDU",
8636         FT_NONE, BASE_NONE, NULL, 0,
8637         "mms.Cancel_ErrorPDU", HFILL }},
8638     { &hf_mms_initiate_RequestPDU,
8639       { "initiate-RequestPDU", "mms.initiate_RequestPDU",
8640         FT_NONE, BASE_NONE, NULL, 0,
8641         "mms.Initiate_RequestPDU", HFILL }},
8642     { &hf_mms_initiate_ResponsePDU,
8643       { "initiate-ResponsePDU", "mms.initiate_ResponsePDU",
8644         FT_NONE, BASE_NONE, NULL, 0,
8645         "mms.Initiate_ResponsePDU", HFILL }},
8646     { &hf_mms_initiate_ErrorPDU,
8647       { "initiate-ErrorPDU", "mms.initiate_ErrorPDU",
8648         FT_NONE, BASE_NONE, NULL, 0,
8649         "mms.Initiate_ErrorPDU", HFILL }},
8650     { &hf_mms_conclude_RequestPDU,
8651       { "conclude-RequestPDU", "mms.conclude_RequestPDU",
8652         FT_NONE, BASE_NONE, NULL, 0,
8653         "mms.Conclude_RequestPDU", HFILL }},
8654     { &hf_mms_conclude_ResponsePDU,
8655       { "conclude-ResponsePDU", "mms.conclude_ResponsePDU",
8656         FT_NONE, BASE_NONE, NULL, 0,
8657         "mms.Conclude_ResponsePDU", HFILL }},
8658     { &hf_mms_conclude_ErrorPDU,
8659       { "conclude-ErrorPDU", "mms.conclude_ErrorPDU",
8660         FT_NONE, BASE_NONE, NULL, 0,
8661         "mms.Conclude_ErrorPDU", HFILL }},
8662     { &hf_mms_invokeID,
8663       { "invokeID", "mms.invokeID",
8664         FT_INT32, BASE_DEC, NULL, 0,
8665         "mms.Unsigned32", HFILL }},
8666     { &hf_mms_listOfModifier,
8667       { "listOfModifier", "mms.listOfModifier",
8668         FT_UINT32, BASE_DEC, NULL, 0,
8669         "mms.SEQUENCE_OF_Modifier", HFILL }},
8670     { &hf_mms_listOfModifier_item,
8671       { "Item", "mms.listOfModifier_item",
8672         FT_UINT32, BASE_DEC, VALS(mms_Modifier_vals), 0,
8673         "mms.Modifier", HFILL }},
8674     { &hf_mms_confirmedServiceRequest,
8675       { "confirmedServiceRequest", "mms.confirmedServiceRequest",
8676         FT_UINT32, BASE_DEC, VALS(mms_ConfirmedServiceRequest_vals), 0,
8677         "mms.ConfirmedServiceRequest", HFILL }},
8678     { &hf_mms_cs_request_detail,
8679       { "cs-request-detail", "mms.cs_request_detail",
8680         FT_UINT32, BASE_DEC, VALS(mms_CS_Request_Detail_vals), 0,
8681         "mms.CS_Request_Detail", HFILL }},
8682     { &hf_mms_unconfirmedService,
8683       { "unconfirmedService", "mms.unconfirmedService",
8684         FT_UINT32, BASE_DEC, VALS(mms_UnconfirmedService_vals), 0,
8685         "mms.UnconfirmedService", HFILL }},
8686     { &hf_mms_confirmedServiceResponse,
8687       { "confirmedServiceResponse", "mms.confirmedServiceResponse",
8688         FT_UINT32, BASE_DEC, VALS(mms_ConfirmedServiceResponse_vals), 0,
8689         "mms.ConfirmedServiceResponse", HFILL }},
8690     { &hf_mms_modifierPosition,
8691       { "modifierPosition", "mms.modifierPosition",
8692         FT_INT32, BASE_DEC, NULL, 0,
8693         "mms.Unsigned32", HFILL }},
8694     { &hf_mms_serviceError,
8695       { "serviceError", "mms.serviceError",
8696         FT_NONE, BASE_NONE, NULL, 0,
8697         "mms.ServiceError", HFILL }},
8698     { &hf_mms_informationReport,
8699       { "informationReport", "mms.informationReport",
8700         FT_NONE, BASE_NONE, NULL, 0,
8701         "mms.InformationReport", HFILL }},
8702     { &hf_mms_unsolicitedStatus,
8703       { "unsolicitedStatus", "mms.unsolicitedStatus",
8704         FT_NONE, BASE_NONE, NULL, 0,
8705         "mms.UnsolicitedStatus", HFILL }},
8706     { &hf_mms_eventNotification,
8707       { "eventNotification", "mms.eventNotification",
8708         FT_NONE, BASE_NONE, NULL, 0,
8709         "mms.EventNotification", HFILL }},
8710     { &hf_mms_attach_To_Event_Condition,
8711       { "attach-To-Event-Condition", "mms.attach_To_Event_Condition",
8712         FT_NONE, BASE_NONE, NULL, 0,
8713         "mms.AttachToEventCondition", HFILL }},
8714     { &hf_mms_attach_To_Semaphore,
8715       { "attach-To-Semaphore", "mms.attach_To_Semaphore",
8716         FT_NONE, BASE_NONE, NULL, 0,
8717         "mms.AttachToSemaphore", HFILL }},
8718     { &hf_mms_status,
8719       { "status", "mms.status",
8720         FT_BOOLEAN, 8, NULL, 0,
8721         "mms.Status_Request", HFILL }},
8722     { &hf_mms_getNameList,
8723       { "getNameList", "mms.getNameList",
8724         FT_NONE, BASE_NONE, NULL, 0,
8725         "mms.GetNameList_Request", HFILL }},
8726     { &hf_mms_identify,
8727       { "identify", "mms.identify",
8728         FT_NONE, BASE_NONE, NULL, 0,
8729         "mms.Identify_Request", HFILL }},
8730     { &hf_mms_rename,
8731       { "rename", "mms.rename",
8732         FT_NONE, BASE_NONE, NULL, 0,
8733         "mms.Rename_Request", HFILL }},
8734     { &hf_mms_read,
8735       { "read", "mms.read",
8736         FT_NONE, BASE_NONE, NULL, 0,
8737         "mms.Read_Request", HFILL }},
8738     { &hf_mms_write,
8739       { "write", "mms.write",
8740         FT_NONE, BASE_NONE, NULL, 0,
8741         "mms.Write_Request", HFILL }},
8742     { &hf_mms_getVariableAccessAttributes,
8743       { "getVariableAccessAttributes", "mms.getVariableAccessAttributes",
8744         FT_UINT32, BASE_DEC, VALS(mms_GetVariableAccessAttributes_Request_vals), 0,
8745         "mms.GetVariableAccessAttributes_Request", HFILL }},
8746     { &hf_mms_defineNamedVariable,
8747       { "defineNamedVariable", "mms.defineNamedVariable",
8748         FT_NONE, BASE_NONE, NULL, 0,
8749         "mms.DefineNamedVariable_Request", HFILL }},
8750     { &hf_mms_defineScatteredAccess,
8751       { "defineScatteredAccess", "mms.defineScatteredAccess",
8752         FT_NONE, BASE_NONE, NULL, 0,
8753         "mms.DefineScatteredAccess_Request", HFILL }},
8754     { &hf_mms_getScatteredAccessAttributes,
8755       { "getScatteredAccessAttributes", "mms.getScatteredAccessAttributes",
8756         FT_UINT32, BASE_DEC, VALS(mms_ObjectName_vals), 0,
8757         "mms.GetScatteredAccessAttributes_Request", HFILL }},
8758     { &hf_mms_deleteVariableAccess,
8759       { "deleteVariableAccess", "mms.deleteVariableAccess",
8760         FT_NONE, BASE_NONE, NULL, 0,
8761         "mms.DeleteVariableAccess_Request", HFILL }},
8762     { &hf_mms_defineNamedVariableList,
8763       { "defineNamedVariableList", "mms.defineNamedVariableList",
8764         FT_NONE, BASE_NONE, NULL, 0,
8765         "mms.DefineNamedVariableList_Request", HFILL }},
8766     { &hf_mms_getNamedVariableListAttributes,
8767       { "getNamedVariableListAttributes", "mms.getNamedVariableListAttributes",
8768         FT_UINT32, BASE_DEC, VALS(mms_ObjectName_vals), 0,
8769         "mms.GetNamedVariableListAttributes_Request", HFILL }},
8770     { &hf_mms_deleteNamedVariableList,
8771       { "deleteNamedVariableList", "mms.deleteNamedVariableList",
8772         FT_NONE, BASE_NONE, NULL, 0,
8773         "mms.DeleteNamedVariableList_Request", HFILL }},
8774     { &hf_mms_defineNamedType,
8775       { "defineNamedType", "mms.defineNamedType",
8776         FT_NONE, BASE_NONE, NULL, 0,
8777         "mms.DefineNamedType_Request", HFILL }},
8778     { &hf_mms_getNamedTypeAttributes,
8779       { "getNamedTypeAttributes", "mms.getNamedTypeAttributes",
8780         FT_UINT32, BASE_DEC, VALS(mms_ObjectName_vals), 0,
8781         "mms.GetNamedTypeAttributes_Request", HFILL }},
8782     { &hf_mms_deleteNamedType,
8783       { "deleteNamedType", "mms.deleteNamedType",
8784         FT_NONE, BASE_NONE, NULL, 0,
8785         "mms.DeleteNamedType_Request", HFILL }},
8786     { &hf_mms_input,
8787       { "input", "mms.input",
8788         FT_NONE, BASE_NONE, NULL, 0,
8789         "mms.Input_Request", HFILL }},
8790     { &hf_mms_output,
8791       { "output", "mms.output",
8792         FT_NONE, BASE_NONE, NULL, 0,
8793         "mms.Output_Request", HFILL }},
8794     { &hf_mms_takeControl,
8795       { "takeControl", "mms.takeControl",
8796         FT_NONE, BASE_NONE, NULL, 0,
8797         "mms.TakeControl_Request", HFILL }},
8798     { &hf_mms_relinquishControl,
8799       { "relinquishControl", "mms.relinquishControl",
8800         FT_NONE, BASE_NONE, NULL, 0,
8801         "mms.RelinquishControl_Request", HFILL }},
8802     { &hf_mms_defineSemaphore,
8803       { "defineSemaphore", "mms.defineSemaphore",
8804         FT_NONE, BASE_NONE, NULL, 0,
8805         "mms.DefineSemaphore_Request", HFILL }},
8806     { &hf_mms_deleteSemaphore,
8807       { "deleteSemaphore", "mms.deleteSemaphore",
8808         FT_UINT32, BASE_DEC, VALS(mms_ObjectName_vals), 0,
8809         "mms.DeleteSemaphore_Request", HFILL }},
8810     { &hf_mms_reportSemaphoreStatus,
8811       { "reportSemaphoreStatus", "mms.reportSemaphoreStatus",
8812         FT_UINT32, BASE_DEC, VALS(mms_ObjectName_vals), 0,
8813         "mms.ReportSemaphoreStatus_Request", HFILL }},
8814     { &hf_mms_reportPoolSemaphoreStatus,
8815       { "reportPoolSemaphoreStatus", "mms.reportPoolSemaphoreStatus",
8816         FT_NONE, BASE_NONE, NULL, 0,
8817         "mms.ReportPoolSemaphoreStatus_Request", HFILL }},
8818     { &hf_mms_reportSemaphoreEntryStatus,
8819       { "reportSemaphoreEntryStatus", "mms.reportSemaphoreEntryStatus",
8820         FT_NONE, BASE_NONE, NULL, 0,
8821         "mms.ReportSemaphoreEntryStatus_Request", HFILL }},
8822     { &hf_mms_initiateDownloadSequence,
8823       { "initiateDownloadSequence", "mms.initiateDownloadSequence",
8824         FT_NONE, BASE_NONE, NULL, 0,
8825         "mms.InitiateDownloadSequence_Request", HFILL }},
8826     { &hf_mms_downloadSegment,
8827       { "downloadSegment", "mms.downloadSegment",
8828         FT_STRING, BASE_NONE, NULL, 0,
8829         "mms.DownloadSegment_Request", HFILL }},
8830     { &hf_mms_terminateDownloadSequence,
8831       { "terminateDownloadSequence", "mms.terminateDownloadSequence",
8832         FT_NONE, BASE_NONE, NULL, 0,
8833         "mms.TerminateDownloadSequence_Request", HFILL }},
8834     { &hf_mms_initiateUploadSequence,
8835       { "initiateUploadSequence", "mms.initiateUploadSequence",
8836         FT_STRING, BASE_NONE, NULL, 0,
8837         "mms.InitiateUploadSequence_Request", HFILL }},
8838     { &hf_mms_uploadSegment,
8839       { "uploadSegment", "mms.uploadSegment",
8840         FT_INT32, BASE_DEC, NULL, 0,
8841         "mms.UploadSegment_Request", HFILL }},
8842     { &hf_mms_terminateUploadSequence,
8843       { "terminateUploadSequence", "mms.terminateUploadSequence",
8844         FT_INT32, BASE_DEC, NULL, 0,
8845         "mms.TerminateUploadSequence_Request", HFILL }},
8846     { &hf_mms_requestDomainDownload,
8847       { "requestDomainDownload", "mms.requestDomainDownload",
8848         FT_NONE, BASE_NONE, NULL, 0,
8849         "mms.RequestDomainDownload_Request", HFILL }},
8850     { &hf_mms_requestDomainUpload,
8851       { "requestDomainUpload", "mms.requestDomainUpload",
8852         FT_NONE, BASE_NONE, NULL, 0,
8853         "mms.RequestDomainUpload_Request", HFILL }},
8854     { &hf_mms_loadDomainContent,
8855       { "loadDomainContent", "mms.loadDomainContent",
8856         FT_NONE, BASE_NONE, NULL, 0,
8857         "mms.LoadDomainContent_Request", HFILL }},
8858     { &hf_mms_storeDomainContent,
8859       { "storeDomainContent", "mms.storeDomainContent",
8860         FT_NONE, BASE_NONE, NULL, 0,
8861         "mms.StoreDomainContent_Request", HFILL }},
8862     { &hf_mms_deleteDomain,
8863       { "deleteDomain", "mms.deleteDomain",
8864         FT_STRING, BASE_NONE, NULL, 0,
8865         "mms.DeleteDomain_Request", HFILL }},
8866     { &hf_mms_getDomainAttributes,
8867       { "getDomainAttributes", "mms.getDomainAttributes",
8868         FT_STRING, BASE_NONE, NULL, 0,
8869         "mms.GetDomainAttributes_Request", HFILL }},
8870     { &hf_mms_createProgramInvocation,
8871       { "createProgramInvocation", "mms.createProgramInvocation",
8872         FT_NONE, BASE_NONE, NULL, 0,
8873         "mms.CreateProgramInvocation_Request", HFILL }},
8874     { &hf_mms_deleteProgramInvocation,
8875       { "deleteProgramInvocation", "mms.deleteProgramInvocation",
8876         FT_STRING, BASE_NONE, NULL, 0,
8877         "mms.DeleteProgramInvocation_Request", HFILL }},
8878     { &hf_mms_start,
8879       { "start", "mms.start",
8880         FT_NONE, BASE_NONE, NULL, 0,
8881         "mms.Start_Request", HFILL }},
8882     { &hf_mms_stop,
8883       { "stop", "mms.stop",
8884         FT_NONE, BASE_NONE, NULL, 0,
8885         "mms.Stop_Request", HFILL }},
8886     { &hf_mms_resume,
8887       { "resume", "mms.resume",
8888         FT_NONE, BASE_NONE, NULL, 0,
8889         "mms.Resume_Request", HFILL }},
8890     { &hf_mms_reset,
8891       { "reset", "mms.reset",
8892         FT_NONE, BASE_NONE, NULL, 0,
8893         "mms.Reset_Request", HFILL }},
8894     { &hf_mms_kill,
8895       { "kill", "mms.kill",
8896         FT_NONE, BASE_NONE, NULL, 0,
8897         "mms.Kill_Request", HFILL }},
8898     { &hf_mms_getProgramInvocationAttributes,
8899       { "getProgramInvocationAttributes", "mms.getProgramInvocationAttributes",
8900         FT_STRING, BASE_NONE, NULL, 0,
8901         "mms.GetProgramInvocationAttributes_Request", HFILL }},
8902     { &hf_mms_obtainFile,
8903       { "obtainFile", "mms.obtainFile",
8904         FT_NONE, BASE_NONE, NULL, 0,
8905         "mms.ObtainFile_Request", HFILL }},
8906     { &hf_mms_defineEventCondition,
8907       { "defineEventCondition", "mms.defineEventCondition",
8908         FT_NONE, BASE_NONE, NULL, 0,
8909         "mms.DefineEventCondition_Request", HFILL }},
8910     { &hf_mms_deleteEventCondition,
8911       { "deleteEventCondition", "mms.deleteEventCondition",
8912         FT_UINT32, BASE_DEC, VALS(mms_DeleteEventCondition_Request_vals), 0,
8913         "mms.DeleteEventCondition_Request", HFILL }},
8914     { &hf_mms_getEventConditionAttributes,
8915       { "getEventConditionAttributes", "mms.getEventConditionAttributes",
8916         FT_UINT32, BASE_DEC, VALS(mms_ObjectName_vals), 0,
8917         "mms.GetEventConditionAttributes_Request", HFILL }},
8918     { &hf_mms_reportEventConditionStatus,
8919       { "reportEventConditionStatus", "mms.reportEventConditionStatus",
8920         FT_UINT32, BASE_DEC, VALS(mms_ObjectName_vals), 0,
8921         "mms.ReportEventConditionStatus_Request", HFILL }},
8922     { &hf_mms_alterEventConditionMonitoring,
8923       { "alterEventConditionMonitoring", "mms.alterEventConditionMonitoring",
8924         FT_NONE, BASE_NONE, NULL, 0,
8925         "mms.AlterEventConditionMonitoring_Request", HFILL }},
8926     { &hf_mms_triggerEvent,
8927       { "triggerEvent", "mms.triggerEvent",
8928         FT_NONE, BASE_NONE, NULL, 0,
8929         "mms.TriggerEvent_Request", HFILL }},
8930     { &hf_mms_defineEventAction,
8931       { "defineEventAction", "mms.defineEventAction",
8932         FT_NONE, BASE_NONE, NULL, 0,
8933         "mms.DefineEventAction_Request", HFILL }},
8934     { &hf_mms_deleteEventAction,
8935       { "deleteEventAction", "mms.deleteEventAction",
8936         FT_UINT32, BASE_DEC, VALS(mms_DeleteEventAction_Request_vals), 0,
8937         "mms.DeleteEventAction_Request", HFILL }},
8938     { &hf_mms_getEventActionAttributes,
8939       { "getEventActionAttributes", "mms.getEventActionAttributes",
8940         FT_UINT32, BASE_DEC, VALS(mms_ObjectName_vals), 0,
8941         "mms.GetEventActionAttributes_Request", HFILL }},
8942     { &hf_mms_reportEventActionStatus,
8943       { "reportEventActionStatus", "mms.reportEventActionStatus",
8944         FT_UINT32, BASE_DEC, VALS(mms_ObjectName_vals), 0,
8945         "mms.ReportEventActionStatus_Request", HFILL }},
8946     { &hf_mms_defineEventEnrollment,
8947       { "defineEventEnrollment", "mms.defineEventEnrollment",
8948         FT_NONE, BASE_NONE, NULL, 0,
8949         "mms.DefineEventEnrollment_Request", HFILL }},
8950     { &hf_mms_deleteEventEnrollment,
8951       { "deleteEventEnrollment", "mms.deleteEventEnrollment",
8952         FT_UINT32, BASE_DEC, VALS(mms_DeleteEventEnrollment_Request_vals), 0,
8953         "mms.DeleteEventEnrollment_Request", HFILL }},
8954     { &hf_mms_alterEventEnrollment,
8955       { "alterEventEnrollment", "mms.alterEventEnrollment",
8956         FT_NONE, BASE_NONE, NULL, 0,
8957         "mms.AlterEventEnrollment_Request", HFILL }},
8958     { &hf_mms_reportEventEnrollmentStatus,
8959       { "reportEventEnrollmentStatus", "mms.reportEventEnrollmentStatus",
8960         FT_UINT32, BASE_DEC, VALS(mms_ObjectName_vals), 0,
8961         "mms.ReportEventEnrollmentStatus_Request", HFILL }},
8962     { &hf_mms_getEventEnrollmentAttributes,
8963       { "getEventEnrollmentAttributes", "mms.getEventEnrollmentAttributes",
8964         FT_NONE, BASE_NONE, NULL, 0,
8965         "mms.GetEventEnrollmentAttributes_Request", HFILL }},
8966     { &hf_mms_acknowledgeEventNotification,
8967       { "acknowledgeEventNotification", "mms.acknowledgeEventNotification",
8968         FT_NONE, BASE_NONE, NULL, 0,
8969         "mms.AcknowledgeEventNotification_Request", HFILL }},
8970     { &hf_mms_getAlarmSummary,
8971       { "getAlarmSummary", "mms.getAlarmSummary",
8972         FT_NONE, BASE_NONE, NULL, 0,
8973         "mms.GetAlarmSummary_Request", HFILL }},
8974     { &hf_mms_getAlarmEnrollmentSummary,
8975       { "getAlarmEnrollmentSummary", "mms.getAlarmEnrollmentSummary",
8976         FT_NONE, BASE_NONE, NULL, 0,
8977         "mms.GetAlarmEnrollmentSummary_Request", HFILL }},
8978     { &hf_mms_readJournal,
8979       { "readJournal", "mms.readJournal",
8980         FT_NONE, BASE_NONE, NULL, 0,
8981         "mms.ReadJournal_Request", HFILL }},
8982     { &hf_mms_writeJournal,
8983       { "writeJournal", "mms.writeJournal",
8984         FT_NONE, BASE_NONE, NULL, 0,
8985         "mms.WriteJournal_Request", HFILL }},
8986     { &hf_mms_initializeJournal,
8987       { "initializeJournal", "mms.initializeJournal",
8988         FT_NONE, BASE_NONE, NULL, 0,
8989         "mms.InitializeJournal_Request", HFILL }},
8990     { &hf_mms_reportJournalStatus,
8991       { "reportJournalStatus", "mms.reportJournalStatus",
8992         FT_UINT32, BASE_DEC, VALS(mms_ObjectName_vals), 0,
8993         "mms.ReportJournalStatus_Request", HFILL }},
8994     { &hf_mms_createJournal,
8995       { "createJournal", "mms.createJournal",
8996         FT_NONE, BASE_NONE, NULL, 0,
8997         "mms.CreateJournal_Request", HFILL }},
8998     { &hf_mms_deleteJournal,
8999       { "deleteJournal", "mms.deleteJournal",
9000         FT_NONE, BASE_NONE, NULL, 0,
9001         "mms.DeleteJournal_Request", HFILL }},
9002     { &hf_mms_getCapabilityList,
9003       { "getCapabilityList", "mms.getCapabilityList",
9004         FT_NONE, BASE_NONE, NULL, 0,
9005         "mms.GetCapabilityList_Request", HFILL }},
9006     { &hf_mms_fileOpen,
9007       { "fileOpen", "mms.fileOpen",
9008         FT_NONE, BASE_NONE, NULL, 0,
9009         "mms.FileOpen_Request", HFILL }},
9010     { &hf_mms_fileRead,
9011       { "fileRead", "mms.fileRead",
9012         FT_INT32, BASE_DEC, NULL, 0,
9013         "mms.FileRead_Request", HFILL }},
9014     { &hf_mms_fileClose,
9015       { "fileClose", "mms.fileClose",
9016         FT_INT32, BASE_DEC, NULL, 0,
9017         "mms.FileClose_Request", HFILL }},
9018     { &hf_mms_fileRename,
9019       { "fileRename", "mms.fileRename",
9020         FT_NONE, BASE_NONE, NULL, 0,
9021         "mms.FileRename_Request", HFILL }},
9022     { &hf_mms_fileDelete,
9023       { "fileDelete", "mms.fileDelete",
9024         FT_UINT32, BASE_DEC, NULL, 0,
9025         "mms.FileDelete_Request", HFILL }},
9026     { &hf_mms_fileDirectory,
9027       { "fileDirectory", "mms.fileDirectory",
9028         FT_NONE, BASE_NONE, NULL, 0,
9029         "mms.FileDirectory_Request", HFILL }},
9030     { &hf_mms_foo,
9031       { "foo", "mms.foo",
9032         FT_INT32, BASE_DEC, NULL, 0,
9033         "mms.INTEGER", HFILL }},
9034     { &hf_mms_status1,
9035       { "status", "mms.status",
9036         FT_NONE, BASE_NONE, NULL, 0,
9037         "mms.Status_Response", HFILL }},
9038     { &hf_mms_getNameList1,
9039       { "getNameList", "mms.getNameList",
9040         FT_NONE, BASE_NONE, NULL, 0,
9041         "mms.GetNameList_Response", HFILL }},
9042     { &hf_mms_identify1,
9043       { "identify", "mms.identify",
9044         FT_NONE, BASE_NONE, NULL, 0,
9045         "mms.Identify_Response", HFILL }},
9046     { &hf_mms_rename1,
9047       { "rename", "mms.rename",
9048         FT_NONE, BASE_NONE, NULL, 0,
9049         "mms.Rename_Response", HFILL }},
9050     { &hf_mms_read1,
9051       { "read", "mms.read",
9052         FT_NONE, BASE_NONE, NULL, 0,
9053         "mms.Read_Response", HFILL }},
9054     { &hf_mms_write1,
9055       { "write", "mms.write",
9056         FT_UINT32, BASE_DEC, NULL, 0,
9057         "mms.Write_Response", HFILL }},
9058     { &hf_mms_getVariableAccessAttributes1,
9059       { "getVariableAccessAttributes", "mms.getVariableAccessAttributes",
9060         FT_NONE, BASE_NONE, NULL, 0,
9061         "mms.GetVariableAccessAttributes_Response", HFILL }},
9062     { &hf_mms_defineNamedVariable1,
9063       { "defineNamedVariable", "mms.defineNamedVariable",
9064         FT_NONE, BASE_NONE, NULL, 0,
9065         "mms.DefineNamedVariable_Response", HFILL }},
9066     { &hf_mms_defineScatteredAccess1,
9067       { "defineScatteredAccess", "mms.defineScatteredAccess",
9068         FT_NONE, BASE_NONE, NULL, 0,
9069         "mms.DefineScatteredAccess_Response", HFILL }},
9070     { &hf_mms_getScatteredAccessAttributes1,
9071       { "getScatteredAccessAttributes", "mms.getScatteredAccessAttributes",
9072         FT_NONE, BASE_NONE, NULL, 0,
9073         "mms.GetScatteredAccessAttributes_Response", HFILL }},
9074     { &hf_mms_deleteVariableAccess1,
9075       { "deleteVariableAccess", "mms.deleteVariableAccess",
9076         FT_NONE, BASE_NONE, NULL, 0,
9077         "mms.DeleteVariableAccess_Response", HFILL }},
9078     { &hf_mms_defineNamedVariableList1,
9079       { "defineNamedVariableList", "mms.defineNamedVariableList",
9080         FT_NONE, BASE_NONE, NULL, 0,
9081         "mms.DefineNamedVariableList_Response", HFILL }},
9082     { &hf_mms_getNamedVariableListAttributes1,
9083       { "getNamedVariableListAttributes", "mms.getNamedVariableListAttributes",
9084         FT_NONE, BASE_NONE, NULL, 0,
9085         "mms.GetNamedVariableListAttributes_Response", HFILL }},
9086     { &hf_mms_deleteNamedVariableList1,
9087       { "deleteNamedVariableList", "mms.deleteNamedVariableList",
9088         FT_NONE, BASE_NONE, NULL, 0,
9089         "mms.DeleteNamedVariableList_Response", HFILL }},
9090     { &hf_mms_defineNamedType1,
9091       { "defineNamedType", "mms.defineNamedType",
9092         FT_NONE, BASE_NONE, NULL, 0,
9093         "mms.DefineNamedType_Response", HFILL }},
9094     { &hf_mms_getNamedTypeAttributes1,
9095       { "getNamedTypeAttributes", "mms.getNamedTypeAttributes",
9096         FT_NONE, BASE_NONE, NULL, 0,
9097         "mms.GetNamedTypeAttributes_Response", HFILL }},
9098     { &hf_mms_deleteNamedType1,
9099       { "deleteNamedType", "mms.deleteNamedType",
9100         FT_NONE, BASE_NONE, NULL, 0,
9101         "mms.DeleteNamedType_Response", HFILL }},
9102     { &hf_mms_input1,
9103       { "input", "mms.input",
9104         FT_STRING, BASE_NONE, NULL, 0,
9105         "mms.Input_Response", HFILL }},
9106     { &hf_mms_output1,
9107       { "output", "mms.output",
9108         FT_NONE, BASE_NONE, NULL, 0,
9109         "mms.Output_Response", HFILL }},
9110     { &hf_mms_takeControl1,
9111       { "takeControl", "mms.takeControl",
9112         FT_UINT32, BASE_DEC, VALS(mms_TakeControl_Response_vals), 0,
9113         "mms.TakeControl_Response", HFILL }},
9114     { &hf_mms_relinquishControl1,
9115       { "relinquishControl", "mms.relinquishControl",
9116         FT_NONE, BASE_NONE, NULL, 0,
9117         "mms.RelinquishControl_Response", HFILL }},
9118     { &hf_mms_defineSemaphore1,
9119       { "defineSemaphore", "mms.defineSemaphore",
9120         FT_NONE, BASE_NONE, NULL, 0,
9121         "mms.DefineSemaphore_Response", HFILL }},
9122     { &hf_mms_deleteSemaphore1,
9123       { "deleteSemaphore", "mms.deleteSemaphore",
9124         FT_NONE, BASE_NONE, NULL, 0,
9125         "mms.DeleteSemaphore_Response", HFILL }},
9126     { &hf_mms_reportSemaphoreStatus1,
9127       { "reportSemaphoreStatus", "mms.reportSemaphoreStatus",
9128         FT_NONE, BASE_NONE, NULL, 0,
9129         "mms.ReportSemaphoreStatus_Response", HFILL }},
9130     { &hf_mms_reportPoolSemaphoreStatus1,
9131       { "reportPoolSemaphoreStatus", "mms.reportPoolSemaphoreStatus",
9132         FT_NONE, BASE_NONE, NULL, 0,
9133         "mms.ReportPoolSemaphoreStatus_Response", HFILL }},
9134     { &hf_mms_reportSemaphoreEntryStatus1,
9135       { "reportSemaphoreEntryStatus", "mms.reportSemaphoreEntryStatus",
9136         FT_NONE, BASE_NONE, NULL, 0,
9137         "mms.ReportSemaphoreEntryStatus_Response", HFILL }},
9138     { &hf_mms_initiateDownloadSequence1,
9139       { "initiateDownloadSequence", "mms.initiateDownloadSequence",
9140         FT_NONE, BASE_NONE, NULL, 0,
9141         "mms.InitiateDownloadSequence_Response", HFILL }},
9142     { &hf_mms_downloadSegment1,
9143       { "downloadSegment", "mms.downloadSegment",
9144         FT_NONE, BASE_NONE, NULL, 0,
9145         "mms.DownloadSegment_Response", HFILL }},
9146     { &hf_mms_terminateDownloadSequence1,
9147       { "terminateDownloadSequence", "mms.terminateDownloadSequence",
9148         FT_NONE, BASE_NONE, NULL, 0,
9149         "mms.TerminateDownloadSequence_Response", HFILL }},
9150     { &hf_mms_initiateUploadSequence1,
9151       { "initiateUploadSequence", "mms.initiateUploadSequence",
9152         FT_NONE, BASE_NONE, NULL, 0,
9153         "mms.InitiateUploadSequence_Response", HFILL }},
9154     { &hf_mms_uploadSegment1,
9155       { "uploadSegment", "mms.uploadSegment",
9156         FT_NONE, BASE_NONE, NULL, 0,
9157         "mms.UploadSegment_Response", HFILL }},
9158     { &hf_mms_terminateUploadSequence1,
9159       { "terminateUploadSequence", "mms.terminateUploadSequence",
9160         FT_NONE, BASE_NONE, NULL, 0,
9161         "mms.TerminateUploadSequence_Response", HFILL }},
9162     { &hf_mms_requestDomainDownLoad,
9163       { "requestDomainDownLoad", "mms.requestDomainDownLoad",
9164         FT_NONE, BASE_NONE, NULL, 0,
9165         "mms.RequestDomainDownload_Response", HFILL }},
9166     { &hf_mms_requestDomainUpload1,
9167       { "requestDomainUpload", "mms.requestDomainUpload",
9168         FT_NONE, BASE_NONE, NULL, 0,
9169         "mms.RequestDomainUpload_Response", HFILL }},
9170     { &hf_mms_loadDomainContent1,
9171       { "loadDomainContent", "mms.loadDomainContent",
9172         FT_NONE, BASE_NONE, NULL, 0,
9173         "mms.LoadDomainContent_Response", HFILL }},
9174     { &hf_mms_storeDomainContent1,
9175       { "storeDomainContent", "mms.storeDomainContent",
9176         FT_NONE, BASE_NONE, NULL, 0,
9177         "mms.StoreDomainContent_Response", HFILL }},
9178     { &hf_mms_deleteDomain1,
9179       { "deleteDomain", "mms.deleteDomain",
9180         FT_NONE, BASE_NONE, NULL, 0,
9181         "mms.DeleteDomain_Response", HFILL }},
9182     { &hf_mms_getDomainAttributes1,
9183       { "getDomainAttributes", "mms.getDomainAttributes",
9184         FT_NONE, BASE_NONE, NULL, 0,
9185         "mms.GetDomainAttributes_Response", HFILL }},
9186     { &hf_mms_createProgramInvocation1,
9187       { "createProgramInvocation", "mms.createProgramInvocation",
9188         FT_NONE, BASE_NONE, NULL, 0,
9189         "mms.CreateProgramInvocation_Response", HFILL }},
9190     { &hf_mms_deleteProgramInvocation1,
9191       { "deleteProgramInvocation", "mms.deleteProgramInvocation",
9192         FT_NONE, BASE_NONE, NULL, 0,
9193         "mms.DeleteProgramInvocation_Response", HFILL }},
9194     { &hf_mms_start1,
9195       { "start", "mms.start",
9196         FT_NONE, BASE_NONE, NULL, 0,
9197         "mms.Start_Response", HFILL }},
9198     { &hf_mms_stop1,
9199       { "stop", "mms.stop",
9200         FT_NONE, BASE_NONE, NULL, 0,
9201         "mms.Stop_Response", HFILL }},
9202     { &hf_mms_resume1,
9203       { "resume", "mms.resume",
9204         FT_NONE, BASE_NONE, NULL, 0,
9205         "mms.Resume_Response", HFILL }},
9206     { &hf_mms_reset1,
9207       { "reset", "mms.reset",
9208         FT_NONE, BASE_NONE, NULL, 0,
9209         "mms.Reset_Response", HFILL }},
9210     { &hf_mms_kill1,
9211       { "kill", "mms.kill",
9212         FT_NONE, BASE_NONE, NULL, 0,
9213         "mms.Kill_Response", HFILL }},
9214     { &hf_mms_getProgramInvocationAttributes1,
9215       { "getProgramInvocationAttributes", "mms.getProgramInvocationAttributes",
9216         FT_NONE, BASE_NONE, NULL, 0,
9217         "mms.GetProgramInvocationAttributes_Response", HFILL }},
9218     { &hf_mms_obtainFile1,
9219       { "obtainFile", "mms.obtainFile",
9220         FT_NONE, BASE_NONE, NULL, 0,
9221         "mms.ObtainFile_Response", HFILL }},
9222     { &hf_mms_fileOpen1,
9223       { "fileOpen", "mms.fileOpen",
9224         FT_NONE, BASE_NONE, NULL, 0,
9225         "mms.FileOpen_Response", HFILL }},
9226     { &hf_mms_defineEventCondition1,
9227       { "defineEventCondition", "mms.defineEventCondition",
9228         FT_NONE, BASE_NONE, NULL, 0,
9229         "mms.DefineEventCondition_Response", HFILL }},
9230     { &hf_mms_deleteEventCondition1,
9231       { "deleteEventCondition", "mms.deleteEventCondition",
9232         FT_INT32, BASE_DEC, NULL, 0,
9233         "mms.DeleteEventCondition_Response", HFILL }},
9234     { &hf_mms_getEventConditionAttributes1,
9235       { "getEventConditionAttributes", "mms.getEventConditionAttributes",
9236         FT_NONE, BASE_NONE, NULL, 0,
9237         "mms.GetEventConditionAttributes_Response", HFILL }},
9238     { &hf_mms_reportEventConditionStatus1,
9239       { "reportEventConditionStatus", "mms.reportEventConditionStatus",
9240         FT_NONE, BASE_NONE, NULL, 0,
9241         "mms.ReportEventConditionStatus_Response", HFILL }},
9242     { &hf_mms_alterEventConditionMonitoring1,
9243       { "alterEventConditionMonitoring", "mms.alterEventConditionMonitoring",
9244         FT_NONE, BASE_NONE, NULL, 0,
9245         "mms.AlterEventConditionMonitoring_Response", HFILL }},
9246     { &hf_mms_triggerEvent1,
9247       { "triggerEvent", "mms.triggerEvent",
9248         FT_NONE, BASE_NONE, NULL, 0,
9249         "mms.TriggerEvent_Response", HFILL }},
9250     { &hf_mms_defineEventAction1,
9251       { "defineEventAction", "mms.defineEventAction",
9252         FT_NONE, BASE_NONE, NULL, 0,
9253         "mms.DefineEventAction_Response", HFILL }},
9254     { &hf_mms_deleteEventAction1,
9255       { "deleteEventAction", "mms.deleteEventAction",
9256         FT_INT32, BASE_DEC, NULL, 0,
9257         "mms.DeleteEventAction_Response", HFILL }},
9258     { &hf_mms_getEventActionAttributes1,
9259       { "getEventActionAttributes", "mms.getEventActionAttributes",
9260         FT_NONE, BASE_NONE, NULL, 0,
9261         "mms.GetEventActionAttributes_Response", HFILL }},
9262     { &hf_mms_reportActionStatus,
9263       { "reportActionStatus", "mms.reportActionStatus",
9264         FT_INT32, BASE_DEC, NULL, 0,
9265         "mms.ReportEventActionStatus_Response", HFILL }},
9266     { &hf_mms_defineEventEnrollment1,
9267       { "defineEventEnrollment", "mms.defineEventEnrollment",
9268         FT_NONE, BASE_NONE, NULL, 0,
9269         "mms.DefineEventEnrollment_Response", HFILL }},
9270     { &hf_mms_deleteEventEnrollment1,
9271       { "deleteEventEnrollment", "mms.deleteEventEnrollment",
9272         FT_INT32, BASE_DEC, NULL, 0,
9273         "mms.DeleteEventEnrollment_Response", HFILL }},
9274     { &hf_mms_alterEventEnrollment1,
9275       { "alterEventEnrollment", "mms.alterEventEnrollment",
9276         FT_NONE, BASE_NONE, NULL, 0,
9277         "mms.AlterEventEnrollment_Response", HFILL }},
9278     { &hf_mms_reportEventEnrollmentStatus1,
9279       { "reportEventEnrollmentStatus", "mms.reportEventEnrollmentStatus",
9280         FT_NONE, BASE_NONE, NULL, 0,
9281         "mms.ReportEventEnrollmentStatus_Response", HFILL }},
9282     { &hf_mms_getEventEnrollmentAttributes1,
9283       { "getEventEnrollmentAttributes", "mms.getEventEnrollmentAttributes",
9284         FT_NONE, BASE_NONE, NULL, 0,
9285         "mms.GetEventEnrollmentAttributes_Response", HFILL }},
9286     { &hf_mms_acknowledgeEventNotification1,
9287       { "acknowledgeEventNotification", "mms.acknowledgeEventNotification",
9288         FT_NONE, BASE_NONE, NULL, 0,
9289         "mms.AcknowledgeEventNotification_Response", HFILL }},
9290     { &hf_mms_getAlarmSummary1,
9291       { "getAlarmSummary", "mms.getAlarmSummary",
9292         FT_NONE, BASE_NONE, NULL, 0,
9293         "mms.GetAlarmSummary_Response", HFILL }},
9294     { &hf_mms_getAlarmEnrollmentSummary1,
9295       { "getAlarmEnrollmentSummary", "mms.getAlarmEnrollmentSummary",
9296         FT_NONE, BASE_NONE, NULL, 0,
9297         "mms.GetAlarmEnrollmentSummary_Response", HFILL }},
9298     { &hf_mms_readJournal1,
9299       { "readJournal", "mms.readJournal",
9300         FT_NONE, BASE_NONE, NULL, 0,
9301         "mms.ReadJournal_Response", HFILL }},
9302     { &hf_mms_writeJournal1,
9303       { "writeJournal", "mms.writeJournal",
9304         FT_NONE, BASE_NONE, NULL, 0,
9305         "mms.WriteJournal_Response", HFILL }},
9306     { &hf_mms_initializeJournal1,
9307       { "initializeJournal", "mms.initializeJournal",
9308         FT_INT32, BASE_DEC, NULL, 0,
9309         "mms.InitializeJournal_Response", HFILL }},
9310     { &hf_mms_reportJournalStatus1,
9311       { "reportJournalStatus", "mms.reportJournalStatus",
9312         FT_NONE, BASE_NONE, NULL, 0,
9313         "mms.ReportJournalStatus_Response", HFILL }},
9314     { &hf_mms_createJournal1,
9315       { "createJournal", "mms.createJournal",
9316         FT_NONE, BASE_NONE, NULL, 0,
9317         "mms.CreateJournal_Response", HFILL }},
9318     { &hf_mms_deleteJournal1,
9319       { "deleteJournal", "mms.deleteJournal",
9320         FT_NONE, BASE_NONE, NULL, 0,
9321         "mms.DeleteJournal_Response", HFILL }},
9322     { &hf_mms_getCapabilityList1,
9323       { "getCapabilityList", "mms.getCapabilityList",
9324         FT_NONE, BASE_NONE, NULL, 0,
9325         "mms.GetCapabilityList_Response", HFILL }},
9326     { &hf_mms_fileRead1,
9327       { "fileRead", "mms.fileRead",
9328         FT_NONE, BASE_NONE, NULL, 0,
9329         "mms.FileRead_Response", HFILL }},
9330     { &hf_mms_fileClose1,
9331       { "fileClose", "mms.fileClose",
9332         FT_NONE, BASE_NONE, NULL, 0,
9333         "mms.FileClose_Response", HFILL }},
9334     { &hf_mms_fileRename1,
9335       { "fileRename", "mms.fileRename",
9336         FT_NONE, BASE_NONE, NULL, 0,
9337         "mms.FileRename_Response", HFILL }},
9338     { &hf_mms_fileDelete1,
9339       { "fileDelete", "mms.fileDelete",
9340         FT_NONE, BASE_NONE, NULL, 0,
9341         "mms.FileDelete_Response", HFILL }},
9342     { &hf_mms_fileDirectory1,
9343       { "fileDirectory", "mms.fileDirectory",
9344         FT_NONE, BASE_NONE, NULL, 0,
9345         "mms.FileDirectory_Response", HFILL }},
9346     { &hf_mms_FileName_item,
9347       { "Item", "mms.FileName_item",
9348         FT_STRING, BASE_NONE, NULL, 0,
9349         "mms.GraphicString", HFILL }},
9350     { &hf_mms_vmd_specific,
9351       { "vmd-specific", "mms.vmd_specific",
9352         FT_STRING, BASE_NONE, NULL, 0,
9353         "mms.Identifier", HFILL }},
9354     { &hf_mms_domain_specific,
9355       { "domain-specific", "mms.domain_specific",
9356         FT_NONE, BASE_NONE, NULL, 0,
9357         "mms.T_domain_specific", HFILL }},
9358     { &hf_mms_domainId,
9359       { "domainId", "mms.domainId",
9360         FT_STRING, BASE_NONE, NULL, 0,
9361         "mms.Identifier", HFILL }},
9362     { &hf_mms_itemId,
9363       { "itemId", "mms.itemId",
9364         FT_STRING, BASE_NONE, NULL, 0,
9365         "mms.Identifier", HFILL }},
9366     { &hf_mms_aa_specific,
9367       { "aa-specific", "mms.aa_specific",
9368         FT_STRING, BASE_NONE, NULL, 0,
9369         "mms.Identifier", HFILL }},
9370     { &hf_mms_ap_title,
9371       { "ap-title", "mms.ap_title",
9372         FT_UINT32, BASE_DEC, VALS(acse_AP_title_vals), 0,
9373         "mms.T_ap_title", HFILL }},
9374     { &hf_mms_ap_invocation_id,
9375       { "ap-invocation-id", "mms.ap_invocation_id",
9376         FT_INT32, BASE_DEC, NULL, 0,
9377         "mms.T_ap_invocation_id", HFILL }},
9378     { &hf_mms_ae_qualifier,
9379       { "ae-qualifier", "mms.ae_qualifier",
9380         FT_UINT32, BASE_DEC, VALS(acse_ASO_qualifier_vals), 0,
9381         "mms.T_ae_qualifier", HFILL }},
9382     { &hf_mms_ae_invocation_id,
9383       { "ae-invocation-id", "mms.ae_invocation_id",
9384         FT_INT32, BASE_DEC, NULL, 0,
9385         "mms.T_ae_invocation_id", HFILL }},
9386     { &hf_mms_localDetailCalling,
9387       { "localDetailCalling", "mms.localDetailCalling",
9388         FT_INT32, BASE_DEC, NULL, 0,
9389         "mms.Integer32", HFILL }},
9390     { &hf_mms_proposedMaxServOutstandingCalling,
9391       { "proposedMaxServOutstandingCalling", "mms.proposedMaxServOutstandingCalling",
9392         FT_INT32, BASE_DEC, NULL, 0,
9393         "mms.Integer16", HFILL }},
9394     { &hf_mms_proposedMaxServOutstandingCalled,
9395       { "proposedMaxServOutstandingCalled", "mms.proposedMaxServOutstandingCalled",
9396         FT_INT32, BASE_DEC, NULL, 0,
9397         "mms.Integer16", HFILL }},
9398     { &hf_mms_proposedDataStructureNestingLevel,
9399       { "proposedDataStructureNestingLevel", "mms.proposedDataStructureNestingLevel",
9400         FT_INT32, BASE_DEC, NULL, 0,
9401         "mms.Integer8", HFILL }},
9402     { &hf_mms_mmsInitRequestDetail,
9403       { "mmsInitRequestDetail", "mms.mmsInitRequestDetail",
9404         FT_NONE, BASE_NONE, NULL, 0,
9405         "mms.InitRequestDetail", HFILL }},
9406     { &hf_mms_proposedVersionNumber,
9407       { "proposedVersionNumber", "mms.proposedVersionNumber",
9408         FT_INT32, BASE_DEC, NULL, 0,
9409         "mms.Integer16", HFILL }},
9410     { &hf_mms_proposedParameterCBB,
9411       { "proposedParameterCBB", "mms.proposedParameterCBB",
9412         FT_BYTES, BASE_HEX, NULL, 0,
9413         "mms.ParameterSupportOptions", HFILL }},
9414     { &hf_mms_servicesSupportedCalling,
9415       { "servicesSupportedCalling", "mms.servicesSupportedCalling",
9416         FT_BYTES, BASE_HEX, NULL, 0,
9417         "mms.ServiceSupportOptions", HFILL }},
9418     { &hf_mms_localDetailCalled,
9419       { "localDetailCalled", "mms.localDetailCalled",
9420         FT_INT32, BASE_DEC, NULL, 0,
9421         "mms.Integer32", HFILL }},
9422     { &hf_mms_negociatedMaxServOutstandingCalling,
9423       { "negociatedMaxServOutstandingCalling", "mms.negociatedMaxServOutstandingCalling",
9424         FT_INT32, BASE_DEC, NULL, 0,
9425         "mms.Integer16", HFILL }},
9426     { &hf_mms_negociatedMaxServOutstandingCalled,
9427       { "negociatedMaxServOutstandingCalled", "mms.negociatedMaxServOutstandingCalled",
9428         FT_INT32, BASE_DEC, NULL, 0,
9429         "mms.Integer16", HFILL }},
9430     { &hf_mms_negociatedDataStructureNestingLevel,
9431       { "negociatedDataStructureNestingLevel", "mms.negociatedDataStructureNestingLevel",
9432         FT_INT32, BASE_DEC, NULL, 0,
9433         "mms.Integer8", HFILL }},
9434     { &hf_mms_mmsInitResponseDetail,
9435       { "mmsInitResponseDetail", "mms.mmsInitResponseDetail",
9436         FT_NONE, BASE_NONE, NULL, 0,
9437         "mms.InitResponseDetail", HFILL }},
9438     { &hf_mms_negociatedVersionNumber,
9439       { "negociatedVersionNumber", "mms.negociatedVersionNumber",
9440         FT_INT32, BASE_DEC, NULL, 0,
9441         "mms.Integer16", HFILL }},
9442     { &hf_mms_negociatedParameterCBB,
9443       { "negociatedParameterCBB", "mms.negociatedParameterCBB",
9444         FT_BYTES, BASE_HEX, NULL, 0,
9445         "mms.ParameterSupportOptions", HFILL }},
9446     { &hf_mms_servicesSupportedCalled,
9447       { "servicesSupportedCalled", "mms.servicesSupportedCalled",
9448         FT_BYTES, BASE_HEX, NULL, 0,
9449         "mms.ServiceSupportOptions", HFILL }},
9450     { &hf_mms_originalInvokeID,
9451       { "originalInvokeID", "mms.originalInvokeID",
9452         FT_INT32, BASE_DEC, NULL, 0,
9453         "mms.Unsigned32", HFILL }},
9454     { &hf_mms_errorClass,
9455       { "errorClass", "mms.errorClass",
9456         FT_UINT32, BASE_DEC, VALS(mms_T_errorClass_vals), 0,
9457         "mms.T_errorClass", HFILL }},
9458     { &hf_mms_vmd_state,
9459       { "vmd-state", "mms.vmd_state",
9460         FT_INT32, BASE_DEC, VALS(mms_T_vmd_state_vals), 0,
9461         "mms.T_vmd_state", HFILL }},
9462     { &hf_mms_application_reference,
9463       { "application-reference", "mms.application_reference",
9464         FT_INT32, BASE_DEC, VALS(mms_T_application_reference_vals), 0,
9465         "mms.T_application_reference", HFILL }},
9466     { &hf_mms_definition,
9467       { "definition", "mms.definition",
9468         FT_INT32, BASE_DEC, VALS(mms_T_definition_vals), 0,
9469         "mms.T_definition", HFILL }},
9470     { &hf_mms_resource,
9471       { "resource", "mms.resource",
9472         FT_INT32, BASE_DEC, VALS(mms_T_resource_vals), 0,
9473         "mms.T_resource", HFILL }},
9474     { &hf_mms_service,
9475       { "service", "mms.service",
9476         FT_INT32, BASE_DEC, VALS(mms_T_service_vals), 0,
9477         "mms.T_service", HFILL }},
9478     { &hf_mms_service_preempt,
9479       { "service-preempt", "mms.service_preempt",
9480         FT_INT32, BASE_DEC, VALS(mms_T_service_preempt_vals), 0,
9481         "mms.T_service_preempt", HFILL }},
9482     { &hf_mms_time_resolution,
9483       { "time-resolution", "mms.time_resolution",
9484         FT_INT32, BASE_DEC, VALS(mms_T_time_resolution_vals), 0,
9485         "mms.T_time_resolution", HFILL }},
9486     { &hf_mms_access,
9487       { "access", "mms.access",
9488         FT_INT32, BASE_DEC, VALS(mms_T_access_vals), 0,
9489         "mms.T_access", HFILL }},
9490     { &hf_mms_initiate,
9491       { "initiate", "mms.initiate",
9492         FT_INT32, BASE_DEC, VALS(mms_T_initiate_vals), 0,
9493         "mms.T_initiate", HFILL }},
9494     { &hf_mms_conclude,
9495       { "conclude", "mms.conclude",
9496         FT_INT32, BASE_DEC, VALS(mms_T_conclude_vals), 0,
9497         "mms.T_conclude", HFILL }},
9498     { &hf_mms_cancel,
9499       { "cancel", "mms.cancel",
9500         FT_INT32, BASE_DEC, VALS(mms_T_cancel_vals), 0,
9501         "mms.T_cancel", HFILL }},
9502     { &hf_mms_file,
9503       { "file", "mms.file",
9504         FT_INT32, BASE_DEC, VALS(mms_T_file_vals), 0,
9505         "mms.T_file", HFILL }},
9506     { &hf_mms_others,
9507       { "others", "mms.others",
9508         FT_INT32, BASE_DEC, NULL, 0,
9509         "mms.INTEGER", HFILL }},
9510     { &hf_mms_additionalCode,
9511       { "additionalCode", "mms.additionalCode",
9512         FT_INT32, BASE_DEC, NULL, 0,
9513         "mms.INTEGER", HFILL }},
9514     { &hf_mms_additionalDescription,
9515       { "additionalDescription", "mms.additionalDescription",
9516         FT_STRING, BASE_NONE, NULL, 0,
9517         "mms.VisibleString", HFILL }},
9518     { &hf_mms_serviceSpecificInformation,
9519       { "serviceSpecificInformation", "mms.serviceSpecificInformation",
9520         FT_UINT32, BASE_DEC, VALS(mms_T_serviceSpecificInformation_vals), 0,
9521         "mms.T_serviceSpecificInformation", HFILL }},
9522     { &hf_mms_obtainFile2,
9523       { "obtainFile", "mms.obtainFile",
9524         FT_INT32, BASE_DEC, VALS(mms_ObtainFile_Error_vals), 0,
9525         "mms.ObtainFile_Error", HFILL }},
9526     { &hf_mms_start2,
9527       { "start", "mms.start",
9528         FT_INT32, BASE_DEC, VALS(mms_ProgramInvocationState_vals), 0,
9529         "mms.Start_Error", HFILL }},
9530     { &hf_mms_stop2,
9531       { "stop", "mms.stop",
9532         FT_INT32, BASE_DEC, VALS(mms_ProgramInvocationState_vals), 0,
9533         "mms.Stop_Error", HFILL }},
9534     { &hf_mms_resume2,
9535       { "resume", "mms.resume",
9536         FT_INT32, BASE_DEC, VALS(mms_ProgramInvocationState_vals), 0,
9537         "mms.Resume_Error", HFILL }},
9538     { &hf_mms_reset2,
9539       { "reset", "mms.reset",
9540         FT_INT32, BASE_DEC, VALS(mms_ProgramInvocationState_vals), 0,
9541         "mms.Reset_Error", HFILL }},
9542     { &hf_mms_deleteVariableAccess2,
9543       { "deleteVariableAccess", "mms.deleteVariableAccess",
9544         FT_INT32, BASE_DEC, NULL, 0,
9545         "mms.DeleteVariableAccess_Error", HFILL }},
9546     { &hf_mms_deleteNamedVariableList2,
9547       { "deleteNamedVariableList", "mms.deleteNamedVariableList",
9548         FT_INT32, BASE_DEC, NULL, 0,
9549         "mms.DeleteNamedVariableList_Error", HFILL }},
9550     { &hf_mms_deleteNamedType2,
9551       { "deleteNamedType", "mms.deleteNamedType",
9552         FT_INT32, BASE_DEC, NULL, 0,
9553         "mms.DeleteNamedType_Error", HFILL }},
9554     { &hf_mms_defineEventEnrollment_Error,
9555       { "defineEventEnrollment-Error", "mms.defineEventEnrollment_Error",
9556         FT_UINT32, BASE_DEC, VALS(mms_ObjectName_vals), 0,
9557         "mms.DefineEventEnrollment_Error", HFILL }},
9558     { &hf_mms_fileRename2,
9559       { "fileRename", "mms.fileRename",
9560         FT_INT32, BASE_DEC, VALS(mms_FileRename_Error_vals), 0,
9561         "mms.FileRename_Error", HFILL }},
9562     { &hf_mms_rejectReason,
9563       { "rejectReason", "mms.rejectReason",
9564         FT_UINT32, BASE_DEC, VALS(mms_T_rejectReason_vals), 0,
9565         "mms.T_rejectReason", HFILL }},
9566     { &hf_mms_confirmed_requestPDU,
9567       { "confirmed-requestPDU", "mms.confirmed_requestPDU",
9568         FT_INT32, BASE_DEC, VALS(mms_T_confirmed_requestPDU_vals), 0,
9569         "mms.T_confirmed_requestPDU", HFILL }},
9570     { &hf_mms_confirmed_responsePDU,
9571       { "confirmed-responsePDU", "mms.confirmed_responsePDU",
9572         FT_INT32, BASE_DEC, VALS(mms_T_confirmed_responsePDU_vals), 0,
9573         "mms.T_confirmed_responsePDU", HFILL }},
9574     { &hf_mms_confirmed_errorPDU,
9575       { "confirmed-errorPDU", "mms.confirmed_errorPDU",
9576         FT_INT32, BASE_DEC, VALS(mms_T_confirmed_errorPDU_vals), 0,
9577         "mms.T_confirmed_errorPDU", HFILL }},
9578     { &hf_mms_unconfirmedPDU,
9579       { "unconfirmedPDU", "mms.unconfirmedPDU",
9580         FT_INT32, BASE_DEC, VALS(mms_T_unconfirmedPDU_vals), 0,
9581         "mms.T_unconfirmedPDU", HFILL }},
9582     { &hf_mms_pdu_error,
9583       { "pdu-error", "mms.pdu_error",
9584         FT_INT32, BASE_DEC, VALS(mms_T_pdu_error_vals), 0,
9585         "mms.T_pdu_error", HFILL }},
9586     { &hf_mms_cancel_requestPDU,
9587       { "cancel-requestPDU", "mms.cancel_requestPDU",
9588         FT_INT32, BASE_DEC, VALS(mms_T_cancel_requestPDU_vals), 0,
9589         "mms.T_cancel_requestPDU", HFILL }},
9590     { &hf_mms_cancel_responsePDU,
9591       { "cancel-responsePDU", "mms.cancel_responsePDU",
9592         FT_INT32, BASE_DEC, VALS(mms_T_cancel_responsePDU_vals), 0,
9593         "mms.T_cancel_responsePDU", HFILL }},
9594     { &hf_mms_cancel_errorPDU,
9595       { "cancel-errorPDU", "mms.cancel_errorPDU",
9596         FT_INT32, BASE_DEC, VALS(mms_T_cancel_errorPDU_vals), 0,
9597         "mms.T_cancel_errorPDU", HFILL }},
9598     { &hf_mms_conclude_requestPDU,
9599       { "conclude-requestPDU", "mms.conclude_requestPDU",
9600         FT_INT32, BASE_DEC, VALS(mms_T_conclude_requestPDU_vals), 0,
9601         "mms.T_conclude_requestPDU", HFILL }},
9602     { &hf_mms_conclude_responsePDU,
9603       { "conclude-responsePDU", "mms.conclude_responsePDU",
9604         FT_INT32, BASE_DEC, VALS(mms_T_conclude_responsePDU_vals), 0,
9605         "mms.T_conclude_responsePDU", HFILL }},
9606     { &hf_mms_conclude_errorPDU,
9607       { "conclude-errorPDU", "mms.conclude_errorPDU",
9608         FT_INT32, BASE_DEC, VALS(mms_T_conclude_errorPDU_vals), 0,
9609         "mms.T_conclude_errorPDU", HFILL }},
9610     { &hf_mms_vmdLogicalStatus,
9611       { "vmdLogicalStatus", "mms.vmdLogicalStatus",
9612         FT_INT32, BASE_DEC, VALS(mms_T_vmdLogicalStatus_vals), 0,
9613         "mms.T_vmdLogicalStatus", HFILL }},
9614     { &hf_mms_vmdPhysicalStatus,
9615       { "vmdPhysicalStatus", "mms.vmdPhysicalStatus",
9616         FT_INT32, BASE_DEC, VALS(mms_T_vmdPhysicalStatus_vals), 0,
9617         "mms.T_vmdPhysicalStatus", HFILL }},
9618     { &hf_mms_localDetail,
9619       { "localDetail", "mms.localDetail",
9620         FT_BYTES, BASE_HEX, NULL, 0,
9621         "mms.BIT_STRING_SIZE_0_128", HFILL }},
9622     { &hf_mms_extendedObjectClass,
9623       { "extendedObjectClass", "mms.extendedObjectClass",
9624         FT_UINT32, BASE_DEC, VALS(mms_T_extendedObjectClass_vals), 0,
9625         "mms.T_extendedObjectClass", HFILL }},
9626     { &hf_mms_objectClass,
9627       { "objectClass", "mms.objectClass",
9628         FT_INT32, BASE_DEC, VALS(mms_T_objectClass_vals), 0,
9629         "mms.T_objectClass", HFILL }},
9630     { &hf_mms_objectScope,
9631       { "objectScope", "mms.objectScope",
9632         FT_UINT32, BASE_DEC, VALS(mms_T_objectScope_vals), 0,
9633         "mms.T_objectScope", HFILL }},
9634     { &hf_mms_vmdSpecific,
9635       { "vmdSpecific", "mms.vmdSpecific",
9636         FT_NONE, BASE_NONE, NULL, 0,
9637         "mms.NULL", HFILL }},
9638     { &hf_mms_domainSpecific,
9639       { "domainSpecific", "mms.domainSpecific",
9640         FT_STRING, BASE_NONE, NULL, 0,
9641         "mms.Identifier", HFILL }},
9642     { &hf_mms_aaSpecific,
9643       { "aaSpecific", "mms.aaSpecific",
9644         FT_NONE, BASE_NONE, NULL, 0,
9645         "mms.NULL", HFILL }},
9646     { &hf_mms_continueAfter,
9647       { "continueAfter", "mms.continueAfter",
9648         FT_STRING, BASE_NONE, NULL, 0,
9649         "mms.Identifier", HFILL }},
9650     { &hf_mms_listOfIdentifier,
9651       { "listOfIdentifier", "mms.listOfIdentifier",
9652         FT_UINT32, BASE_DEC, NULL, 0,
9653         "mms.SEQUENCE_OF_Identifier", HFILL }},
9654     { &hf_mms_listOfIdentifier_item,
9655       { "Item", "mms.listOfIdentifier_item",
9656         FT_STRING, BASE_NONE, NULL, 0,
9657         "mms.Identifier", HFILL }},
9658     { &hf_mms_moreFollows,
9659       { "moreFollows", "mms.moreFollows",
9660         FT_BOOLEAN, 8, NULL, 0,
9661         "mms.BOOLEAN", HFILL }},
9662     { &hf_mms_vendorName,
9663       { "vendorName", "mms.vendorName",
9664         FT_STRING, BASE_NONE, NULL, 0,
9665         "mms.VisibleString", HFILL }},
9666     { &hf_mms_modelName,
9667       { "modelName", "mms.modelName",
9668         FT_STRING, BASE_NONE, NULL, 0,
9669         "mms.VisibleString", HFILL }},
9670     { &hf_mms_revision,
9671       { "revision", "mms.revision",
9672         FT_STRING, BASE_NONE, NULL, 0,
9673         "mms.VisibleString", HFILL }},
9674     { &hf_mms_listOfAbstractSyntaxes,
9675       { "listOfAbstractSyntaxes", "mms.listOfAbstractSyntaxes",
9676         FT_UINT32, BASE_DEC, NULL, 0,
9677         "mms.T_listOfAbstractSyntaxes", HFILL }},
9678     { &hf_mms_listOfAbstractSyntaxes_item,
9679       { "Item", "mms.listOfAbstractSyntaxes_item",
9680         FT_OID, BASE_NONE, NULL, 0,
9681         "mms.OBJECT_IDENTIFIER", HFILL }},
9682     { &hf_mms_extendedObjectClass1,
9683       { "extendedObjectClass", "mms.extendedObjectClass",
9684         FT_UINT32, BASE_DEC, VALS(mms_T_extendedObjectClass1_vals), 0,
9685         "mms.T_extendedObjectClass1", HFILL }},
9686     { &hf_mms_objectClass1,
9687       { "objectClass", "mms.objectClass",
9688         FT_INT32, BASE_DEC, VALS(mms_T_objectClass1_vals), 0,
9689         "mms.T_objectClass1", HFILL }},
9690     { &hf_mms_currentName,
9691       { "currentName", "mms.currentName",
9692         FT_UINT32, BASE_DEC, VALS(mms_ObjectName_vals), 0,
9693         "mms.ObjectName", HFILL }},
9694     { &hf_mms_newIdentifier,
9695       { "newIdentifier", "mms.newIdentifier",
9696         FT_STRING, BASE_NONE, NULL, 0,
9697         "mms.Identifier", HFILL }},
9698     { &hf_mms_continueAfter1,
9699       { "continueAfter", "mms.continueAfter",
9700         FT_STRING, BASE_NONE, NULL, 0,
9701         "mms.VisibleString", HFILL }},
9702     { &hf_mms_listOfCapabilities,
9703       { "listOfCapabilities", "mms.listOfCapabilities",
9704         FT_UINT32, BASE_DEC, NULL, 0,
9705         "mms.T_listOfCapabilities", HFILL }},
9706     { &hf_mms_listOfCapabilities_item,
9707       { "Item", "mms.listOfCapabilities_item",
9708         FT_STRING, BASE_NONE, NULL, 0,
9709         "mms.VisibleString", HFILL }},
9710     { &hf_mms_domainName,
9711       { "domainName", "mms.domainName",
9712         FT_STRING, BASE_NONE, NULL, 0,
9713         "mms.Identifier", HFILL }},
9714     { &hf_mms_listOfCapabilities1,
9715       { "listOfCapabilities", "mms.listOfCapabilities",
9716         FT_UINT32, BASE_DEC, NULL, 0,
9717         "mms.T_listOfCapabilities1", HFILL }},
9718     { &hf_mms_sharable,
9719       { "sharable", "mms.sharable",
9720         FT_BOOLEAN, 8, NULL, 0,
9721         "mms.BOOLEAN", HFILL }},
9722     { &hf_mms_loadData,
9723       { "loadData", "mms.loadData",
9724         FT_UINT32, BASE_DEC, VALS(mms_T_loadData_vals), 0,
9725         "mms.T_loadData", HFILL }},
9726     { &hf_mms_non_coded,
9727       { "non-coded", "mms.non_coded",
9728         FT_BYTES, BASE_HEX, NULL, 0,
9729         "mms.OCTET_STRING", HFILL }},
9730     { &hf_mms_coded,
9731       { "coded", "mms.coded",
9732         FT_NONE, BASE_NONE, NULL, 0,
9733         "acse.EXTERNALt", HFILL }},
9734     { &hf_mms_discard,
9735       { "discard", "mms.discard",
9736         FT_NONE, BASE_NONE, NULL, 0,
9737         "mms.ServiceError", HFILL }},
9738     { &hf_mms_ulsmID,
9739       { "ulsmID", "mms.ulsmID",
9740         FT_INT32, BASE_DEC, NULL, 0,
9741         "mms.Integer32", HFILL }},
9742     { &hf_mms_listOfCapabilities2,
9743       { "listOfCapabilities", "mms.listOfCapabilities",
9744         FT_UINT32, BASE_DEC, NULL, 0,
9745         "mms.T_listOfCapabilities2", HFILL }},
9746     { &hf_mms_loadData1,
9747       { "loadData", "mms.loadData",
9748         FT_UINT32, BASE_DEC, VALS(mms_T_loadData1_vals), 0,
9749         "mms.T_loadData1", HFILL }},
9750     { &hf_mms_listOfCapabilities3,
9751       { "listOfCapabilities", "mms.listOfCapabilities",
9752         FT_UINT32, BASE_DEC, NULL, 0,
9753         "mms.T_listOfCapabilities3", HFILL }},
9754     { &hf_mms_fileName,
9755       { "fileName", "mms.fileName",
9756         FT_UINT32, BASE_DEC, NULL, 0,
9757         "mms.FileName", HFILL }},
9758     { &hf_mms_listOfCapabilities4,
9759       { "listOfCapabilities", "mms.listOfCapabilities",
9760         FT_UINT32, BASE_DEC, NULL, 0,
9761         "mms.T_listOfCapabilities4", HFILL }},
9762     { &hf_mms_thirdParty,
9763       { "thirdParty", "mms.thirdParty",
9764         FT_NONE, BASE_NONE, NULL, 0,
9765         "mms.ApplicationReference", HFILL }},
9766     { &hf_mms_filenName,
9767       { "filenName", "mms.filenName",
9768         FT_UINT32, BASE_DEC, NULL, 0,
9769         "mms.FileName", HFILL }},
9770     { &hf_mms_listOfCapabilities5,
9771       { "listOfCapabilities", "mms.listOfCapabilities",
9772         FT_UINT32, BASE_DEC, NULL, 0,
9773         "mms.T_listOfCapabilities5", HFILL }},
9774     { &hf_mms_state,
9775       { "state", "mms.state",
9776         FT_INT32, BASE_DEC, VALS(mms_DomainState_vals), 0,
9777         "mms.DomainState", HFILL }},
9778     { &hf_mms_mmsDeletable,
9779       { "mmsDeletable", "mms.mmsDeletable",
9780         FT_BOOLEAN, 8, NULL, 0,
9781         "mms.BOOLEAN", HFILL }},
9782     { &hf_mms_listOfProgramInvocations,
9783       { "listOfProgramInvocations", "mms.listOfProgramInvocations",
9784         FT_UINT32, BASE_DEC, NULL, 0,
9785         "mms.SEQUENCE_OF_Identifier", HFILL }},
9786     { &hf_mms_listOfProgramInvocations_item,
9787       { "Item", "mms.listOfProgramInvocations_item",
9788         FT_STRING, BASE_NONE, NULL, 0,
9789         "mms.Identifier", HFILL }},
9790     { &hf_mms_uploadInProgress,
9791       { "uploadInProgress", "mms.uploadInProgress",
9792         FT_INT32, BASE_DEC, NULL, 0,
9793         "mms.Integer8", HFILL }},
9794     { &hf_mms_programInvocationName,
9795       { "programInvocationName", "mms.programInvocationName",
9796         FT_STRING, BASE_NONE, NULL, 0,
9797         "mms.Identifier", HFILL }},
9798     { &hf_mms_listOfDomainName,
9799       { "listOfDomainName", "mms.listOfDomainName",
9800         FT_UINT32, BASE_DEC, NULL, 0,
9801         "mms.SEQUENCE_OF_Identifier", HFILL }},
9802     { &hf_mms_listOfDomainName_item,
9803       { "Item", "mms.listOfDomainName_item",
9804         FT_STRING, BASE_NONE, NULL, 0,
9805         "mms.Identifier", HFILL }},
9806     { &hf_mms_reusable,
9807       { "reusable", "mms.reusable",
9808         FT_BOOLEAN, 8, NULL, 0,
9809         "mms.BOOLEAN", HFILL }},
9810     { &hf_mms_monitorType,
9811       { "monitorType", "mms.monitorType",
9812         FT_BOOLEAN, 8, NULL, 0,
9813         "mms.BOOLEAN", HFILL }},
9814     { &hf_mms_executionArgument,
9815       { "executionArgument", "mms.executionArgument",
9816         FT_UINT32, BASE_DEC, VALS(mms_T_executionArgument_vals), 0,
9817         "mms.T_executionArgument", HFILL }},
9818     { &hf_mms_simpleString,
9819       { "simpleString", "mms.simpleString",
9820         FT_STRING, BASE_NONE, NULL, 0,
9821         "mms.VisibleString", HFILL }},
9822     { &hf_mms_encodedString,
9823       { "encodedString", "mms.encodedString",
9824         FT_NONE, BASE_NONE, NULL, 0,
9825         "acse.EXTERNALt", HFILL }},
9826     { &hf_mms_executionArgument1,
9827       { "executionArgument", "mms.executionArgument",
9828         FT_UINT32, BASE_DEC, VALS(mms_T_executionArgument1_vals), 0,
9829         "mms.T_executionArgument1", HFILL }},
9830     { &hf_mms_state1,
9831       { "state", "mms.state",
9832         FT_INT32, BASE_DEC, VALS(mms_ProgramInvocationState_vals), 0,
9833         "mms.ProgramInvocationState", HFILL }},
9834     { &hf_mms_listOfDomainNames,
9835       { "listOfDomainNames", "mms.listOfDomainNames",
9836         FT_UINT32, BASE_DEC, NULL, 0,
9837         "mms.SEQUENCE_OF_Identifier", HFILL }},
9838     { &hf_mms_listOfDomainNames_item,
9839       { "Item", "mms.listOfDomainNames_item",
9840         FT_STRING, BASE_NONE, NULL, 0,
9841         "mms.Identifier", HFILL }},
9842     { &hf_mms_monitor,
9843       { "monitor", "mms.monitor",
9844         FT_BOOLEAN, 8, NULL, 0,
9845         "mms.BOOLEAN", HFILL }},
9846     { &hf_mms_startArgument,
9847       { "startArgument", "mms.startArgument",
9848         FT_STRING, BASE_NONE, NULL, 0,
9849         "mms.VisibleString", HFILL }},
9850     { &hf_mms_executionArgument2,
9851       { "executionArgument", "mms.executionArgument",
9852         FT_UINT32, BASE_DEC, VALS(mms_T_executionArgument2_vals), 0,
9853         "mms.T_executionArgument2", HFILL }},
9854     { &hf_mms_typeName,
9855       { "typeName", "mms.typeName",
9856         FT_UINT32, BASE_DEC, VALS(mms_ObjectName_vals), 0,
9857         "mms.ObjectName", HFILL }},
9858     { &hf_mms_array,
9859       { "array", "mms.array",
9860         FT_NONE, BASE_NONE, NULL, 0,
9861         "mms.T_array", HFILL }},
9862     { &hf_mms_packed,
9863       { "packed", "mms.packed",
9864         FT_BOOLEAN, 8, NULL, 0,
9865         "mms.BOOLEAN", HFILL }},
9866     { &hf_mms_numberOfElements,
9867       { "numberOfElements", "mms.numberOfElements",
9868         FT_INT32, BASE_DEC, NULL, 0,
9869         "mms.Unsigned32", HFILL }},
9870     { &hf_mms_elementType,
9871       { "elementType", "mms.elementType",
9872         FT_UINT32, BASE_DEC, VALS(mms_TypeSpecification_vals), 0,
9873         "mms.TypeSpecification", HFILL }},
9874     { &hf_mms_structure,
9875       { "structure", "mms.structure",
9876         FT_NONE, BASE_NONE, NULL, 0,
9877         "mms.T_structure", HFILL }},
9878     { &hf_mms_components,
9879       { "components", "mms.components",
9880         FT_UINT32, BASE_DEC, NULL, 0,
9881         "mms.T_components", HFILL }},
9882     { &hf_mms_components_item,
9883       { "Item", "mms.components_item",
9884         FT_NONE, BASE_NONE, NULL, 0,
9885         "mms.T_components_item", HFILL }},
9886     { &hf_mms_componentName,
9887       { "componentName", "mms.componentName",
9888         FT_STRING, BASE_NONE, NULL, 0,
9889         "mms.Identifier", HFILL }},
9890     { &hf_mms_componentType,
9891       { "componentType", "mms.componentType",
9892         FT_UINT32, BASE_DEC, VALS(mms_TypeSpecification_vals), 0,
9893         "mms.TypeSpecification", HFILL }},
9894     { &hf_mms_boolean,
9895       { "boolean", "mms.boolean",
9896         FT_NONE, BASE_NONE, NULL, 0,
9897         "mms.NULL", HFILL }},
9898     { &hf_mms_bit_string,
9899       { "bit-string", "mms.bit_string",
9900         FT_INT32, BASE_DEC, NULL, 0,
9901         "mms.Integer32", HFILL }},
9902     { &hf_mms_integer,
9903       { "integer", "mms.integer",
9904         FT_INT32, BASE_DEC, NULL, 0,
9905         "mms.Unsigned8", HFILL }},
9906     { &hf_mms_unsigned,
9907       { "unsigned", "mms.unsigned",
9908         FT_INT32, BASE_DEC, NULL, 0,
9909         "mms.Unsigned8", HFILL }},
9910     { &hf_mms_octet_string,
9911       { "octet-string", "mms.octet_string",
9912         FT_INT32, BASE_DEC, NULL, 0,
9913         "mms.Integer32", HFILL }},
9914     { &hf_mms_visible_string,
9915       { "visible-string", "mms.visible_string",
9916         FT_INT32, BASE_DEC, NULL, 0,
9917         "mms.Integer32", HFILL }},
9918     { &hf_mms_generalized_time,
9919       { "generalized-time", "mms.generalized_time",
9920         FT_NONE, BASE_NONE, NULL, 0,
9921         "mms.NULL", HFILL }},
9922     { &hf_mms_binary_time,
9923       { "binary-time", "mms.binary_time",
9924         FT_BOOLEAN, 8, NULL, 0,
9925         "mms.BOOLEAN", HFILL }},
9926     { &hf_mms_bcd,
9927       { "bcd", "mms.bcd",
9928         FT_INT32, BASE_DEC, NULL, 0,
9929         "mms.Unsigned8", HFILL }},
9930     { &hf_mms_objId,
9931       { "objId", "mms.objId",
9932         FT_NONE, BASE_NONE, NULL, 0,
9933         "mms.NULL", HFILL }},
9934     { &hf_mms_AlternateAccess_item,
9935       { "Item", "mms.AlternateAccess_item",
9936         FT_UINT32, BASE_DEC, VALS(mms_AlternateAccess_item_vals), 0,
9937         "mms.AlternateAccess_item", HFILL }},
9938     { &hf_mms_unnamed,
9939       { "unnamed", "mms.unnamed",
9940         FT_UINT32, BASE_DEC, VALS(mms_AlternateAccessSelection_vals), 0,
9941         "mms.AlternateAccessSelection", HFILL }},
9942     { &hf_mms_named,
9943       { "named", "mms.named",
9944         FT_NONE, BASE_NONE, NULL, 0,
9945         "mms.T_named", HFILL }},
9946     { &hf_mms_accesst,
9947       { "accesst", "mms.accesst",
9948         FT_UINT32, BASE_DEC, VALS(mms_AlternateAccessSelection_vals), 0,
9949         "mms.AlternateAccessSelection", HFILL }},
9950     { &hf_mms_selectAccess,
9951       { "selectAccess", "mms.selectAccess",
9952         FT_UINT32, BASE_DEC, VALS(mms_T_selectAccess_vals), 0,
9953         "mms.T_selectAccess", HFILL }},
9954     { &hf_mms_component,
9955       { "component", "mms.component",
9956         FT_STRING, BASE_NONE, NULL, 0,
9957         "mms.Identifier", HFILL }},
9958     { &hf_mms_index,
9959       { "index", "mms.index",
9960         FT_INT32, BASE_DEC, NULL, 0,
9961         "mms.Unsigned32", HFILL }},
9962     { &hf_mms_indexRange,
9963       { "indexRange", "mms.indexRange",
9964         FT_NONE, BASE_NONE, NULL, 0,
9965         "mms.T_indexRange", HFILL }},
9966     { &hf_mms_lowIndex,
9967       { "lowIndex", "mms.lowIndex",
9968         FT_INT32, BASE_DEC, NULL, 0,
9969         "mms.Unsigned32", HFILL }},
9970     { &hf_mms_allElements,
9971       { "allElements", "mms.allElements",
9972         FT_NONE, BASE_NONE, NULL, 0,
9973         "mms.NULL", HFILL }},
9974     { &hf_mms_specificationWithResult,
9975       { "specificationWithResult", "mms.specificationWithResult",
9976         FT_BOOLEAN, 8, NULL, 0,
9977         "mms.BOOLEAN", HFILL }},
9978     { &hf_mms_variableAccessSpecificatn,
9979       { "variableAccessSpecificatn", "mms.variableAccessSpecificatn",
9980         FT_UINT32, BASE_DEC, VALS(mms_VariableAccessSpecification_vals), 0,
9981         "mms.VariableAccessSpecification", HFILL }},
9982     { &hf_mms_listOfAccessResult,
9983       { "listOfAccessResult", "mms.listOfAccessResult",
9984         FT_UINT32, BASE_DEC, NULL, 0,
9985         "mms.SEQUENCE_OF_AccessResult", HFILL }},
9986     { &hf_mms_listOfAccessResult_item,
9987       { "Item", "mms.listOfAccessResult_item",
9988         FT_UINT32, BASE_DEC, VALS(mms_AccessResult_vals), 0,
9989         "mms.AccessResult", HFILL }},
9990     { &hf_mms_listOfData,
9991       { "listOfData", "mms.listOfData",
9992         FT_UINT32, BASE_DEC, NULL, 0,
9993         "mms.SEQUENCE_OF_Data", HFILL }},
9994     { &hf_mms_listOfData_item,
9995       { "Item", "mms.listOfData_item",
9996         FT_UINT32, BASE_DEC, VALS(mms_Data_vals), 0,
9997         "mms.Data", HFILL }},
9998     { &hf_mms_Write_Response_item,
9999       { "Item", "mms.Write_Response_item",
10000         FT_UINT32, BASE_DEC, VALS(mms_Write_Response_item_vals), 0,
10001         "mms.Write_Response_item", HFILL }},
10002     { &hf_mms_failure,
10003       { "failure", "mms.failure",
10004         FT_INT32, BASE_DEC, VALS(mms_DataAccessError_vals), 0,
10005         "mms.DataAccessError", HFILL }},
10006     { &hf_mms_success,
10007       { "success", "mms.success",
10008         FT_NONE, BASE_NONE, NULL, 0,
10009         "mms.NULL", HFILL }},
10010     { &hf_mms_variableAccessSpecification,
10011       { "variableAccessSpecification", "mms.variableAccessSpecification",
10012         FT_UINT32, BASE_DEC, VALS(mms_VariableAccessSpecification_vals), 0,
10013         "mms.VariableAccessSpecification", HFILL }},
10014     { &hf_mms_name,
10015       { "name", "mms.name",
10016         FT_UINT32, BASE_DEC, VALS(mms_ObjectName_vals), 0,
10017         "mms.ObjectName", HFILL }},
10018     { &hf_mms_address,
10019       { "address", "mms.address",
10020         FT_UINT32, BASE_DEC, VALS(mms_Address_vals), 0,
10021         "mms.Address", HFILL }},
10022     { &hf_mms_typeSpecification,
10023       { "typeSpecification", "mms.typeSpecification",
10024         FT_UINT32, BASE_DEC, VALS(mms_TypeSpecification_vals), 0,
10025         "mms.TypeSpecification", HFILL }},
10026     { &hf_mms_variableName,
10027       { "variableName", "mms.variableName",
10028         FT_UINT32, BASE_DEC, VALS(mms_ObjectName_vals), 0,
10029         "mms.ObjectName", HFILL }},
10030     { &hf_mms_scatteredAccessName,
10031       { "scatteredAccessName", "mms.scatteredAccessName",
10032         FT_UINT32, BASE_DEC, VALS(mms_ObjectName_vals), 0,
10033         "mms.ObjectName", HFILL }},
10034     { &hf_mms_scatteredAccessDescription,
10035       { "scatteredAccessDescription", "mms.scatteredAccessDescription",
10036         FT_UINT32, BASE_DEC, NULL, 0,
10037         "mms.ScatteredAccessDescription", HFILL }},
10038     { &hf_mms_scopeOfDelete,
10039       { "scopeOfDelete", "mms.scopeOfDelete",
10040         FT_INT32, BASE_DEC, VALS(mms_T_scopeOfDelete_vals), 0,
10041         "mms.T_scopeOfDelete", HFILL }},
10042     { &hf_mms_listOfName,
10043       { "listOfName", "mms.listOfName",
10044         FT_UINT32, BASE_DEC, NULL, 0,
10045         "mms.SEQUENCE_OF_ObjectName", HFILL }},
10046     { &hf_mms_listOfName_item,
10047       { "Item", "mms.listOfName_item",
10048         FT_UINT32, BASE_DEC, VALS(mms_ObjectName_vals), 0,
10049         "mms.ObjectName", HFILL }},
10050     { &hf_mms_numberMatched,
10051       { "numberMatched", "mms.numberMatched",
10052         FT_INT32, BASE_DEC, NULL, 0,
10053         "mms.Unsigned32", HFILL }},
10054     { &hf_mms_numberDeleted,
10055       { "numberDeleted", "mms.numberDeleted",
10056         FT_INT32, BASE_DEC, NULL, 0,
10057         "mms.Unsigned32", HFILL }},
10058     { &hf_mms_variableListName,
10059       { "variableListName", "mms.variableListName",
10060         FT_UINT32, BASE_DEC, VALS(mms_ObjectName_vals), 0,
10061         "mms.ObjectName", HFILL }},
10062     { &hf_mms_listOfVariable,
10063       { "listOfVariable", "mms.listOfVariable",
10064         FT_UINT32, BASE_DEC, NULL, 0,
10065         "mms.T_listOfVariable", HFILL }},
10066     { &hf_mms_listOfVariable_item,
10067       { "Item", "mms.listOfVariable_item",
10068         FT_NONE, BASE_NONE, NULL, 0,
10069         "mms.T_listOfVariable_item", HFILL }},
10070     { &hf_mms_variableSpecification,
10071       { "variableSpecification", "mms.variableSpecification",
10072         FT_UINT32, BASE_DEC, VALS(mms_VariableSpecification_vals), 0,
10073         "mms.VariableSpecification", HFILL }},
10074     { &hf_mms_alternateAccess,
10075       { "alternateAccess", "mms.alternateAccess",
10076         FT_UINT32, BASE_DEC, NULL, 0,
10077         "mms.AlternateAccess", HFILL }},
10078     { &hf_mms_listOfVariable1,
10079       { "listOfVariable", "mms.listOfVariable",
10080         FT_UINT32, BASE_DEC, NULL, 0,
10081         "mms.T_listOfVariable1", HFILL }},
10082     { &hf_mms_listOfVariable_item1,
10083       { "Item", "mms.listOfVariable_item",
10084         FT_NONE, BASE_NONE, NULL, 0,
10085         "mms.T_listOfVariable_item1", HFILL }},
10086     { &hf_mms_scopeOfDelete1,
10087       { "scopeOfDelete", "mms.scopeOfDelete",
10088         FT_INT32, BASE_DEC, VALS(mms_T_scopeOfDelete1_vals), 0,
10089         "mms.T_scopeOfDelete1", HFILL }},
10090     { &hf_mms_listOfVariableListName,
10091       { "listOfVariableListName", "mms.listOfVariableListName",
10092         FT_UINT32, BASE_DEC, NULL, 0,
10093         "mms.SEQUENCE_OF_ObjectName", HFILL }},
10094     { &hf_mms_listOfVariableListName_item,
10095       { "Item", "mms.listOfVariableListName_item",
10096         FT_UINT32, BASE_DEC, VALS(mms_ObjectName_vals), 0,
10097         "mms.ObjectName", HFILL }},
10098     { &hf_mms_scopeOfDelete2,
10099       { "scopeOfDelete", "mms.scopeOfDelete",
10100         FT_INT32, BASE_DEC, VALS(mms_T_scopeOfDelete2_vals), 0,
10101         "mms.T_scopeOfDelete2", HFILL }},
10102     { &hf_mms_listOfTypeName,
10103       { "listOfTypeName", "mms.listOfTypeName",
10104         FT_UINT32, BASE_DEC, NULL, 0,
10105         "mms.SEQUENCE_OF_ObjectName", HFILL }},
10106     { &hf_mms_listOfTypeName_item,
10107       { "Item", "mms.listOfTypeName_item",
10108         FT_UINT32, BASE_DEC, VALS(mms_ObjectName_vals), 0,
10109         "mms.ObjectName", HFILL }},
10110     { &hf_mms_array1,
10111       { "array", "mms.array",
10112         FT_UINT32, BASE_DEC, NULL, 0,
10113         "mms.SEQUENCE_OF_Data", HFILL }},
10114     { &hf_mms_array_item,
10115       { "Item", "mms.array_item",
10116         FT_UINT32, BASE_DEC, VALS(mms_Data_vals), 0,
10117         "mms.Data", HFILL }},
10118     { &hf_mms_structure1,
10119       { "structure", "mms.structure",
10120         FT_UINT32, BASE_DEC, NULL, 0,
10121         "mms.SEQUENCE_OF_Data", HFILL }},
10122     { &hf_mms_structure_item,
10123       { "Item", "mms.structure_item",
10124         FT_UINT32, BASE_DEC, VALS(mms_Data_vals), 0,
10125         "mms.Data", HFILL }},
10126     { &hf_mms_boolean1,
10127       { "boolean", "mms.boolean",
10128         FT_BOOLEAN, 8, NULL, 0,
10129         "mms.BOOLEAN", HFILL }},
10130     { &hf_mms_bit_string1,
10131       { "bit-string", "mms.bit_string",
10132         FT_BYTES, BASE_HEX, NULL, 0,
10133         "mms.BIT_STRING", HFILL }},
10134     { &hf_mms_integer1,
10135       { "integer", "mms.integer",
10136         FT_INT32, BASE_DEC, NULL, 0,
10137         "mms.INTEGER", HFILL }},
10138     { &hf_mms_unsigned1,
10139       { "unsigned", "mms.unsigned",
10140         FT_INT32, BASE_DEC, NULL, 0,
10141         "mms.INTEGER", HFILL }},
10142     { &hf_mms_floating_point,
10143       { "floating-point", "mms.floating_point",
10144         FT_BYTES, BASE_HEX, NULL, 0,
10145         "mms.FloatingPoint", HFILL }},
10146     { &hf_mms_octet_string1,
10147       { "octet-string", "mms.octet_string",
10148         FT_BYTES, BASE_HEX, NULL, 0,
10149         "mms.OCTET_STRING", HFILL }},
10150     { &hf_mms_visible_string1,
10151       { "visible-string", "mms.visible_string",
10152         FT_STRING, BASE_NONE, NULL, 0,
10153         "mms.VisibleString", HFILL }},
10154     { &hf_mms_binary_time1,
10155       { "binary-time", "mms.binary_time",
10156         FT_BYTES, BASE_HEX, NULL, 0,
10157         "mms.TimeOfDay", HFILL }},
10158     { &hf_mms_bcd1,
10159       { "bcd", "mms.bcd",
10160         FT_INT32, BASE_DEC, NULL, 0,
10161         "mms.INTEGER", HFILL }},
10162     { &hf_mms_booleanArray,
10163       { "booleanArray", "mms.booleanArray",
10164         FT_BYTES, BASE_HEX, NULL, 0,
10165         "mms.BIT_STRING", HFILL }},
10166     { &hf_mms_listOfVariable2,
10167       { "listOfVariable", "mms.listOfVariable",
10168         FT_UINT32, BASE_DEC, NULL, 0,
10169         "mms.T_listOfVariable2", HFILL }},
10170     { &hf_mms_listOfVariable_item2,
10171       { "Item", "mms.listOfVariable_item",
10172         FT_NONE, BASE_NONE, NULL, 0,
10173         "mms.T_listOfVariable_item2", HFILL }},
10174     { &hf_mms_ScatteredAccessDescription_item,
10175       { "Item", "mms.ScatteredAccessDescription_item",
10176         FT_NONE, BASE_NONE, NULL, 0,
10177         "mms.ScatteredAccessDescription_item", HFILL }},
10178     { &hf_mms_variableDescription,
10179       { "variableDescription", "mms.variableDescription",
10180         FT_NONE, BASE_NONE, NULL, 0,
10181         "mms.T_variableDescription", HFILL }},
10182     { &hf_mms_invalidated,
10183       { "invalidated", "mms.invalidated",
10184         FT_NONE, BASE_NONE, NULL, 0,
10185         "mms.NULL", HFILL }},
10186     { &hf_mms_numericAddress,
10187       { "numericAddress", "mms.numericAddress",
10188         FT_INT32, BASE_DEC, NULL, 0,
10189         "mms.Unsigned32", HFILL }},
10190     { &hf_mms_symbolicAddress,
10191       { "symbolicAddress", "mms.symbolicAddress",
10192         FT_STRING, BASE_NONE, NULL, 0,
10193         "mms.VisibleString", HFILL }},
10194     { &hf_mms_unconstrainedAddress,
10195       { "unconstrainedAddress", "mms.unconstrainedAddress",
10196         FT_BYTES, BASE_HEX, NULL, 0,
10197         "mms.OCTET_STRING", HFILL }},
10198     { &hf_mms_semaphoreName,
10199       { "semaphoreName", "mms.semaphoreName",
10200         FT_UINT32, BASE_DEC, VALS(mms_ObjectName_vals), 0,
10201         "mms.ObjectName", HFILL }},
10202     { &hf_mms_namedToken,
10203       { "namedToken", "mms.namedToken",
10204         FT_STRING, BASE_NONE, NULL, 0,
10205         "mms.Identifier", HFILL }},
10206     { &hf_mms_priority,
10207       { "priority", "mms.priority",
10208         FT_INT32, BASE_DEC, NULL, 0,
10209         "mms.Priority", HFILL }},
10210     { &hf_mms_acceptableDelay,
10211       { "acceptableDelay", "mms.acceptableDelay",
10212         FT_INT32, BASE_DEC, NULL, 0,
10213         "mms.Unsigned32", HFILL }},
10214     { &hf_mms_controlTimeOut,
10215       { "controlTimeOut", "mms.controlTimeOut",
10216         FT_INT32, BASE_DEC, NULL, 0,
10217         "mms.Unsigned32", HFILL }},
10218     { &hf_mms_abortOnTimeOut,
10219       { "abortOnTimeOut", "mms.abortOnTimeOut",
10220         FT_BOOLEAN, 8, NULL, 0,
10221         "mms.BOOLEAN", HFILL }},
10222     { &hf_mms_relinquishIfConnectionLost,
10223       { "relinquishIfConnectionLost", "mms.relinquishIfConnectionLost",
10224         FT_BOOLEAN, 8, NULL, 0,
10225         "mms.BOOLEAN", HFILL }},
10226     { &hf_mms_applicationToPreempt,
10227       { "applicationToPreempt", "mms.applicationToPreempt",
10228         FT_NONE, BASE_NONE, NULL, 0,
10229         "mms.ApplicationReference", HFILL }},
10230     { &hf_mms_noResult,
10231       { "noResult", "mms.noResult",
10232         FT_NONE, BASE_NONE, NULL, 0,
10233         "mms.NULL", HFILL }},
10234     { &hf_mms_numbersOfTokens,
10235       { "numbersOfTokens", "mms.numbersOfTokens",
10236         FT_INT32, BASE_DEC, NULL, 0,
10237         "mms.Unsigned16", HFILL }},
10238     { &hf_mms_class,
10239       { "class", "mms.class",
10240         FT_INT32, BASE_DEC, VALS(mms_T_class_vals), 0,
10241         "mms.T_class", HFILL }},
10242     { &hf_mms_numberOfTokens,
10243       { "numberOfTokens", "mms.numberOfTokens",
10244         FT_INT32, BASE_DEC, NULL, 0,
10245         "mms.Unsigned16", HFILL }},
10246     { &hf_mms_numberOfOwnedTokens,
10247       { "numberOfOwnedTokens", "mms.numberOfOwnedTokens",
10248         FT_INT32, BASE_DEC, NULL, 0,
10249         "mms.Unsigned16", HFILL }},
10250     { &hf_mms_numberOfHungTokens,
10251       { "numberOfHungTokens", "mms.numberOfHungTokens",
10252         FT_INT32, BASE_DEC, NULL, 0,
10253         "mms.Unsigned16", HFILL }},
10254     { &hf_mms_nameToStartAfter,
10255       { "nameToStartAfter", "mms.nameToStartAfter",
10256         FT_STRING, BASE_NONE, NULL, 0,
10257         "mms.Identifier", HFILL }},
10258     { &hf_mms_listOfNamedTokens,
10259       { "listOfNamedTokens", "mms.listOfNamedTokens",
10260         FT_UINT32, BASE_DEC, NULL, 0,
10261         "mms.T_listOfNamedTokens", HFILL }},
10262     { &hf_mms_listOfNamedTokens_item,
10263       { "Item", "mms.listOfNamedTokens_item",
10264         FT_UINT32, BASE_DEC, VALS(mms_T_listOfNamedTokens_item_vals), 0,
10265         "mms.T_listOfNamedTokens_item", HFILL }},
10266     { &hf_mms_freeNamedToken,
10267       { "freeNamedToken", "mms.freeNamedToken",
10268         FT_STRING, BASE_NONE, NULL, 0,
10269         "mms.Identifier", HFILL }},
10270     { &hf_mms_ownedNamedToken,
10271       { "ownedNamedToken", "mms.ownedNamedToken",
10272         FT_STRING, BASE_NONE, NULL, 0,
10273         "mms.Identifier", HFILL }},
10274     { &hf_mms_hungNamedToken,
10275       { "hungNamedToken", "mms.hungNamedToken",
10276         FT_STRING, BASE_NONE, NULL, 0,
10277         "mms.Identifier", HFILL }},
10278     { &hf_mms_state2,
10279       { "state", "mms.state",
10280         FT_INT32, BASE_DEC, VALS(mms_T_state_vals), 0,
10281         "mms.T_state", HFILL }},
10282     { &hf_mms_entryIdToStartAfter,
10283       { "entryIdToStartAfter", "mms.entryIdToStartAfter",
10284         FT_BYTES, BASE_HEX, NULL, 0,
10285         "mms.OCTET_STRING", HFILL }},
10286     { &hf_mms_listOfSemaphoreEntry,
10287       { "listOfSemaphoreEntry", "mms.listOfSemaphoreEntry",
10288         FT_UINT32, BASE_DEC, NULL, 0,
10289         "mms.SEQUENCE_OF_SemaphoreEntry", HFILL }},
10290     { &hf_mms_listOfSemaphoreEntry_item,
10291       { "Item", "mms.listOfSemaphoreEntry_item",
10292         FT_NONE, BASE_NONE, NULL, 0,
10293         "mms.SemaphoreEntry", HFILL }},
10294     { &hf_mms_entryId,
10295       { "entryId", "mms.entryId",
10296         FT_BYTES, BASE_HEX, NULL, 0,
10297         "mms.OCTET_STRING", HFILL }},
10298     { &hf_mms_entryClass,
10299       { "entryClass", "mms.entryClass",
10300         FT_INT32, BASE_DEC, VALS(mms_T_entryClass_vals), 0,
10301         "mms.T_entryClass", HFILL }},
10302     { &hf_mms_applicationReference,
10303       { "applicationReference", "mms.applicationReference",
10304         FT_NONE, BASE_NONE, NULL, 0,
10305         "mms.ApplicationReference", HFILL }},
10306     { &hf_mms_remainingTimeOut,
10307       { "remainingTimeOut", "mms.remainingTimeOut",
10308         FT_INT32, BASE_DEC, NULL, 0,
10309         "mms.Unsigned32", HFILL }},
10310     { &hf_mms_operatorStationName,
10311       { "operatorStationName", "mms.operatorStationName",
10312         FT_STRING, BASE_NONE, NULL, 0,
10313         "mms.Identifier", HFILL }},
10314     { &hf_mms_echo,
10315       { "echo", "mms.echo",
10316         FT_BOOLEAN, 8, NULL, 0,
10317         "mms.BOOLEAN", HFILL }},
10318     { &hf_mms_listOfPromptData,
10319       { "listOfPromptData", "mms.listOfPromptData",
10320         FT_UINT32, BASE_DEC, NULL, 0,
10321         "mms.T_listOfPromptData", HFILL }},
10322     { &hf_mms_listOfPromptData_item,
10323       { "Item", "mms.listOfPromptData_item",
10324         FT_STRING, BASE_NONE, NULL, 0,
10325         "mms.VisibleString", HFILL }},
10326     { &hf_mms_inputTimeOut,
10327       { "inputTimeOut", "mms.inputTimeOut",
10328         FT_INT32, BASE_DEC, NULL, 0,
10329         "mms.Unsigned32", HFILL }},
10330     { &hf_mms_listOfOutputData,
10331       { "listOfOutputData", "mms.listOfOutputData",
10332         FT_UINT32, BASE_DEC, NULL, 0,
10333         "mms.T_listOfOutputData", HFILL }},
10334     { &hf_mms_listOfOutputData_item,
10335       { "Item", "mms.listOfOutputData_item",
10336         FT_STRING, BASE_NONE, NULL, 0,
10337         "mms.VisibleString", HFILL }},
10338     { &hf_mms_eventConditionName,
10339       { "eventConditionName", "mms.eventConditionName",
10340         FT_UINT32, BASE_DEC, VALS(mms_ObjectName_vals), 0,
10341         "mms.ObjectName", HFILL }},
10342     { &hf_mms_class1,
10343       { "class", "mms.class",
10344         FT_INT32, BASE_DEC, VALS(mms_EC_Class_vals), 0,
10345         "mms.EC_Class", HFILL }},
10346     { &hf_mms_prio_rity,
10347       { "prio-rity", "mms.prio_rity",
10348         FT_INT32, BASE_DEC, NULL, 0,
10349         "mms.Priority", HFILL }},
10350     { &hf_mms_severity,
10351       { "severity", "mms.severity",
10352         FT_INT32, BASE_DEC, NULL, 0,
10353         "mms.Unsigned8", HFILL }},
10354     { &hf_mms_alarmSummaryReports,
10355       { "alarmSummaryReports", "mms.alarmSummaryReports",
10356         FT_BOOLEAN, 8, NULL, 0,
10357         "mms.BOOLEAN", HFILL }},
10358     { &hf_mms_monitoredVariable,
10359       { "monitoredVariable", "mms.monitoredVariable",
10360         FT_UINT32, BASE_DEC, VALS(mms_VariableSpecification_vals), 0,
10361         "mms.VariableSpecification", HFILL }},
10362     { &hf_mms_evaluationInterval,
10363       { "evaluationInterval", "mms.evaluationInterval",
10364         FT_INT32, BASE_DEC, NULL, 0,
10365         "mms.Unsigned32", HFILL }},
10366     { &hf_mms_specific,
10367       { "specific", "mms.specific",
10368         FT_UINT32, BASE_DEC, NULL, 0,
10369         "mms.SEQUENCE_OF_ObjectName", HFILL }},
10370     { &hf_mms_specific_item,
10371       { "Item", "mms.specific_item",
10372         FT_UINT32, BASE_DEC, VALS(mms_ObjectName_vals), 0,
10373         "mms.ObjectName", HFILL }},
10374     { &hf_mms_aa_specific1,
10375       { "aa-specific", "mms.aa_specific",
10376         FT_NONE, BASE_NONE, NULL, 0,
10377         "mms.NULL", HFILL }},
10378     { &hf_mms_domain,
10379       { "domain", "mms.domain",
10380         FT_STRING, BASE_NONE, NULL, 0,
10381         "mms.Identifier", HFILL }},
10382     { &hf_mms_vmd,
10383       { "vmd", "mms.vmd",
10384         FT_NONE, BASE_NONE, NULL, 0,
10385         "mms.NULL", HFILL }},
10386     { &hf_mms_monitoredVariable1,
10387       { "monitoredVariable", "mms.monitoredVariable",
10388         FT_UINT32, BASE_DEC, VALS(mms_T_monitoredVariable_vals), 0,
10389         "mms.T_monitoredVariable", HFILL }},
10390     { &hf_mms_variableReference,
10391       { "variableReference", "mms.variableReference",
10392         FT_UINT32, BASE_DEC, VALS(mms_VariableSpecification_vals), 0,
10393         "mms.VariableSpecification", HFILL }},
10394     { &hf_mms_undefined,
10395       { "undefined", "mms.undefined",
10396         FT_NONE, BASE_NONE, NULL, 0,
10397         "mms.NULL", HFILL }},
10398     { &hf_mms_currentState,
10399       { "currentState", "mms.currentState",
10400         FT_INT32, BASE_DEC, VALS(mms_EC_State_vals), 0,
10401         "mms.EC_State", HFILL }},
10402     { &hf_mms_numberOfEventEnrollments,
10403       { "numberOfEventEnrollments", "mms.numberOfEventEnrollments",
10404         FT_INT32, BASE_DEC, NULL, 0,
10405         "mms.Unsigned32", HFILL }},
10406     { &hf_mms_enabled,
10407       { "enabled", "mms.enabled",
10408         FT_BOOLEAN, 8, NULL, 0,
10409         "mms.BOOLEAN", HFILL }},
10410     { &hf_mms_timeOfLastTransitionToActive,
10411       { "timeOfLastTransitionToActive", "mms.timeOfLastTransitionToActive",
10412         FT_UINT32, BASE_DEC, VALS(mms_EventTime_vals), 0,
10413         "mms.EventTime", HFILL }},
10414     { &hf_mms_timeOfLastTransitionToIdle,
10415       { "timeOfLastTransitionToIdle", "mms.timeOfLastTransitionToIdle",
10416         FT_UINT32, BASE_DEC, VALS(mms_EventTime_vals), 0,
10417         "mms.EventTime", HFILL }},
10418     { &hf_mms_eventActionName,
10419       { "eventActionName", "mms.eventActionName",
10420         FT_UINT32, BASE_DEC, VALS(mms_ObjectName_vals), 0,
10421         "mms.ObjectName", HFILL }},
10422     { &hf_mms_eventEnrollmentName,
10423       { "eventEnrollmentName", "mms.eventEnrollmentName",
10424         FT_UINT32, BASE_DEC, VALS(mms_ObjectName_vals), 0,
10425         "mms.ObjectName", HFILL }},
10426     { &hf_mms_eventConditionTransition,
10427       { "eventConditionTransition", "mms.eventConditionTransition",
10428         FT_BYTES, BASE_HEX, NULL, 0,
10429         "mms.Transitions", HFILL }},
10430     { &hf_mms_alarmAcknowledgementRule,
10431       { "alarmAcknowledgementRule", "mms.alarmAcknowledgementRule",
10432         FT_INT32, BASE_DEC, VALS(mms_AlarmAckRule_vals), 0,
10433         "mms.AlarmAckRule", HFILL }},
10434     { &hf_mms_clientApplication,
10435       { "clientApplication", "mms.clientApplication",
10436         FT_NONE, BASE_NONE, NULL, 0,
10437         "mms.ApplicationReference", HFILL }},
10438     { &hf_mms_ec,
10439       { "ec", "mms.ec",
10440         FT_UINT32, BASE_DEC, VALS(mms_ObjectName_vals), 0,
10441         "mms.ObjectName", HFILL }},
10442     { &hf_mms_ea,
10443       { "ea", "mms.ea",
10444         FT_UINT32, BASE_DEC, VALS(mms_ObjectName_vals), 0,
10445         "mms.ObjectName", HFILL }},
10446     { &hf_mms_scopeOfRequest,
10447       { "scopeOfRequest", "mms.scopeOfRequest",
10448         FT_INT32, BASE_DEC, VALS(mms_T_scopeOfRequest_vals), 0,
10449         "mms.T_scopeOfRequest", HFILL }},
10450     { &hf_mms_eventEnrollmentNames,
10451       { "eventEnrollmentNames", "mms.eventEnrollmentNames",
10452         FT_UINT32, BASE_DEC, NULL, 0,
10453         "mms.SEQUENCE_OF_ObjectName", HFILL }},
10454     { &hf_mms_eventEnrollmentNames_item,
10455       { "Item", "mms.eventEnrollmentNames_item",
10456         FT_UINT32, BASE_DEC, VALS(mms_ObjectName_vals), 0,
10457         "mms.ObjectName", HFILL }},
10458     { &hf_mms_continueAfter2,
10459       { "continueAfter", "mms.continueAfter",
10460         FT_UINT32, BASE_DEC, VALS(mms_ObjectName_vals), 0,
10461         "mms.ObjectName", HFILL }},
10462     { &hf_mms_eventConditionName1,
10463       { "eventConditionName", "mms.eventConditionName",
10464         FT_UINT32, BASE_DEC, VALS(mms_T_eventConditionName_vals), 0,
10465         "mms.T_eventConditionName", HFILL }},
10466     { &hf_mms_eventCondition,
10467       { "eventCondition", "mms.eventCondition",
10468         FT_UINT32, BASE_DEC, VALS(mms_ObjectName_vals), 0,
10469         "mms.ObjectName", HFILL }},
10470     { &hf_mms_eventActionName1,
10471       { "eventActionName", "mms.eventActionName",
10472         FT_UINT32, BASE_DEC, VALS(mms_T_eventActionName_vals), 0,
10473         "mms.T_eventActionName", HFILL }},
10474     { &hf_mms_eventAction,
10475       { "eventAction", "mms.eventAction",
10476         FT_UINT32, BASE_DEC, VALS(mms_ObjectName_vals), 0,
10477         "mms.ObjectName", HFILL }},
10478     { &hf_mms_enrollmentClass,
10479       { "enrollmentClass", "mms.enrollmentClass",
10480         FT_INT32, BASE_DEC, VALS(mms_EE_Class_vals), 0,
10481         "mms.EE_Class", HFILL }},
10482     { &hf_mms_duration,
10483       { "duration", "mms.duration",
10484         FT_INT32, BASE_DEC, VALS(mms_EE_Duration_vals), 0,
10485         "mms.EE_Duration", HFILL }},
10486     { &hf_mms_remainingAcceptableDelay,
10487       { "remainingAcceptableDelay", "mms.remainingAcceptableDelay",
10488         FT_INT32, BASE_DEC, NULL, 0,
10489         "mms.Unsigned32", HFILL }},
10490     { &hf_mms_listOfEventEnrollment,
10491       { "listOfEventEnrollment", "mms.listOfEventEnrollment",
10492         FT_UINT32, BASE_DEC, NULL, 0,
10493         "mms.SEQUENCE_OF_EventEnrollment", HFILL }},
10494     { &hf_mms_listOfEventEnrollment_item,
10495       { "Item", "mms.listOfEventEnrollment_item",
10496         FT_NONE, BASE_NONE, NULL, 0,
10497         "mms.EventEnrollment", HFILL }},
10498     { &hf_mms_eventConditionTransitions,
10499       { "eventConditionTransitions", "mms.eventConditionTransitions",
10500         FT_BYTES, BASE_HEX, NULL, 0,
10501         "mms.Transitions", HFILL }},
10502     { &hf_mms_notificationLost,
10503       { "notificationLost", "mms.notificationLost",
10504         FT_BOOLEAN, 8, NULL, 0,
10505         "mms.BOOLEAN", HFILL }},
10506     { &hf_mms_alarmAcknowledgmentRule,
10507       { "alarmAcknowledgmentRule", "mms.alarmAcknowledgmentRule",
10508         FT_INT32, BASE_DEC, VALS(mms_AlarmAckRule_vals), 0,
10509         "mms.AlarmAckRule", HFILL }},
10510     { &hf_mms_currentState1,
10511       { "currentState", "mms.currentState",
10512         FT_INT32, BASE_DEC, VALS(mms_EE_State_vals), 0,
10513         "mms.EE_State", HFILL }},
10514     { &hf_mms_currentState2,
10515       { "currentState", "mms.currentState",
10516         FT_UINT32, BASE_DEC, VALS(mms_T_currentState_vals), 0,
10517         "mms.T_currentState", HFILL }},
10518     { &hf_mms_state3,
10519       { "state", "mms.state",
10520         FT_INT32, BASE_DEC, VALS(mms_EE_State_vals), 0,
10521         "mms.EE_State", HFILL }},
10522     { &hf_mms_transitionTime,
10523       { "transitionTime", "mms.transitionTime",
10524         FT_UINT32, BASE_DEC, VALS(mms_EventTime_vals), 0,
10525         "mms.EventTime", HFILL }},
10526     { &hf_mms_acknowledgedState,
10527       { "acknowledgedState", "mms.acknowledgedState",
10528         FT_INT32, BASE_DEC, VALS(mms_EC_State_vals), 0,
10529         "mms.EC_State", HFILL }},
10530     { &hf_mms_timeOfAcknowledgedTransition,
10531       { "timeOfAcknowledgedTransition", "mms.timeOfAcknowledgedTransition",
10532         FT_UINT32, BASE_DEC, VALS(mms_EventTime_vals), 0,
10533         "mms.EventTime", HFILL }},
10534     { &hf_mms_enrollmentsOnly,
10535       { "enrollmentsOnly", "mms.enrollmentsOnly",
10536         FT_BOOLEAN, 8, NULL, 0,
10537         "mms.BOOLEAN", HFILL }},
10538     { &hf_mms_activeAlarmsOnly,
10539       { "activeAlarmsOnly", "mms.activeAlarmsOnly",
10540         FT_BOOLEAN, 8, NULL, 0,
10541         "mms.BOOLEAN", HFILL }},
10542     { &hf_mms_acknowledgmentFilter,
10543       { "acknowledgmentFilter", "mms.acknowledgmentFilter",
10544         FT_INT32, BASE_DEC, VALS(mms_T_acknowledgmentFilter_vals), 0,
10545         "mms.T_acknowledgmentFilter", HFILL }},
10546     { &hf_mms_severityFilter,
10547       { "severityFilter", "mms.severityFilter",
10548         FT_NONE, BASE_NONE, NULL, 0,
10549         "mms.T_severityFilter", HFILL }},
10550     { &hf_mms_mostSevere,
10551       { "mostSevere", "mms.mostSevere",
10552         FT_INT32, BASE_DEC, NULL, 0,
10553         "mms.Unsigned8", HFILL }},
10554     { &hf_mms_leastSevere,
10555       { "leastSevere", "mms.leastSevere",
10556         FT_INT32, BASE_DEC, NULL, 0,
10557         "mms.Unsigned8", HFILL }},
10558     { &hf_mms_listOfAlarmSummary,
10559       { "listOfAlarmSummary", "mms.listOfAlarmSummary",
10560         FT_UINT32, BASE_DEC, NULL, 0,
10561         "mms.SEQUENCE_OF_AlarmSummary", HFILL }},
10562     { &hf_mms_listOfAlarmSummary_item,
10563       { "Item", "mms.listOfAlarmSummary_item",
10564         FT_NONE, BASE_NONE, NULL, 0,
10565         "mms.AlarmSummary", HFILL }},
10566     { &hf_mms_unacknowledgedState,
10567       { "unacknowledgedState", "mms.unacknowledgedState",
10568         FT_INT32, BASE_DEC, VALS(mms_T_unacknowledgedState_vals), 0,
10569         "mms.T_unacknowledgedState", HFILL }},
10570     { &hf_mms_acknowledgmentFilter1,
10571       { "acknowledgmentFilter", "mms.acknowledgmentFilter",
10572         FT_INT32, BASE_DEC, VALS(mms_T_acknowledgmentFilter1_vals), 0,
10573         "mms.T_acknowledgmentFilter1", HFILL }},
10574     { &hf_mms_severityFilter1,
10575       { "severityFilter", "mms.severityFilter",
10576         FT_NONE, BASE_NONE, NULL, 0,
10577         "mms.T_severityFilter1", HFILL }},
10578     { &hf_mms_listOfAlarmEnrollmentSummary,
10579       { "listOfAlarmEnrollmentSummary", "mms.listOfAlarmEnrollmentSummary",
10580         FT_UINT32, BASE_DEC, NULL, 0,
10581         "mms.SEQUENCE_OF_AlarmEnrollmentSummary", HFILL }},
10582     { &hf_mms_listOfAlarmEnrollmentSummary_item,
10583       { "Item", "mms.listOfAlarmEnrollmentSummary_item",
10584         FT_NONE, BASE_NONE, NULL, 0,
10585         "mms.AlarmEnrollmentSummary", HFILL }},
10586     { &hf_mms_enrollementState,
10587       { "enrollementState", "mms.enrollementState",
10588         FT_INT32, BASE_DEC, VALS(mms_EE_State_vals), 0,
10589         "mms.EE_State", HFILL }},
10590     { &hf_mms_timeActiveAcknowledged,
10591       { "timeActiveAcknowledged", "mms.timeActiveAcknowledged",
10592         FT_UINT32, BASE_DEC, VALS(mms_EventTime_vals), 0,
10593         "mms.EventTime", HFILL }},
10594     { &hf_mms_timeIdleAcknowledged,
10595       { "timeIdleAcknowledged", "mms.timeIdleAcknowledged",
10596         FT_UINT32, BASE_DEC, VALS(mms_EventTime_vals), 0,
10597         "mms.EventTime", HFILL }},
10598     { &hf_mms_eventConditionName2,
10599       { "eventConditionName", "mms.eventConditionName",
10600         FT_UINT32, BASE_DEC, VALS(mms_T_eventConditionName1_vals), 0,
10601         "mms.T_eventConditionName1", HFILL }},
10602     { &hf_mms_actionResult,
10603       { "actionResult", "mms.actionResult",
10604         FT_NONE, BASE_NONE, NULL, 0,
10605         "mms.T_actionResult", HFILL }},
10606     { &hf_mms_eventActioName,
10607       { "eventActioName", "mms.eventActioName",
10608         FT_UINT32, BASE_DEC, VALS(mms_ObjectName_vals), 0,
10609         "mms.ObjectName", HFILL }},
10610     { &hf_mms_eventActionResult,
10611       { "eventActionResult", "mms.eventActionResult",
10612         FT_UINT32, BASE_DEC, VALS(mms_T_eventActionResult_vals), 0,
10613         "mms.T_eventActionResult", HFILL }},
10614     { &hf_mms_success1,
10615       { "success", "mms.success",
10616         FT_UINT32, BASE_DEC, VALS(mms_ConfirmedServiceResponse_vals), 0,
10617         "mms.ConfirmedServiceResponse", HFILL }},
10618     { &hf_mms_failure1,
10619       { "failure", "mms.failure",
10620         FT_NONE, BASE_NONE, NULL, 0,
10621         "mms.ServiceError", HFILL }},
10622     { &hf_mms_causingTransitions,
10623       { "causingTransitions", "mms.causingTransitions",
10624         FT_BYTES, BASE_HEX, NULL, 0,
10625         "mms.Transitions", HFILL }},
10626     { &hf_mms_timeOfDayT,
10627       { "timeOfDayT", "mms.timeOfDayT",
10628         FT_BYTES, BASE_HEX, NULL, 0,
10629         "mms.TimeOfDay", HFILL }},
10630     { &hf_mms_timeSequenceIdentifier,
10631       { "timeSequenceIdentifier", "mms.timeSequenceIdentifier",
10632         FT_INT32, BASE_DEC, NULL, 0,
10633         "mms.Unsigned32", HFILL }},
10634     { &hf_mms_journalName,
10635       { "journalName", "mms.journalName",
10636         FT_UINT32, BASE_DEC, VALS(mms_ObjectName_vals), 0,
10637         "mms.ObjectName", HFILL }},
10638     { &hf_mms_rangeStartSpecification,
10639       { "rangeStartSpecification", "mms.rangeStartSpecification",
10640         FT_UINT32, BASE_DEC, VALS(mms_T_rangeStartSpecification_vals), 0,
10641         "mms.T_rangeStartSpecification", HFILL }},
10642     { &hf_mms_startingTime,
10643       { "startingTime", "mms.startingTime",
10644         FT_BYTES, BASE_HEX, NULL, 0,
10645         "mms.TimeOfDay", HFILL }},
10646     { &hf_mms_startingEntry,
10647       { "startingEntry", "mms.startingEntry",
10648         FT_BYTES, BASE_HEX, NULL, 0,
10649         "mms.OCTET_STRING", HFILL }},
10650     { &hf_mms_rangeStopSpecification,
10651       { "rangeStopSpecification", "mms.rangeStopSpecification",
10652         FT_UINT32, BASE_DEC, VALS(mms_T_rangeStopSpecification_vals), 0,
10653         "mms.T_rangeStopSpecification", HFILL }},
10654     { &hf_mms_endingTime,
10655       { "endingTime", "mms.endingTime",
10656         FT_BYTES, BASE_HEX, NULL, 0,
10657         "mms.TimeOfDay", HFILL }},
10658     { &hf_mms_numberOfEntries,
10659       { "numberOfEntries", "mms.numberOfEntries",
10660         FT_INT32, BASE_DEC, NULL, 0,
10661         "mms.Integer32", HFILL }},
10662     { &hf_mms_listOfVariables,
10663       { "listOfVariables", "mms.listOfVariables",
10664         FT_UINT32, BASE_DEC, NULL, 0,
10665         "mms.T_listOfVariables", HFILL }},
10666     { &hf_mms_listOfVariables_item,
10667       { "Item", "mms.listOfVariables_item",
10668         FT_STRING, BASE_NONE, NULL, 0,
10669         "mms.VisibleString", HFILL }},
10670     { &hf_mms_entryToStartAfter,
10671       { "entryToStartAfter", "mms.entryToStartAfter",
10672         FT_NONE, BASE_NONE, NULL, 0,
10673         "mms.T_entryToStartAfter", HFILL }},
10674     { &hf_mms_timeSpecification,
10675       { "timeSpecification", "mms.timeSpecification",
10676         FT_BYTES, BASE_HEX, NULL, 0,
10677         "mms.TimeOfDay", HFILL }},
10678     { &hf_mms_entrySpecification,
10679       { "entrySpecification", "mms.entrySpecification",
10680         FT_BYTES, BASE_HEX, NULL, 0,
10681         "mms.OCTET_STRING", HFILL }},
10682     { &hf_mms_listOfJournalEntry,
10683       { "listOfJournalEntry", "mms.listOfJournalEntry",
10684         FT_UINT32, BASE_DEC, NULL, 0,
10685         "mms.SEQUENCE_OF_JournalEntry", HFILL }},
10686     { &hf_mms_listOfJournalEntry_item,
10687       { "Item", "mms.listOfJournalEntry_item",
10688         FT_NONE, BASE_NONE, NULL, 0,
10689         "mms.JournalEntry", HFILL }},
10690     { &hf_mms_entryIdentifier,
10691       { "entryIdentifier", "mms.entryIdentifier",
10692         FT_BYTES, BASE_HEX, NULL, 0,
10693         "mms.OCTET_STRING", HFILL }},
10694     { &hf_mms_originatingApplication,
10695       { "originatingApplication", "mms.originatingApplication",
10696         FT_NONE, BASE_NONE, NULL, 0,
10697         "mms.ApplicationReference", HFILL }},
10698     { &hf_mms_entryContent,
10699       { "entryContent", "mms.entryContent",
10700         FT_NONE, BASE_NONE, NULL, 0,
10701         "mms.EntryContent", HFILL }},
10702     { &hf_mms_listOfJournalEntry1,
10703       { "listOfJournalEntry", "mms.listOfJournalEntry",
10704         FT_UINT32, BASE_DEC, NULL, 0,
10705         "mms.SEQUENCE_OF_EntryContent", HFILL }},
10706     { &hf_mms_listOfJournalEntry_item1,
10707       { "Item", "mms.listOfJournalEntry_item",
10708         FT_NONE, BASE_NONE, NULL, 0,
10709         "mms.EntryContent", HFILL }},
10710     { &hf_mms_limitSpecification,
10711       { "limitSpecification", "mms.limitSpecification",
10712         FT_NONE, BASE_NONE, NULL, 0,
10713         "mms.T_limitSpecification", HFILL }},
10714     { &hf_mms_limitingTime,
10715       { "limitingTime", "mms.limitingTime",
10716         FT_BYTES, BASE_HEX, NULL, 0,
10717         "mms.TimeOfDay", HFILL }},
10718     { &hf_mms_limitingEntry,
10719       { "limitingEntry", "mms.limitingEntry",
10720         FT_BYTES, BASE_HEX, NULL, 0,
10721         "mms.OCTET_STRING", HFILL }},
10722     { &hf_mms_currentEntries,
10723       { "currentEntries", "mms.currentEntries",
10724         FT_INT32, BASE_DEC, NULL, 0,
10725         "mms.Unsigned32", HFILL }},
10726     { &hf_mms_occurenceTime,
10727       { "occurenceTime", "mms.occurenceTime",
10728         FT_BYTES, BASE_HEX, NULL, 0,
10729         "mms.TimeOfDay", HFILL }},
10730     { &hf_mms_additionalDetail,
10731       { "additionalDetail", "mms.additionalDetail",
10732         FT_NONE, BASE_NONE, NULL, 0,
10733         "mms.JOU_Additional_Detail", HFILL }},
10734     { &hf_mms_entryForm,
10735       { "entryForm", "mms.entryForm",
10736         FT_UINT32, BASE_DEC, VALS(mms_T_entryForm_vals), 0,
10737         "mms.T_entryForm", HFILL }},
10738     { &hf_mms_data,
10739       { "data", "mms.data",
10740         FT_NONE, BASE_NONE, NULL, 0,
10741         "mms.T_data", HFILL }},
10742     { &hf_mms_event,
10743       { "event", "mms.event",
10744         FT_NONE, BASE_NONE, NULL, 0,
10745         "mms.T_event", HFILL }},
10746     { &hf_mms_listOfVariables1,
10747       { "listOfVariables", "mms.listOfVariables",
10748         FT_UINT32, BASE_DEC, NULL, 0,
10749         "mms.T_listOfVariables1", HFILL }},
10750     { &hf_mms_listOfVariables_item1,
10751       { "Item", "mms.listOfVariables_item",
10752         FT_NONE, BASE_NONE, NULL, 0,
10753         "mms.T_listOfVariables_item", HFILL }},
10754     { &hf_mms_variableTag,
10755       { "variableTag", "mms.variableTag",
10756         FT_STRING, BASE_NONE, NULL, 0,
10757         "mms.VisibleString", HFILL }},
10758     { &hf_mms_valueSpecification,
10759       { "valueSpecification", "mms.valueSpecification",
10760         FT_UINT32, BASE_DEC, VALS(mms_Data_vals), 0,
10761         "mms.Data", HFILL }},
10762     { &hf_mms_annotation,
10763       { "annotation", "mms.annotation",
10764         FT_STRING, BASE_NONE, NULL, 0,
10765         "mms.VisibleString", HFILL }},
10766     { &hf_mms_sourceFileServer,
10767       { "sourceFileServer", "mms.sourceFileServer",
10768         FT_NONE, BASE_NONE, NULL, 0,
10769         "mms.ApplicationReference", HFILL }},
10770     { &hf_mms_sourceFile,
10771       { "sourceFile", "mms.sourceFile",
10772         FT_UINT32, BASE_DEC, NULL, 0,
10773         "mms.FileName", HFILL }},
10774     { &hf_mms_destinationFile,
10775       { "destinationFile", "mms.destinationFile",
10776         FT_UINT32, BASE_DEC, NULL, 0,
10777         "mms.FileName", HFILL }},
10778     { &hf_mms_initialPosition,
10779       { "initialPosition", "mms.initialPosition",
10780         FT_INT32, BASE_DEC, NULL, 0,
10781         "mms.Unsigned32", HFILL }},
10782     { &hf_mms_frsmID,
10783       { "frsmID", "mms.frsmID",
10784         FT_INT32, BASE_DEC, NULL, 0,
10785         "mms.Integer32", HFILL }},
10786     { &hf_mms_fileAttributes,
10787       { "fileAttributes", "mms.fileAttributes",
10788         FT_NONE, BASE_NONE, NULL, 0,
10789         "mms.FileAttributes", HFILL }},
10790     { &hf_mms_fileData,
10791       { "fileData", "mms.fileData",
10792         FT_BYTES, BASE_HEX, NULL, 0,
10793         "mms.OCTET_STRING", HFILL }},
10794     { &hf_mms_currentFileName,
10795       { "currentFileName", "mms.currentFileName",
10796         FT_UINT32, BASE_DEC, NULL, 0,
10797         "mms.FileName", HFILL }},
10798     { &hf_mms_newFileName,
10799       { "newFileName", "mms.newFileName",
10800         FT_UINT32, BASE_DEC, NULL, 0,
10801         "mms.FileName", HFILL }},
10802     { &hf_mms_fileSpecification,
10803       { "fileSpecification", "mms.fileSpecification",
10804         FT_UINT32, BASE_DEC, NULL, 0,
10805         "mms.FileName", HFILL }},
10806     { &hf_mms_continueAfter3,
10807       { "continueAfter", "mms.continueAfter",
10808         FT_UINT32, BASE_DEC, NULL, 0,
10809         "mms.FileName", HFILL }},
10810     { &hf_mms_listOfDirectoryEntry,
10811       { "listOfDirectoryEntry", "mms.listOfDirectoryEntry",
10812         FT_UINT32, BASE_DEC, NULL, 0,
10813         "mms.SEQUENCE_OF_DirectoryEntry", HFILL }},
10814     { &hf_mms_listOfDirectoryEntry_item,
10815       { "Item", "mms.listOfDirectoryEntry_item",
10816         FT_NONE, BASE_NONE, NULL, 0,
10817         "mms.DirectoryEntry", HFILL }},
10818     { &hf_mms_filename,
10819       { "filename", "mms.filename",
10820         FT_UINT32, BASE_DEC, NULL, 0,
10821         "mms.FileName", HFILL }},
10822     { &hf_mms_sizeOfFile,
10823       { "sizeOfFile", "mms.sizeOfFile",
10824         FT_INT32, BASE_DEC, NULL, 0,
10825         "mms.Unsigned32", HFILL }},
10826     { &hf_mms_lastModified,
10827       { "lastModified", "mms.lastModified",
10828         FT_STRING, BASE_NONE, NULL, 0,
10829         "mms.GeneralizedTime", HFILL }},
10830     { &hf_mms_ParameterSupportOptions_str1,
10831       { "str1", "mms.str1",
10832         FT_BOOLEAN, 8, NULL, 0x80,
10833         "", HFILL }},
10834     { &hf_mms_ParameterSupportOptions_str2,
10835       { "str2", "mms.str2",
10836         FT_BOOLEAN, 8, NULL, 0x40,
10837         "", HFILL }},
10838     { &hf_mms_ParameterSupportOptions_vnam,
10839       { "vnam", "mms.vnam",
10840         FT_BOOLEAN, 8, NULL, 0x20,
10841         "", HFILL }},
10842     { &hf_mms_ParameterSupportOptions_valt,
10843       { "valt", "mms.valt",
10844         FT_BOOLEAN, 8, NULL, 0x10,
10845         "", HFILL }},
10846     { &hf_mms_ParameterSupportOptions_vadr,
10847       { "vadr", "mms.vadr",
10848         FT_BOOLEAN, 8, NULL, 0x08,
10849         "", HFILL }},
10850     { &hf_mms_ParameterSupportOptions_vsca,
10851       { "vsca", "mms.vsca",
10852         FT_BOOLEAN, 8, NULL, 0x04,
10853         "", HFILL }},
10854     { &hf_mms_ParameterSupportOptions_tpy,
10855       { "tpy", "mms.tpy",
10856         FT_BOOLEAN, 8, NULL, 0x02,
10857         "", HFILL }},
10858     { &hf_mms_ParameterSupportOptions_vlis,
10859       { "vlis", "mms.vlis",
10860         FT_BOOLEAN, 8, NULL, 0x01,
10861         "", HFILL }},
10862     { &hf_mms_ParameterSupportOptions_real,
10863       { "real", "mms.real",
10864         FT_BOOLEAN, 8, NULL, 0x80,
10865         "", HFILL }},
10866     { &hf_mms_ParameterSupportOptions_cei,
10867       { "cei", "mms.cei",
10868         FT_BOOLEAN, 8, NULL, 0x20,
10869         "", HFILL }},
10870     { &hf_mms_ServiceSupportOptions_status,
10871       { "status", "mms.status",
10872         FT_BOOLEAN, 8, NULL, 0x80,
10873         "", HFILL }},
10874     { &hf_mms_ServiceSupportOptions_getNameList,
10875       { "getNameList", "mms.getNameList",
10876         FT_BOOLEAN, 8, NULL, 0x40,
10877         "", HFILL }},
10878     { &hf_mms_ServiceSupportOptions_identify,
10879       { "identify", "mms.identify",
10880         FT_BOOLEAN, 8, NULL, 0x20,
10881         "", HFILL }},
10882     { &hf_mms_ServiceSupportOptions_rename,
10883       { "rename", "mms.rename",
10884         FT_BOOLEAN, 8, NULL, 0x10,
10885         "", HFILL }},
10886     { &hf_mms_ServiceSupportOptions_read,
10887       { "read", "mms.read",
10888         FT_BOOLEAN, 8, NULL, 0x08,
10889         "", HFILL }},
10890     { &hf_mms_ServiceSupportOptions_write,
10891       { "write", "mms.write",
10892         FT_BOOLEAN, 8, NULL, 0x04,
10893         "", HFILL }},
10894     { &hf_mms_ServiceSupportOptions_getVariableAccessAttributes,
10895       { "getVariableAccessAttributes", "mms.getVariableAccessAttributes",
10896         FT_BOOLEAN, 8, NULL, 0x02,
10897         "", HFILL }},
10898     { &hf_mms_ServiceSupportOptions_defineNamedVariable,
10899       { "defineNamedVariable", "mms.defineNamedVariable",
10900         FT_BOOLEAN, 8, NULL, 0x01,
10901         "", HFILL }},
10902     { &hf_mms_ServiceSupportOptions_defineScatteredAccess,
10903       { "defineScatteredAccess", "mms.defineScatteredAccess",
10904         FT_BOOLEAN, 8, NULL, 0x80,
10905         "", HFILL }},
10906     { &hf_mms_ServiceSupportOptions_getScatteredAccessAttributes,
10907       { "getScatteredAccessAttributes", "mms.getScatteredAccessAttributes",
10908         FT_BOOLEAN, 8, NULL, 0x40,
10909         "", HFILL }},
10910     { &hf_mms_ServiceSupportOptions_deleteVariableAccess,
10911       { "deleteVariableAccess", "mms.deleteVariableAccess",
10912         FT_BOOLEAN, 8, NULL, 0x20,
10913         "", HFILL }},
10914     { &hf_mms_ServiceSupportOptions_defineNamedVariableList,
10915       { "defineNamedVariableList", "mms.defineNamedVariableList",
10916         FT_BOOLEAN, 8, NULL, 0x10,
10917         "", HFILL }},
10918     { &hf_mms_ServiceSupportOptions_getNamedVariableListAttributes,
10919       { "getNamedVariableListAttributes", "mms.getNamedVariableListAttributes",
10920         FT_BOOLEAN, 8, NULL, 0x08,
10921         "", HFILL }},
10922     { &hf_mms_ServiceSupportOptions_deleteNamedVariableList,
10923       { "deleteNamedVariableList", "mms.deleteNamedVariableList",
10924         FT_BOOLEAN, 8, NULL, 0x04,
10925         "", HFILL }},
10926     { &hf_mms_ServiceSupportOptions_defineNamedType,
10927       { "defineNamedType", "mms.defineNamedType",
10928         FT_BOOLEAN, 8, NULL, 0x02,
10929         "", HFILL }},
10930     { &hf_mms_ServiceSupportOptions_getNamedTypeAttributes,
10931       { "getNamedTypeAttributes", "mms.getNamedTypeAttributes",
10932         FT_BOOLEAN, 8, NULL, 0x01,
10933         "", HFILL }},
10934     { &hf_mms_ServiceSupportOptions_deleteNamedType,
10935       { "deleteNamedType", "mms.deleteNamedType",
10936         FT_BOOLEAN, 8, NULL, 0x80,
10937         "", HFILL }},
10938     { &hf_mms_ServiceSupportOptions_input,
10939       { "input", "mms.input",
10940         FT_BOOLEAN, 8, NULL, 0x40,
10941         "", HFILL }},
10942     { &hf_mms_ServiceSupportOptions_output,
10943       { "output", "mms.output",
10944         FT_BOOLEAN, 8, NULL, 0x20,
10945         "", HFILL }},
10946     { &hf_mms_ServiceSupportOptions_takeControl,
10947       { "takeControl", "mms.takeControl",
10948         FT_BOOLEAN, 8, NULL, 0x10,
10949         "", HFILL }},
10950     { &hf_mms_ServiceSupportOptions_relinquishControl,
10951       { "relinquishControl", "mms.relinquishControl",
10952         FT_BOOLEAN, 8, NULL, 0x08,
10953         "", HFILL }},
10954     { &hf_mms_ServiceSupportOptions_defineSemaphore,
10955       { "defineSemaphore", "mms.defineSemaphore",
10956         FT_BOOLEAN, 8, NULL, 0x04,
10957         "", HFILL }},
10958     { &hf_mms_ServiceSupportOptions_deleteSemaphore,
10959       { "deleteSemaphore", "mms.deleteSemaphore",
10960         FT_BOOLEAN, 8, NULL, 0x02,
10961         "", HFILL }},
10962     { &hf_mms_ServiceSupportOptions_reportSemaphoreStatus,
10963       { "reportSemaphoreStatus", "mms.reportSemaphoreStatus",
10964         FT_BOOLEAN, 8, NULL, 0x01,
10965         "", HFILL }},
10966     { &hf_mms_ServiceSupportOptions_reportPoolSemaphoreStatus,
10967       { "reportPoolSemaphoreStatus", "mms.reportPoolSemaphoreStatus",
10968         FT_BOOLEAN, 8, NULL, 0x80,
10969         "", HFILL }},
10970     { &hf_mms_ServiceSupportOptions_reportSemaphoreEntryStatus,
10971       { "reportSemaphoreEntryStatus", "mms.reportSemaphoreEntryStatus",
10972         FT_BOOLEAN, 8, NULL, 0x40,
10973         "", HFILL }},
10974     { &hf_mms_ServiceSupportOptions_initiateDownloadSequence,
10975       { "initiateDownloadSequence", "mms.initiateDownloadSequence",
10976         FT_BOOLEAN, 8, NULL, 0x20,
10977         "", HFILL }},
10978     { &hf_mms_ServiceSupportOptions_downloadSegment,
10979       { "downloadSegment", "mms.downloadSegment",
10980         FT_BOOLEAN, 8, NULL, 0x10,
10981         "", HFILL }},
10982     { &hf_mms_ServiceSupportOptions_terminateDownloadSequence,
10983       { "terminateDownloadSequence", "mms.terminateDownloadSequence",
10984         FT_BOOLEAN, 8, NULL, 0x08,
10985         "", HFILL }},
10986     { &hf_mms_ServiceSupportOptions_initiateUploadSequence,
10987       { "initiateUploadSequence", "mms.initiateUploadSequence",
10988         FT_BOOLEAN, 8, NULL, 0x04,
10989         "", HFILL }},
10990     { &hf_mms_ServiceSupportOptions_uploadSegment,
10991       { "uploadSegment", "mms.uploadSegment",
10992         FT_BOOLEAN, 8, NULL, 0x02,
10993         "", HFILL }},
10994     { &hf_mms_ServiceSupportOptions_terminateUploadSequence,
10995       { "terminateUploadSequence", "mms.terminateUploadSequence",
10996         FT_BOOLEAN, 8, NULL, 0x01,
10997         "", HFILL }},
10998     { &hf_mms_ServiceSupportOptions_requestDomainDownload,
10999       { "requestDomainDownload", "mms.requestDomainDownload",
11000         FT_BOOLEAN, 8, NULL, 0x80,
11001         "", HFILL }},
11002     { &hf_mms_ServiceSupportOptions_requestDomainUpload,
11003       { "requestDomainUpload", "mms.requestDomainUpload",
11004         FT_BOOLEAN, 8, NULL, 0x40,
11005         "", HFILL }},
11006     { &hf_mms_ServiceSupportOptions_loadDomainContent,
11007       { "loadDomainContent", "mms.loadDomainContent",
11008         FT_BOOLEAN, 8, NULL, 0x20,
11009         "", HFILL }},
11010     { &hf_mms_ServiceSupportOptions_storeDomainContent,
11011       { "storeDomainContent", "mms.storeDomainContent",
11012         FT_BOOLEAN, 8, NULL, 0x10,
11013         "", HFILL }},
11014     { &hf_mms_ServiceSupportOptions_deleteDomain,
11015       { "deleteDomain", "mms.deleteDomain",
11016         FT_BOOLEAN, 8, NULL, 0x08,
11017         "", HFILL }},
11018     { &hf_mms_ServiceSupportOptions_getDomainAttributes,
11019       { "getDomainAttributes", "mms.getDomainAttributes",
11020         FT_BOOLEAN, 8, NULL, 0x04,
11021         "", HFILL }},
11022     { &hf_mms_ServiceSupportOptions_createProgramInvocation,
11023       { "createProgramInvocation", "mms.createProgramInvocation",
11024         FT_BOOLEAN, 8, NULL, 0x02,
11025         "", HFILL }},
11026     { &hf_mms_ServiceSupportOptions_deleteProgramInvocation,
11027       { "deleteProgramInvocation", "mms.deleteProgramInvocation",
11028         FT_BOOLEAN, 8, NULL, 0x01,
11029         "", HFILL }},
11030     { &hf_mms_ServiceSupportOptions_start,
11031       { "start", "mms.start",
11032         FT_BOOLEAN, 8, NULL, 0x80,
11033         "", HFILL }},
11034     { &hf_mms_ServiceSupportOptions_stop,
11035       { "stop", "mms.stop",
11036         FT_BOOLEAN, 8, NULL, 0x40,
11037         "", HFILL }},
11038     { &hf_mms_ServiceSupportOptions_resume,
11039       { "resume", "mms.resume",
11040         FT_BOOLEAN, 8, NULL, 0x20,
11041         "", HFILL }},
11042     { &hf_mms_ServiceSupportOptions_reset,
11043       { "reset", "mms.reset",
11044         FT_BOOLEAN, 8, NULL, 0x10,
11045         "", HFILL }},
11046     { &hf_mms_ServiceSupportOptions_kill,
11047       { "kill", "mms.kill",
11048         FT_BOOLEAN, 8, NULL, 0x08,
11049         "", HFILL }},
11050     { &hf_mms_ServiceSupportOptions_getProgramInvocationAttributes,
11051       { "getProgramInvocationAttributes", "mms.getProgramInvocationAttributes",
11052         FT_BOOLEAN, 8, NULL, 0x04,
11053         "", HFILL }},
11054     { &hf_mms_ServiceSupportOptions_obtainFile,
11055       { "obtainFile", "mms.obtainFile",
11056         FT_BOOLEAN, 8, NULL, 0x02,
11057         "", HFILL }},
11058     { &hf_mms_ServiceSupportOptions_defineEventCondition,
11059       { "defineEventCondition", "mms.defineEventCondition",
11060         FT_BOOLEAN, 8, NULL, 0x01,
11061         "", HFILL }},
11062     { &hf_mms_ServiceSupportOptions_deleteEventCondition,
11063       { "deleteEventCondition", "mms.deleteEventCondition",
11064         FT_BOOLEAN, 8, NULL, 0x80,
11065         "", HFILL }},
11066     { &hf_mms_ServiceSupportOptions_getEventConditionAttributes,
11067       { "getEventConditionAttributes", "mms.getEventConditionAttributes",
11068         FT_BOOLEAN, 8, NULL, 0x40,
11069         "", HFILL }},
11070     { &hf_mms_ServiceSupportOptions_reportEventConditionStatus,
11071       { "reportEventConditionStatus", "mms.reportEventConditionStatus",
11072         FT_BOOLEAN, 8, NULL, 0x20,
11073         "", HFILL }},
11074     { &hf_mms_ServiceSupportOptions_alterEventConditionMonitoring,
11075       { "alterEventConditionMonitoring", "mms.alterEventConditionMonitoring",
11076         FT_BOOLEAN, 8, NULL, 0x10,
11077         "", HFILL }},
11078     { &hf_mms_ServiceSupportOptions_triggerEvent,
11079       { "triggerEvent", "mms.triggerEvent",
11080         FT_BOOLEAN, 8, NULL, 0x08,
11081         "", HFILL }},
11082     { &hf_mms_ServiceSupportOptions_defineEventAction,
11083       { "defineEventAction", "mms.defineEventAction",
11084         FT_BOOLEAN, 8, NULL, 0x04,
11085         "", HFILL }},
11086     { &hf_mms_ServiceSupportOptions_deleteEventAction,
11087       { "deleteEventAction", "mms.deleteEventAction",
11088         FT_BOOLEAN, 8, NULL, 0x02,
11089         "", HFILL }},
11090     { &hf_mms_ServiceSupportOptions_getEventActionAttributes,
11091       { "getEventActionAttributes", "mms.getEventActionAttributes",
11092         FT_BOOLEAN, 8, NULL, 0x01,
11093         "", HFILL }},
11094     { &hf_mms_ServiceSupportOptions_reportActionStatus,
11095       { "reportActionStatus", "mms.reportActionStatus",
11096         FT_BOOLEAN, 8, NULL, 0x80,
11097         "", HFILL }},
11098     { &hf_mms_ServiceSupportOptions_defineEventEnrollment,
11099       { "defineEventEnrollment", "mms.defineEventEnrollment",
11100         FT_BOOLEAN, 8, NULL, 0x40,
11101         "", HFILL }},
11102     { &hf_mms_ServiceSupportOptions_deleteEventEnrollment,
11103       { "deleteEventEnrollment", "mms.deleteEventEnrollment",
11104         FT_BOOLEAN, 8, NULL, 0x20,
11105         "", HFILL }},
11106     { &hf_mms_ServiceSupportOptions_alterEventEnrollment,
11107       { "alterEventEnrollment", "mms.alterEventEnrollment",
11108         FT_BOOLEAN, 8, NULL, 0x10,
11109         "", HFILL }},
11110     { &hf_mms_ServiceSupportOptions_reportEventEnrollmentStatus,
11111       { "reportEventEnrollmentStatus", "mms.reportEventEnrollmentStatus",
11112         FT_BOOLEAN, 8, NULL, 0x08,
11113         "", HFILL }},
11114     { &hf_mms_ServiceSupportOptions_getEventEnrollmentAttributes,
11115       { "getEventEnrollmentAttributes", "mms.getEventEnrollmentAttributes",
11116         FT_BOOLEAN, 8, NULL, 0x04,
11117         "", HFILL }},
11118     { &hf_mms_ServiceSupportOptions_acknowledgeEventNotification,
11119       { "acknowledgeEventNotification", "mms.acknowledgeEventNotification",
11120         FT_BOOLEAN, 8, NULL, 0x02,
11121         "", HFILL }},
11122     { &hf_mms_ServiceSupportOptions_getAlarmSummary,
11123       { "getAlarmSummary", "mms.getAlarmSummary",
11124         FT_BOOLEAN, 8, NULL, 0x01,
11125         "", HFILL }},
11126     { &hf_mms_ServiceSupportOptions_getAlarmEnrollmentSummary,
11127       { "getAlarmEnrollmentSummary", "mms.getAlarmEnrollmentSummary",
11128         FT_BOOLEAN, 8, NULL, 0x80,
11129         "", HFILL }},
11130     { &hf_mms_ServiceSupportOptions_readJournal,
11131       { "readJournal", "mms.readJournal",
11132         FT_BOOLEAN, 8, NULL, 0x40,
11133         "", HFILL }},
11134     { &hf_mms_ServiceSupportOptions_writeJournal,
11135       { "writeJournal", "mms.writeJournal",
11136         FT_BOOLEAN, 8, NULL, 0x20,
11137         "", HFILL }},
11138     { &hf_mms_ServiceSupportOptions_initializeJournal,
11139       { "initializeJournal", "mms.initializeJournal",
11140         FT_BOOLEAN, 8, NULL, 0x10,
11141         "", HFILL }},
11142     { &hf_mms_ServiceSupportOptions_reportJournalStatus,
11143       { "reportJournalStatus", "mms.reportJournalStatus",
11144         FT_BOOLEAN, 8, NULL, 0x08,
11145         "", HFILL }},
11146     { &hf_mms_ServiceSupportOptions_createJournal,
11147       { "createJournal", "mms.createJournal",
11148         FT_BOOLEAN, 8, NULL, 0x04,
11149         "", HFILL }},
11150     { &hf_mms_ServiceSupportOptions_deleteJournal,
11151       { "deleteJournal", "mms.deleteJournal",
11152         FT_BOOLEAN, 8, NULL, 0x02,
11153         "", HFILL }},
11154     { &hf_mms_ServiceSupportOptions_getCapabilityList,
11155       { "getCapabilityList", "mms.getCapabilityList",
11156         FT_BOOLEAN, 8, NULL, 0x01,
11157         "", HFILL }},
11158     { &hf_mms_ServiceSupportOptions_fileOpen,
11159       { "fileOpen", "mms.fileOpen",
11160         FT_BOOLEAN, 8, NULL, 0x80,
11161         "", HFILL }},
11162     { &hf_mms_ServiceSupportOptions_fileRead,
11163       { "fileRead", "mms.fileRead",
11164         FT_BOOLEAN, 8, NULL, 0x40,
11165         "", HFILL }},
11166     { &hf_mms_ServiceSupportOptions_fileClose,
11167       { "fileClose", "mms.fileClose",
11168         FT_BOOLEAN, 8, NULL, 0x20,
11169         "", HFILL }},
11170     { &hf_mms_ServiceSupportOptions_fileRename,
11171       { "fileRename", "mms.fileRename",
11172         FT_BOOLEAN, 8, NULL, 0x10,
11173         "", HFILL }},
11174     { &hf_mms_ServiceSupportOptions_fileDelete,
11175       { "fileDelete", "mms.fileDelete",
11176         FT_BOOLEAN, 8, NULL, 0x08,
11177         "", HFILL }},
11178     { &hf_mms_ServiceSupportOptions_fileDirectory,
11179       { "fileDirectory", "mms.fileDirectory",
11180         FT_BOOLEAN, 8, NULL, 0x04,
11181         "", HFILL }},
11182     { &hf_mms_ServiceSupportOptions_unsolicitedStatus,
11183       { "unsolicitedStatus", "mms.unsolicitedStatus",
11184         FT_BOOLEAN, 8, NULL, 0x02,
11185         "", HFILL }},
11186     { &hf_mms_ServiceSupportOptions_informationReport,
11187       { "informationReport", "mms.informationReport",
11188         FT_BOOLEAN, 8, NULL, 0x01,
11189         "", HFILL }},
11190     { &hf_mms_ServiceSupportOptions_eventNotification,
11191       { "eventNotification", "mms.eventNotification",
11192         FT_BOOLEAN, 8, NULL, 0x80,
11193         "", HFILL }},
11194     { &hf_mms_ServiceSupportOptions_attachToEventCondition,
11195       { "attachToEventCondition", "mms.attachToEventCondition",
11196         FT_BOOLEAN, 8, NULL, 0x40,
11197         "", HFILL }},
11198     { &hf_mms_ServiceSupportOptions_attachToSemaphore,
11199       { "attachToSemaphore", "mms.attachToSemaphore",
11200         FT_BOOLEAN, 8, NULL, 0x20,
11201         "", HFILL }},
11202     { &hf_mms_ServiceSupportOptions_conclude,
11203       { "conclude", "mms.conclude",
11204         FT_BOOLEAN, 8, NULL, 0x10,
11205         "", HFILL }},
11206     { &hf_mms_ServiceSupportOptions_cancel,
11207       { "cancel", "mms.cancel",
11208         FT_BOOLEAN, 8, NULL, 0x08,
11209         "", HFILL }},
11210     { &hf_mms_Transitions_idle_to_disabled,
11211       { "idle-to-disabled", "mms.idle-to-disabled",
11212         FT_BOOLEAN, 8, NULL, 0x80,
11213         "", HFILL }},
11214     { &hf_mms_Transitions_active_to_disabled,
11215       { "active-to-disabled", "mms.active-to-disabled",
11216         FT_BOOLEAN, 8, NULL, 0x40,
11217         "", HFILL }},
11218     { &hf_mms_Transitions_disabled_to_idle,
11219       { "disabled-to-idle", "mms.disabled-to-idle",
11220         FT_BOOLEAN, 8, NULL, 0x20,
11221         "", HFILL }},
11222     { &hf_mms_Transitions_active_to_idle,
11223       { "active-to-idle", "mms.active-to-idle",
11224         FT_BOOLEAN, 8, NULL, 0x10,
11225         "", HFILL }},
11226     { &hf_mms_Transitions_disabled_to_active,
11227       { "disabled-to-active", "mms.disabled-to-active",
11228         FT_BOOLEAN, 8, NULL, 0x08,
11229         "", HFILL }},
11230     { &hf_mms_Transitions_idle_to_active,
11231       { "idle-to-active", "mms.idle-to-active",
11232         FT_BOOLEAN, 8, NULL, 0x04,
11233         "", HFILL }},
11234     { &hf_mms_Transitions_any_to_deleted,
11235       { "any-to-deleted", "mms.any-to-deleted",
11236         FT_BOOLEAN, 8, NULL, 0x02,
11237         "", HFILL }},
11238
11239 /*--- End of included file: packet-mms-hfarr.c ---*/
11240 #line 95 "packet-mms-template.c"
11241   };
11242
11243   /* List of subtrees */
11244   static gint *ett[] = {
11245     &ett_mms,
11246
11247 /*--- Included file: packet-mms-ettarr.c ---*/
11248 #line 1 "packet-mms-ettarr.c"
11249     &ett_mms_MMSpdu,
11250     &ett_mms_Confirmed_RequestPDU,
11251     &ett_mms_SEQUENCE_OF_Modifier,
11252     &ett_mms_Unconfirmed_PDU,
11253     &ett_mms_Confirmed_ResponsePDU,
11254     &ett_mms_Confirmed_ErrorPDU,
11255     &ett_mms_UnconfirmedService,
11256     &ett_mms_Modifier,
11257     &ett_mms_ConfirmedServiceRequest,
11258     &ett_mms_CS_Request_Detail,
11259     &ett_mms_ConfirmedServiceResponse,
11260     &ett_mms_FileName,
11261     &ett_mms_ObjectName,
11262     &ett_mms_T_domain_specific,
11263     &ett_mms_ApplicationReference,
11264     &ett_mms_Initiate_RequestPDU,
11265     &ett_mms_InitRequestDetail,
11266     &ett_mms_Initiate_ResponsePDU,
11267     &ett_mms_InitResponseDetail,
11268     &ett_mms_ParameterSupportOptions,
11269     &ett_mms_ServiceSupportOptions,
11270     &ett_mms_Cancel_ErrorPDU,
11271     &ett_mms_ServiceError,
11272     &ett_mms_T_errorClass,
11273     &ett_mms_T_serviceSpecificInformation,
11274     &ett_mms_RejectPDU,
11275     &ett_mms_T_rejectReason,
11276     &ett_mms_Status_Response,
11277     &ett_mms_GetNameList_Request,
11278     &ett_mms_T_extendedObjectClass,
11279     &ett_mms_T_objectScope,
11280     &ett_mms_GetNameList_Response,
11281     &ett_mms_SEQUENCE_OF_Identifier,
11282     &ett_mms_Identify_Response,
11283     &ett_mms_T_listOfAbstractSyntaxes,
11284     &ett_mms_Rename_Request,
11285     &ett_mms_T_extendedObjectClass1,
11286     &ett_mms_GetCapabilityList_Request,
11287     &ett_mms_GetCapabilityList_Response,
11288     &ett_mms_T_listOfCapabilities,
11289     &ett_mms_InitiateDownloadSequence_Request,
11290     &ett_mms_T_listOfCapabilities1,
11291     &ett_mms_DownloadSegment_Response,
11292     &ett_mms_T_loadData,
11293     &ett_mms_TerminateDownloadSequence_Request,
11294     &ett_mms_InitiateUploadSequence_Response,
11295     &ett_mms_T_listOfCapabilities2,
11296     &ett_mms_UploadSegment_Response,
11297     &ett_mms_T_loadData1,
11298     &ett_mms_RequestDomainDownload_Request,
11299     &ett_mms_T_listOfCapabilities3,
11300     &ett_mms_RequestDomainUpload_Request,
11301     &ett_mms_LoadDomainContent_Request,
11302     &ett_mms_T_listOfCapabilities4,
11303     &ett_mms_StoreDomainContent_Request,
11304     &ett_mms_GetDomainAttributes_Response,
11305     &ett_mms_T_listOfCapabilities5,
11306     &ett_mms_CreateProgramInvocation_Request,
11307     &ett_mms_Start_Request,
11308     &ett_mms_T_executionArgument,
11309     &ett_mms_Stop_Request,
11310     &ett_mms_Resume_Request,
11311     &ett_mms_T_executionArgument1,
11312     &ett_mms_Reset_Request,
11313     &ett_mms_Kill_Request,
11314     &ett_mms_GetProgramInvocationAttributes_Response,
11315     &ett_mms_T_executionArgument2,
11316     &ett_mms_TypeSpecification,
11317     &ett_mms_T_array,
11318     &ett_mms_T_structure,
11319     &ett_mms_T_components,
11320     &ett_mms_T_components_item,
11321     &ett_mms_AlternateAccess,
11322     &ett_mms_AlternateAccess_item,
11323     &ett_mms_T_named,
11324     &ett_mms_AlternateAccessSelection,
11325     &ett_mms_T_selectAccess,
11326     &ett_mms_T_indexRange,
11327     &ett_mms_Read_Request,
11328     &ett_mms_Read_Response,
11329     &ett_mms_SEQUENCE_OF_AccessResult,
11330     &ett_mms_Write_Request,
11331     &ett_mms_SEQUENCE_OF_Data,
11332     &ett_mms_Write_Response,
11333     &ett_mms_Write_Response_item,
11334     &ett_mms_InformationReport,
11335     &ett_mms_GetVariableAccessAttributes_Request,
11336     &ett_mms_GetVariableAccessAttributes_Response,
11337     &ett_mms_DefineNamedVariable_Request,
11338     &ett_mms_DefineScatteredAccess_Request,
11339     &ett_mms_GetScatteredAccessAttributes_Response,
11340     &ett_mms_DeleteVariableAccess_Request,
11341     &ett_mms_SEQUENCE_OF_ObjectName,
11342     &ett_mms_DeleteVariableAccess_Response,
11343     &ett_mms_DefineNamedVariableList_Request,
11344     &ett_mms_T_listOfVariable,
11345     &ett_mms_T_listOfVariable_item,
11346     &ett_mms_GetNamedVariableListAttributes_Response,
11347     &ett_mms_T_listOfVariable1,
11348     &ett_mms_T_listOfVariable_item1,
11349     &ett_mms_DeleteNamedVariableList_Request,
11350     &ett_mms_DeleteNamedVariableList_Response,
11351     &ett_mms_DefineNamedType_Request,
11352     &ett_mms_GetNamedTypeAttributes_Response,
11353     &ett_mms_DeleteNamedType_Request,
11354     &ett_mms_DeleteNamedType_Response,
11355     &ett_mms_AccessResult,
11356     &ett_mms_Data,
11357     &ett_mms_VariableAccessSpecification,
11358     &ett_mms_T_listOfVariable2,
11359     &ett_mms_T_listOfVariable_item2,
11360     &ett_mms_ScatteredAccessDescription,
11361     &ett_mms_ScatteredAccessDescription_item,
11362     &ett_mms_VariableSpecification,
11363     &ett_mms_T_variableDescription,
11364     &ett_mms_Address,
11365     &ett_mms_TakeControl_Request,
11366     &ett_mms_TakeControl_Response,
11367     &ett_mms_RelinquishControl_Request,
11368     &ett_mms_DefineSemaphore_Request,
11369     &ett_mms_ReportSemaphoreStatus_Response,
11370     &ett_mms_ReportPoolSemaphoreStatus_Request,
11371     &ett_mms_ReportPoolSemaphoreStatus_Response,
11372     &ett_mms_T_listOfNamedTokens,
11373     &ett_mms_T_listOfNamedTokens_item,
11374     &ett_mms_ReportSemaphoreEntryStatus_Request,
11375     &ett_mms_ReportSemaphoreEntryStatus_Response,
11376     &ett_mms_SEQUENCE_OF_SemaphoreEntry,
11377     &ett_mms_AttachToSemaphore,
11378     &ett_mms_SemaphoreEntry,
11379     &ett_mms_Input_Request,
11380     &ett_mms_T_listOfPromptData,
11381     &ett_mms_Output_Request,
11382     &ett_mms_T_listOfOutputData,
11383     &ett_mms_DefineEventCondition_Request,
11384     &ett_mms_DeleteEventCondition_Request,
11385     &ett_mms_GetEventConditionAttributes_Response,
11386     &ett_mms_T_monitoredVariable,
11387     &ett_mms_ReportEventConditionStatus_Response,
11388     &ett_mms_AlterEventConditionMonitoring_Request,
11389     &ett_mms_TriggerEvent_Request,
11390     &ett_mms_DefineEventAction_Request,
11391     &ett_mms_DeleteEventAction_Request,
11392     &ett_mms_GetEventActionAttributes_Response,
11393     &ett_mms_DefineEventEnrollment_Request,
11394     &ett_mms_DeleteEventEnrollment_Request,
11395     &ett_mms_GetEventEnrollmentAttributes_Request,
11396     &ett_mms_EventEnrollment,
11397     &ett_mms_T_eventConditionName,
11398     &ett_mms_T_eventActionName,
11399     &ett_mms_GetEventEnrollmentAttributes_Response,
11400     &ett_mms_SEQUENCE_OF_EventEnrollment,
11401     &ett_mms_ReportEventEnrollmentStatus_Response,
11402     &ett_mms_AlterEventEnrollment_Request,
11403     &ett_mms_AlterEventEnrollment_Response,
11404     &ett_mms_T_currentState,
11405     &ett_mms_AcknowledgeEventNotification_Request,
11406     &ett_mms_GetAlarmSummary_Request,
11407     &ett_mms_T_severityFilter,
11408     &ett_mms_GetAlarmSummary_Response,
11409     &ett_mms_SEQUENCE_OF_AlarmSummary,
11410     &ett_mms_AlarmSummary,
11411     &ett_mms_GetAlarmEnrollmentSummary_Request,
11412     &ett_mms_T_severityFilter1,
11413     &ett_mms_GetAlarmEnrollmentSummary_Response,
11414     &ett_mms_SEQUENCE_OF_AlarmEnrollmentSummary,
11415     &ett_mms_AlarmEnrollmentSummary,
11416     &ett_mms_EventNotification,
11417     &ett_mms_T_eventConditionName1,
11418     &ett_mms_T_actionResult,
11419     &ett_mms_T_eventActionResult,
11420     &ett_mms_AttachToEventCondition,
11421     &ett_mms_EventTime,
11422     &ett_mms_Transitions,
11423     &ett_mms_ReadJournal_Request,
11424     &ett_mms_T_rangeStartSpecification,
11425     &ett_mms_T_rangeStopSpecification,
11426     &ett_mms_T_listOfVariables,
11427     &ett_mms_T_entryToStartAfter,
11428     &ett_mms_ReadJournal_Response,
11429     &ett_mms_SEQUENCE_OF_JournalEntry,
11430     &ett_mms_JournalEntry,
11431     &ett_mms_WriteJournal_Request,
11432     &ett_mms_SEQUENCE_OF_EntryContent,
11433     &ett_mms_InitializeJournal_Request,
11434     &ett_mms_T_limitSpecification,
11435     &ett_mms_ReportJournalStatus_Response,
11436     &ett_mms_CreateJournal_Request,
11437     &ett_mms_DeleteJournal_Request,
11438     &ett_mms_EntryContent,
11439     &ett_mms_T_entryForm,
11440     &ett_mms_T_data,
11441     &ett_mms_T_event,
11442     &ett_mms_T_listOfVariables1,
11443     &ett_mms_T_listOfVariables_item,
11444     &ett_mms_ObtainFile_Request,
11445     &ett_mms_FileOpen_Request,
11446     &ett_mms_FileOpen_Response,
11447     &ett_mms_FileRead_Response,
11448     &ett_mms_FileRename_Request,
11449     &ett_mms_FileDirectory_Request,
11450     &ett_mms_FileDirectory_Response,
11451     &ett_mms_SEQUENCE_OF_DirectoryEntry,
11452     &ett_mms_DirectoryEntry,
11453     &ett_mms_FileAttributes,
11454
11455 /*--- End of included file: packet-mms-ettarr.c ---*/
11456 #line 101 "packet-mms-template.c"
11457   };
11458
11459   /* Register protocol */
11460   proto_mms = proto_register_protocol(PNAME, PSNAME, PFNAME);
11461   register_dissector("mms", dissect_mms, proto_mms);
11462   /* Register fields and subtrees */
11463   proto_register_field_array(proto_mms, hf, array_length(hf));
11464   proto_register_subtree_array(ett, array_length(ett));
11465
11466 }
11467
11468
11469 static gboolean
11470 dissect_mms_heur(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
11471 {       
11472         /* must check that this really is an mms packet */
11473         int offset = 0;
11474         guint32 length = 0 ;
11475         guint32 oct;
11476         gint idx = 0 ;
11477
11478         gint8 tmp_class;
11479         gboolean tmp_pc;
11480         gint32 tmp_tag;
11481         
11482                 /* first, check do we have at least 2 bytes (pdu) */
11483         if (!tvb_bytes_exist(tvb, 0, 2))
11484                 return FALSE;   /* no */
11485         
11486         /* can we recognize MMS PDU ? Return FALSE if  not */
11487         /*   get MMS PDU type */
11488         offset = get_ber_identifier(tvb, offset, &tmp_class, &tmp_pc, &tmp_tag);
11489         
11490         /* check MMS type */
11491         
11492         /* Class should be constructed */ 
11493         if (tmp_class!=BER_CLASS_CON)
11494                 return FALSE;
11495         
11496         /* see if the tag is a valid MMS PDU */
11497         match_strval_idx(tmp_tag, mms_MMSpdu_vals, &idx);
11498         if  (idx == -1) { 
11499                 return FALSE;  /* no, it isn't an MMS PDU */
11500         }
11501         
11502         /* check MMS length  */
11503         oct = tvb_get_guint8(tvb, offset)& 0x7F;
11504         if (oct==0)
11505                 /* MMS requires length after tag so not MMS if indefinite length*/
11506                 return FALSE;
11507                                                 
11508         offset = get_ber_length(NULL, tvb, offset, &length, NULL);
11509         /* do we have enough bytes? */
11510         if (!tvb_bytes_exist(tvb, offset, length))
11511                 return FALSE; 
11512                 
11513         dissect_mms(tvb, pinfo, parent_tree);
11514         return TRUE;    
11515 }
11516
11517 /*--- proto_reg_handoff_mms --- */
11518 void proto_reg_handoff_mms(void) {
11519         register_ber_oid_dissector("1.0.9506.2.3", dissect_mms, proto_mms,"MMS");
11520         register_ber_oid_dissector("1.0.9506.2.1", dissect_mms, proto_mms,"mms-abstract-syntax-version1(1)");
11521         heur_dissector_add("cotp", dissect_mms_heur, proto_mms);
11522         heur_dissector_add("cotp_is", dissect_mms_heur, proto_mms);
11523 }
11524