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