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