Regenerate a few more of the ASN.1 dissectors
[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 -p mms -c ./mms.cnf -s ./packet-mms-template -D . 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/prefs.h>
40 #include <epan/packet.h>
41 #include <epan/asn1.h>
42 #include <epan/expert.h>
43 #include <epan/nstime.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 static 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_status_01 = -1;                 /* Status_Response */
167 static int hf_mms_getNameList_01 = -1;            /* GetNameList_Response */
168 static int hf_mms_identify_01 = -1;               /* Identify_Response */
169 static int hf_mms_rename_01 = -1;                 /* Rename_Response */
170 static int hf_mms_read_01 = -1;                   /* Read_Response */
171 static int hf_mms_write_01 = -1;                  /* Write_Response */
172 static int hf_mms_getVariableAccessAttributes_01 = -1;  /* GetVariableAccessAttributes_Response */
173 static int hf_mms_defineNamedVariable_01 = -1;    /* DefineNamedVariable_Response */
174 static int hf_mms_defineScatteredAccess_01 = -1;  /* DefineScatteredAccess_Response */
175 static int hf_mms_getScatteredAccessAttributes_01 = -1;  /* GetScatteredAccessAttributes_Response */
176 static int hf_mms_deleteVariableAccess_01 = -1;   /* DeleteVariableAccess_Response */
177 static int hf_mms_defineNamedVariableList_01 = -1;  /* DefineNamedVariableList_Response */
178 static int hf_mms_getNamedVariableListAttributes_01 = -1;  /* GetNamedVariableListAttributes_Response */
179 static int hf_mms_deleteNamedVariableList_01 = -1;  /* DeleteNamedVariableList_Response */
180 static int hf_mms_defineNamedType_01 = -1;        /* DefineNamedType_Response */
181 static int hf_mms_getNamedTypeAttributes_01 = -1;  /* GetNamedTypeAttributes_Response */
182 static int hf_mms_deleteNamedType_01 = -1;        /* DeleteNamedType_Response */
183 static int hf_mms_input_01 = -1;                  /* Input_Response */
184 static int hf_mms_output_01 = -1;                 /* Output_Response */
185 static int hf_mms_takeControl_01 = -1;            /* TakeControl_Response */
186 static int hf_mms_relinquishControl_01 = -1;      /* RelinquishControl_Response */
187 static int hf_mms_defineSemaphore_01 = -1;        /* DefineSemaphore_Response */
188 static int hf_mms_deleteSemaphore_01 = -1;        /* DeleteSemaphore_Response */
189 static int hf_mms_reportSemaphoreStatus_01 = -1;  /* ReportSemaphoreStatus_Response */
190 static int hf_mms_reportPoolSemaphoreStatus_01 = -1;  /* ReportPoolSemaphoreStatus_Response */
191 static int hf_mms_reportSemaphoreEntryStatus_01 = -1;  /* ReportSemaphoreEntryStatus_Response */
192 static int hf_mms_initiateDownloadSequence_01 = -1;  /* InitiateDownloadSequence_Response */
193 static int hf_mms_downloadSegment_01 = -1;        /* DownloadSegment_Response */
194 static int hf_mms_terminateDownloadSequence_01 = -1;  /* TerminateDownloadSequence_Response */
195 static int hf_mms_initiateUploadSequence_01 = -1;  /* InitiateUploadSequence_Response */
196 static int hf_mms_uploadSegment_01 = -1;          /* UploadSegment_Response */
197 static int hf_mms_terminateUploadSequence_01 = -1;  /* TerminateUploadSequence_Response */
198 static int hf_mms_requestDomainDownLoad = -1;     /* RequestDomainDownload_Response */
199 static int hf_mms_requestDomainUpload_01 = -1;    /* RequestDomainUpload_Response */
200 static int hf_mms_loadDomainContent_01 = -1;      /* LoadDomainContent_Response */
201 static int hf_mms_storeDomainContent_01 = -1;     /* StoreDomainContent_Response */
202 static int hf_mms_deleteDomain_01 = -1;           /* DeleteDomain_Response */
203 static int hf_mms_getDomainAttributes_01 = -1;    /* GetDomainAttributes_Response */
204 static int hf_mms_createProgramInvocation_01 = -1;  /* CreateProgramInvocation_Response */
205 static int hf_mms_deleteProgramInvocation_01 = -1;  /* DeleteProgramInvocation_Response */
206 static int hf_mms_start_01 = -1;                  /* Start_Response */
207 static int hf_mms_stop_01 = -1;                   /* Stop_Response */
208 static int hf_mms_resume_01 = -1;                 /* Resume_Response */
209 static int hf_mms_reset_01 = -1;                  /* Reset_Response */
210 static int hf_mms_kill_01 = -1;                   /* Kill_Response */
211 static int hf_mms_getProgramInvocationAttributes_01 = -1;  /* GetProgramInvocationAttributes_Response */
212 static int hf_mms_obtainFile_01 = -1;             /* ObtainFile_Response */
213 static int hf_mms_fileOpen_01 = -1;               /* FileOpen_Response */
214 static int hf_mms_defineEventCondition_01 = -1;   /* DefineEventCondition_Response */
215 static int hf_mms_deleteEventCondition_01 = -1;   /* DeleteEventCondition_Response */
216 static int hf_mms_getEventConditionAttributes_01 = -1;  /* GetEventConditionAttributes_Response */
217 static int hf_mms_reportEventConditionStatus_01 = -1;  /* ReportEventConditionStatus_Response */
218 static int hf_mms_alterEventConditionMonitoring_01 = -1;  /* AlterEventConditionMonitoring_Response */
219 static int hf_mms_triggerEvent_01 = -1;           /* TriggerEvent_Response */
220 static int hf_mms_defineEventAction_01 = -1;      /* DefineEventAction_Response */
221 static int hf_mms_deleteEventAction_01 = -1;      /* DeleteEventAction_Response */
222 static int hf_mms_getEventActionAttributes_01 = -1;  /* GetEventActionAttributes_Response */
223 static int hf_mms_reportActionStatus = -1;        /* ReportEventActionStatus_Response */
224 static int hf_mms_defineEventEnrollment_01 = -1;  /* DefineEventEnrollment_Response */
225 static int hf_mms_deleteEventEnrollment_01 = -1;  /* DeleteEventEnrollment_Response */
226 static int hf_mms_alterEventEnrollment_01 = -1;   /* AlterEventEnrollment_Response */
227 static int hf_mms_reportEventEnrollmentStatus_01 = -1;  /* ReportEventEnrollmentStatus_Response */
228 static int hf_mms_getEventEnrollmentAttributes_01 = -1;  /* GetEventEnrollmentAttributes_Response */
229 static int hf_mms_acknowledgeEventNotification_01 = -1;  /* AcknowledgeEventNotification_Response */
230 static int hf_mms_getAlarmSummary_01 = -1;        /* GetAlarmSummary_Response */
231 static int hf_mms_getAlarmEnrollmentSummary_01 = -1;  /* GetAlarmEnrollmentSummary_Response */
232 static int hf_mms_readJournal_01 = -1;            /* ReadJournal_Response */
233 static int hf_mms_writeJournal_01 = -1;           /* WriteJournal_Response */
234 static int hf_mms_initializeJournal_01 = -1;      /* InitializeJournal_Response */
235 static int hf_mms_reportJournalStatus_01 = -1;    /* ReportJournalStatus_Response */
236 static int hf_mms_createJournal_01 = -1;          /* CreateJournal_Response */
237 static int hf_mms_deleteJournal_01 = -1;          /* DeleteJournal_Response */
238 static int hf_mms_getCapabilityList_01 = -1;      /* GetCapabilityList_Response */
239 static int hf_mms_fileRead_01 = -1;               /* FileRead_Response */
240 static int hf_mms_fileClose_01 = -1;              /* FileClose_Response */
241 static int hf_mms_fileRename_01 = -1;             /* FileRename_Response */
242 static int hf_mms_fileDelete_01 = -1;             /* FileDelete_Response */
243 static int hf_mms_fileDirectory_01 = -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_obtainFile_02 = -1;             /* ObtainFile_Error */
289 static int hf_mms_start_02 = -1;                  /* Start_Error */
290 static int hf_mms_stop_02 = -1;                   /* Stop_Error */
291 static int hf_mms_resume_02 = -1;                 /* Resume_Error */
292 static int hf_mms_reset_02 = -1;                  /* Reset_Error */
293 static int hf_mms_deleteVariableAccess_02 = -1;   /* DeleteVariableAccess_Error */
294 static int hf_mms_deleteNamedVariableList_02 = -1;  /* DeleteNamedVariableList_Error */
295 static int hf_mms_deleteNamedType_02 = -1;        /* DeleteNamedType_Error */
296 static int hf_mms_defineEventEnrollment_Error = -1;  /* DefineEventEnrollment_Error */
297 static int hf_mms_fileRename_02 = -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_extendedObjectClass_01 = -1;    /* T_extendedObjectClass_01 */
329 static int hf_mms_objectClass_01 = -1;            /* T_objectClass_01 */
330 static int hf_mms_currentName = -1;               /* ObjectName */
331 static int hf_mms_newIdentifier = -1;             /* Identifier */
332 static int hf_mms_continueAfter_01 = -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_listOfCapabilities_01 = -1;     /* T_listOfCapabilities_01 */
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_listOfCapabilities_02 = -1;     /* T_listOfCapabilities_02 */
344 static int hf_mms_loadData_01 = -1;               /* T_loadData_01 */
345 static int hf_mms_listOfCapabilities_03 = -1;     /* T_listOfCapabilities_03 */
346 static int hf_mms_fileName = -1;                  /* FileName */
347 static int hf_mms_listOfCapabilities_04 = -1;     /* T_listOfCapabilities_04 */
348 static int hf_mms_thirdParty = -1;                /* ApplicationReference */
349 static int hf_mms_filenName = -1;                 /* FileName */
350 static int hf_mms_listOfCapabilities_05 = -1;     /* T_listOfCapabilities_05 */
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_executionArgument_01 = -1;      /* T_executionArgument_01 */
365 static int hf_mms_state_01 = -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_executionArgument_02 = -1;      /* T_executionArgument_02 */
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_selectAlternateAccess = -1;     /* T_selectAlternateAccess */
396 static int hf_mms_accessSelection = -1;           /* T_accessSelection */
397 static int hf_mms_component = -1;                 /* Identifier */
398 static int hf_mms_index = -1;                     /* Unsigned32 */
399 static int hf_mms_indexRange = -1;                /* T_indexRange */
400 static int hf_mms_lowIndex = -1;                  /* Unsigned32 */
401 static int hf_mms_allElements = -1;               /* NULL */
402 static int hf_mms_alternateAccess = -1;           /* AlternateAccess */
403 static int hf_mms_selectAccess = -1;              /* T_selectAccess */
404 static int hf_mms_indexRange_01 = -1;             /* T_indexRange_01 */
405 static int hf_mms_nmberOfElements = -1;           /* Unsigned32 */
406 static int hf_mms_specificationWithResult = -1;   /* BOOLEAN */
407 static int hf_mms_variableAccessSpecificatn = -1;  /* VariableAccessSpecification */
408 static int hf_mms_listOfAccessResult = -1;        /* SEQUENCE_OF_AccessResult */
409 static int hf_mms_listOfAccessResult_item = -1;   /* AccessResult */
410 static int hf_mms_listOfData = -1;                /* SEQUENCE_OF_Data */
411 static int hf_mms_listOfData_item = -1;           /* Data */
412 static int hf_mms_Write_Response_item = -1;       /* Write_Response_item */
413 static int hf_mms_failure = -1;                   /* DataAccessError */
414 static int hf_mms_success = -1;                   /* NULL */
415 static int hf_mms_variableAccessSpecification = -1;  /* VariableAccessSpecification */
416 static int hf_mms_name = -1;                      /* ObjectName */
417 static int hf_mms_address = -1;                   /* Address */
418 static int hf_mms_typeSpecification = -1;         /* TypeSpecification */
419 static int hf_mms_variableName = -1;              /* ObjectName */
420 static int hf_mms_scatteredAccessName = -1;       /* ObjectName */
421 static int hf_mms_scatteredAccessDescription = -1;  /* ScatteredAccessDescription */
422 static int hf_mms_scopeOfDelete = -1;             /* T_scopeOfDelete */
423 static int hf_mms_listOfName = -1;                /* SEQUENCE_OF_ObjectName */
424 static int hf_mms_listOfName_item = -1;           /* ObjectName */
425 static int hf_mms_numberMatched = -1;             /* Unsigned32 */
426 static int hf_mms_numberDeleted = -1;             /* Unsigned32 */
427 static int hf_mms_variableListName = -1;          /* ObjectName */
428 static int hf_mms_listOfVariable = -1;            /* T_listOfVariable */
429 static int hf_mms_listOfVariable_item = -1;       /* T_listOfVariable_item */
430 static int hf_mms_variableSpecification = -1;     /* VariableSpecification */
431 static int hf_mms_listOfVariable_01 = -1;         /* T_listOfVariable_01 */
432 static int hf_mms_listOfVariable_item_01 = -1;    /* T_listOfVariable_item_01 */
433 static int hf_mms_scopeOfDelete_01 = -1;          /* T_scopeOfDelete_01 */
434 static int hf_mms_listOfVariableListName = -1;    /* SEQUENCE_OF_ObjectName */
435 static int hf_mms_listOfVariableListName_item = -1;  /* ObjectName */
436 static int hf_mms_scopeOfDelete_02 = -1;          /* T_scopeOfDelete_02 */
437 static int hf_mms_listOfTypeName = -1;            /* SEQUENCE_OF_ObjectName */
438 static int hf_mms_listOfTypeName_item = -1;       /* ObjectName */
439 static int hf_mms_success_01 = -1;                /* Data */
440 static int hf_mms_array_01 = -1;                  /* SEQUENCE_OF_Data */
441 static int hf_mms_array_item = -1;                /* Data */
442 static int hf_mms_structure_01 = -1;              /* SEQUENCE_OF_Data */
443 static int hf_mms_structure_item = -1;            /* Data */
444 static int hf_mms_boolean_01 = -1;                /* BOOLEAN */
445 static int hf_mms_bit_string_01 = -1;             /* BIT_STRING */
446 static int hf_mms_integer_01 = -1;                /* INTEGER */
447 static int hf_mms_unsigned_01 = -1;               /* INTEGER */
448 static int hf_mms_floating_point = -1;            /* FloatingPoint */
449 static int hf_mms_octet_string_01 = -1;           /* OCTET_STRING */
450 static int hf_mms_visible_string_01 = -1;         /* VisibleString */
451 static int hf_mms_binary_time_01 = -1;            /* TimeOfDay */
452 static int hf_mms_bcd_01 = -1;                    /* INTEGER */
453 static int hf_mms_booleanArray = -1;              /* BIT_STRING */
454 static int hf_mms_objId_01 = -1;                  /* OBJECT_IDENTIFIER */
455 static int hf_mms_mMSString = -1;                 /* MMSString */
456 static int hf_mms_utc_time = -1;                  /* UtcTime */
457 static int hf_mms_listOfVariable_02 = -1;         /* T_listOfVariable_02 */
458 static int hf_mms_listOfVariable_item_02 = -1;    /* T_listOfVariable_item_02 */
459 static int hf_mms_ScatteredAccessDescription_item = -1;  /* ScatteredAccessDescription_item */
460 static int hf_mms_variableDescription = -1;       /* T_variableDescription */
461 static int hf_mms_invalidated = -1;               /* NULL */
462 static int hf_mms_numericAddress = -1;            /* Unsigned32 */
463 static int hf_mms_symbolicAddress = -1;           /* VisibleString */
464 static int hf_mms_unconstrainedAddress = -1;      /* OCTET_STRING */
465 static int hf_mms_semaphoreName = -1;             /* ObjectName */
466 static int hf_mms_namedToken = -1;                /* Identifier */
467 static int hf_mms_priority = -1;                  /* Priority */
468 static int hf_mms_acceptableDelay = -1;           /* Unsigned32 */
469 static int hf_mms_controlTimeOut = -1;            /* Unsigned32 */
470 static int hf_mms_abortOnTimeOut = -1;            /* BOOLEAN */
471 static int hf_mms_relinquishIfConnectionLost = -1;  /* BOOLEAN */
472 static int hf_mms_applicationToPreempt = -1;      /* ApplicationReference */
473 static int hf_mms_noResult = -1;                  /* NULL */
474 static int hf_mms_numbersOfTokens = -1;           /* Unsigned16 */
475 static int hf_mms_class = -1;                     /* T_class */
476 static int hf_mms_numberOfTokens = -1;            /* Unsigned16 */
477 static int hf_mms_numberOfOwnedTokens = -1;       /* Unsigned16 */
478 static int hf_mms_numberOfHungTokens = -1;        /* Unsigned16 */
479 static int hf_mms_nameToStartAfter = -1;          /* Identifier */
480 static int hf_mms_listOfNamedTokens = -1;         /* T_listOfNamedTokens */
481 static int hf_mms_listOfNamedTokens_item = -1;    /* T_listOfNamedTokens_item */
482 static int hf_mms_freeNamedToken = -1;            /* Identifier */
483 static int hf_mms_ownedNamedToken = -1;           /* Identifier */
484 static int hf_mms_hungNamedToken = -1;            /* Identifier */
485 static int hf_mms_state_02 = -1;                  /* T_state */
486 static int hf_mms_entryIdToStartAfter = -1;       /* OCTET_STRING */
487 static int hf_mms_listOfSemaphoreEntry = -1;      /* SEQUENCE_OF_SemaphoreEntry */
488 static int hf_mms_listOfSemaphoreEntry_item = -1;  /* SemaphoreEntry */
489 static int hf_mms_entryId = -1;                   /* OCTET_STRING */
490 static int hf_mms_entryClass = -1;                /* T_entryClass */
491 static int hf_mms_applicationReference = -1;      /* ApplicationReference */
492 static int hf_mms_remainingTimeOut = -1;          /* Unsigned32 */
493 static int hf_mms_operatorStationName = -1;       /* Identifier */
494 static int hf_mms_echo = -1;                      /* BOOLEAN */
495 static int hf_mms_listOfPromptData = -1;          /* T_listOfPromptData */
496 static int hf_mms_listOfPromptData_item = -1;     /* VisibleString */
497 static int hf_mms_inputTimeOut = -1;              /* Unsigned32 */
498 static int hf_mms_listOfOutputData = -1;          /* T_listOfOutputData */
499 static int hf_mms_listOfOutputData_item = -1;     /* VisibleString */
500 static int hf_mms_eventConditionName = -1;        /* ObjectName */
501 static int hf_mms_class_01 = -1;                  /* EC_Class */
502 static int hf_mms_prio_rity = -1;                 /* Priority */
503 static int hf_mms_severity = -1;                  /* Unsigned8 */
504 static int hf_mms_alarmSummaryReports = -1;       /* BOOLEAN */
505 static int hf_mms_monitoredVariable = -1;         /* VariableSpecification */
506 static int hf_mms_evaluationInterval = -1;        /* Unsigned32 */
507 static int hf_mms_specific = -1;                  /* SEQUENCE_OF_ObjectName */
508 static int hf_mms_specific_item = -1;             /* ObjectName */
509 static int hf_mms_aa_specific_01 = -1;            /* NULL */
510 static int hf_mms_domain = -1;                    /* Identifier */
511 static int hf_mms_vmd = -1;                       /* NULL */
512 static int hf_mms_monitoredVariable_01 = -1;      /* T_monitoredVariable */
513 static int hf_mms_variableReference = -1;         /* VariableSpecification */
514 static int hf_mms_undefined = -1;                 /* NULL */
515 static int hf_mms_currentState = -1;              /* EC_State */
516 static int hf_mms_numberOfEventEnrollments = -1;  /* Unsigned32 */
517 static int hf_mms_enabled = -1;                   /* BOOLEAN */
518 static int hf_mms_timeOfLastTransitionToActive = -1;  /* EventTime */
519 static int hf_mms_timeOfLastTransitionToIdle = -1;  /* EventTime */
520 static int hf_mms_eventActionName = -1;           /* ObjectName */
521 static int hf_mms_eventEnrollmentName = -1;       /* ObjectName */
522 static int hf_mms_eventConditionTransition = -1;  /* Transitions */
523 static int hf_mms_alarmAcknowledgementRule = -1;  /* AlarmAckRule */
524 static int hf_mms_clientApplication = -1;         /* ApplicationReference */
525 static int hf_mms_ec = -1;                        /* ObjectName */
526 static int hf_mms_ea = -1;                        /* ObjectName */
527 static int hf_mms_scopeOfRequest = -1;            /* T_scopeOfRequest */
528 static int hf_mms_eventEnrollmentNames = -1;      /* SEQUENCE_OF_ObjectName */
529 static int hf_mms_eventEnrollmentNames_item = -1;  /* ObjectName */
530 static int hf_mms_continueAfter_02 = -1;          /* ObjectName */
531 static int hf_mms_eventConditionName_01 = -1;     /* T_eventConditionName */
532 static int hf_mms_eventCondition = -1;            /* ObjectName */
533 static int hf_mms_eventActionName_01 = -1;        /* T_eventActionName */
534 static int hf_mms_eventAction = -1;               /* ObjectName */
535 static int hf_mms_enrollmentClass = -1;           /* EE_Class */
536 static int hf_mms_duration = -1;                  /* EE_Duration */
537 static int hf_mms_remainingAcceptableDelay = -1;  /* Unsigned32 */
538 static int hf_mms_listOfEventEnrollment = -1;     /* SEQUENCE_OF_EventEnrollment */
539 static int hf_mms_listOfEventEnrollment_item = -1;  /* EventEnrollment */
540 static int hf_mms_eventConditionTransitions = -1;  /* Transitions */
541 static int hf_mms_notificationLost = -1;          /* BOOLEAN */
542 static int hf_mms_alarmAcknowledgmentRule = -1;   /* AlarmAckRule */
543 static int hf_mms_currentState_01 = -1;           /* EE_State */
544 static int hf_mms_currentState_02 = -1;           /* T_currentState */
545 static int hf_mms_state_03 = -1;                  /* EE_State */
546 static int hf_mms_transitionTime = -1;            /* EventTime */
547 static int hf_mms_acknowledgedState = -1;         /* EC_State */
548 static int hf_mms_timeOfAcknowledgedTransition = -1;  /* EventTime */
549 static int hf_mms_enrollmentsOnly = -1;           /* BOOLEAN */
550 static int hf_mms_activeAlarmsOnly = -1;          /* BOOLEAN */
551 static int hf_mms_acknowledgmentFilter = -1;      /* T_acknowledgmentFilter */
552 static int hf_mms_severityFilter = -1;            /* T_severityFilter */
553 static int hf_mms_mostSevere = -1;                /* Unsigned8 */
554 static int hf_mms_leastSevere = -1;               /* Unsigned8 */
555 static int hf_mms_listOfAlarmSummary = -1;        /* SEQUENCE_OF_AlarmSummary */
556 static int hf_mms_listOfAlarmSummary_item = -1;   /* AlarmSummary */
557 static int hf_mms_unacknowledgedState = -1;       /* T_unacknowledgedState */
558 static int hf_mms_acknowledgmentFilter_01 = -1;   /* T_acknowledgmentFilter_01 */
559 static int hf_mms_severityFilter_01 = -1;         /* T_severityFilter_01 */
560 static int hf_mms_listOfAlarmEnrollmentSummary = -1;  /* SEQUENCE_OF_AlarmEnrollmentSummary */
561 static int hf_mms_listOfAlarmEnrollmentSummary_item = -1;  /* AlarmEnrollmentSummary */
562 static int hf_mms_enrollementState = -1;          /* EE_State */
563 static int hf_mms_timeActiveAcknowledged = -1;    /* EventTime */
564 static int hf_mms_timeIdleAcknowledged = -1;      /* EventTime */
565 static int hf_mms_eventConditionName_02 = -1;     /* T_eventConditionName_01 */
566 static int hf_mms_actionResult = -1;              /* T_actionResult */
567 static int hf_mms_eventActioName = -1;            /* ObjectName */
568 static int hf_mms_eventActionResult = -1;         /* T_eventActionResult */
569 static int hf_mms_success_02 = -1;                /* ConfirmedServiceResponse */
570 static int hf_mms_failure_01 = -1;                /* ServiceError */
571 static int hf_mms_causingTransitions = -1;        /* Transitions */
572 static int hf_mms_timeOfDayT = -1;                /* TimeOfDay */
573 static int hf_mms_timeSequenceIdentifier = -1;    /* Unsigned32 */
574 static int hf_mms_journalName = -1;               /* ObjectName */
575 static int hf_mms_rangeStartSpecification = -1;   /* T_rangeStartSpecification */
576 static int hf_mms_startingTime = -1;              /* TimeOfDay */
577 static int hf_mms_startingEntry = -1;             /* OCTET_STRING */
578 static int hf_mms_rangeStopSpecification = -1;    /* T_rangeStopSpecification */
579 static int hf_mms_endingTime = -1;                /* TimeOfDay */
580 static int hf_mms_numberOfEntries = -1;           /* Integer32 */
581 static int hf_mms_listOfVariables = -1;           /* T_listOfVariables */
582 static int hf_mms_listOfVariables_item = -1;      /* VisibleString */
583 static int hf_mms_entryToStartAfter = -1;         /* T_entryToStartAfter */
584 static int hf_mms_timeSpecification = -1;         /* TimeOfDay */
585 static int hf_mms_entrySpecification = -1;        /* OCTET_STRING */
586 static int hf_mms_listOfJournalEntry = -1;        /* SEQUENCE_OF_JournalEntry */
587 static int hf_mms_listOfJournalEntry_item = -1;   /* JournalEntry */
588 static int hf_mms_entryIdentifier = -1;           /* OCTET_STRING */
589 static int hf_mms_originatingApplication = -1;    /* ApplicationReference */
590 static int hf_mms_entryContent = -1;              /* EntryContent */
591 static int hf_mms_listOfJournalEntry_01 = -1;     /* SEQUENCE_OF_EntryContent */
592 static int hf_mms_listOfJournalEntry_item_01 = -1;  /* EntryContent */
593 static int hf_mms_limitSpecification = -1;        /* T_limitSpecification */
594 static int hf_mms_limitingTime = -1;              /* TimeOfDay */
595 static int hf_mms_limitingEntry = -1;             /* OCTET_STRING */
596 static int hf_mms_currentEntries = -1;            /* Unsigned32 */
597 static int hf_mms_occurenceTime = -1;             /* TimeOfDay */
598 static int hf_mms_additionalDetail = -1;          /* JOU_Additional_Detail */
599 static int hf_mms_entryForm = -1;                 /* T_entryForm */
600 static int hf_mms_data = -1;                      /* T_data */
601 static int hf_mms_event = -1;                     /* T_event */
602 static int hf_mms_listOfVariables_01 = -1;        /* T_listOfVariables_01 */
603 static int hf_mms_listOfVariables_item_01 = -1;   /* T_listOfVariables_item */
604 static int hf_mms_variableTag = -1;               /* VisibleString */
605 static int hf_mms_valueSpecification = -1;        /* Data */
606 static int hf_mms_annotation = -1;                /* VisibleString */
607 static int hf_mms_sourceFileServer = -1;          /* ApplicationReference */
608 static int hf_mms_sourceFile = -1;                /* FileName */
609 static int hf_mms_destinationFile = -1;           /* FileName */
610 static int hf_mms_initialPosition = -1;           /* Unsigned32 */
611 static int hf_mms_frsmID = -1;                    /* Integer32 */
612 static int hf_mms_fileAttributes = -1;            /* FileAttributes */
613 static int hf_mms_fileData = -1;                  /* OCTET_STRING */
614 static int hf_mms_currentFileName = -1;           /* FileName */
615 static int hf_mms_newFileName = -1;               /* FileName */
616 static int hf_mms_fileSpecification = -1;         /* FileName */
617 static int hf_mms_continueAfter_03 = -1;          /* FileName */
618 static int hf_mms_listOfDirectoryEntry = -1;      /* SEQUENCE_OF_DirectoryEntry */
619 static int hf_mms_listOfDirectoryEntry_item = -1;  /* DirectoryEntry */
620 static int hf_mms_filename = -1;                  /* FileName */
621 static int hf_mms_sizeOfFile = -1;                /* Unsigned32 */
622 static int hf_mms_lastModified = -1;              /* GeneralizedTime */
623 /* named bits */
624 static int hf_mms_ParameterSupportOptions_str1 = -1;
625 static int hf_mms_ParameterSupportOptions_str2 = -1;
626 static int hf_mms_ParameterSupportOptions_vnam = -1;
627 static int hf_mms_ParameterSupportOptions_valt = -1;
628 static int hf_mms_ParameterSupportOptions_vadr = -1;
629 static int hf_mms_ParameterSupportOptions_vsca = -1;
630 static int hf_mms_ParameterSupportOptions_tpy = -1;
631 static int hf_mms_ParameterSupportOptions_vlis = -1;
632 static int hf_mms_ParameterSupportOptions_real = -1;
633 static int hf_mms_ParameterSupportOptions_cei = -1;
634 static int hf_mms_ServiceSupportOptions_status = -1;
635 static int hf_mms_ServiceSupportOptions_getNameList = -1;
636 static int hf_mms_ServiceSupportOptions_identify = -1;
637 static int hf_mms_ServiceSupportOptions_rename = -1;
638 static int hf_mms_ServiceSupportOptions_read = -1;
639 static int hf_mms_ServiceSupportOptions_write = -1;
640 static int hf_mms_ServiceSupportOptions_getVariableAccessAttributes = -1;
641 static int hf_mms_ServiceSupportOptions_defineNamedVariable = -1;
642 static int hf_mms_ServiceSupportOptions_defineScatteredAccess = -1;
643 static int hf_mms_ServiceSupportOptions_getScatteredAccessAttributes = -1;
644 static int hf_mms_ServiceSupportOptions_deleteVariableAccess = -1;
645 static int hf_mms_ServiceSupportOptions_defineNamedVariableList = -1;
646 static int hf_mms_ServiceSupportOptions_getNamedVariableListAttributes = -1;
647 static int hf_mms_ServiceSupportOptions_deleteNamedVariableList = -1;
648 static int hf_mms_ServiceSupportOptions_defineNamedType = -1;
649 static int hf_mms_ServiceSupportOptions_getNamedTypeAttributes = -1;
650 static int hf_mms_ServiceSupportOptions_deleteNamedType = -1;
651 static int hf_mms_ServiceSupportOptions_input = -1;
652 static int hf_mms_ServiceSupportOptions_output = -1;
653 static int hf_mms_ServiceSupportOptions_takeControl = -1;
654 static int hf_mms_ServiceSupportOptions_relinquishControl = -1;
655 static int hf_mms_ServiceSupportOptions_defineSemaphore = -1;
656 static int hf_mms_ServiceSupportOptions_deleteSemaphore = -1;
657 static int hf_mms_ServiceSupportOptions_reportSemaphoreStatus = -1;
658 static int hf_mms_ServiceSupportOptions_reportPoolSemaphoreStatus = -1;
659 static int hf_mms_ServiceSupportOptions_reportSemaphoreEntryStatus = -1;
660 static int hf_mms_ServiceSupportOptions_initiateDownloadSequence = -1;
661 static int hf_mms_ServiceSupportOptions_downloadSegment = -1;
662 static int hf_mms_ServiceSupportOptions_terminateDownloadSequence = -1;
663 static int hf_mms_ServiceSupportOptions_initiateUploadSequence = -1;
664 static int hf_mms_ServiceSupportOptions_uploadSegment = -1;
665 static int hf_mms_ServiceSupportOptions_terminateUploadSequence = -1;
666 static int hf_mms_ServiceSupportOptions_requestDomainDownload = -1;
667 static int hf_mms_ServiceSupportOptions_requestDomainUpload = -1;
668 static int hf_mms_ServiceSupportOptions_loadDomainContent = -1;
669 static int hf_mms_ServiceSupportOptions_storeDomainContent = -1;
670 static int hf_mms_ServiceSupportOptions_deleteDomain = -1;
671 static int hf_mms_ServiceSupportOptions_getDomainAttributes = -1;
672 static int hf_mms_ServiceSupportOptions_createProgramInvocation = -1;
673 static int hf_mms_ServiceSupportOptions_deleteProgramInvocation = -1;
674 static int hf_mms_ServiceSupportOptions_start = -1;
675 static int hf_mms_ServiceSupportOptions_stop = -1;
676 static int hf_mms_ServiceSupportOptions_resume = -1;
677 static int hf_mms_ServiceSupportOptions_reset = -1;
678 static int hf_mms_ServiceSupportOptions_kill = -1;
679 static int hf_mms_ServiceSupportOptions_getProgramInvocationAttributes = -1;
680 static int hf_mms_ServiceSupportOptions_obtainFile = -1;
681 static int hf_mms_ServiceSupportOptions_defineEventCondition = -1;
682 static int hf_mms_ServiceSupportOptions_deleteEventCondition = -1;
683 static int hf_mms_ServiceSupportOptions_getEventConditionAttributes = -1;
684 static int hf_mms_ServiceSupportOptions_reportEventConditionStatus = -1;
685 static int hf_mms_ServiceSupportOptions_alterEventConditionMonitoring = -1;
686 static int hf_mms_ServiceSupportOptions_triggerEvent = -1;
687 static int hf_mms_ServiceSupportOptions_defineEventAction = -1;
688 static int hf_mms_ServiceSupportOptions_deleteEventAction = -1;
689 static int hf_mms_ServiceSupportOptions_getEventActionAttributes = -1;
690 static int hf_mms_ServiceSupportOptions_reportActionStatus = -1;
691 static int hf_mms_ServiceSupportOptions_defineEventEnrollment = -1;
692 static int hf_mms_ServiceSupportOptions_deleteEventEnrollment = -1;
693 static int hf_mms_ServiceSupportOptions_alterEventEnrollment = -1;
694 static int hf_mms_ServiceSupportOptions_reportEventEnrollmentStatus = -1;
695 static int hf_mms_ServiceSupportOptions_getEventEnrollmentAttributes = -1;
696 static int hf_mms_ServiceSupportOptions_acknowledgeEventNotification = -1;
697 static int hf_mms_ServiceSupportOptions_getAlarmSummary = -1;
698 static int hf_mms_ServiceSupportOptions_getAlarmEnrollmentSummary = -1;
699 static int hf_mms_ServiceSupportOptions_readJournal = -1;
700 static int hf_mms_ServiceSupportOptions_writeJournal = -1;
701 static int hf_mms_ServiceSupportOptions_initializeJournal = -1;
702 static int hf_mms_ServiceSupportOptions_reportJournalStatus = -1;
703 static int hf_mms_ServiceSupportOptions_createJournal = -1;
704 static int hf_mms_ServiceSupportOptions_deleteJournal = -1;
705 static int hf_mms_ServiceSupportOptions_getCapabilityList = -1;
706 static int hf_mms_ServiceSupportOptions_fileOpen = -1;
707 static int hf_mms_ServiceSupportOptions_fileRead = -1;
708 static int hf_mms_ServiceSupportOptions_fileClose = -1;
709 static int hf_mms_ServiceSupportOptions_fileRename = -1;
710 static int hf_mms_ServiceSupportOptions_fileDelete = -1;
711 static int hf_mms_ServiceSupportOptions_fileDirectory = -1;
712 static int hf_mms_ServiceSupportOptions_unsolicitedStatus = -1;
713 static int hf_mms_ServiceSupportOptions_informationReport = -1;
714 static int hf_mms_ServiceSupportOptions_eventNotification = -1;
715 static int hf_mms_ServiceSupportOptions_attachToEventCondition = -1;
716 static int hf_mms_ServiceSupportOptions_attachToSemaphore = -1;
717 static int hf_mms_ServiceSupportOptions_conclude = -1;
718 static int hf_mms_ServiceSupportOptions_cancel = -1;
719 static int hf_mms_Transitions_idle_to_disabled = -1;
720 static int hf_mms_Transitions_active_to_disabled = -1;
721 static int hf_mms_Transitions_disabled_to_idle = -1;
722 static int hf_mms_Transitions_active_to_idle = -1;
723 static int hf_mms_Transitions_disabled_to_active = -1;
724 static int hf_mms_Transitions_idle_to_active = -1;
725 static int hf_mms_Transitions_any_to_deleted = -1;
726
727 /*--- End of included file: packet-mms-hf.c ---*/
728 #line 49 "packet-mms-template.c"
729
730 /* Initialize the subtree pointers */
731 static gint ett_mms = -1;
732
733 /*--- Included file: packet-mms-ett.c ---*/
734 #line 1 "packet-mms-ett.c"
735 static gint ett_mms_MMSpdu = -1;
736 static gint ett_mms_Confirmed_RequestPDU = -1;
737 static gint ett_mms_SEQUENCE_OF_Modifier = -1;
738 static gint ett_mms_Unconfirmed_PDU = -1;
739 static gint ett_mms_Confirmed_ResponsePDU = -1;
740 static gint ett_mms_Confirmed_ErrorPDU = -1;
741 static gint ett_mms_UnconfirmedService = -1;
742 static gint ett_mms_Modifier = -1;
743 static gint ett_mms_ConfirmedServiceRequest = -1;
744 static gint ett_mms_CS_Request_Detail = -1;
745 static gint ett_mms_ConfirmedServiceResponse = -1;
746 static gint ett_mms_FileName = -1;
747 static gint ett_mms_ObjectName = -1;
748 static gint ett_mms_T_domain_specific = -1;
749 static gint ett_mms_ApplicationReference = -1;
750 static gint ett_mms_Initiate_RequestPDU = -1;
751 static gint ett_mms_InitRequestDetail = -1;
752 static gint ett_mms_Initiate_ResponsePDU = -1;
753 static gint ett_mms_InitResponseDetail = -1;
754 static gint ett_mms_ParameterSupportOptions = -1;
755 static gint ett_mms_ServiceSupportOptions = -1;
756 static gint ett_mms_Cancel_ErrorPDU = -1;
757 static gint ett_mms_ServiceError = -1;
758 static gint ett_mms_T_errorClass = -1;
759 static gint ett_mms_T_serviceSpecificInformation = -1;
760 static gint ett_mms_RejectPDU = -1;
761 static gint ett_mms_T_rejectReason = -1;
762 static gint ett_mms_Status_Response = -1;
763 static gint ett_mms_GetNameList_Request = -1;
764 static gint ett_mms_T_extendedObjectClass = -1;
765 static gint ett_mms_T_objectScope = -1;
766 static gint ett_mms_GetNameList_Response = -1;
767 static gint ett_mms_SEQUENCE_OF_Identifier = -1;
768 static gint ett_mms_Identify_Response = -1;
769 static gint ett_mms_T_listOfAbstractSyntaxes = -1;
770 static gint ett_mms_Rename_Request = -1;
771 static gint ett_mms_T_extendedObjectClass_01 = -1;
772 static gint ett_mms_GetCapabilityList_Request = -1;
773 static gint ett_mms_GetCapabilityList_Response = -1;
774 static gint ett_mms_T_listOfCapabilities = -1;
775 static gint ett_mms_InitiateDownloadSequence_Request = -1;
776 static gint ett_mms_T_listOfCapabilities_01 = -1;
777 static gint ett_mms_DownloadSegment_Response = -1;
778 static gint ett_mms_T_loadData = -1;
779 static gint ett_mms_TerminateDownloadSequence_Request = -1;
780 static gint ett_mms_InitiateUploadSequence_Response = -1;
781 static gint ett_mms_T_listOfCapabilities_02 = -1;
782 static gint ett_mms_UploadSegment_Response = -1;
783 static gint ett_mms_T_loadData_01 = -1;
784 static gint ett_mms_RequestDomainDownload_Request = -1;
785 static gint ett_mms_T_listOfCapabilities_03 = -1;
786 static gint ett_mms_RequestDomainUpload_Request = -1;
787 static gint ett_mms_LoadDomainContent_Request = -1;
788 static gint ett_mms_T_listOfCapabilities_04 = -1;
789 static gint ett_mms_StoreDomainContent_Request = -1;
790 static gint ett_mms_GetDomainAttributes_Response = -1;
791 static gint ett_mms_T_listOfCapabilities_05 = -1;
792 static gint ett_mms_CreateProgramInvocation_Request = -1;
793 static gint ett_mms_Start_Request = -1;
794 static gint ett_mms_T_executionArgument = -1;
795 static gint ett_mms_Stop_Request = -1;
796 static gint ett_mms_Resume_Request = -1;
797 static gint ett_mms_T_executionArgument_01 = -1;
798 static gint ett_mms_Reset_Request = -1;
799 static gint ett_mms_Kill_Request = -1;
800 static gint ett_mms_GetProgramInvocationAttributes_Response = -1;
801 static gint ett_mms_T_executionArgument_02 = -1;
802 static gint ett_mms_TypeSpecification = -1;
803 static gint ett_mms_T_array = -1;
804 static gint ett_mms_T_structure = -1;
805 static gint ett_mms_T_components = -1;
806 static gint ett_mms_T_components_item = -1;
807 static gint ett_mms_AlternateAccess = -1;
808 static gint ett_mms_AlternateAccess_item = -1;
809 static gint ett_mms_T_named = -1;
810 static gint ett_mms_AlternateAccessSelection = -1;
811 static gint ett_mms_T_selectAlternateAccess = -1;
812 static gint ett_mms_T_accessSelection = -1;
813 static gint ett_mms_T_indexRange = -1;
814 static gint ett_mms_T_selectAccess = -1;
815 static gint ett_mms_T_indexRange_01 = -1;
816 static gint ett_mms_Read_Request = -1;
817 static gint ett_mms_Read_Response = -1;
818 static gint ett_mms_SEQUENCE_OF_AccessResult = -1;
819 static gint ett_mms_Write_Request = -1;
820 static gint ett_mms_SEQUENCE_OF_Data = -1;
821 static gint ett_mms_Write_Response = -1;
822 static gint ett_mms_Write_Response_item = -1;
823 static gint ett_mms_InformationReport = -1;
824 static gint ett_mms_GetVariableAccessAttributes_Request = -1;
825 static gint ett_mms_GetVariableAccessAttributes_Response = -1;
826 static gint ett_mms_DefineNamedVariable_Request = -1;
827 static gint ett_mms_DefineScatteredAccess_Request = -1;
828 static gint ett_mms_GetScatteredAccessAttributes_Response = -1;
829 static gint ett_mms_DeleteVariableAccess_Request = -1;
830 static gint ett_mms_SEQUENCE_OF_ObjectName = -1;
831 static gint ett_mms_DeleteVariableAccess_Response = -1;
832 static gint ett_mms_DefineNamedVariableList_Request = -1;
833 static gint ett_mms_T_listOfVariable = -1;
834 static gint ett_mms_T_listOfVariable_item = -1;
835 static gint ett_mms_GetNamedVariableListAttributes_Response = -1;
836 static gint ett_mms_T_listOfVariable_01 = -1;
837 static gint ett_mms_T_listOfVariable_item_01 = -1;
838 static gint ett_mms_DeleteNamedVariableList_Request = -1;
839 static gint ett_mms_DeleteNamedVariableList_Response = -1;
840 static gint ett_mms_DefineNamedType_Request = -1;
841 static gint ett_mms_GetNamedTypeAttributes_Response = -1;
842 static gint ett_mms_DeleteNamedType_Request = -1;
843 static gint ett_mms_DeleteNamedType_Response = -1;
844 static gint ett_mms_AccessResult = -1;
845 static gint ett_mms_Data = -1;
846 static gint ett_mms_VariableAccessSpecification = -1;
847 static gint ett_mms_T_listOfVariable_02 = -1;
848 static gint ett_mms_T_listOfVariable_item_02 = -1;
849 static gint ett_mms_ScatteredAccessDescription = -1;
850 static gint ett_mms_ScatteredAccessDescription_item = -1;
851 static gint ett_mms_VariableSpecification = -1;
852 static gint ett_mms_T_variableDescription = -1;
853 static gint ett_mms_Address = -1;
854 static gint ett_mms_TakeControl_Request = -1;
855 static gint ett_mms_TakeControl_Response = -1;
856 static gint ett_mms_RelinquishControl_Request = -1;
857 static gint ett_mms_DefineSemaphore_Request = -1;
858 static gint ett_mms_ReportSemaphoreStatus_Response = -1;
859 static gint ett_mms_ReportPoolSemaphoreStatus_Request = -1;
860 static gint ett_mms_ReportPoolSemaphoreStatus_Response = -1;
861 static gint ett_mms_T_listOfNamedTokens = -1;
862 static gint ett_mms_T_listOfNamedTokens_item = -1;
863 static gint ett_mms_ReportSemaphoreEntryStatus_Request = -1;
864 static gint ett_mms_ReportSemaphoreEntryStatus_Response = -1;
865 static gint ett_mms_SEQUENCE_OF_SemaphoreEntry = -1;
866 static gint ett_mms_AttachToSemaphore = -1;
867 static gint ett_mms_SemaphoreEntry = -1;
868 static gint ett_mms_Input_Request = -1;
869 static gint ett_mms_T_listOfPromptData = -1;
870 static gint ett_mms_Output_Request = -1;
871 static gint ett_mms_T_listOfOutputData = -1;
872 static gint ett_mms_DefineEventCondition_Request = -1;
873 static gint ett_mms_DeleteEventCondition_Request = -1;
874 static gint ett_mms_GetEventConditionAttributes_Response = -1;
875 static gint ett_mms_T_monitoredVariable = -1;
876 static gint ett_mms_ReportEventConditionStatus_Response = -1;
877 static gint ett_mms_AlterEventConditionMonitoring_Request = -1;
878 static gint ett_mms_TriggerEvent_Request = -1;
879 static gint ett_mms_DefineEventAction_Request = -1;
880 static gint ett_mms_DeleteEventAction_Request = -1;
881 static gint ett_mms_GetEventActionAttributes_Response = -1;
882 static gint ett_mms_DefineEventEnrollment_Request = -1;
883 static gint ett_mms_DeleteEventEnrollment_Request = -1;
884 static gint ett_mms_GetEventEnrollmentAttributes_Request = -1;
885 static gint ett_mms_EventEnrollment = -1;
886 static gint ett_mms_T_eventConditionName = -1;
887 static gint ett_mms_T_eventActionName = -1;
888 static gint ett_mms_GetEventEnrollmentAttributes_Response = -1;
889 static gint ett_mms_SEQUENCE_OF_EventEnrollment = -1;
890 static gint ett_mms_ReportEventEnrollmentStatus_Response = -1;
891 static gint ett_mms_AlterEventEnrollment_Request = -1;
892 static gint ett_mms_AlterEventEnrollment_Response = -1;
893 static gint ett_mms_T_currentState = -1;
894 static gint ett_mms_AcknowledgeEventNotification_Request = -1;
895 static gint ett_mms_GetAlarmSummary_Request = -1;
896 static gint ett_mms_T_severityFilter = -1;
897 static gint ett_mms_GetAlarmSummary_Response = -1;
898 static gint ett_mms_SEQUENCE_OF_AlarmSummary = -1;
899 static gint ett_mms_AlarmSummary = -1;
900 static gint ett_mms_GetAlarmEnrollmentSummary_Request = -1;
901 static gint ett_mms_T_severityFilter_01 = -1;
902 static gint ett_mms_GetAlarmEnrollmentSummary_Response = -1;
903 static gint ett_mms_SEQUENCE_OF_AlarmEnrollmentSummary = -1;
904 static gint ett_mms_AlarmEnrollmentSummary = -1;
905 static gint ett_mms_EventNotification = -1;
906 static gint ett_mms_T_eventConditionName_01 = -1;
907 static gint ett_mms_T_actionResult = -1;
908 static gint ett_mms_T_eventActionResult = -1;
909 static gint ett_mms_AttachToEventCondition = -1;
910 static gint ett_mms_EventTime = -1;
911 static gint ett_mms_Transitions = -1;
912 static gint ett_mms_ReadJournal_Request = -1;
913 static gint ett_mms_T_rangeStartSpecification = -1;
914 static gint ett_mms_T_rangeStopSpecification = -1;
915 static gint ett_mms_T_listOfVariables = -1;
916 static gint ett_mms_T_entryToStartAfter = -1;
917 static gint ett_mms_ReadJournal_Response = -1;
918 static gint ett_mms_SEQUENCE_OF_JournalEntry = -1;
919 static gint ett_mms_JournalEntry = -1;
920 static gint ett_mms_WriteJournal_Request = -1;
921 static gint ett_mms_SEQUENCE_OF_EntryContent = -1;
922 static gint ett_mms_InitializeJournal_Request = -1;
923 static gint ett_mms_T_limitSpecification = -1;
924 static gint ett_mms_ReportJournalStatus_Response = -1;
925 static gint ett_mms_CreateJournal_Request = -1;
926 static gint ett_mms_DeleteJournal_Request = -1;
927 static gint ett_mms_EntryContent = -1;
928 static gint ett_mms_T_entryForm = -1;
929 static gint ett_mms_T_data = -1;
930 static gint ett_mms_T_event = -1;
931 static gint ett_mms_T_listOfVariables_01 = -1;
932 static gint ett_mms_T_listOfVariables_item = -1;
933 static gint ett_mms_ObtainFile_Request = -1;
934 static gint ett_mms_FileOpen_Request = -1;
935 static gint ett_mms_FileOpen_Response = -1;
936 static gint ett_mms_FileRead_Response = -1;
937 static gint ett_mms_FileRename_Request = -1;
938 static gint ett_mms_FileDirectory_Request = -1;
939 static gint ett_mms_FileDirectory_Response = -1;
940 static gint ett_mms_SEQUENCE_OF_DirectoryEntry = -1;
941 static gint ett_mms_DirectoryEntry = -1;
942 static gint ett_mms_FileAttributes = -1;
943
944 /*--- End of included file: packet-mms-ett.c ---*/
945 #line 53 "packet-mms-template.c"
946
947
948 /*--- Included file: packet-mms-fn.c ---*/
949 #line 1 "packet-mms-fn.c"
950 /*--- Cyclic dependencies ---*/
951
952 /* TypeSpecification -> TypeSpecification/array -> TypeSpecification */
953 /* TypeSpecification -> TypeSpecification/structure -> TypeSpecification/structure/components -> TypeSpecification/structure/components/_item -> TypeSpecification */
954 static int dissect_mms_TypeSpecification(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
955
956 /* VariableSpecification -> ScatteredAccessDescription -> ScatteredAccessDescription/_item -> VariableSpecification */
957 static int dissect_mms_VariableSpecification(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
958
959 /* AlternateAccess -> AlternateAccess/_item -> AlternateAccessSelection -> AlternateAccessSelection/selectAlternateAccess -> AlternateAccess */
960 static int dissect_mms_AlternateAccess(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
961
962 /* Data -> Data/array -> Data */
963 static int dissect_mms_Data(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
964
965
966
967
968 static int
969 dissect_mms_Unsigned32(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
970   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
971                                                 NULL);
972
973   return offset;
974 }
975
976
977
978 static int
979 dissect_mms_Identifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
980   offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_VisibleString,
981                                             actx, tree, tvb, offset, hf_index,
982                                             NULL);
983
984   return offset;
985 }
986
987
988 static const ber_sequence_t T_domain_specific_sequence[] = {
989   { &hf_mms_domainId        , BER_CLASS_UNI, BER_UNI_TAG_VisibleString, BER_FLAGS_NOOWNTAG, dissect_mms_Identifier },
990   { &hf_mms_itemId          , BER_CLASS_UNI, BER_UNI_TAG_VisibleString, BER_FLAGS_NOOWNTAG, dissect_mms_Identifier },
991   { NULL, 0, 0, 0, NULL }
992 };
993
994 static int
995 dissect_mms_T_domain_specific(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
996   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
997                                    T_domain_specific_sequence, hf_index, ett_mms_T_domain_specific);
998
999   return offset;
1000 }
1001
1002
1003 static const value_string mms_ObjectName_vals[] = {
1004   {   0, "vmd-specific" },
1005   {   1, "domain-specific" },
1006   {   2, "aa-specific" },
1007   { 0, NULL }
1008 };
1009
1010 static const ber_choice_t ObjectName_choice[] = {
1011   {   0, &hf_mms_vmd_specific    , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mms_Identifier },
1012   {   1, &hf_mms_domain_specific , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_mms_T_domain_specific },
1013   {   2, &hf_mms_aa_specific     , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_mms_Identifier },
1014   { 0, NULL, 0, 0, 0, NULL }
1015 };
1016
1017 static int
1018 dissect_mms_ObjectName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1019   offset = dissect_ber_choice(actx, tree, tvb, offset,
1020                                  ObjectName_choice, hf_index, ett_mms_ObjectName,
1021                                  NULL);
1022
1023   return offset;
1024 }
1025
1026
1027 static const asn_namedbit Transitions_bits[] = {
1028   {  0, &hf_mms_Transitions_idle_to_disabled, -1, -1, "idle-to-disabled", NULL },
1029   {  1, &hf_mms_Transitions_active_to_disabled, -1, -1, "active-to-disabled", NULL },
1030   {  2, &hf_mms_Transitions_disabled_to_idle, -1, -1, "disabled-to-idle", NULL },
1031   {  3, &hf_mms_Transitions_active_to_idle, -1, -1, "active-to-idle", NULL },
1032   {  4, &hf_mms_Transitions_disabled_to_active, -1, -1, "disabled-to-active", NULL },
1033   {  5, &hf_mms_Transitions_idle_to_active, -1, -1, "idle-to-active", NULL },
1034   {  6, &hf_mms_Transitions_any_to_deleted, -1, -1, "any-to-deleted", NULL },
1035   { 0, NULL, 0, 0, NULL, NULL }
1036 };
1037
1038 static int
1039 dissect_mms_Transitions(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1040   offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
1041                                     Transitions_bits, hf_index, ett_mms_Transitions,
1042                                     NULL);
1043
1044   return offset;
1045 }
1046
1047
1048 static const ber_sequence_t AttachToEventCondition_sequence[] = {
1049   { &hf_mms_eventEnrollmentName, BER_CLASS_CON, 0, BER_FLAGS_NOTCHKTAG, dissect_mms_ObjectName },
1050   { &hf_mms_eventConditionName, BER_CLASS_CON, 1, BER_FLAGS_NOTCHKTAG, dissect_mms_ObjectName },
1051   { &hf_mms_causingTransitions, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_mms_Transitions },
1052   { &hf_mms_acceptableDelay , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_Unsigned32 },
1053   { NULL, 0, 0, 0, NULL }
1054 };
1055
1056 static int
1057 dissect_mms_AttachToEventCondition(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1058   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1059                                    AttachToEventCondition_sequence, hf_index, ett_mms_AttachToEventCondition);
1060
1061   return offset;
1062 }
1063
1064
1065
1066 static int
1067 dissect_mms_Unsigned8(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1068   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
1069                                                 NULL);
1070
1071   return offset;
1072 }
1073
1074
1075
1076 static int
1077 dissect_mms_Priority(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1078   offset = dissect_mms_Unsigned8(implicit_tag, tvb, offset, actx, tree, hf_index);
1079
1080   return offset;
1081 }
1082
1083
1084
1085 static int
1086 dissect_mms_BOOLEAN(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1087   offset = dissect_ber_boolean(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
1088
1089   return offset;
1090 }
1091
1092
1093 static const ber_sequence_t AttachToSemaphore_sequence[] = {
1094   { &hf_mms_semaphoreName   , BER_CLASS_CON, 0, BER_FLAGS_NOTCHKTAG, dissect_mms_ObjectName },
1095   { &hf_mms_namedToken      , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_Identifier },
1096   { &hf_mms_priority        , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_Priority },
1097   { &hf_mms_acceptableDelay , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_Unsigned32 },
1098   { &hf_mms_controlTimeOut  , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_Unsigned32 },
1099   { &hf_mms_abortOnTimeOut  , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_BOOLEAN },
1100   { &hf_mms_relinquishIfConnectionLost, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_BOOLEAN },
1101   { NULL, 0, 0, 0, NULL }
1102 };
1103
1104 static int
1105 dissect_mms_AttachToSemaphore(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1106   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1107                                    AttachToSemaphore_sequence, hf_index, ett_mms_AttachToSemaphore);
1108
1109   return offset;
1110 }
1111
1112
1113 static const value_string mms_Modifier_vals[] = {
1114   {   0, "attach-To-Event-Condition" },
1115   {   1, "attach-To-Semaphore" },
1116   { 0, NULL }
1117 };
1118
1119 static const ber_choice_t Modifier_choice[] = {
1120   {   0, &hf_mms_attach_To_Event_Condition, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mms_AttachToEventCondition },
1121   {   1, &hf_mms_attach_To_Semaphore, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_mms_AttachToSemaphore },
1122   { 0, NULL, 0, 0, 0, NULL }
1123 };
1124
1125 static int
1126 dissect_mms_Modifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1127   offset = dissect_ber_choice(actx, tree, tvb, offset,
1128                                  Modifier_choice, hf_index, ett_mms_Modifier,
1129                                  NULL);
1130
1131   return offset;
1132 }
1133
1134
1135 static const ber_sequence_t SEQUENCE_OF_Modifier_sequence_of[1] = {
1136   { &hf_mms_listOfModifier_item, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_mms_Modifier },
1137 };
1138
1139 static int
1140 dissect_mms_SEQUENCE_OF_Modifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1141   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
1142                                       SEQUENCE_OF_Modifier_sequence_of, hf_index, ett_mms_SEQUENCE_OF_Modifier);
1143
1144   return offset;
1145 }
1146
1147
1148
1149 static int
1150 dissect_mms_Status_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1151   offset = dissect_ber_boolean(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
1152
1153   return offset;
1154 }
1155
1156
1157 static const value_string mms_T_objectClass_vals[] = {
1158   {   0, "nammedVariable" },
1159   {   1, "scatteredAccess" },
1160   {   2, "namedVariableList" },
1161   {   3, "namedType" },
1162   {   4, "semaphore" },
1163   {   5, "eventCondition" },
1164   {   6, "eventAction" },
1165   {   7, "eventEnrollment" },
1166   {   8, "journal" },
1167   {   9, "domain" },
1168   {  10, "programInvocation" },
1169   {  11, "operatorStation" },
1170   { 0, NULL }
1171 };
1172
1173
1174 static int
1175 dissect_mms_T_objectClass(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1176   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
1177                                                 NULL);
1178
1179   return offset;
1180 }
1181
1182
1183 static const value_string mms_T_extendedObjectClass_vals[] = {
1184   {   0, "objectClass" },
1185   { 0, NULL }
1186 };
1187
1188 static const ber_choice_t T_extendedObjectClass_choice[] = {
1189   {   0, &hf_mms_objectClass     , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mms_T_objectClass },
1190   { 0, NULL, 0, 0, 0, NULL }
1191 };
1192
1193 static int
1194 dissect_mms_T_extendedObjectClass(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1195   offset = dissect_ber_choice(actx, tree, tvb, offset,
1196                                  T_extendedObjectClass_choice, hf_index, ett_mms_T_extendedObjectClass,
1197                                  NULL);
1198
1199   return offset;
1200 }
1201
1202
1203
1204 static int
1205 dissect_mms_NULL(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1206   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
1207
1208   return offset;
1209 }
1210
1211
1212 static const value_string mms_T_objectScope_vals[] = {
1213   {   0, "vmdSpecific" },
1214   {   1, "domainSpecific" },
1215   {   2, "aaSpecific" },
1216   { 0, NULL }
1217 };
1218
1219 static const ber_choice_t T_objectScope_choice[] = {
1220   {   0, &hf_mms_vmdSpecific     , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mms_NULL },
1221   {   1, &hf_mms_domainSpecific  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_mms_Identifier },
1222   {   2, &hf_mms_aaSpecific      , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_mms_NULL },
1223   { 0, NULL, 0, 0, 0, NULL }
1224 };
1225
1226 static int
1227 dissect_mms_T_objectScope(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1228   offset = dissect_ber_choice(actx, tree, tvb, offset,
1229                                  T_objectScope_choice, hf_index, ett_mms_T_objectScope,
1230                                  NULL);
1231
1232   return offset;
1233 }
1234
1235
1236 static const ber_sequence_t GetNameList_Request_sequence[] = {
1237   { &hf_mms_extendedObjectClass, BER_CLASS_CON, 0, 0, dissect_mms_T_extendedObjectClass },
1238   { &hf_mms_objectScope     , BER_CLASS_CON, 1, 0, dissect_mms_T_objectScope },
1239   { &hf_mms_continueAfter   , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_Identifier },
1240   { NULL, 0, 0, 0, NULL }
1241 };
1242
1243 static int
1244 dissect_mms_GetNameList_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1245   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1246                                    GetNameList_Request_sequence, hf_index, ett_mms_GetNameList_Request);
1247
1248   return offset;
1249 }
1250
1251
1252
1253 static int
1254 dissect_mms_Identify_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1255   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
1256
1257   return offset;
1258 }
1259
1260
1261 static const value_string mms_T_objectClass_01_vals[] = {
1262   {   0, "namedVariable" },
1263   {   1, "scatteredAccess" },
1264   {   2, "namedVariableList" },
1265   {   3, "namedType" },
1266   {   4, "semaphore" },
1267   {   5, "eventCondition" },
1268   {   6, "eventAction" },
1269   {   7, "eventEnrollment" },
1270   {   8, "journal" },
1271   {   9, "domain" },
1272   {  10, "programInvocation" },
1273   {  11, "operatorStation" },
1274   { 0, NULL }
1275 };
1276
1277
1278 static int
1279 dissect_mms_T_objectClass_01(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1280   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
1281                                                 NULL);
1282
1283   return offset;
1284 }
1285
1286
1287 static const value_string mms_T_extendedObjectClass_01_vals[] = {
1288   {   0, "objectClass" },
1289   { 0, NULL }
1290 };
1291
1292 static const ber_choice_t T_extendedObjectClass_01_choice[] = {
1293   {   0, &hf_mms_objectClass_01  , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mms_T_objectClass_01 },
1294   { 0, NULL, 0, 0, 0, NULL }
1295 };
1296
1297 static int
1298 dissect_mms_T_extendedObjectClass_01(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1299   offset = dissect_ber_choice(actx, tree, tvb, offset,
1300                                  T_extendedObjectClass_01_choice, hf_index, ett_mms_T_extendedObjectClass_01,
1301                                  NULL);
1302
1303   return offset;
1304 }
1305
1306
1307 static const ber_sequence_t Rename_Request_sequence[] = {
1308   { &hf_mms_extendedObjectClass_01, BER_CLASS_CON, 0, 0, dissect_mms_T_extendedObjectClass_01 },
1309   { &hf_mms_currentName     , BER_CLASS_CON, 1, BER_FLAGS_NOTCHKTAG, dissect_mms_ObjectName },
1310   { &hf_mms_newIdentifier   , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_mms_Identifier },
1311   { NULL, 0, 0, 0, NULL }
1312 };
1313
1314 static int
1315 dissect_mms_Rename_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1316   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1317                                    Rename_Request_sequence, hf_index, ett_mms_Rename_Request);
1318
1319   return offset;
1320 }
1321
1322
1323
1324 static int
1325 dissect_mms_VisibleString(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1326   offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_VisibleString,
1327                                             actx, tree, tvb, offset, hf_index,
1328                                             NULL);
1329
1330   return offset;
1331 }
1332
1333
1334
1335 static int
1336 dissect_mms_OCTET_STRING(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1337   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
1338                                        NULL);
1339
1340   return offset;
1341 }
1342
1343
1344 static const value_string mms_Address_vals[] = {
1345   {   0, "numericAddress" },
1346   {   1, "symbolicAddress" },
1347   {   2, "unconstrainedAddress" },
1348   { 0, NULL }
1349 };
1350
1351 static const ber_choice_t Address_choice[] = {
1352   {   0, &hf_mms_numericAddress  , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mms_Unsigned32 },
1353   {   1, &hf_mms_symbolicAddress , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_mms_VisibleString },
1354   {   2, &hf_mms_unconstrainedAddress, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_mms_OCTET_STRING },
1355   { 0, NULL, 0, 0, 0, NULL }
1356 };
1357
1358 static int
1359 dissect_mms_Address(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1360   offset = dissect_ber_choice(actx, tree, tvb, offset,
1361                                  Address_choice, hf_index, ett_mms_Address,
1362                                  NULL);
1363
1364   return offset;
1365 }
1366
1367
1368 static const ber_sequence_t T_array_sequence[] = {
1369   { &hf_mms_packed          , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_BOOLEAN },
1370   { &hf_mms_numberOfElements, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_mms_Unsigned32 },
1371   { &hf_mms_elementType     , BER_CLASS_CON, 2, BER_FLAGS_NOTCHKTAG, dissect_mms_TypeSpecification },
1372   { NULL, 0, 0, 0, NULL }
1373 };
1374
1375 static int
1376 dissect_mms_T_array(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1377   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1378                                    T_array_sequence, hf_index, ett_mms_T_array);
1379
1380   return offset;
1381 }
1382
1383
1384 static const ber_sequence_t T_components_item_sequence[] = {
1385   { &hf_mms_componentName   , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_Identifier },
1386   { &hf_mms_componentType   , BER_CLASS_CON, 1, BER_FLAGS_NOTCHKTAG, dissect_mms_TypeSpecification },
1387   { NULL, 0, 0, 0, NULL }
1388 };
1389
1390 static int
1391 dissect_mms_T_components_item(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1392   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1393                                    T_components_item_sequence, hf_index, ett_mms_T_components_item);
1394
1395   return offset;
1396 }
1397
1398
1399 static const ber_sequence_t T_components_sequence_of[1] = {
1400   { &hf_mms_components_item , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_mms_T_components_item },
1401 };
1402
1403 static int
1404 dissect_mms_T_components(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1405   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
1406                                       T_components_sequence_of, hf_index, ett_mms_T_components);
1407
1408   return offset;
1409 }
1410
1411
1412 static const ber_sequence_t T_structure_sequence[] = {
1413   { &hf_mms_packed          , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_BOOLEAN },
1414   { &hf_mms_components      , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_mms_T_components },
1415   { NULL, 0, 0, 0, NULL }
1416 };
1417
1418 static int
1419 dissect_mms_T_structure(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1420   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1421                                    T_structure_sequence, hf_index, ett_mms_T_structure);
1422
1423   return offset;
1424 }
1425
1426
1427
1428 static int
1429 dissect_mms_Integer32(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1430   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
1431                                                 NULL);
1432
1433   return offset;
1434 }
1435
1436
1437 static const value_string mms_TypeSpecification_vals[] = {
1438   {   0, "typeName" },
1439   {   1, "array" },
1440   {   2, "structure" },
1441   {   3, "boolean" },
1442   {   4, "bit-string" },
1443   {   5, "integer" },
1444   {   6, "unsigned" },
1445   {   9, "octet-string" },
1446   {  10, "visible-string" },
1447   {  11, "generalized-time" },
1448   {  12, "binary-time" },
1449   {  13, "bcd" },
1450   {  15, "objId" },
1451   { 0, NULL }
1452 };
1453
1454 static const ber_choice_t TypeSpecification_choice[] = {
1455   {   0, &hf_mms_typeName        , BER_CLASS_CON, 0, 0, dissect_mms_ObjectName },
1456   {   1, &hf_mms_array           , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_mms_T_array },
1457   {   2, &hf_mms_structure       , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_mms_T_structure },
1458   {   3, &hf_mms_boolean         , BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_mms_NULL },
1459   {   4, &hf_mms_bit_string      , BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_mms_Integer32 },
1460   {   5, &hf_mms_integer         , BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_mms_Unsigned8 },
1461   {   6, &hf_mms_unsigned        , BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_mms_Unsigned8 },
1462   {   9, &hf_mms_octet_string    , BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_mms_Integer32 },
1463   {  10, &hf_mms_visible_string  , BER_CLASS_CON, 10, BER_FLAGS_IMPLTAG, dissect_mms_Integer32 },
1464   {  11, &hf_mms_generalized_time, BER_CLASS_CON, 11, BER_FLAGS_IMPLTAG, dissect_mms_NULL },
1465   {  12, &hf_mms_binary_time     , BER_CLASS_CON, 12, BER_FLAGS_IMPLTAG, dissect_mms_BOOLEAN },
1466   {  13, &hf_mms_bcd             , BER_CLASS_CON, 13, BER_FLAGS_IMPLTAG, dissect_mms_Unsigned8 },
1467   {  15, &hf_mms_objId           , BER_CLASS_CON, 15, BER_FLAGS_IMPLTAG, dissect_mms_NULL },
1468   { 0, NULL, 0, 0, 0, NULL }
1469 };
1470
1471 static int
1472 dissect_mms_TypeSpecification(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1473   offset = dissect_ber_choice(actx, tree, tvb, offset,
1474                                  TypeSpecification_choice, hf_index, ett_mms_TypeSpecification,
1475                                  NULL);
1476
1477   return offset;
1478 }
1479
1480
1481 static const ber_sequence_t T_variableDescription_sequence[] = {
1482   { &hf_mms_address         , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_mms_Address },
1483   { &hf_mms_typeSpecification, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_mms_TypeSpecification },
1484   { NULL, 0, 0, 0, NULL }
1485 };
1486
1487 static int
1488 dissect_mms_T_variableDescription(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1489   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1490                                    T_variableDescription_sequence, hf_index, ett_mms_T_variableDescription);
1491
1492   return offset;
1493 }
1494
1495
1496 static const ber_sequence_t T_indexRange_sequence[] = {
1497   { &hf_mms_lowIndex        , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mms_Unsigned32 },
1498   { &hf_mms_numberOfElements, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_mms_Unsigned32 },
1499   { NULL, 0, 0, 0, NULL }
1500 };
1501
1502 static int
1503 dissect_mms_T_indexRange(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1504   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1505                                    T_indexRange_sequence, hf_index, ett_mms_T_indexRange);
1506
1507   return offset;
1508 }
1509
1510
1511 static const value_string mms_T_accessSelection_vals[] = {
1512   {   0, "component" },
1513   {   1, "index" },
1514   {   2, "indexRange" },
1515   {   3, "allElements" },
1516   { 0, NULL }
1517 };
1518
1519 static const ber_choice_t T_accessSelection_choice[] = {
1520   {   0, &hf_mms_component       , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mms_Identifier },
1521   {   1, &hf_mms_index           , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_mms_Unsigned32 },
1522   {   2, &hf_mms_indexRange      , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_mms_T_indexRange },
1523   {   3, &hf_mms_allElements     , BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_mms_NULL },
1524   { 0, NULL, 0, 0, 0, NULL }
1525 };
1526
1527 static int
1528 dissect_mms_T_accessSelection(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1529   offset = dissect_ber_choice(actx, tree, tvb, offset,
1530                                  T_accessSelection_choice, hf_index, ett_mms_T_accessSelection,
1531                                  NULL);
1532
1533   return offset;
1534 }
1535
1536
1537 static const ber_sequence_t T_selectAlternateAccess_sequence[] = {
1538   { &hf_mms_accessSelection , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_mms_T_accessSelection },
1539   { &hf_mms_alternateAccess , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_mms_AlternateAccess },
1540   { NULL, 0, 0, 0, NULL }
1541 };
1542
1543 static int
1544 dissect_mms_T_selectAlternateAccess(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1545   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1546                                    T_selectAlternateAccess_sequence, hf_index, ett_mms_T_selectAlternateAccess);
1547
1548   return offset;
1549 }
1550
1551
1552 static const ber_sequence_t T_indexRange_01_sequence[] = {
1553   { &hf_mms_lowIndex        , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mms_Unsigned32 },
1554   { &hf_mms_nmberOfElements , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_mms_Unsigned32 },
1555   { NULL, 0, 0, 0, NULL }
1556 };
1557
1558 static int
1559 dissect_mms_T_indexRange_01(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1560   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1561                                    T_indexRange_01_sequence, hf_index, ett_mms_T_indexRange_01);
1562
1563   return offset;
1564 }
1565
1566
1567 static const value_string mms_T_selectAccess_vals[] = {
1568   {   1, "component" },
1569   {   2, "index" },
1570   {   3, "indexRange" },
1571   {   4, "allElements" },
1572   { 0, NULL }
1573 };
1574
1575 static const ber_choice_t T_selectAccess_choice[] = {
1576   {   1, &hf_mms_component       , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_mms_Identifier },
1577   {   2, &hf_mms_index           , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_mms_Unsigned32 },
1578   {   3, &hf_mms_indexRange_01   , BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_mms_T_indexRange_01 },
1579   {   4, &hf_mms_allElements     , BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_mms_NULL },
1580   { 0, NULL, 0, 0, 0, NULL }
1581 };
1582
1583 static int
1584 dissect_mms_T_selectAccess(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1585   offset = dissect_ber_choice(actx, tree, tvb, offset,
1586                                  T_selectAccess_choice, hf_index, ett_mms_T_selectAccess,
1587                                  NULL);
1588
1589   return offset;
1590 }
1591
1592
1593 static const value_string mms_AlternateAccessSelection_vals[] = {
1594   {   0, "selectAlternateAccess" },
1595   {   1, "selectAccess" },
1596   { 0, NULL }
1597 };
1598
1599 static const ber_choice_t AlternateAccessSelection_choice[] = {
1600   {   0, &hf_mms_selectAlternateAccess, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mms_T_selectAlternateAccess },
1601   {   1, &hf_mms_selectAccess    , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_mms_T_selectAccess },
1602   { 0, NULL, 0, 0, 0, NULL }
1603 };
1604
1605 static int
1606 dissect_mms_AlternateAccessSelection(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1607   offset = dissect_ber_choice(actx, tree, tvb, offset,
1608                                  AlternateAccessSelection_choice, hf_index, ett_mms_AlternateAccessSelection,
1609                                  NULL);
1610
1611   return offset;
1612 }
1613
1614
1615 static const ber_sequence_t T_named_sequence[] = {
1616   { &hf_mms_componentName   , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mms_Identifier },
1617   { &hf_mms_accesst         , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_mms_AlternateAccessSelection },
1618   { NULL, 0, 0, 0, NULL }
1619 };
1620
1621 static int
1622 dissect_mms_T_named(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1623   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1624                                    T_named_sequence, hf_index, ett_mms_T_named);
1625
1626   return offset;
1627 }
1628
1629
1630 static const value_string mms_AlternateAccess_item_vals[] = {
1631   {   0, "unnamed" },
1632   {   1, "named" },
1633   { 0, NULL }
1634 };
1635
1636 static const ber_choice_t AlternateAccess_item_choice[] = {
1637   {   0, &hf_mms_unnamed         , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_mms_AlternateAccessSelection },
1638   {   1, &hf_mms_named           , BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_mms_T_named },
1639   { 0, NULL, 0, 0, 0, NULL }
1640 };
1641
1642 static int
1643 dissect_mms_AlternateAccess_item(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1644   offset = dissect_ber_choice(actx, tree, tvb, offset,
1645                                  AlternateAccess_item_choice, hf_index, ett_mms_AlternateAccess_item,
1646                                  NULL);
1647
1648   return offset;
1649 }
1650
1651
1652 static const ber_sequence_t AlternateAccess_sequence_of[1] = {
1653   { &hf_mms_AlternateAccess_item, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_mms_AlternateAccess_item },
1654 };
1655
1656 static int
1657 dissect_mms_AlternateAccess(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1658   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
1659                                       AlternateAccess_sequence_of, hf_index, ett_mms_AlternateAccess);
1660
1661   return offset;
1662 }
1663
1664
1665 static const ber_sequence_t ScatteredAccessDescription_item_sequence[] = {
1666   { &hf_mms_componentName   , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_Identifier },
1667   { &hf_mms_variableSpecification, BER_CLASS_CON, 1, BER_FLAGS_NOTCHKTAG, dissect_mms_VariableSpecification },
1668   { &hf_mms_alternateAccess , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_AlternateAccess },
1669   { NULL, 0, 0, 0, NULL }
1670 };
1671
1672 static int
1673 dissect_mms_ScatteredAccessDescription_item(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1674   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1675                                    ScatteredAccessDescription_item_sequence, hf_index, ett_mms_ScatteredAccessDescription_item);
1676
1677   return offset;
1678 }
1679
1680
1681 static const ber_sequence_t ScatteredAccessDescription_sequence_of[1] = {
1682   { &hf_mms_ScatteredAccessDescription_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_mms_ScatteredAccessDescription_item },
1683 };
1684
1685 static int
1686 dissect_mms_ScatteredAccessDescription(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1687   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
1688                                       ScatteredAccessDescription_sequence_of, hf_index, ett_mms_ScatteredAccessDescription);
1689
1690   return offset;
1691 }
1692
1693
1694 static const value_string mms_VariableSpecification_vals[] = {
1695   {   0, "name" },
1696   {   1, "address" },
1697   {   2, "variableDescription" },
1698   {   3, "scatteredAccessDescription" },
1699   {   4, "invalidated" },
1700   { 0, NULL }
1701 };
1702
1703 static const ber_choice_t VariableSpecification_choice[] = {
1704   {   0, &hf_mms_name            , BER_CLASS_CON, 0, 0, dissect_mms_ObjectName },
1705   {   1, &hf_mms_address         , BER_CLASS_CON, 1, 0, dissect_mms_Address },
1706   {   2, &hf_mms_variableDescription, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_mms_T_variableDescription },
1707   {   3, &hf_mms_scatteredAccessDescription, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_mms_ScatteredAccessDescription },
1708   {   4, &hf_mms_invalidated     , BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_mms_NULL },
1709   { 0, NULL, 0, 0, 0, NULL }
1710 };
1711
1712 static int
1713 dissect_mms_VariableSpecification(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1714   offset = dissect_ber_choice(actx, tree, tvb, offset,
1715                                  VariableSpecification_choice, hf_index, ett_mms_VariableSpecification,
1716                                  NULL);
1717
1718   return offset;
1719 }
1720
1721
1722 static const ber_sequence_t T_listOfVariable_item_02_sequence[] = {
1723   { &hf_mms_variableSpecification, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_mms_VariableSpecification },
1724   { &hf_mms_alternateAccess , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_AlternateAccess },
1725   { NULL, 0, 0, 0, NULL }
1726 };
1727
1728 static int
1729 dissect_mms_T_listOfVariable_item_02(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1730   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1731                                    T_listOfVariable_item_02_sequence, hf_index, ett_mms_T_listOfVariable_item_02);
1732
1733   return offset;
1734 }
1735
1736
1737 static const ber_sequence_t T_listOfVariable_02_sequence_of[1] = {
1738   { &hf_mms_listOfVariable_item_02, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_mms_T_listOfVariable_item_02 },
1739 };
1740
1741 static int
1742 dissect_mms_T_listOfVariable_02(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1743   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
1744                                       T_listOfVariable_02_sequence_of, hf_index, ett_mms_T_listOfVariable_02);
1745
1746   return offset;
1747 }
1748
1749
1750 static const value_string mms_VariableAccessSpecification_vals[] = {
1751   {   0, "listOfVariable" },
1752   {   1, "variableListName" },
1753   { 0, NULL }
1754 };
1755
1756 static const ber_choice_t VariableAccessSpecification_choice[] = {
1757   {   0, &hf_mms_listOfVariable_02, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mms_T_listOfVariable_02 },
1758   {   1, &hf_mms_variableListName, BER_CLASS_CON, 1, 0, dissect_mms_ObjectName },
1759   { 0, NULL, 0, 0, 0, NULL }
1760 };
1761
1762 static int
1763 dissect_mms_VariableAccessSpecification(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1764   offset = dissect_ber_choice(actx, tree, tvb, offset,
1765                                  VariableAccessSpecification_choice, hf_index, ett_mms_VariableAccessSpecification,
1766                                  NULL);
1767
1768   return offset;
1769 }
1770
1771
1772 static const ber_sequence_t Read_Request_sequence[] = {
1773   { &hf_mms_specificationWithResult, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_BOOLEAN },
1774   { &hf_mms_variableAccessSpecificatn, BER_CLASS_CON, 1, BER_FLAGS_NOTCHKTAG, dissect_mms_VariableAccessSpecification },
1775   { NULL, 0, 0, 0, NULL }
1776 };
1777
1778 static int
1779 dissect_mms_Read_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1780   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1781                                    Read_Request_sequence, hf_index, ett_mms_Read_Request);
1782
1783   return offset;
1784 }
1785
1786
1787 static const ber_sequence_t SEQUENCE_OF_Data_sequence_of[1] = {
1788   { &hf_mms_listOfData_item , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_mms_Data },
1789 };
1790
1791 static int
1792 dissect_mms_SEQUENCE_OF_Data(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1793   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
1794                                       SEQUENCE_OF_Data_sequence_of, hf_index, ett_mms_SEQUENCE_OF_Data);
1795
1796   return offset;
1797 }
1798
1799
1800
1801 static int
1802 dissect_mms_BIT_STRING(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1803   offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
1804                                     NULL, hf_index, -1,
1805                                     NULL);
1806
1807   return offset;
1808 }
1809
1810
1811
1812 static int
1813 dissect_mms_INTEGER(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1814   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
1815                                                 NULL);
1816
1817   return offset;
1818 }
1819
1820
1821
1822 static int
1823 dissect_mms_FloatingPoint(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1824   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
1825                                        NULL);
1826
1827   return offset;
1828 }
1829
1830
1831
1832 static int
1833 dissect_mms_TimeOfDay(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1834 #line 50 "mms.cnf"
1835
1836         guint32 len;
1837         proto_item *cause;
1838         guint32 milliseconds;
1839         guint16 days;
1840         gchar * ptime;
1841         nstime_t ts;
1842
1843         len = tvb_length_remaining(tvb, offset);
1844
1845         if(len == 4)
1846         {
1847                 milliseconds = tvb_get_ntohl(tvb, offset);
1848                 ptime = time_msecs_to_str(milliseconds);
1849
1850                 if(hf_index >= 0)
1851                 {
1852                         proto_tree_add_string(tree, hf_index, tvb, offset, len, ptime);
1853                 }
1854                 return offset;
1855         }
1856
1857         if(len == 6)
1858         {
1859                 milliseconds = tvb_get_ntohl(tvb, offset);
1860                 days = tvb_get_ntohs(tvb, offset+4);
1861
1862                 /* 5113 days between 01-01-1970 and 01-01-1984 */
1863                 /* 86400 seconds in one day */
1864
1865                 ts.secs = (days + 5113) * 86400 + milliseconds / 1000;
1866                 ts.nsecs = (milliseconds % 1000) * G_GINT64_CONSTANT(1000000U);
1867
1868                 ptime = abs_time_to_str(&ts, ABSOLUTE_TIME_UTC);
1869                 if(hf_index >= 0)
1870                 {
1871                         proto_tree_add_string(tree, hf_index, tvb, offset, len, ptime);
1872                 }
1873
1874                 return offset;
1875         }
1876
1877         cause = proto_tree_add_text(tree, tvb, offset, len,
1878                         "BER Error: malformed TimeOfDay encoding, "
1879                         "length must be 4 or 6 bytes");
1880         proto_item_set_expert_flags(cause, PI_MALFORMED, PI_WARN);
1881         expert_add_info_format(actx->pinfo, cause, PI_MALFORMED, PI_WARN, "BER Error: malformed TimeOfDay encoding");
1882         if(hf_index >= 0)
1883         {
1884                 proto_tree_add_string(tree, hf_index, tvb, offset, len, "????");
1885         }
1886         return offset;
1887
1888
1889
1890
1891   return offset;
1892 }
1893
1894
1895
1896 static int
1897 dissect_mms_OBJECT_IDENTIFIER(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1898   offset = dissect_ber_object_identifier(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
1899
1900   return offset;
1901 }
1902
1903
1904
1905 static int
1906 dissect_mms_MMSString(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1907   offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_UTF8String,
1908                                             actx, tree, tvb, offset, hf_index,
1909                                             NULL);
1910
1911   return offset;
1912 }
1913
1914
1915
1916 static int
1917 dissect_mms_UtcTime(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1918 #line 105 "mms.cnf"
1919
1920         guint32 len;
1921         proto_item *cause;
1922         guint32 seconds;
1923         guint32 fraction;
1924         guint32 nanoseconds;
1925         nstime_t ts;
1926         gchar * ptime;
1927
1928         len = tvb_length_remaining(tvb, offset);
1929
1930         if(len != 8)
1931         {
1932                 cause = proto_tree_add_text(tree, tvb, offset, len,
1933                                 "BER Error: malformed IEC61850 UTCTime encoding, "
1934                                 "length must be 8 bytes");
1935                 proto_item_set_expert_flags(cause, PI_MALFORMED, PI_WARN);
1936                 expert_add_info_format(actx->pinfo, cause, PI_MALFORMED, PI_WARN, "BER Error: malformed IEC61850 UTCTime encoding");
1937                 if(hf_index >= 0)
1938                 {
1939                         proto_tree_add_string(tree, hf_index, tvb, offset, len, "????");
1940                 }
1941                 return offset;
1942         }
1943
1944         seconds = tvb_get_ntohl(tvb, offset);
1945         fraction = tvb_get_ntoh24(tvb, offset+4) * 0x100; /* Only 3 bytes are recommended */
1946         nanoseconds = (guint32)( ((guint64)fraction * G_GINT64_CONSTANT(1000000000U)) / G_GINT64_CONSTANT(0x100000000U) ) ;
1947
1948         ts.secs = seconds;
1949         ts.nsecs = nanoseconds;
1950
1951         ptime = abs_time_to_str(&ts, ABSOLUTE_TIME_UTC);
1952
1953         if(hf_index >= 0)
1954         {
1955                 proto_tree_add_string(tree, hf_index, tvb, offset, len, ptime);
1956         }
1957
1958         return offset;
1959
1960
1961   return offset;
1962 }
1963
1964
1965 static const value_string mms_Data_vals[] = {
1966   {   1, "array" },
1967   {   2, "structure" },
1968   {   3, "boolean" },
1969   {   4, "bit-string" },
1970   {   5, "integer" },
1971   {   6, "unsigned" },
1972   {   7, "floating-point" },
1973   {   9, "octet-string" },
1974   {  10, "visible-string" },
1975   {  12, "binary-time" },
1976   {  13, "bcd" },
1977   {  14, "booleanArray" },
1978   {  15, "objId" },
1979   {  16, "mMSString" },
1980   {  17, "utc-time" },
1981   { 0, NULL }
1982 };
1983
1984 static const ber_choice_t Data_choice[] = {
1985   {   1, &hf_mms_array_01        , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_mms_SEQUENCE_OF_Data },
1986   {   2, &hf_mms_structure_01    , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_mms_SEQUENCE_OF_Data },
1987   {   3, &hf_mms_boolean_01      , BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_mms_BOOLEAN },
1988   {   4, &hf_mms_bit_string_01   , BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_mms_BIT_STRING },
1989   {   5, &hf_mms_integer_01      , BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_mms_INTEGER },
1990   {   6, &hf_mms_unsigned_01     , BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_mms_INTEGER },
1991   {   7, &hf_mms_floating_point  , BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_mms_FloatingPoint },
1992   {   9, &hf_mms_octet_string_01 , BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_mms_OCTET_STRING },
1993   {  10, &hf_mms_visible_string_01, BER_CLASS_CON, 10, BER_FLAGS_IMPLTAG, dissect_mms_VisibleString },
1994   {  12, &hf_mms_binary_time_01  , BER_CLASS_CON, 12, BER_FLAGS_IMPLTAG, dissect_mms_TimeOfDay },
1995   {  13, &hf_mms_bcd_01          , BER_CLASS_CON, 13, BER_FLAGS_IMPLTAG, dissect_mms_INTEGER },
1996   {  14, &hf_mms_booleanArray    , BER_CLASS_CON, 14, BER_FLAGS_IMPLTAG, dissect_mms_BIT_STRING },
1997   {  15, &hf_mms_objId_01        , BER_CLASS_CON, 15, BER_FLAGS_IMPLTAG, dissect_mms_OBJECT_IDENTIFIER },
1998   {  16, &hf_mms_mMSString       , BER_CLASS_CON, 16, BER_FLAGS_IMPLTAG, dissect_mms_MMSString },
1999   {  17, &hf_mms_utc_time        , BER_CLASS_CON, 17, BER_FLAGS_IMPLTAG, dissect_mms_UtcTime },
2000   { 0, NULL, 0, 0, 0, NULL }
2001 };
2002
2003 static int
2004 dissect_mms_Data(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2005   offset = dissect_ber_choice(actx, tree, tvb, offset,
2006                                  Data_choice, hf_index, ett_mms_Data,
2007                                  NULL);
2008
2009   return offset;
2010 }
2011
2012
2013 static const ber_sequence_t Write_Request_sequence[] = {
2014   { &hf_mms_variableAccessSpecificatn, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_mms_VariableAccessSpecification },
2015   { &hf_mms_listOfData      , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mms_SEQUENCE_OF_Data },
2016   { NULL, 0, 0, 0, NULL }
2017 };
2018
2019 static int
2020 dissect_mms_Write_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2021   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2022                                    Write_Request_sequence, hf_index, ett_mms_Write_Request);
2023
2024   return offset;
2025 }
2026
2027
2028 static const value_string mms_GetVariableAccessAttributes_Request_vals[] = {
2029   {   0, "name" },
2030   {   1, "address" },
2031   { 0, NULL }
2032 };
2033
2034 static const ber_choice_t GetVariableAccessAttributes_Request_choice[] = {
2035   {   0, &hf_mms_name            , BER_CLASS_CON, 0, 0, dissect_mms_ObjectName },
2036   {   1, &hf_mms_address         , BER_CLASS_CON, 1, 0, dissect_mms_Address },
2037   { 0, NULL, 0, 0, 0, NULL }
2038 };
2039
2040 static int
2041 dissect_mms_GetVariableAccessAttributes_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2042   offset = dissect_ber_choice(actx, tree, tvb, offset,
2043                                  GetVariableAccessAttributes_Request_choice, hf_index, ett_mms_GetVariableAccessAttributes_Request,
2044                                  NULL);
2045
2046   return offset;
2047 }
2048
2049
2050 static const ber_sequence_t DefineNamedVariable_Request_sequence[] = {
2051   { &hf_mms_variableName    , BER_CLASS_CON, 0, BER_FLAGS_NOTCHKTAG, dissect_mms_ObjectName },
2052   { &hf_mms_address         , BER_CLASS_CON, 1, BER_FLAGS_NOTCHKTAG, dissect_mms_Address },
2053   { &hf_mms_typeSpecification, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_mms_TypeSpecification },
2054   { NULL, 0, 0, 0, NULL }
2055 };
2056
2057 static int
2058 dissect_mms_DefineNamedVariable_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2059   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2060                                    DefineNamedVariable_Request_sequence, hf_index, ett_mms_DefineNamedVariable_Request);
2061
2062   return offset;
2063 }
2064
2065
2066 static const ber_sequence_t DefineScatteredAccess_Request_sequence[] = {
2067   { &hf_mms_scatteredAccessName, BER_CLASS_CON, 0, BER_FLAGS_NOTCHKTAG, dissect_mms_ObjectName },
2068   { &hf_mms_scatteredAccessDescription, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_mms_ScatteredAccessDescription },
2069   { NULL, 0, 0, 0, NULL }
2070 };
2071
2072 static int
2073 dissect_mms_DefineScatteredAccess_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2074   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2075                                    DefineScatteredAccess_Request_sequence, hf_index, ett_mms_DefineScatteredAccess_Request);
2076
2077   return offset;
2078 }
2079
2080
2081
2082 static int
2083 dissect_mms_GetScatteredAccessAttributes_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2084   offset = dissect_mms_ObjectName(implicit_tag, tvb, offset, actx, tree, hf_index);
2085
2086   return offset;
2087 }
2088
2089
2090 static const value_string mms_T_scopeOfDelete_vals[] = {
2091   {   0, "specific" },
2092   {   1, "aa-specific" },
2093   {   2, "domain" },
2094   {   3, "vmd" },
2095   { 0, NULL }
2096 };
2097
2098
2099 static int
2100 dissect_mms_T_scopeOfDelete(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2101   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
2102                                                 NULL);
2103
2104   return offset;
2105 }
2106
2107
2108 static const ber_sequence_t SEQUENCE_OF_ObjectName_sequence_of[1] = {
2109   { &hf_mms_listOfName_item , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_mms_ObjectName },
2110 };
2111
2112 static int
2113 dissect_mms_SEQUENCE_OF_ObjectName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2114   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
2115                                       SEQUENCE_OF_ObjectName_sequence_of, hf_index, ett_mms_SEQUENCE_OF_ObjectName);
2116
2117   return offset;
2118 }
2119
2120
2121 static const ber_sequence_t DeleteVariableAccess_Request_sequence[] = {
2122   { &hf_mms_scopeOfDelete   , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_T_scopeOfDelete },
2123   { &hf_mms_listOfName      , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_SEQUENCE_OF_ObjectName },
2124   { &hf_mms_domainName      , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_Identifier },
2125   { NULL, 0, 0, 0, NULL }
2126 };
2127
2128 static int
2129 dissect_mms_DeleteVariableAccess_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2130   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2131                                    DeleteVariableAccess_Request_sequence, hf_index, ett_mms_DeleteVariableAccess_Request);
2132
2133   return offset;
2134 }
2135
2136
2137 static const ber_sequence_t T_listOfVariable_item_sequence[] = {
2138   { &hf_mms_variableSpecification, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_mms_VariableSpecification },
2139   { &hf_mms_alternateAccess , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_AlternateAccess },
2140   { NULL, 0, 0, 0, NULL }
2141 };
2142
2143 static int
2144 dissect_mms_T_listOfVariable_item(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2145   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2146                                    T_listOfVariable_item_sequence, hf_index, ett_mms_T_listOfVariable_item);
2147
2148   return offset;
2149 }
2150
2151
2152 static const ber_sequence_t T_listOfVariable_sequence_of[1] = {
2153   { &hf_mms_listOfVariable_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_mms_T_listOfVariable_item },
2154 };
2155
2156 static int
2157 dissect_mms_T_listOfVariable(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2158   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
2159                                       T_listOfVariable_sequence_of, hf_index, ett_mms_T_listOfVariable);
2160
2161   return offset;
2162 }
2163
2164
2165 static const ber_sequence_t DefineNamedVariableList_Request_sequence[] = {
2166   { &hf_mms_variableListName, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_mms_ObjectName },
2167   { &hf_mms_listOfVariable  , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mms_T_listOfVariable },
2168   { NULL, 0, 0, 0, NULL }
2169 };
2170
2171 static int
2172 dissect_mms_DefineNamedVariableList_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2173   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2174                                    DefineNamedVariableList_Request_sequence, hf_index, ett_mms_DefineNamedVariableList_Request);
2175
2176   return offset;
2177 }
2178
2179
2180
2181 static int
2182 dissect_mms_GetNamedVariableListAttributes_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2183   offset = dissect_mms_ObjectName(implicit_tag, tvb, offset, actx, tree, hf_index);
2184
2185   return offset;
2186 }
2187
2188
2189 static const value_string mms_T_scopeOfDelete_01_vals[] = {
2190   {   0, "specific" },
2191   {   1, "aa-specific" },
2192   {   2, "domain" },
2193   {   3, "vmd" },
2194   { 0, NULL }
2195 };
2196
2197
2198 static int
2199 dissect_mms_T_scopeOfDelete_01(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2200   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
2201                                                 NULL);
2202
2203   return offset;
2204 }
2205
2206
2207 static const ber_sequence_t DeleteNamedVariableList_Request_sequence[] = {
2208   { &hf_mms_scopeOfDelete_01, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_T_scopeOfDelete_01 },
2209   { &hf_mms_listOfVariableListName, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_SEQUENCE_OF_ObjectName },
2210   { &hf_mms_domainName      , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_Identifier },
2211   { NULL, 0, 0, 0, NULL }
2212 };
2213
2214 static int
2215 dissect_mms_DeleteNamedVariableList_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2216   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2217                                    DeleteNamedVariableList_Request_sequence, hf_index, ett_mms_DeleteNamedVariableList_Request);
2218
2219   return offset;
2220 }
2221
2222
2223 static const ber_sequence_t DefineNamedType_Request_sequence[] = {
2224   { &hf_mms_typeName        , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_mms_ObjectName },
2225   { &hf_mms_typeSpecification, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_mms_TypeSpecification },
2226   { NULL, 0, 0, 0, NULL }
2227 };
2228
2229 static int
2230 dissect_mms_DefineNamedType_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2231   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2232                                    DefineNamedType_Request_sequence, hf_index, ett_mms_DefineNamedType_Request);
2233
2234   return offset;
2235 }
2236
2237
2238
2239 static int
2240 dissect_mms_GetNamedTypeAttributes_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2241   offset = dissect_mms_ObjectName(implicit_tag, tvb, offset, actx, tree, hf_index);
2242
2243   return offset;
2244 }
2245
2246
2247 static const value_string mms_T_scopeOfDelete_02_vals[] = {
2248   {   0, "specific" },
2249   {   1, "aa-specific" },
2250   {   2, "domain" },
2251   {   3, "vmd" },
2252   { 0, NULL }
2253 };
2254
2255
2256 static int
2257 dissect_mms_T_scopeOfDelete_02(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2258   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
2259                                                 NULL);
2260
2261   return offset;
2262 }
2263
2264
2265 static const ber_sequence_t DeleteNamedType_Request_sequence[] = {
2266   { &hf_mms_scopeOfDelete_02, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_T_scopeOfDelete_02 },
2267   { &hf_mms_listOfTypeName  , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_SEQUENCE_OF_ObjectName },
2268   { &hf_mms_domainName      , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_Identifier },
2269   { NULL, 0, 0, 0, NULL }
2270 };
2271
2272 static int
2273 dissect_mms_DeleteNamedType_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2274   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2275                                    DeleteNamedType_Request_sequence, hf_index, ett_mms_DeleteNamedType_Request);
2276
2277   return offset;
2278 }
2279
2280
2281 static const ber_sequence_t T_listOfPromptData_sequence_of[1] = {
2282   { &hf_mms_listOfPromptData_item, BER_CLASS_UNI, BER_UNI_TAG_VisibleString, BER_FLAGS_NOOWNTAG, dissect_mms_VisibleString },
2283 };
2284
2285 static int
2286 dissect_mms_T_listOfPromptData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2287   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
2288                                       T_listOfPromptData_sequence_of, hf_index, ett_mms_T_listOfPromptData);
2289
2290   return offset;
2291 }
2292
2293
2294 static const ber_sequence_t Input_Request_sequence[] = {
2295   { &hf_mms_operatorStationName, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mms_Identifier },
2296   { &hf_mms_echo            , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_BOOLEAN },
2297   { &hf_mms_listOfPromptData, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_T_listOfPromptData },
2298   { &hf_mms_inputTimeOut    , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_Unsigned32 },
2299   { NULL, 0, 0, 0, NULL }
2300 };
2301
2302 static int
2303 dissect_mms_Input_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2304   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2305                                    Input_Request_sequence, hf_index, ett_mms_Input_Request);
2306
2307   return offset;
2308 }
2309
2310
2311 static const ber_sequence_t T_listOfOutputData_sequence_of[1] = {
2312   { &hf_mms_listOfOutputData_item, BER_CLASS_UNI, BER_UNI_TAG_VisibleString, BER_FLAGS_NOOWNTAG, dissect_mms_VisibleString },
2313 };
2314
2315 static int
2316 dissect_mms_T_listOfOutputData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2317   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
2318                                       T_listOfOutputData_sequence_of, hf_index, ett_mms_T_listOfOutputData);
2319
2320   return offset;
2321 }
2322
2323
2324 static const ber_sequence_t Output_Request_sequence[] = {
2325   { &hf_mms_operatorStationName, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mms_Identifier },
2326   { &hf_mms_listOfOutputData, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_mms_T_listOfOutputData },
2327   { NULL, 0, 0, 0, NULL }
2328 };
2329
2330 static int
2331 dissect_mms_Output_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2332   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2333                                    Output_Request_sequence, hf_index, ett_mms_Output_Request);
2334
2335   return offset;
2336 }
2337
2338
2339
2340 static int
2341 dissect_mms_T_ap_title(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2342 #line 27 "mms.cnf"
2343   offset=dissect_acse_AP_title(FALSE, tvb, offset, actx, tree, hf_mms_ap_title);
2344
2345
2346
2347   return offset;
2348 }
2349
2350
2351
2352 static int
2353 dissect_mms_T_ap_invocation_id(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2354 #line 30 "mms.cnf"
2355   offset=dissect_acse_AP_invocation_identifier(FALSE, tvb, offset, actx, tree, hf_mms_ap_invocation_id);
2356
2357
2358
2359   return offset;
2360 }
2361
2362
2363
2364 static int
2365 dissect_mms_T_ae_qualifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2366 #line 33 "mms.cnf"
2367   offset=dissect_acse_AE_qualifier(FALSE, tvb, offset, actx, tree, hf_mms_ae_qualifier);
2368
2369
2370
2371   return offset;
2372 }
2373
2374
2375
2376 static int
2377 dissect_mms_T_ae_invocation_id(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2378 #line 36 "mms.cnf"
2379   offset=dissect_acse_AE_invocation_identifier(FALSE, tvb, offset, actx, tree, hf_mms_ae_invocation_id);
2380
2381
2382
2383   return offset;
2384 }
2385
2386
2387 static const ber_sequence_t ApplicationReference_sequence[] = {
2388   { &hf_mms_ap_title        , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_mms_T_ap_title },
2389   { &hf_mms_ap_invocation_id, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_mms_T_ap_invocation_id },
2390   { &hf_mms_ae_qualifier    , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_mms_T_ae_qualifier },
2391   { &hf_mms_ae_invocation_id, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_mms_T_ae_invocation_id },
2392   { NULL, 0, 0, 0, NULL }
2393 };
2394
2395 static int
2396 dissect_mms_ApplicationReference(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2397   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2398                                    ApplicationReference_sequence, hf_index, ett_mms_ApplicationReference);
2399
2400   return offset;
2401 }
2402
2403
2404 static const ber_sequence_t TakeControl_Request_sequence[] = {
2405   { &hf_mms_semaphoreName   , BER_CLASS_CON, 0, BER_FLAGS_NOTCHKTAG, dissect_mms_ObjectName },
2406   { &hf_mms_namedToken      , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_Identifier },
2407   { &hf_mms_priority        , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_Priority },
2408   { &hf_mms_acceptableDelay , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_Unsigned32 },
2409   { &hf_mms_controlTimeOut  , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_Unsigned32 },
2410   { &hf_mms_abortOnTimeOut  , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_BOOLEAN },
2411   { &hf_mms_relinquishIfConnectionLost, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_BOOLEAN },
2412   { &hf_mms_applicationToPreempt, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_ApplicationReference },
2413   { NULL, 0, 0, 0, NULL }
2414 };
2415
2416 static int
2417 dissect_mms_TakeControl_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2418   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2419                                    TakeControl_Request_sequence, hf_index, ett_mms_TakeControl_Request);
2420
2421   return offset;
2422 }
2423
2424
2425 static const ber_sequence_t RelinquishControl_Request_sequence[] = {
2426   { &hf_mms_semaphoreName   , BER_CLASS_CON, 0, BER_FLAGS_NOTCHKTAG, dissect_mms_ObjectName },
2427   { &hf_mms_namedToken      , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_Identifier },
2428   { NULL, 0, 0, 0, NULL }
2429 };
2430
2431 static int
2432 dissect_mms_RelinquishControl_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2433   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2434                                    RelinquishControl_Request_sequence, hf_index, ett_mms_RelinquishControl_Request);
2435
2436   return offset;
2437 }
2438
2439
2440
2441 static int
2442 dissect_mms_Unsigned16(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2443   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
2444                                                 NULL);
2445
2446   return offset;
2447 }
2448
2449
2450 static const ber_sequence_t DefineSemaphore_Request_sequence[] = {
2451   { &hf_mms_semaphoreName   , BER_CLASS_CON, 0, BER_FLAGS_NOTCHKTAG, dissect_mms_ObjectName },
2452   { &hf_mms_numbersOfTokens , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_mms_Unsigned16 },
2453   { NULL, 0, 0, 0, NULL }
2454 };
2455
2456 static int
2457 dissect_mms_DefineSemaphore_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2458   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2459                                    DefineSemaphore_Request_sequence, hf_index, ett_mms_DefineSemaphore_Request);
2460
2461   return offset;
2462 }
2463
2464
2465
2466 static int
2467 dissect_mms_DeleteSemaphore_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2468   offset = dissect_mms_ObjectName(implicit_tag, tvb, offset, actx, tree, hf_index);
2469
2470   return offset;
2471 }
2472
2473
2474
2475 static int
2476 dissect_mms_ReportSemaphoreStatus_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2477   offset = dissect_mms_ObjectName(implicit_tag, tvb, offset, actx, tree, hf_index);
2478
2479   return offset;
2480 }
2481
2482
2483 static const ber_sequence_t ReportPoolSemaphoreStatus_Request_sequence[] = {
2484   { &hf_mms_semaphoreName   , BER_CLASS_CON, 0, BER_FLAGS_NOTCHKTAG, dissect_mms_ObjectName },
2485   { &hf_mms_nameToStartAfter, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_Identifier },
2486   { NULL, 0, 0, 0, NULL }
2487 };
2488
2489 static int
2490 dissect_mms_ReportPoolSemaphoreStatus_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2491   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2492                                    ReportPoolSemaphoreStatus_Request_sequence, hf_index, ett_mms_ReportPoolSemaphoreStatus_Request);
2493
2494   return offset;
2495 }
2496
2497
2498 static const value_string mms_T_state_vals[] = {
2499   {   0, "queued" },
2500   {   1, "owner" },
2501   {   2, "hung" },
2502   { 0, NULL }
2503 };
2504
2505
2506 static int
2507 dissect_mms_T_state(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2508   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
2509                                                 NULL);
2510
2511   return offset;
2512 }
2513
2514
2515 static const ber_sequence_t ReportSemaphoreEntryStatus_Request_sequence[] = {
2516   { &hf_mms_semaphoreName   , BER_CLASS_CON, 0, BER_FLAGS_NOTCHKTAG, dissect_mms_ObjectName },
2517   { &hf_mms_state_02        , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_mms_T_state },
2518   { &hf_mms_entryIdToStartAfter, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_OCTET_STRING },
2519   { NULL, 0, 0, 0, NULL }
2520 };
2521
2522 static int
2523 dissect_mms_ReportSemaphoreEntryStatus_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2524   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2525                                    ReportSemaphoreEntryStatus_Request_sequence, hf_index, ett_mms_ReportSemaphoreEntryStatus_Request);
2526
2527   return offset;
2528 }
2529
2530
2531 static const ber_sequence_t T_listOfCapabilities_01_sequence_of[1] = {
2532   { &hf_mms_listOfCapabilities_item, BER_CLASS_UNI, BER_UNI_TAG_VisibleString, BER_FLAGS_NOOWNTAG, dissect_mms_VisibleString },
2533 };
2534
2535 static int
2536 dissect_mms_T_listOfCapabilities_01(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2537   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
2538                                       T_listOfCapabilities_01_sequence_of, hf_index, ett_mms_T_listOfCapabilities_01);
2539
2540   return offset;
2541 }
2542
2543
2544 static const ber_sequence_t InitiateDownloadSequence_Request_sequence[] = {
2545   { &hf_mms_domainName      , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mms_Identifier },
2546   { &hf_mms_listOfCapabilities_01, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_mms_T_listOfCapabilities_01 },
2547   { &hf_mms_sharable        , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_mms_BOOLEAN },
2548   { NULL, 0, 0, 0, NULL }
2549 };
2550
2551 static int
2552 dissect_mms_InitiateDownloadSequence_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2553   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2554                                    InitiateDownloadSequence_Request_sequence, hf_index, ett_mms_InitiateDownloadSequence_Request);
2555
2556   return offset;
2557 }
2558
2559
2560
2561 static int
2562 dissect_mms_DownloadSegment_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2563   offset = dissect_mms_Identifier(implicit_tag, tvb, offset, actx, tree, hf_index);
2564
2565   return offset;
2566 }
2567
2568
2569 static const value_string mms_T_vmd_state_vals[] = {
2570   {   0, "other" },
2571   {   1, "vmd-state-conflict" },
2572   {   2, "vmd-operational-problem" },
2573   {   3, "domain-transfer-problem" },
2574   {   4, "state-machine-id-invalid" },
2575   { 0, NULL }
2576 };
2577
2578
2579 static int
2580 dissect_mms_T_vmd_state(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2581   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
2582                                                 NULL);
2583
2584   return offset;
2585 }
2586
2587
2588 static const value_string mms_T_application_reference_vals[] = {
2589   {   0, "other" },
2590   {   1, "aplication-unreachable" },
2591   {   2, "connection-lost" },
2592   {   3, "application-reference-invalid" },
2593   {   4, "context-unsupported" },
2594   { 0, NULL }
2595 };
2596
2597
2598 static int
2599 dissect_mms_T_application_reference(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2600   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
2601                                                 NULL);
2602
2603   return offset;
2604 }
2605
2606
2607 static const value_string mms_T_definition_vals[] = {
2608   {   0, "other" },
2609   {   1, "object-undefined" },
2610   {   2, "invalid-address" },
2611   {   3, "type-unsupported" },
2612   {   4, "type-inconsistent" },
2613   {   5, "object-exists" },
2614   {   6, "object-attribute-inconsistent" },
2615   { 0, NULL }
2616 };
2617
2618
2619 static int
2620 dissect_mms_T_definition(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2621   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
2622                                                 NULL);
2623
2624   return offset;
2625 }
2626
2627
2628 static const value_string mms_T_resource_vals[] = {
2629   {   0, "other" },
2630   {   1, "memory-unavailable" },
2631   {   2, "processor-resource-unavailable" },
2632   {   3, "mass-storage-unavailable" },
2633   {   4, "capability-unavailable" },
2634   {   5, "capability-unknown" },
2635   { 0, NULL }
2636 };
2637
2638
2639 static int
2640 dissect_mms_T_resource(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2641   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
2642                                                 NULL);
2643
2644   return offset;
2645 }
2646
2647
2648 static const value_string mms_T_service_vals[] = {
2649   {   0, "other" },
2650   {   1, "primitives-out-of-sequence" },
2651   {   2, "object-sate-conflict" },
2652   {   3, "pdu-size" },
2653   {   4, "continuation-invalid" },
2654   {   5, "object-constraint-conflict" },
2655   { 0, NULL }
2656 };
2657
2658
2659 static int
2660 dissect_mms_T_service(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2661   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
2662                                                 NULL);
2663
2664   return offset;
2665 }
2666
2667
2668 static const value_string mms_T_service_preempt_vals[] = {
2669   {   0, "other" },
2670   {   1, "timeout" },
2671   {   2, "deadlock" },
2672   {   3, "cancel" },
2673   { 0, NULL }
2674 };
2675
2676
2677 static int
2678 dissect_mms_T_service_preempt(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2679   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
2680                                                 NULL);
2681
2682   return offset;
2683 }
2684
2685
2686 static const value_string mms_T_time_resolution_vals[] = {
2687   {   0, "other" },
2688   {   1, "unsupportable-time-resolution" },
2689   { 0, NULL }
2690 };
2691
2692
2693 static int
2694 dissect_mms_T_time_resolution(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2695   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
2696                                                 NULL);
2697
2698   return offset;
2699 }
2700
2701
2702 static const value_string mms_T_access_vals[] = {
2703   {   0, "other" },
2704   {   1, "object-access-unsupported" },
2705   {   2, "object-non-existent" },
2706   {   3, "object-access-denied" },
2707   {   4, "object-invalidated" },
2708   { 0, NULL }
2709 };
2710
2711
2712 static int
2713 dissect_mms_T_access(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2714   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
2715                                                 NULL);
2716
2717   return offset;
2718 }
2719
2720
2721 static const value_string mms_T_initiate_vals[] = {
2722   {   0, "other" },
2723   {   1, "version-incompatible" },
2724   {   2, "max-segment-insufficient" },
2725   {   3, "max-services-outstanding-calling-insufficient" },
2726   {   4, "max-services-outstanding-called-insufficient" },
2727   {   5, "service-CBB-insufficient" },
2728   {   6, "parameter-CBB-insufficient" },
2729   {   7, "nesting-level-insufficient" },
2730   { 0, NULL }
2731 };
2732
2733
2734 static int
2735 dissect_mms_T_initiate(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2736   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
2737                                                 NULL);
2738
2739   return offset;
2740 }
2741
2742
2743 static const value_string mms_T_conclude_vals[] = {
2744   {   0, "other" },
2745   {   1, "further-communication-required" },
2746   { 0, NULL }
2747 };
2748
2749
2750 static int
2751 dissect_mms_T_conclude(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2752   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
2753                                                 NULL);
2754
2755   return offset;
2756 }
2757
2758
2759 static const value_string mms_T_cancel_vals[] = {
2760   {   0, "other" },
2761   {   1, "invoke-id-unknown" },
2762   {   2, "cancel-not-possible" },
2763   { 0, NULL }
2764 };
2765
2766
2767 static int
2768 dissect_mms_T_cancel(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2769   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
2770                                                 NULL);
2771
2772   return offset;
2773 }
2774
2775
2776 static const value_string mms_T_file_vals[] = {
2777   {   0, "other" },
2778   {   1, "filename-ambiguous" },
2779   {   2, "file-busy" },
2780   {   3, "filename-syntax-error" },
2781   {   4, "content-type-invalid" },
2782   {   5, "position-invalid" },
2783   {   6, "file-acces-denied" },
2784   {   7, "file-non-existent" },
2785   {   8, "duplicate-filename" },
2786   {   9, "insufficient-space-in-filestore" },
2787   { 0, NULL }
2788 };
2789
2790
2791 static int
2792 dissect_mms_T_file(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2793   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
2794                                                 NULL);
2795
2796   return offset;
2797 }
2798
2799
2800 static const value_string mms_T_errorClass_vals[] = {
2801   {   0, "vmd-state" },
2802   {   1, "application-reference" },
2803   {   2, "definition" },
2804   {   3, "resource" },
2805   {   4, "service" },
2806   {   5, "service-preempt" },
2807   {   6, "time-resolution" },
2808   {   7, "access" },
2809   {   8, "initiate" },
2810   {   9, "conclude" },
2811   {  10, "cancel" },
2812   {  11, "file" },
2813   {  12, "others" },
2814   { 0, NULL }
2815 };
2816
2817 static const ber_choice_t T_errorClass_choice[] = {
2818   {   0, &hf_mms_vmd_state       , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mms_T_vmd_state },
2819   {   1, &hf_mms_application_reference, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_mms_T_application_reference },
2820   {   2, &hf_mms_definition      , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_mms_T_definition },
2821   {   3, &hf_mms_resource        , BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_mms_T_resource },
2822   {   4, &hf_mms_service         , BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_mms_T_service },
2823   {   5, &hf_mms_service_preempt , BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_mms_T_service_preempt },
2824   {   6, &hf_mms_time_resolution , BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_mms_T_time_resolution },
2825   {   7, &hf_mms_access          , BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_mms_T_access },
2826   {   8, &hf_mms_initiate        , BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_mms_T_initiate },
2827   {   9, &hf_mms_conclude        , BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_mms_T_conclude },
2828   {  10, &hf_mms_cancel          , BER_CLASS_CON, 10, BER_FLAGS_IMPLTAG, dissect_mms_T_cancel },
2829   {  11, &hf_mms_file            , BER_CLASS_CON, 11, BER_FLAGS_IMPLTAG, dissect_mms_T_file },
2830   {  12, &hf_mms_others          , BER_CLASS_CON, 12, BER_FLAGS_IMPLTAG, dissect_mms_INTEGER },
2831   { 0, NULL, 0, 0, 0, NULL }
2832 };
2833
2834 static int
2835 dissect_mms_T_errorClass(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2836   offset = dissect_ber_choice(actx, tree, tvb, offset,
2837                                  T_errorClass_choice, hf_index, ett_mms_T_errorClass,
2838                                  NULL);
2839
2840   return offset;
2841 }
2842
2843
2844 static const value_string mms_ObtainFile_Error_vals[] = {
2845   {   0, "source-file" },
2846   {   1, "destination-file" },
2847   { 0, NULL }
2848 };
2849
2850
2851 static int
2852 dissect_mms_ObtainFile_Error(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2853   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
2854                                                 NULL);
2855
2856   return offset;
2857 }
2858
2859
2860 static const value_string mms_ProgramInvocationState_vals[] = {
2861   {   0, "non-existent" },
2862   {   1, "unrunable" },
2863   {   2, "idle" },
2864   {   3, "running" },
2865   {   4, "stopped" },
2866   {   5, "starting" },
2867   {   6, "stopping" },
2868   {   7, "resuming" },
2869   {   8, "resetting" },
2870   { 0, NULL }
2871 };
2872
2873
2874 static int
2875 dissect_mms_ProgramInvocationState(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2876   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
2877                                                 NULL);
2878
2879   return offset;
2880 }
2881
2882
2883
2884 static int
2885 dissect_mms_Start_Error(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2886   offset = dissect_mms_ProgramInvocationState(implicit_tag, tvb, offset, actx, tree, hf_index);
2887
2888   return offset;
2889 }
2890
2891
2892
2893 static int
2894 dissect_mms_Stop_Error(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2895   offset = dissect_mms_ProgramInvocationState(implicit_tag, tvb, offset, actx, tree, hf_index);
2896
2897   return offset;
2898 }
2899
2900
2901
2902 static int
2903 dissect_mms_Resume_Error(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2904   offset = dissect_mms_ProgramInvocationState(implicit_tag, tvb, offset, actx, tree, hf_index);
2905
2906   return offset;
2907 }
2908
2909
2910
2911 static int
2912 dissect_mms_Reset_Error(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2913   offset = dissect_mms_ProgramInvocationState(implicit_tag, tvb, offset, actx, tree, hf_index);
2914
2915   return offset;
2916 }
2917
2918
2919
2920 static int
2921 dissect_mms_DeleteVariableAccess_Error(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2922   offset = dissect_mms_Unsigned32(implicit_tag, tvb, offset, actx, tree, hf_index);
2923
2924   return offset;
2925 }
2926
2927
2928
2929 static int
2930 dissect_mms_DeleteNamedVariableList_Error(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2931   offset = dissect_mms_Unsigned32(implicit_tag, tvb, offset, actx, tree, hf_index);
2932
2933   return offset;
2934 }
2935
2936
2937
2938 static int
2939 dissect_mms_DeleteNamedType_Error(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2940   offset = dissect_mms_Unsigned32(implicit_tag, tvb, offset, actx, tree, hf_index);
2941
2942   return offset;
2943 }
2944
2945
2946
2947 static int
2948 dissect_mms_DefineEventEnrollment_Error(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2949   offset = dissect_mms_ObjectName(implicit_tag, tvb, offset, actx, tree, hf_index);
2950
2951   return offset;
2952 }
2953
2954
2955 static const value_string mms_FileRename_Error_vals[] = {
2956   {   0, "source-file" },
2957   {   1, "destination-file" },
2958   { 0, NULL }
2959 };
2960
2961
2962 static int
2963 dissect_mms_FileRename_Error(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2964   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
2965                                                 NULL);
2966
2967   return offset;
2968 }
2969
2970
2971 static const value_string mms_T_serviceSpecificInformation_vals[] = {
2972   {   0, "obtainFile" },
2973   {   1, "start" },
2974   {   2, "stop" },
2975   {   3, "resume" },
2976   {   4, "reset" },
2977   {   5, "deleteVariableAccess" },
2978   {   6, "deleteNamedVariableList" },
2979   {   7, "deleteNamedType" },
2980   {   8, "defineEventEnrollment-Error" },
2981   {   9, "fileRename" },
2982   { 0, NULL }
2983 };
2984
2985 static const ber_choice_t T_serviceSpecificInformation_choice[] = {
2986   {   0, &hf_mms_obtainFile_02   , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mms_ObtainFile_Error },
2987   {   1, &hf_mms_start_02        , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_mms_Start_Error },
2988   {   2, &hf_mms_stop_02         , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_mms_Stop_Error },
2989   {   3, &hf_mms_resume_02       , BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_mms_Resume_Error },
2990   {   4, &hf_mms_reset_02        , BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_mms_Reset_Error },
2991   {   5, &hf_mms_deleteVariableAccess_02, BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_mms_DeleteVariableAccess_Error },
2992   {   6, &hf_mms_deleteNamedVariableList_02, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_mms_DeleteNamedVariableList_Error },
2993   {   7, &hf_mms_deleteNamedType_02, BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_mms_DeleteNamedType_Error },
2994   {   8, &hf_mms_defineEventEnrollment_Error, BER_CLASS_CON, 8, 0, dissect_mms_DefineEventEnrollment_Error },
2995   {   9, &hf_mms_fileRename_02   , BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_mms_FileRename_Error },
2996   { 0, NULL, 0, 0, 0, NULL }
2997 };
2998
2999 static int
3000 dissect_mms_T_serviceSpecificInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3001   offset = dissect_ber_choice(actx, tree, tvb, offset,
3002                                  T_serviceSpecificInformation_choice, hf_index, ett_mms_T_serviceSpecificInformation,
3003                                  NULL);
3004
3005   return offset;
3006 }
3007
3008
3009 static const ber_sequence_t ServiceError_sequence[] = {
3010   { &hf_mms_errorClass      , BER_CLASS_CON, 0, 0, dissect_mms_T_errorClass },
3011   { &hf_mms_additionalCode  , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_INTEGER },
3012   { &hf_mms_additionalDescription, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_VisibleString },
3013   { &hf_mms_serviceSpecificInformation, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_mms_T_serviceSpecificInformation },
3014   { NULL, 0, 0, 0, NULL }
3015 };
3016
3017 static int
3018 dissect_mms_ServiceError(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3019   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3020                                    ServiceError_sequence, hf_index, ett_mms_ServiceError);
3021
3022   return offset;
3023 }
3024
3025
3026 static const ber_sequence_t TerminateDownloadSequence_Request_sequence[] = {
3027   { &hf_mms_domainName      , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mms_Identifier },
3028   { &hf_mms_discard         , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_ServiceError },
3029   { NULL, 0, 0, 0, NULL }
3030 };
3031
3032 static int
3033 dissect_mms_TerminateDownloadSequence_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3034   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3035                                    TerminateDownloadSequence_Request_sequence, hf_index, ett_mms_TerminateDownloadSequence_Request);
3036
3037   return offset;
3038 }
3039
3040
3041
3042 static int
3043 dissect_mms_InitiateUploadSequence_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3044   offset = dissect_mms_Identifier(implicit_tag, tvb, offset, actx, tree, hf_index);
3045
3046   return offset;
3047 }
3048
3049
3050
3051 static int
3052 dissect_mms_UploadSegment_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3053   offset = dissect_mms_Integer32(implicit_tag, tvb, offset, actx, tree, hf_index);
3054
3055   return offset;
3056 }
3057
3058
3059
3060 static int
3061 dissect_mms_TerminateUploadSequence_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3062   offset = dissect_mms_Integer32(implicit_tag, tvb, offset, actx, tree, hf_index);
3063
3064   return offset;
3065 }
3066
3067
3068 static const ber_sequence_t T_listOfCapabilities_03_sequence_of[1] = {
3069   { &hf_mms_listOfCapabilities_item, BER_CLASS_UNI, BER_UNI_TAG_VisibleString, BER_FLAGS_NOOWNTAG, dissect_mms_VisibleString },
3070 };
3071
3072 static int
3073 dissect_mms_T_listOfCapabilities_03(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3074   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
3075                                       T_listOfCapabilities_03_sequence_of, hf_index, ett_mms_T_listOfCapabilities_03);
3076
3077   return offset;
3078 }
3079
3080
3081
3082 static int
3083 dissect_mms_GraphicString(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3084   offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_GraphicString,
3085                                             actx, tree, tvb, offset, hf_index,
3086                                             NULL);
3087
3088   return offset;
3089 }
3090
3091
3092 static const ber_sequence_t FileName_sequence_of[1] = {
3093   { &hf_mms_FileName_item   , BER_CLASS_UNI, BER_UNI_TAG_GraphicString, BER_FLAGS_NOOWNTAG, dissect_mms_GraphicString },
3094 };
3095
3096 static int
3097 dissect_mms_FileName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3098   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
3099                                       FileName_sequence_of, hf_index, ett_mms_FileName);
3100
3101   return offset;
3102 }
3103
3104
3105 static const ber_sequence_t RequestDomainDownload_Request_sequence[] = {
3106   { &hf_mms_domainName      , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mms_Identifier },
3107   { &hf_mms_listOfCapabilities_03, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_T_listOfCapabilities_03 },
3108   { &hf_mms_sharable        , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_mms_BOOLEAN },
3109   { &hf_mms_fileName        , BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_mms_FileName },
3110   { NULL, 0, 0, 0, NULL }
3111 };
3112
3113 static int
3114 dissect_mms_RequestDomainDownload_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3115   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3116                                    RequestDomainDownload_Request_sequence, hf_index, ett_mms_RequestDomainDownload_Request);
3117
3118   return offset;
3119 }
3120
3121
3122 static const ber_sequence_t RequestDomainUpload_Request_sequence[] = {
3123   { &hf_mms_domainName      , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mms_Identifier },
3124   { &hf_mms_fileName        , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_mms_FileName },
3125   { NULL, 0, 0, 0, NULL }
3126 };
3127
3128 static int
3129 dissect_mms_RequestDomainUpload_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3130   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3131                                    RequestDomainUpload_Request_sequence, hf_index, ett_mms_RequestDomainUpload_Request);
3132
3133   return offset;
3134 }
3135
3136
3137 static const ber_sequence_t T_listOfCapabilities_04_sequence_of[1] = {
3138   { &hf_mms_listOfCapabilities_item, BER_CLASS_UNI, BER_UNI_TAG_VisibleString, BER_FLAGS_NOOWNTAG, dissect_mms_VisibleString },
3139 };
3140
3141 static int
3142 dissect_mms_T_listOfCapabilities_04(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3143   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
3144                                       T_listOfCapabilities_04_sequence_of, hf_index, ett_mms_T_listOfCapabilities_04);
3145
3146   return offset;
3147 }
3148
3149
3150 static const ber_sequence_t LoadDomainContent_Request_sequence[] = {
3151   { &hf_mms_domainName      , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mms_Identifier },
3152   { &hf_mms_listOfCapabilities_04, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_T_listOfCapabilities_04 },
3153   { &hf_mms_sharable        , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_mms_BOOLEAN },
3154   { &hf_mms_fileName        , BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_mms_FileName },
3155   { &hf_mms_thirdParty      , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_ApplicationReference },
3156   { NULL, 0, 0, 0, NULL }
3157 };
3158
3159 static int
3160 dissect_mms_LoadDomainContent_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3161   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3162                                    LoadDomainContent_Request_sequence, hf_index, ett_mms_LoadDomainContent_Request);
3163
3164   return offset;
3165 }
3166
3167
3168 static const ber_sequence_t StoreDomainContent_Request_sequence[] = {
3169   { &hf_mms_domainName      , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mms_Identifier },
3170   { &hf_mms_filenName       , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_mms_FileName },
3171   { &hf_mms_thirdParty      , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mms_ApplicationReference },
3172   { NULL, 0, 0, 0, NULL }
3173 };
3174
3175 static int
3176 dissect_mms_StoreDomainContent_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3177   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3178                                    StoreDomainContent_Request_sequence, hf_index, ett_mms_StoreDomainContent_Request);
3179
3180   return offset;
3181 }
3182
3183
3184
3185 static int
3186 dissect_mms_DeleteDomain_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3187   offset = dissect_mms_Identifier(implicit_tag, tvb, offset, actx, tree, hf_index);
3188
3189   return offset;
3190 }
3191
3192
3193
3194 static int
3195 dissect_mms_GetDomainAttributes_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3196   offset = dissect_mms_Identifier(implicit_tag, tvb, offset, actx, tree, hf_index);
3197
3198   return offset;
3199 }
3200
3201
3202 static const ber_sequence_t SEQUENCE_OF_Identifier_sequence_of[1] = {