1 /* Do not modify this file. Changes will be overwritten. */
2 /* Generated automatically by the ASN.1 to Wireshark dissector compiler */
4 /* asn2wrs.py -b -q -L -p mms -c ./mms.cnf -s ./packet-mms-template -D . -O ../.. mms.asn */
10 * Wireshark - Network traffic analyzer
11 * By Gerald Combs <gerald@wireshark.org>
12 * Copyright 1998 Gerald Combs
14 * SPDX-License-Identifier: GPL-2.0-or-later
19 #include <epan/packet.h>
20 #include <epan/prefs.h>
21 #include <epan/asn1.h>
22 #include <epan/expert.h>
23 #include <epan/proto_data.h>
24 #include <epan/conversation.h>
25 #include <wsutil/array.h>
27 #include "packet-ber.h"
28 #include "packet-acse.h"
29 #include "packet-mms.h"
35 void proto_register_mms(void);
36 void proto_reg_handoff_mms(void);
38 static bool use_iec61850_mapping
= true;
40 /* Initialize the protocol and registered fields */
44 static int hf_mms_response_in
;
45 static int hf_mms_response_to
;
46 static int hf_mms_response_time
;
48 /* IEC 61850-8-1 filters */
49 static int hf_mms_iec61850_rptid
;
50 static int hf_mms_iec61850_reported_optflds
;
51 static int hf_mms_iec61850_seqnum
;
52 static int hf_mms_iec61850_timeofentry
;
53 static int hf_mms_iec61850_datset
;
54 static int hf_mms_iec61850_bufovfl
;
55 static int hf_mms_iec61850_confrev
;
56 static int hf_mms_iec61850_inclusion_bitstring
;
57 static int hf_mms_iec61850_ctlModel
;
59 static int hf_mms_iec61850_QualityC0
;
60 static int hf_mms_iec61850_Quality20
;
61 static int hf_mms_iec61850_Quality10
;
62 static int hf_mms_iec61850_Quality8
;
63 static int hf_mms_iec61850_Quality4
;
64 static int hf_mms_iec61850_Quality2
;
65 static int hf_mms_iec61850_Quality1
;
66 static int hf_mms_iec61850_Quality0080
;
67 static int hf_mms_iec61850_Quality0040
;
68 static int hf_mms_iec61850_Quality0020
;
69 static int hf_mms_iec61850_Quality0010
;
70 static int hf_mms_iec61850_Quality0008
;
71 static int hf_mms_iec61850_quality_bitstring
;
72 static int hf_mms_iec61850_timequality80
;
73 static int hf_mms_iec61850_timequality40
;
74 static int hf_mms_iec61850_timequality20
;
75 static int hf_mms_iec61850_timequality1F
;
76 static int hf_mms_iec61850_check_bitstring
;
77 static int hf_mms_iec61850_check_b15
;
78 static int hf_mms_iec61850_check_b14
;
79 static int hf_mms_iec61850_check_b13_b0
;
80 static int hf_mms_iec61850_orcategory
;
81 static int hf_mms_iec61850_beh$stval
;
82 static int hf_mms_iec61850_mod$stval
;
83 static int hf_mms_iec61850_health$stval
;
84 static int hf_mms_iec61850_ctlval
;
85 static int hf_mms_iec61850_origin
;
86 static int hf_mms_iec61850_origin_orcat
;
87 static int hf_mms_iec61850_origin_orident
;
88 static int hf_mms_iec61850_ctlNum
;
89 static int hf_mms_iec61850_T
;
90 static int hf_mms_iec61850_test
;
92 static int hf_mms_confirmed_RequestPDU
; /* Confirmed_RequestPDU */
93 static int hf_mms_confirmed_ResponsePDU
; /* Confirmed_ResponsePDU */
94 static int hf_mms_confirmed_ErrorPDU
; /* Confirmed_ErrorPDU */
95 static int hf_mms_unconfirmed_PDU
; /* Unconfirmed_PDU */
96 static int hf_mms_rejectPDU
; /* RejectPDU */
97 static int hf_mms_cancel_RequestPDU
; /* Cancel_RequestPDU */
98 static int hf_mms_cancel_ResponsePDU
; /* Cancel_ResponsePDU */
99 static int hf_mms_cancel_ErrorPDU
; /* Cancel_ErrorPDU */
100 static int hf_mms_initiate_RequestPDU
; /* Initiate_RequestPDU */
101 static int hf_mms_initiate_ResponsePDU
; /* Initiate_ResponsePDU */
102 static int hf_mms_initiate_ErrorPDU
; /* Initiate_ErrorPDU */
103 static int hf_mms_conclude_RequestPDU
; /* Conclude_RequestPDU */
104 static int hf_mms_conclude_ResponsePDU
; /* Conclude_ResponsePDU */
105 static int hf_mms_conclude_ErrorPDU
; /* Conclude_ErrorPDU */
106 static int hf_mms_invokeID
; /* Unsigned32 */
107 static int hf_mms_listOfModifier
; /* SEQUENCE_OF_Modifier */
108 static int hf_mms_listOfModifier_item
; /* Modifier */
109 static int hf_mms_confirmedServiceRequest
; /* ConfirmedServiceRequest */
110 static int hf_mms_cs_request_detail
; /* CS_Request_Detail */
111 static int hf_mms_unconfirmedService
; /* UnconfirmedService */
112 static int hf_mms_confirmedServiceResponse
; /* ConfirmedServiceResponse */
113 static int hf_mms_modifierPosition
; /* Unsigned32 */
114 static int hf_mms_serviceError
; /* ServiceError */
115 static int hf_mms_informationReport
; /* InformationReport */
116 static int hf_mms_unsolicitedStatus
; /* UnsolicitedStatus */
117 static int hf_mms_eventNotification
; /* EventNotification */
118 static int hf_mms_attach_To_Event_Condition
; /* AttachToEventCondition */
119 static int hf_mms_attach_To_Semaphore
; /* AttachToSemaphore */
120 static int hf_mms_status
; /* Status_Request */
121 static int hf_mms_getNameList
; /* GetNameList_Request */
122 static int hf_mms_identify
; /* Identify_Request */
123 static int hf_mms_rename
; /* Rename_Request */
124 static int hf_mms_read
; /* Read_Request */
125 static int hf_mms_write
; /* Write_Request */
126 static int hf_mms_getVariableAccessAttributes
; /* GetVariableAccessAttributes_Request */
127 static int hf_mms_defineNamedVariable
; /* DefineNamedVariable_Request */
128 static int hf_mms_defineScatteredAccess
; /* DefineScatteredAccess_Request */
129 static int hf_mms_getScatteredAccessAttributes
; /* GetScatteredAccessAttributes_Request */
130 static int hf_mms_deleteVariableAccess
; /* DeleteVariableAccess_Request */
131 static int hf_mms_defineNamedVariableList
; /* DefineNamedVariableList_Request */
132 static int hf_mms_getNamedVariableListAttributes
; /* GetNamedVariableListAttributes_Request */
133 static int hf_mms_deleteNamedVariableList
; /* DeleteNamedVariableList_Request */
134 static int hf_mms_defineNamedType
; /* DefineNamedType_Request */
135 static int hf_mms_getNamedTypeAttributes
; /* GetNamedTypeAttributes_Request */
136 static int hf_mms_deleteNamedType
; /* DeleteNamedType_Request */
137 static int hf_mms_input
; /* Input_Request */
138 static int hf_mms_output
; /* Output_Request */
139 static int hf_mms_takeControl
; /* TakeControl_Request */
140 static int hf_mms_relinquishControl
; /* RelinquishControl_Request */
141 static int hf_mms_defineSemaphore
; /* DefineSemaphore_Request */
142 static int hf_mms_deleteSemaphore
; /* DeleteSemaphore_Request */
143 static int hf_mms_reportSemaphoreStatus
; /* ReportSemaphoreStatus_Request */
144 static int hf_mms_reportPoolSemaphoreStatus
; /* ReportPoolSemaphoreStatus_Request */
145 static int hf_mms_reportSemaphoreEntryStatus
; /* ReportSemaphoreEntryStatus_Request */
146 static int hf_mms_initiateDownloadSequence
; /* InitiateDownloadSequence_Request */
147 static int hf_mms_downloadSegment
; /* DownloadSegment_Request */
148 static int hf_mms_terminateDownloadSequence
; /* TerminateDownloadSequence_Request */
149 static int hf_mms_initiateUploadSequence
; /* InitiateUploadSequence_Request */
150 static int hf_mms_uploadSegment
; /* UploadSegment_Request */
151 static int hf_mms_terminateUploadSequence
; /* TerminateUploadSequence_Request */
152 static int hf_mms_requestDomainDownload
; /* RequestDomainDownload_Request */
153 static int hf_mms_requestDomainUpload
; /* RequestDomainUpload_Request */
154 static int hf_mms_loadDomainContent
; /* LoadDomainContent_Request */
155 static int hf_mms_storeDomainContent
; /* StoreDomainContent_Request */
156 static int hf_mms_deleteDomain
; /* DeleteDomain_Request */
157 static int hf_mms_getDomainAttributes
; /* GetDomainAttributes_Request */
158 static int hf_mms_createProgramInvocation
; /* CreateProgramInvocation_Request */
159 static int hf_mms_deleteProgramInvocation
; /* DeleteProgramInvocation_Request */
160 static int hf_mms_start
; /* Start_Request */
161 static int hf_mms_stop
; /* Stop_Request */
162 static int hf_mms_resume
; /* Resume_Request */
163 static int hf_mms_reset
; /* Reset_Request */
164 static int hf_mms_kill
; /* Kill_Request */
165 static int hf_mms_getProgramInvocationAttributes
; /* GetProgramInvocationAttributes_Request */
166 static int hf_mms_obtainFile
; /* ObtainFile_Request */
167 static int hf_mms_defineEventCondition
; /* DefineEventCondition_Request */
168 static int hf_mms_confirmedServiceRequest_deleteEventCondition
; /* DeleteEventCondition_Request */
169 static int hf_mms_getEventConditionAttributes
; /* GetEventConditionAttributes_Request */
170 static int hf_mms_reportEventConditionStatus
; /* ReportEventConditionStatus_Request */
171 static int hf_mms_alterEventConditionMonitoring
; /* AlterEventConditionMonitoring_Request */
172 static int hf_mms_triggerEvent
; /* TriggerEvent_Request */
173 static int hf_mms_defineEventAction
; /* DefineEventAction_Request */
174 static int hf_mms_confirmedServiceRequest_deleteEventAction
; /* DeleteEventAction_Request */
175 static int hf_mms_getEventActionAttributes
; /* GetEventActionAttributes_Request */
176 static int hf_mms_reportEventActionStatus
; /* ReportEventActionStatus_Request */
177 static int hf_mms_defineEventEnrollment
; /* DefineEventEnrollment_Request */
178 static int hf_mms_confirmedServiceRequest_deleteEventEnrollment
; /* DeleteEventEnrollment_Request */
179 static int hf_mms_alterEventEnrollment
; /* AlterEventEnrollment_Request */
180 static int hf_mms_reportEventEnrollmentStatus
; /* ReportEventEnrollmentStatus_Request */
181 static int hf_mms_getEventEnrollmentAttributes
; /* GetEventEnrollmentAttributes_Request */
182 static int hf_mms_acknowledgeEventNotification
; /* AcknowledgeEventNotification_Request */
183 static int hf_mms_getAlarmSummary
; /* GetAlarmSummary_Request */
184 static int hf_mms_getAlarmEnrollmentSummary
; /* GetAlarmEnrollmentSummary_Request */
185 static int hf_mms_readJournal
; /* ReadJournal_Request */
186 static int hf_mms_writeJournal
; /* WriteJournal_Request */
187 static int hf_mms_initializeJournal
; /* InitializeJournal_Request */
188 static int hf_mms_reportJournalStatus
; /* ReportJournalStatus_Request */
189 static int hf_mms_createJournal
; /* CreateJournal_Request */
190 static int hf_mms_deleteJournal
; /* DeleteJournal_Request */
191 static int hf_mms_getCapabilityList
; /* GetCapabilityList_Request */
192 static int hf_mms_fileOpen
; /* FileOpen_Request */
193 static int hf_mms_fileRead
; /* FileRead_Request */
194 static int hf_mms_fileClose
; /* FileClose_Request */
195 static int hf_mms_fileRename
; /* FileRename_Request */
196 static int hf_mms_fileDelete
; /* FileDelete_Request */
197 static int hf_mms_fileDirectory
; /* FileDirectory_Request */
198 static int hf_mms_foo
; /* INTEGER */
199 static int hf_mms_status_01
; /* Status_Response */
200 static int hf_mms_getNameList_01
; /* GetNameList_Response */
201 static int hf_mms_identify_01
; /* Identify_Response */
202 static int hf_mms_rename_01
; /* Rename_Response */
203 static int hf_mms_read_01
; /* Read_Response */
204 static int hf_mms_write_01
; /* Write_Response */
205 static int hf_mms_getVariableAccessAttributes_01
; /* GetVariableAccessAttributes_Response */
206 static int hf_mms_defineNamedVariable_01
; /* DefineNamedVariable_Response */
207 static int hf_mms_defineScatteredAccess_01
; /* DefineScatteredAccess_Response */
208 static int hf_mms_getScatteredAccessAttributes_01
; /* GetScatteredAccessAttributes_Response */
209 static int hf_mms_deleteVariableAccess_01
; /* DeleteVariableAccess_Response */
210 static int hf_mms_defineNamedVariableList_01
; /* DefineNamedVariableList_Response */
211 static int hf_mms_getNamedVariableListAttributes_01
; /* GetNamedVariableListAttributes_Response */
212 static int hf_mms_deleteNamedVariableList_01
; /* DeleteNamedVariableList_Response */
213 static int hf_mms_defineNamedType_01
; /* DefineNamedType_Response */
214 static int hf_mms_getNamedTypeAttributes_01
; /* GetNamedTypeAttributes_Response */
215 static int hf_mms_deleteNamedType_01
; /* DeleteNamedType_Response */
216 static int hf_mms_input_01
; /* Input_Response */
217 static int hf_mms_output_01
; /* Output_Response */
218 static int hf_mms_takeControl_01
; /* TakeControl_Response */
219 static int hf_mms_relinquishControl_01
; /* RelinquishControl_Response */
220 static int hf_mms_defineSemaphore_01
; /* DefineSemaphore_Response */
221 static int hf_mms_deleteSemaphore_01
; /* DeleteSemaphore_Response */
222 static int hf_mms_reportSemaphoreStatus_01
; /* ReportSemaphoreStatus_Response */
223 static int hf_mms_reportPoolSemaphoreStatus_01
; /* ReportPoolSemaphoreStatus_Response */
224 static int hf_mms_reportSemaphoreEntryStatus_01
; /* ReportSemaphoreEntryStatus_Response */
225 static int hf_mms_initiateDownloadSequence_01
; /* InitiateDownloadSequence_Response */
226 static int hf_mms_downloadSegment_01
; /* DownloadSegment_Response */
227 static int hf_mms_terminateDownloadSequence_01
; /* TerminateDownloadSequence_Response */
228 static int hf_mms_initiateUploadSequence_01
; /* InitiateUploadSequence_Response */
229 static int hf_mms_uploadSegment_01
; /* UploadSegment_Response */
230 static int hf_mms_terminateUploadSequence_01
; /* TerminateUploadSequence_Response */
231 static int hf_mms_requestDomainDownLoad
; /* RequestDomainDownload_Response */
232 static int hf_mms_requestDomainUpload_01
; /* RequestDomainUpload_Response */
233 static int hf_mms_loadDomainContent_01
; /* LoadDomainContent_Response */
234 static int hf_mms_storeDomainContent_01
; /* StoreDomainContent_Response */
235 static int hf_mms_deleteDomain_01
; /* DeleteDomain_Response */
236 static int hf_mms_getDomainAttributes_01
; /* GetDomainAttributes_Response */
237 static int hf_mms_createProgramInvocation_01
; /* CreateProgramInvocation_Response */
238 static int hf_mms_deleteProgramInvocation_01
; /* DeleteProgramInvocation_Response */
239 static int hf_mms_start_01
; /* Start_Response */
240 static int hf_mms_stop_01
; /* Stop_Response */
241 static int hf_mms_resume_01
; /* Resume_Response */
242 static int hf_mms_reset_01
; /* Reset_Response */
243 static int hf_mms_kill_01
; /* Kill_Response */
244 static int hf_mms_getProgramInvocationAttributes_01
; /* GetProgramInvocationAttributes_Response */
245 static int hf_mms_obtainFile_01
; /* ObtainFile_Response */
246 static int hf_mms_fileOpen_01
; /* FileOpen_Response */
247 static int hf_mms_defineEventCondition_01
; /* DefineEventCondition_Response */
248 static int hf_mms_confirmedServiceResponse_deleteEventCondition
; /* DeleteEventCondition_Response */
249 static int hf_mms_getEventConditionAttributes_01
; /* GetEventConditionAttributes_Response */
250 static int hf_mms_reportEventConditionStatus_01
; /* ReportEventConditionStatus_Response */
251 static int hf_mms_alterEventConditionMonitoring_01
; /* AlterEventConditionMonitoring_Response */
252 static int hf_mms_triggerEvent_01
; /* TriggerEvent_Response */
253 static int hf_mms_defineEventAction_01
; /* DefineEventAction_Response */
254 static int hf_mms_confirmedServiceRequest_deleteEventAction_01
; /* DeleteEventAction_Response */
255 static int hf_mms_getEventActionAttributes_01
; /* GetEventActionAttributes_Response */
256 static int hf_mms_reportActionStatus
; /* ReportEventActionStatus_Response */
257 static int hf_mms_defineEventEnrollment_01
; /* DefineEventEnrollment_Response */
258 static int hf_mms_confirmedServiceResponse_deleteEventEnrollment
; /* DeleteEventEnrollment_Response */
259 static int hf_mms_alterEventEnrollment_01
; /* AlterEventEnrollment_Response */
260 static int hf_mms_reportEventEnrollmentStatus_01
; /* ReportEventEnrollmentStatus_Response */
261 static int hf_mms_getEventEnrollmentAttributes_01
; /* GetEventEnrollmentAttributes_Response */
262 static int hf_mms_acknowledgeEventNotification_01
; /* AcknowledgeEventNotification_Response */
263 static int hf_mms_getAlarmSummary_01
; /* GetAlarmSummary_Response */
264 static int hf_mms_getAlarmEnrollmentSummary_01
; /* GetAlarmEnrollmentSummary_Response */
265 static int hf_mms_readJournal_01
; /* ReadJournal_Response */
266 static int hf_mms_writeJournal_01
; /* WriteJournal_Response */
267 static int hf_mms_initializeJournal_01
; /* InitializeJournal_Response */
268 static int hf_mms_reportJournalStatus_01
; /* ReportJournalStatus_Response */
269 static int hf_mms_createJournal_01
; /* CreateJournal_Response */
270 static int hf_mms_deleteJournal_01
; /* DeleteJournal_Response */
271 static int hf_mms_getCapabilityList_01
; /* GetCapabilityList_Response */
272 static int hf_mms_fileRead_01
; /* FileRead_Response */
273 static int hf_mms_fileClose_01
; /* FileClose_Response */
274 static int hf_mms_fileRename_01
; /* FileRename_Response */
275 static int hf_mms_fileDelete_01
; /* FileDelete_Response */
276 static int hf_mms_fileDirectory_01
; /* FileDirectory_Response */
277 static int hf_mms_FileName_item
; /* GraphicString */
278 static int hf_mms_vmd_specific
; /* Identifier */
279 static int hf_mms_domain_specific
; /* T_domain_specific */
280 static int hf_mms_domainId
; /* Identifier */
281 static int hf_mms_objectName_domain_specific_itemId
; /* ObjectName_domain_specific_itemid */
282 static int hf_mms_aa_specific
; /* Identifier */
283 static int hf_mms_ap_title
; /* T_ap_title */
284 static int hf_mms_ap_invocation_id
; /* T_ap_invocation_id */
285 static int hf_mms_ae_qualifier
; /* T_ae_qualifier */
286 static int hf_mms_ae_invocation_id
; /* T_ae_invocation_id */
287 static int hf_mms_localDetailCalling
; /* Integer32 */
288 static int hf_mms_proposedMaxServOutstandingCalling
; /* Integer16 */
289 static int hf_mms_proposedMaxServOutstandingCalled
; /* Integer16 */
290 static int hf_mms_proposedDataStructureNestingLevel
; /* Integer8 */
291 static int hf_mms_mmsInitRequestDetail
; /* InitRequestDetail */
292 static int hf_mms_proposedVersionNumber
; /* Integer16 */
293 static int hf_mms_proposedParameterCBB
; /* ParameterSupportOptions */
294 static int hf_mms_servicesSupportedCalling
; /* ServiceSupportOptions */
295 static int hf_mms_localDetailCalled
; /* Integer32 */
296 static int hf_mms_negociatedMaxServOutstandingCalling
; /* Integer16 */
297 static int hf_mms_negociatedMaxServOutstandingCalled
; /* Integer16 */
298 static int hf_mms_negociatedDataStructureNestingLevel
; /* Integer8 */
299 static int hf_mms_mmsInitResponseDetail
; /* InitResponseDetail */
300 static int hf_mms_negociatedVersionNumber
; /* Integer16 */
301 static int hf_mms_negociatedParameterCBB
; /* ParameterSupportOptions */
302 static int hf_mms_servicesSupportedCalled
; /* ServiceSupportOptions */
303 static int hf_mms_originalInvokeID
; /* Unsigned32 */
304 static int hf_mms_errorClass
; /* T_errorClass */
305 static int hf_mms_vmd_state
; /* T_vmd_state */
306 static int hf_mms_application_reference
; /* T_application_reference */
307 static int hf_mms_definition
; /* T_definition */
308 static int hf_mms_resource
; /* T_resource */
309 static int hf_mms_service
; /* T_service */
310 static int hf_mms_service_preempt
; /* T_service_preempt */
311 static int hf_mms_time_resolution
; /* T_time_resolution */
312 static int hf_mms_access
; /* T_access */
313 static int hf_mms_initiate
; /* T_initiate */
314 static int hf_mms_conclude
; /* T_conclude */
315 static int hf_mms_cancel
; /* T_cancel */
316 static int hf_mms_file
; /* T_file */
317 static int hf_mms_others
; /* INTEGER */
318 static int hf_mms_additionalCode
; /* INTEGER */
319 static int hf_mms_additionalDescription
; /* VisibleString */
320 static int hf_mms_serviceSpecificInformation
; /* T_serviceSpecificInformation */
321 static int hf_mms_obtainFile_02
; /* ObtainFile_Error */
322 static int hf_mms_start_02
; /* Start_Error */
323 static int hf_mms_stop_02
; /* Stop_Error */
324 static int hf_mms_resume_02
; /* Resume_Error */
325 static int hf_mms_reset_02
; /* Reset_Error */
326 static int hf_mms_deleteVariableAccess_02
; /* DeleteVariableAccess_Error */
327 static int hf_mms_deleteNamedVariableList_02
; /* DeleteNamedVariableList_Error */
328 static int hf_mms_deleteNamedType_02
; /* DeleteNamedType_Error */
329 static int hf_mms_defineEventEnrollment_Error
; /* DefineEventEnrollment_Error */
330 static int hf_mms_fileRename_02
; /* FileRename_Error */
331 static int hf_mms_additionalService
; /* AdditionalService_Error */
332 static int hf_mms_changeAccessControl
; /* ChangeAccessControl_Error */
333 static int hf_mms_defineEcl
; /* DefineEventConditionList_Error */
334 static int hf_mms_addECLReference
; /* AddEventConditionListReference_Error */
335 static int hf_mms_removeECLReference
; /* RemoveEventConditionListReference_Error */
336 static int hf_mms_initiateUC
; /* InitiateUnitControl_Error */
337 static int hf_mms_startUC
; /* StartUnitControl_Error */
338 static int hf_mms_stopUC
; /* StopUnitControl_Error */
339 static int hf_mms_deleteUC
; /* DeleteUnitControl_Error */
340 static int hf_mms_loadUCFromFile
; /* LoadUnitControlFromFile_Error */
341 static int hf_mms_eventCondition
; /* ObjectName */
342 static int hf_mms_eventConditionList
; /* ObjectName */
343 static int hf_mms_domain
; /* Identifier */
344 static int hf_mms_programInvocation
; /* Identifier */
345 static int hf_mms_programInvocationName
; /* Identifier */
346 static int hf_mms_programInvocationState
; /* ProgramInvocationState */
347 static int hf_mms_none
; /* NULL */
348 static int hf_mms_rejectReason
; /* T_rejectReason */
349 static int hf_mms_confirmed_requestPDU
; /* T_confirmed_requestPDU */
350 static int hf_mms_confirmed_responsePDU
; /* T_confirmed_responsePDU */
351 static int hf_mms_confirmed_errorPDU
; /* T_confirmed_errorPDU */
352 static int hf_mms_unconfirmedPDU
; /* T_unconfirmedPDU */
353 static int hf_mms_pdu_error
; /* T_pdu_error */
354 static int hf_mms_cancel_requestPDU
; /* T_cancel_requestPDU */
355 static int hf_mms_cancel_responsePDU
; /* T_cancel_responsePDU */
356 static int hf_mms_cancel_errorPDU
; /* T_cancel_errorPDU */
357 static int hf_mms_conclude_requestPDU
; /* T_conclude_requestPDU */
358 static int hf_mms_conclude_responsePDU
; /* T_conclude_responsePDU */
359 static int hf_mms_conclude_errorPDU
; /* T_conclude_errorPDU */
360 static int hf_mms_vmdLogicalStatus
; /* T_vmdLogicalStatus */
361 static int hf_mms_vmdPhysicalStatus
; /* T_vmdPhysicalStatus */
362 static int hf_mms_localDetail
; /* BIT_STRING_SIZE_0_128 */
363 static int hf_mms_vmdSpecific
; /* NULL */
364 static int hf_mms_domainSpecific
; /* Identifier */
365 static int hf_mms_aaSpecific
; /* NULL */
366 static int hf_mms_extendedObjectClass
; /* T_extendedObjectClass */
367 static int hf_mms_objectClass
; /* ObjectClass */
368 static int hf_mms_objectScope
; /* ObjectScope */
369 static int hf_mms_getNameList_Request_continueAfter
; /* Identifier */
370 static int hf_mms_listOfIdentifier
; /* SEQUENCE_OF_Identifier */
371 static int hf_mms_listOfIdentifier_item
; /* Identifier */
372 static int hf_mms_moreFollows
; /* BOOLEAN */
373 static int hf_mms_vendorName
; /* VisibleString */
374 static int hf_mms_modelName
; /* VisibleString */
375 static int hf_mms_revision
; /* VisibleString */
376 static int hf_mms_listOfAbstractSyntaxes
; /* T_listOfAbstractSyntaxes */
377 static int hf_mms_listOfAbstractSyntaxes_item
; /* OBJECT_IDENTIFIER */
378 static int hf_mms_extendedObjectClass_01
; /* T_extendedObjectClass_01 */
379 static int hf_mms_objectClass_01
; /* T_objectClass */
380 static int hf_mms_currentName
; /* ObjectName */
381 static int hf_mms_newIdentifier
; /* Identifier */
382 static int hf_mms_getCapabilityList_Request_continueAfter
; /* VisibleString */
383 static int hf_mms_listOfCapabilities
; /* T_listOfCapabilities */
384 static int hf_mms_listOfCapabilities_item
; /* VisibleString */
385 static int hf_mms_domainName
; /* Identifier */
386 static int hf_mms_listOfCapabilities_01
; /* T_listOfCapabilities_01 */
387 static int hf_mms_sharable
; /* BOOLEAN */
388 static int hf_mms_loadData
; /* T_loadData */
389 static int hf_mms_non_coded
; /* OCTET_STRING */
390 static int hf_mms_coded
; /* EXTERNALt */
391 static int hf_mms_discard
; /* ServiceError */
392 static int hf_mms_ulsmID
; /* Integer32 */
393 static int hf_mms_listOfCapabilities_02
; /* T_listOfCapabilities_02 */
394 static int hf_mms_loadData_01
; /* T_loadData_01 */
395 static int hf_mms_listOfCapabilities_03
; /* T_listOfCapabilities_03 */
396 static int hf_mms_fileName
; /* FileName */
397 static int hf_mms_listOfCapabilities_04
; /* T_listOfCapabilities_04 */
398 static int hf_mms_thirdParty
; /* ApplicationReference */
399 static int hf_mms_filenName
; /* FileName */
400 static int hf_mms_listOfCapabilities_05
; /* T_listOfCapabilities_05 */
401 static int hf_mms_getDomainAttributes_Response_state
; /* DomainState */
402 static int hf_mms_mmsDeletable
; /* BOOLEAN */
403 static int hf_mms_listOfProgramInvocations
; /* SEQUENCE_OF_Identifier */
404 static int hf_mms_listOfProgramInvocations_item
; /* Identifier */
405 static int hf_mms_uploadInProgress
; /* Integer8 */
406 static int hf_mms_listOfDomainName
; /* SEQUENCE_OF_Identifier */
407 static int hf_mms_listOfDomainName_item
; /* Identifier */
408 static int hf_mms_reusable
; /* BOOLEAN */
409 static int hf_mms_monitorType
; /* BOOLEAN */
410 static int hf_mms_executionArgument
; /* T_executionArgument */
411 static int hf_mms_simpleString
; /* VisibleString */
412 static int hf_mms_encodedString
; /* EXTERNALt */
413 static int hf_mms_executionArgument_01
; /* T_executionArgument_01 */
414 static int hf_mms_getProgramInvocationAttributes_Response_state
; /* ProgramInvocationState */
415 static int hf_mms_listOfDomainNames
; /* SEQUENCE_OF_Identifier */
416 static int hf_mms_listOfDomainNames_item
; /* Identifier */
417 static int hf_mms_monitor
; /* BOOLEAN */
418 static int hf_mms_startArgument
; /* VisibleString */
419 static int hf_mms_executionArgument_02
; /* T_executionArgument_02 */
420 static int hf_mms_typeName
; /* ObjectName */
421 static int hf_mms_array
; /* T_array */
422 static int hf_mms_packed
; /* BOOLEAN */
423 static int hf_mms_numberOfElements
; /* Unsigned32 */
424 static int hf_mms_elementType
; /* TypeSpecification */
425 static int hf_mms_structure
; /* T_structure */
426 static int hf_mms_components
; /* T_components */
427 static int hf_mms_components_item
; /* T_components_item */
428 static int hf_mms_componentName
; /* Identifier */
429 static int hf_mms_componentType
; /* TypeSpecification */
430 static int hf_mms_boolean
; /* NULL */
431 static int hf_mms_typeSpecification_bit_string
; /* Integer32 */
432 static int hf_mms_integer
; /* Unsigned8 */
433 static int hf_mms_unsigned
; /* Unsigned8 */
434 static int hf_mms_typeSpecification_octet_string
; /* Integer32 */
435 static int hf_mms_typeSpecification_visible_string
; /* Integer32 */
436 static int hf_mms_generalized_time
; /* NULL */
437 static int hf_mms_typeSpecification_binary_time
; /* BOOLEAN */
438 static int hf_mms_bcd
; /* Unsigned8 */
439 static int hf_mms_objId
; /* NULL */
440 static int hf_mms_AlternateAccess_item
; /* AlternateAccess_item */
441 static int hf_mms_unnamed
; /* AlternateAccessSelection */
442 static int hf_mms_named
; /* T_named */
443 static int hf_mms_accesst
; /* AlternateAccessSelection */
444 static int hf_mms_selectAlternateAccess
; /* T_selectAlternateAccess */
445 static int hf_mms_accessSelection
; /* T_accessSelection */
446 static int hf_mms_component
; /* Identifier */
447 static int hf_mms_index
; /* Unsigned32 */
448 static int hf_mms_indexRange
; /* T_indexRange */
449 static int hf_mms_lowIndex
; /* Unsigned32 */
450 static int hf_mms_allElements
; /* NULL */
451 static int hf_mms_alternateAccess
; /* AlternateAccess */
452 static int hf_mms_selectAccess
; /* T_selectAccess */
453 static int hf_mms_indexRange_01
; /* T_indexRange_01 */
454 static int hf_mms_nmberOfElements
; /* Unsigned32 */
455 static int hf_mms_specificationWithResult
; /* BOOLEAN */
456 static int hf_mms_variableAccessSpecificatn
; /* VariableAccessSpecification */
457 static int hf_mms_listOfAccessResult
; /* SEQUENCE_OF_AccessResult */
458 static int hf_mms_listOfAccessResult_item
; /* AccessResult */
459 static int hf_mms_listOfData
; /* T_listOfData */
460 static int hf_mms_listOfData_item
; /* Data */
461 static int hf_mms_Write_Response_item
; /* Write_Response_item */
462 static int hf_mms_failure
; /* DataAccessError */
463 static int hf_mms_success
; /* NULL */
464 static int hf_mms_variableAccessSpecification
; /* VariableAccessSpecification */
465 static int hf_mms_listOfAccessResult_01
; /* T_listOfAccessResult */
466 static int hf_mms_name
; /* ObjectName */
467 static int hf_mms_address
; /* Address */
468 static int hf_mms_typeSpecification
; /* TypeSpecification */
469 static int hf_mms_variableName
; /* ObjectName */
470 static int hf_mms_scatteredAccessName
; /* ObjectName */
471 static int hf_mms_scatteredAccessDescription
; /* ScatteredAccessDescription */
472 static int hf_mms_scopeOfDelete
; /* T_scopeOfDelete */
473 static int hf_mms_listOfName
; /* SEQUENCE_OF_ObjectName */
474 static int hf_mms_listOfName_item
; /* ObjectName */
475 static int hf_mms_numberMatched
; /* Unsigned32 */
476 static int hf_mms_numberDeleted
; /* Unsigned32 */
477 static int hf_mms_variableListName
; /* ObjectName */
478 static int hf_mms_listOfVariable
; /* T_listOfVariable */
479 static int hf_mms_listOfVariable_item
; /* T_listOfVariable_item */
480 static int hf_mms_variableSpecification
; /* VariableSpecification */
481 static int hf_mms_listOfVariable_01
; /* T_listOfVariable_01 */
482 static int hf_mms_listOfVariable_item_01
; /* T_listOfVariable_item_01 */
483 static int hf_mms_scopeOfDelete_01
; /* T_scopeOfDelete_01 */
484 static int hf_mms_listOfVariableListName
; /* SEQUENCE_OF_ObjectName */
485 static int hf_mms_listOfVariableListName_item
; /* ObjectName */
486 static int hf_mms_scopeOfDelete_02
; /* T_scopeOfDelete_02 */
487 static int hf_mms_listOfTypeName
; /* SEQUENCE_OF_ObjectName */
488 static int hf_mms_listOfTypeName_item
; /* ObjectName */
489 static int hf_mms_success_01
; /* Data */
490 static int hf_mms_array_01
; /* SEQUENCE_OF_Data */
491 static int hf_mms_array_item
; /* Data */
492 static int hf_mms_structure_01
; /* T_structure_01 */
493 static int hf_mms_structure_item
; /* Data */
494 static int hf_mms_boolean_01
; /* T_boolean */
495 static int hf_mms_data_bit_string
; /* T_data_bit_string */
496 static int hf_mms_integer_01
; /* T_integer */
497 static int hf_mms_unsigned_01
; /* T_unsigned */
498 static int hf_mms_floating_point
; /* FloatingPoint */
499 static int hf_mms_data_octet_string
; /* T_data_octet_string */
500 static int hf_mms_data_visible_string
; /* T_data_visible_string */
501 static int hf_mms_data_binary_time
; /* T_data_binary_time */
502 static int hf_mms_bcd_01
; /* INTEGER */
503 static int hf_mms_booleanArray
; /* BIT_STRING */
504 static int hf_mms_objId_01
; /* OBJECT_IDENTIFIER */
505 static int hf_mms_mMSString
; /* MMSString */
506 static int hf_mms_utc_time
; /* UtcTime */
507 static int hf_mms_listOfVariable_02
; /* T_listOfVariable_02 */
508 static int hf_mms_listOfVariable_item_02
; /* T_listOfVariable_item_02 */
509 static int hf_mms_ScatteredAccessDescription_item
; /* ScatteredAccessDescription_item */
510 static int hf_mms_variableDescription
; /* T_variableDescription */
511 static int hf_mms_invalidated
; /* NULL */
512 static int hf_mms_numericAddress
; /* Unsigned32 */
513 static int hf_mms_symbolicAddress
; /* VisibleString */
514 static int hf_mms_unconstrainedAddress
; /* OCTET_STRING */
515 static int hf_mms_semaphoreName
; /* ObjectName */
516 static int hf_mms_namedToken
; /* Identifier */
517 static int hf_mms_priority
; /* Priority */
518 static int hf_mms_acceptableDelay
; /* Unsigned32 */
519 static int hf_mms_controlTimeOut
; /* Unsigned32 */
520 static int hf_mms_abortOnTimeOut
; /* BOOLEAN */
521 static int hf_mms_relinquishIfConnectionLost
; /* BOOLEAN */
522 static int hf_mms_applicationToPreempt
; /* ApplicationReference */
523 static int hf_mms_noResult
; /* NULL */
524 static int hf_mms_numbersOfTokens
; /* Unsigned16 */
525 static int hf_mms_class
; /* T_class */
526 static int hf_mms_numberOfTokens
; /* Unsigned16 */
527 static int hf_mms_numberOfOwnedTokens
; /* Unsigned16 */
528 static int hf_mms_numberOfHungTokens
; /* Unsigned16 */
529 static int hf_mms_nameToStartAfter
; /* Identifier */
530 static int hf_mms_listOfNamedTokens
; /* T_listOfNamedTokens */
531 static int hf_mms_listOfNamedTokens_item
; /* T_listOfNamedTokens_item */
532 static int hf_mms_freeNamedToken
; /* Identifier */
533 static int hf_mms_ownedNamedToken
; /* Identifier */
534 static int hf_mms_hungNamedToken
; /* Identifier */
535 static int hf_mms_reportSemaphoreEntryStatus_Request_state
; /* T_reportSemaphoreEntryStatus_Request_state */
536 static int hf_mms_entryIdToStartAfter
; /* OCTET_STRING */
537 static int hf_mms_listOfSemaphoreEntry
; /* SEQUENCE_OF_SemaphoreEntry */
538 static int hf_mms_listOfSemaphoreEntry_item
; /* SemaphoreEntry */
539 static int hf_mms_entryId
; /* OCTET_STRING */
540 static int hf_mms_entryClass
; /* T_entryClass */
541 static int hf_mms_applicationReference
; /* ApplicationReference */
542 static int hf_mms_remainingTimeOut
; /* Unsigned32 */
543 static int hf_mms_operatorStationName
; /* Identifier */
544 static int hf_mms_echo
; /* BOOLEAN */
545 static int hf_mms_listOfPromptData
; /* T_listOfPromptData */
546 static int hf_mms_listOfPromptData_item
; /* VisibleString */
547 static int hf_mms_inputTimeOut
; /* Unsigned32 */
548 static int hf_mms_listOfOutputData
; /* T_listOfOutputData */
549 static int hf_mms_listOfOutputData_item
; /* VisibleString */
550 static int hf_mms_eventConditionName
; /* ObjectName */
551 static int hf_mms_class_01
; /* EC_Class */
552 static int hf_mms_prio_rity
; /* Priority */
553 static int hf_mms_severity
; /* Unsigned8 */
554 static int hf_mms_alarmSummaryReports
; /* BOOLEAN */
555 static int hf_mms_monitoredVariable
; /* VariableSpecification */
556 static int hf_mms_evaluationInterval
; /* Unsigned32 */
557 static int hf_mms_specific
; /* SEQUENCE_OF_ObjectName */
558 static int hf_mms_specific_item
; /* ObjectName */
559 static int hf_mms_aa_specific_01
; /* NULL */
560 static int hf_mms_vmd
; /* NULL */
561 static int hf_mms_monitoredVariable_01
; /* T_monitoredVariable */
562 static int hf_mms_variableReference
; /* VariableSpecification */
563 static int hf_mms_undefined
; /* NULL */
564 static int hf_mms_currentState
; /* EC_State */
565 static int hf_mms_numberOfEventEnrollments
; /* Unsigned32 */
566 static int hf_mms_enabled
; /* BOOLEAN */
567 static int hf_mms_timeOfLastTransitionToActive
; /* EventTime */
568 static int hf_mms_timeOfLastTransitionToIdle
; /* EventTime */
569 static int hf_mms_eventActionName
; /* ObjectName */
570 static int hf_mms_eventEnrollmentName
; /* ObjectName */
571 static int hf_mms_eventConditionTransition
; /* Transitions */
572 static int hf_mms_alarmAcknowledgementRule
; /* AlarmAckRule */
573 static int hf_mms_clientApplication
; /* ApplicationReference */
574 static int hf_mms_ec
; /* ObjectName */
575 static int hf_mms_ea
; /* ObjectName */
576 static int hf_mms_scopeOfRequest
; /* T_scopeOfRequest */
577 static int hf_mms_eventEnrollmentNames
; /* SEQUENCE_OF_ObjectName */
578 static int hf_mms_eventEnrollmentNames_item
; /* ObjectName */
579 static int hf_mms_getEventEnrollmentAttributes_Request_continueAfter
; /* ObjectName */
580 static int hf_mms_eventConditionName_01
; /* T_eventConditionName */
581 static int hf_mms_eventActionName_01
; /* T_eventActionName */
582 static int hf_mms_eventAction
; /* ObjectName */
583 static int hf_mms_enrollmentClass
; /* EE_Class */
584 static int hf_mms_duration
; /* EE_Duration */
585 static int hf_mms_remainingAcceptableDelay
; /* Unsigned32 */
586 static int hf_mms_listOfEventEnrollment
; /* SEQUENCE_OF_EventEnrollment */
587 static int hf_mms_listOfEventEnrollment_item
; /* EventEnrollment */
588 static int hf_mms_eventConditionTransitions
; /* Transitions */
589 static int hf_mms_notificationLost
; /* BOOLEAN */
590 static int hf_mms_alarmAcknowledgmentRule
; /* AlarmAckRule */
591 static int hf_mms_currentState_01
; /* EE_State */
592 static int hf_mms_currentState_02
; /* T_currentState */
593 static int hf_mms_alterEventEnrollment_Response_currentState_state
; /* EE_State */
594 static int hf_mms_transitionTime
; /* EventTime */
595 static int hf_mms_acknowledgedState
; /* EC_State */
596 static int hf_mms_timeOfAcknowledgedTransition
; /* EventTime */
597 static int hf_mms_enrollmentsOnly
; /* BOOLEAN */
598 static int hf_mms_activeAlarmsOnly
; /* BOOLEAN */
599 static int hf_mms_acknowledgmentFilter
; /* T_acknowledgmentFilter */
600 static int hf_mms_severityFilter
; /* T_severityFilter */
601 static int hf_mms_mostSevere
; /* Unsigned8 */
602 static int hf_mms_leastSevere
; /* Unsigned8 */
603 static int hf_mms_continueAfter
; /* ObjectName */
604 static int hf_mms_listOfAlarmSummary
; /* SEQUENCE_OF_AlarmSummary */
605 static int hf_mms_listOfAlarmSummary_item
; /* AlarmSummary */
606 static int hf_mms_unacknowledgedState
; /* T_unacknowledgedState */
607 static int hf_mms_acknowledgmentFilter_01
; /* T_acknowledgmentFilter_01 */
608 static int hf_mms_severityFilter_01
; /* T_severityFilter_01 */
609 static int hf_mms_getAlarmEnrollmentSummary_Request_continueAfter
; /* ObjectName */
610 static int hf_mms_listOfAlarmEnrollmentSummary
; /* SEQUENCE_OF_AlarmEnrollmentSummary */
611 static int hf_mms_listOfAlarmEnrollmentSummary_item
; /* AlarmEnrollmentSummary */
612 static int hf_mms_enrollementState
; /* EE_State */
613 static int hf_mms_timeActiveAcknowledged
; /* EventTime */
614 static int hf_mms_timeIdleAcknowledged
; /* EventTime */
615 static int hf_mms_eventConditionName_02
; /* T_eventConditionName_01 */
616 static int hf_mms_actionResult
; /* T_actionResult */
617 static int hf_mms_eventActioName
; /* ObjectName */
618 static int hf_mms_eventActionResult
; /* T_eventActionResult */
619 static int hf_mms_success_02
; /* ConfirmedServiceResponse */
620 static int hf_mms_failure_01
; /* ServiceError */
621 static int hf_mms_causingTransitions
; /* Transitions */
622 static int hf_mms_timeOfDayT
; /* TimeOfDay */
623 static int hf_mms_timeSequenceIdentifier
; /* Unsigned32 */
624 static int hf_mms_journalName
; /* ObjectName */
625 static int hf_mms_rangeStartSpecification
; /* T_rangeStartSpecification */
626 static int hf_mms_startingTime
; /* TimeOfDay */
627 static int hf_mms_startingEntry
; /* OCTET_STRING */
628 static int hf_mms_rangeStopSpecification
; /* T_rangeStopSpecification */
629 static int hf_mms_endingTime
; /* TimeOfDay */
630 static int hf_mms_numberOfEntries
; /* Integer32 */
631 static int hf_mms_listOfVariables
; /* T_listOfVariables */
632 static int hf_mms_listOfVariables_item
; /* VisibleString */
633 static int hf_mms_entryToStartAfter
; /* T_entryToStartAfter */
634 static int hf_mms_timeSpecification
; /* TimeOfDay */
635 static int hf_mms_entrySpecification
; /* OCTET_STRING */
636 static int hf_mms_listOfJournalEntry
; /* SEQUENCE_OF_JournalEntry */
637 static int hf_mms_listOfJournalEntry_item
; /* JournalEntry */
638 static int hf_mms_entryIdentifier
; /* OCTET_STRING */
639 static int hf_mms_originatingApplication
; /* ApplicationReference */
640 static int hf_mms_entryContent
; /* EntryContent */
641 static int hf_mms_listOfJournalEntry_01
; /* SEQUENCE_OF_EntryContent */
642 static int hf_mms_listOfJournalEntry_item_01
; /* EntryContent */
643 static int hf_mms_limitSpecification
; /* T_limitSpecification */
644 static int hf_mms_limitingTime
; /* TimeOfDay */
645 static int hf_mms_limitingEntry
; /* OCTET_STRING */
646 static int hf_mms_currentEntries
; /* Unsigned32 */
647 static int hf_mms_occurenceTime
; /* TimeOfDay */
648 static int hf_mms_additionalDetail
; /* JOU_Additional_Detail */
649 static int hf_mms_entryForm
; /* T_entryForm */
650 static int hf_mms_data
; /* T_data */
651 static int hf_mms_event
; /* T_event */
652 static int hf_mms_listOfVariables_01
; /* T_listOfVariables_01 */
653 static int hf_mms_listOfVariables_item_01
; /* T_listOfVariables_item */
654 static int hf_mms_variableTag
; /* VisibleString */
655 static int hf_mms_valueSpecification
; /* Data */
656 static int hf_mms_annotation
; /* VisibleString */
657 static int hf_mms_sourceFileServer
; /* ApplicationReference */
658 static int hf_mms_sourceFile
; /* FileName */
659 static int hf_mms_destinationFile
; /* FileName */
660 static int hf_mms_initialPosition
; /* Unsigned32 */
661 static int hf_mms_frsmID
; /* Integer32 */
662 static int hf_mms_fileAttributes
; /* FileAttributes */
663 static int hf_mms_fileData
; /* OCTET_STRING */
664 static int hf_mms_currentFileName
; /* FileName */
665 static int hf_mms_newFileName
; /* FileName */
666 static int hf_mms_fileSpecification
; /* FileName */
667 static int hf_mms_fileDirectory_Request_continueAfter
; /* FileName */
668 static int hf_mms_listOfDirectoryEntry
; /* SEQUENCE_OF_DirectoryEntry */
669 static int hf_mms_listOfDirectoryEntry_item
; /* DirectoryEntry */
670 static int hf_mms_filename
; /* FileName */
671 static int hf_mms_sizeOfFile
; /* Unsigned32 */
672 static int hf_mms_lastModified
; /* GeneralizedTime */
674 static int hf_mms_ReportedOptFlds_reserved
;
675 static int hf_mms_ReportedOptFlds_sequence_number
;
676 static int hf_mms_ReportedOptFlds_report_time_stamp
;
677 static int hf_mms_ReportedOptFlds_reason_for_inclusion
;
678 static int hf_mms_ReportedOptFlds_data_set_name
;
679 static int hf_mms_ReportedOptFlds_data_reference
;
680 static int hf_mms_ReportedOptFlds_buffer_overflow
;
681 static int hf_mms_ReportedOptFlds_entryID
;
682 static int hf_mms_ReportedOptFlds_conf_revision
;
683 static int hf_mms_ReportedOptFlds_segmentation
;
684 static int hf_mms_ParameterSupportOptions_str1
;
685 static int hf_mms_ParameterSupportOptions_str2
;
686 static int hf_mms_ParameterSupportOptions_vnam
;
687 static int hf_mms_ParameterSupportOptions_valt
;
688 static int hf_mms_ParameterSupportOptions_vadr
;
689 static int hf_mms_ParameterSupportOptions_vsca
;
690 static int hf_mms_ParameterSupportOptions_tpy
;
691 static int hf_mms_ParameterSupportOptions_vlis
;
692 static int hf_mms_ParameterSupportOptions_real
;
693 static int hf_mms_ParameterSupportOptions_spare_bit9
;
694 static int hf_mms_ParameterSupportOptions_cei
;
695 static int hf_mms_ServiceSupportOptions_status
;
696 static int hf_mms_ServiceSupportOptions_getNameList
;
697 static int hf_mms_ServiceSupportOptions_identify
;
698 static int hf_mms_ServiceSupportOptions_rename
;
699 static int hf_mms_ServiceSupportOptions_read
;
700 static int hf_mms_ServiceSupportOptions_write
;
701 static int hf_mms_ServiceSupportOptions_getVariableAccessAttributes
;
702 static int hf_mms_ServiceSupportOptions_defineNamedVariable
;
703 static int hf_mms_ServiceSupportOptions_defineScatteredAccess
;
704 static int hf_mms_ServiceSupportOptions_getScatteredAccessAttributes
;
705 static int hf_mms_ServiceSupportOptions_deleteVariableAccess
;
706 static int hf_mms_ServiceSupportOptions_defineNamedVariableList
;
707 static int hf_mms_ServiceSupportOptions_getNamedVariableListAttributes
;
708 static int hf_mms_ServiceSupportOptions_deleteNamedVariableList
;
709 static int hf_mms_ServiceSupportOptions_defineNamedType
;
710 static int hf_mms_ServiceSupportOptions_getNamedTypeAttributes
;
711 static int hf_mms_ServiceSupportOptions_deleteNamedType
;
712 static int hf_mms_ServiceSupportOptions_input
;
713 static int hf_mms_ServiceSupportOptions_output
;
714 static int hf_mms_ServiceSupportOptions_takeControl
;
715 static int hf_mms_ServiceSupportOptions_relinquishControl
;
716 static int hf_mms_ServiceSupportOptions_defineSemaphore
;
717 static int hf_mms_ServiceSupportOptions_deleteSemaphore
;
718 static int hf_mms_ServiceSupportOptions_reportSemaphoreStatus
;
719 static int hf_mms_ServiceSupportOptions_reportPoolSemaphoreStatus
;
720 static int hf_mms_ServiceSupportOptions_reportSemaphoreEntryStatus
;
721 static int hf_mms_ServiceSupportOptions_initiateDownloadSequence
;
722 static int hf_mms_ServiceSupportOptions_downloadSegment
;
723 static int hf_mms_ServiceSupportOptions_terminateDownloadSequence
;
724 static int hf_mms_ServiceSupportOptions_initiateUploadSequence
;
725 static int hf_mms_ServiceSupportOptions_uploadSegment
;
726 static int hf_mms_ServiceSupportOptions_terminateUploadSequence
;
727 static int hf_mms_ServiceSupportOptions_requestDomainDownload
;
728 static int hf_mms_ServiceSupportOptions_requestDomainUpload
;
729 static int hf_mms_ServiceSupportOptions_loadDomainContent
;
730 static int hf_mms_ServiceSupportOptions_storeDomainContent
;
731 static int hf_mms_ServiceSupportOptions_deleteDomain
;
732 static int hf_mms_ServiceSupportOptions_getDomainAttributes
;
733 static int hf_mms_ServiceSupportOptions_createProgramInvocation
;
734 static int hf_mms_ServiceSupportOptions_deleteProgramInvocation
;
735 static int hf_mms_ServiceSupportOptions_start
;
736 static int hf_mms_ServiceSupportOptions_stop
;
737 static int hf_mms_ServiceSupportOptions_resume
;
738 static int hf_mms_ServiceSupportOptions_reset
;
739 static int hf_mms_ServiceSupportOptions_kill
;
740 static int hf_mms_ServiceSupportOptions_getProgramInvocationAttributes
;
741 static int hf_mms_ServiceSupportOptions_obtainFile
;
742 static int hf_mms_ServiceSupportOptions_defineEventCondition
;
743 static int hf_mms_ServiceSupportOptions_deleteEventCondition
;
744 static int hf_mms_ServiceSupportOptions_getEventConditionAttributes
;
745 static int hf_mms_ServiceSupportOptions_reportEventConditionStatus
;
746 static int hf_mms_ServiceSupportOptions_alterEventConditionMonitoring
;
747 static int hf_mms_ServiceSupportOptions_triggerEvent
;
748 static int hf_mms_ServiceSupportOptions_defineEventAction
;
749 static int hf_mms_ServiceSupportOptions_deleteEventAction
;
750 static int hf_mms_ServiceSupportOptions_getEventActionAttributes
;
751 static int hf_mms_ServiceSupportOptions_reportActionStatus
;
752 static int hf_mms_ServiceSupportOptions_defineEventEnrollment
;
753 static int hf_mms_ServiceSupportOptions_deleteEventEnrollment
;
754 static int hf_mms_ServiceSupportOptions_alterEventEnrollment
;
755 static int hf_mms_ServiceSupportOptions_reportEventEnrollmentStatus
;
756 static int hf_mms_ServiceSupportOptions_getEventEnrollmentAttributes
;
757 static int hf_mms_ServiceSupportOptions_acknowledgeEventNotification
;
758 static int hf_mms_ServiceSupportOptions_getAlarmSummary
;
759 static int hf_mms_ServiceSupportOptions_getAlarmEnrollmentSummary
;
760 static int hf_mms_ServiceSupportOptions_readJournal
;
761 static int hf_mms_ServiceSupportOptions_writeJournal
;
762 static int hf_mms_ServiceSupportOptions_initializeJournal
;
763 static int hf_mms_ServiceSupportOptions_reportJournalStatus
;
764 static int hf_mms_ServiceSupportOptions_createJournal
;
765 static int hf_mms_ServiceSupportOptions_deleteJournal
;
766 static int hf_mms_ServiceSupportOptions_getCapabilityList
;
767 static int hf_mms_ServiceSupportOptions_fileOpen
;
768 static int hf_mms_ServiceSupportOptions_fileRead
;
769 static int hf_mms_ServiceSupportOptions_fileClose
;
770 static int hf_mms_ServiceSupportOptions_fileRename
;
771 static int hf_mms_ServiceSupportOptions_fileDelete
;
772 static int hf_mms_ServiceSupportOptions_fileDirectory
;
773 static int hf_mms_ServiceSupportOptions_unsolicitedStatus
;
774 static int hf_mms_ServiceSupportOptions_informationReport
;
775 static int hf_mms_ServiceSupportOptions_eventNotification
;
776 static int hf_mms_ServiceSupportOptions_attachToEventCondition
;
777 static int hf_mms_ServiceSupportOptions_attachToSemaphore
;
778 static int hf_mms_ServiceSupportOptions_conclude
;
779 static int hf_mms_ServiceSupportOptions_cancel
;
780 static int hf_mms_Transitions_idle_to_disabled
;
781 static int hf_mms_Transitions_active_to_disabled
;
782 static int hf_mms_Transitions_disabled_to_idle
;
783 static int hf_mms_Transitions_active_to_idle
;
784 static int hf_mms_Transitions_disabled_to_active
;
785 static int hf_mms_Transitions_idle_to_active
;
786 static int hf_mms_Transitions_any_to_deleted
;
788 /* Initialize the subtree pointers */
790 static int ett_mms_iec61850_quality_bitstring
;
791 static int ett_mms_iec61850_check_bitstring
;
792 static int ett_mms_ReportedOptFlds
;
793 static int ett_mms_MMSpdu
;
794 static int ett_mms_Confirmed_RequestPDU
;
795 static int ett_mms_SEQUENCE_OF_Modifier
;
796 static int ett_mms_Unconfirmed_PDU
;
797 static int ett_mms_Confirmed_ResponsePDU
;
798 static int ett_mms_Confirmed_ErrorPDU
;
799 static int ett_mms_UnconfirmedService
;
800 static int ett_mms_Modifier
;
801 static int ett_mms_ConfirmedServiceRequest
;
802 static int ett_mms_CS_Request_Detail
;
803 static int ett_mms_ConfirmedServiceResponse
;
804 static int ett_mms_FileName
;
805 static int ett_mms_ObjectName
;
806 static int ett_mms_T_domain_specific
;
807 static int ett_mms_ApplicationReference
;
808 static int ett_mms_Initiate_RequestPDU
;
809 static int ett_mms_InitRequestDetail
;
810 static int ett_mms_Initiate_ResponsePDU
;
811 static int ett_mms_InitResponseDetail
;
812 static int ett_mms_ParameterSupportOptions
;
813 static int ett_mms_ServiceSupportOptions
;
814 static int ett_mms_Cancel_ErrorPDU
;
815 static int ett_mms_ServiceError
;
816 static int ett_mms_T_errorClass
;
817 static int ett_mms_T_serviceSpecificInformation
;
818 static int ett_mms_AdditionalService_Error
;
819 static int ett_mms_RemoveEventConditionListReference_Error
;
820 static int ett_mms_InitiateUnitControl_Error
;
821 static int ett_mms_StartUnitControl_Error
;
822 static int ett_mms_StopUnitControl_Error
;
823 static int ett_mms_DeleteUnitControl_Error
;
824 static int ett_mms_LoadUnitControlFromFile_Error
;
825 static int ett_mms_RejectPDU
;
826 static int ett_mms_T_rejectReason
;
827 static int ett_mms_Status_Response
;
828 static int ett_mms_ObjectScope
;
829 static int ett_mms_GetNameList_Request
;
830 static int ett_mms_T_extendedObjectClass
;
831 static int ett_mms_GetNameList_Response
;
832 static int ett_mms_SEQUENCE_OF_Identifier
;
833 static int ett_mms_Identify_Response
;
834 static int ett_mms_T_listOfAbstractSyntaxes
;
835 static int ett_mms_Rename_Request
;
836 static int ett_mms_T_extendedObjectClass_01
;
837 static int ett_mms_GetCapabilityList_Request
;
838 static int ett_mms_GetCapabilityList_Response
;
839 static int ett_mms_T_listOfCapabilities
;
840 static int ett_mms_InitiateDownloadSequence_Request
;
841 static int ett_mms_T_listOfCapabilities_01
;
842 static int ett_mms_DownloadSegment_Response
;
843 static int ett_mms_T_loadData
;
844 static int ett_mms_TerminateDownloadSequence_Request
;
845 static int ett_mms_InitiateUploadSequence_Response
;
846 static int ett_mms_T_listOfCapabilities_02
;
847 static int ett_mms_UploadSegment_Response
;
848 static int ett_mms_T_loadData_01
;
849 static int ett_mms_RequestDomainDownload_Request
;
850 static int ett_mms_T_listOfCapabilities_03
;
851 static int ett_mms_RequestDomainUpload_Request
;
852 static int ett_mms_LoadDomainContent_Request
;
853 static int ett_mms_T_listOfCapabilities_04
;
854 static int ett_mms_StoreDomainContent_Request
;
855 static int ett_mms_GetDomainAttributes_Response
;
856 static int ett_mms_T_listOfCapabilities_05
;
857 static int ett_mms_CreateProgramInvocation_Request
;
858 static int ett_mms_Start_Request
;
859 static int ett_mms_T_executionArgument
;
860 static int ett_mms_Stop_Request
;
861 static int ett_mms_Resume_Request
;
862 static int ett_mms_T_executionArgument_01
;
863 static int ett_mms_Reset_Request
;
864 static int ett_mms_Kill_Request
;
865 static int ett_mms_GetProgramInvocationAttributes_Response
;
866 static int ett_mms_T_executionArgument_02
;
867 static int ett_mms_TypeSpecification
;
868 static int ett_mms_T_array
;
869 static int ett_mms_T_structure
;
870 static int ett_mms_T_components
;
871 static int ett_mms_T_components_item
;
872 static int ett_mms_AlternateAccess
;
873 static int ett_mms_AlternateAccess_item
;
874 static int ett_mms_T_named
;
875 static int ett_mms_AlternateAccessSelection
;
876 static int ett_mms_T_selectAlternateAccess
;
877 static int ett_mms_T_accessSelection
;
878 static int ett_mms_T_indexRange
;
879 static int ett_mms_T_selectAccess
;
880 static int ett_mms_T_indexRange_01
;
881 static int ett_mms_Read_Request
;
882 static int ett_mms_Read_Response
;
883 static int ett_mms_SEQUENCE_OF_AccessResult
;
884 static int ett_mms_Write_Request
;
885 static int ett_mms_T_listOfData
;
886 static int ett_mms_Write_Response
;
887 static int ett_mms_Write_Response_item
;
888 static int ett_mms_InformationReport
;
889 static int ett_mms_T_listOfAccessResult
;
890 static int ett_mms_GetVariableAccessAttributes_Request
;
891 static int ett_mms_GetVariableAccessAttributes_Response
;
892 static int ett_mms_DefineNamedVariable_Request
;
893 static int ett_mms_DefineScatteredAccess_Request
;
894 static int ett_mms_GetScatteredAccessAttributes_Response
;
895 static int ett_mms_DeleteVariableAccess_Request
;
896 static int ett_mms_SEQUENCE_OF_ObjectName
;
897 static int ett_mms_DeleteVariableAccess_Response
;
898 static int ett_mms_DefineNamedVariableList_Request
;
899 static int ett_mms_T_listOfVariable
;
900 static int ett_mms_T_listOfVariable_item
;
901 static int ett_mms_GetNamedVariableListAttributes_Response
;
902 static int ett_mms_T_listOfVariable_01
;
903 static int ett_mms_T_listOfVariable_item_01
;
904 static int ett_mms_DeleteNamedVariableList_Request
;
905 static int ett_mms_DeleteNamedVariableList_Response
;
906 static int ett_mms_DefineNamedType_Request
;
907 static int ett_mms_GetNamedTypeAttributes_Response
;
908 static int ett_mms_DeleteNamedType_Request
;
909 static int ett_mms_DeleteNamedType_Response
;
910 static int ett_mms_AccessResult
;
911 static int ett_mms_Data
;
912 static int ett_mms_SEQUENCE_OF_Data
;
913 static int ett_mms_T_structure_01
;
914 static int ett_mms_VariableAccessSpecification
;
915 static int ett_mms_T_listOfVariable_02
;
916 static int ett_mms_T_listOfVariable_item_02
;
917 static int ett_mms_ScatteredAccessDescription
;
918 static int ett_mms_ScatteredAccessDescription_item
;
919 static int ett_mms_VariableSpecification
;
920 static int ett_mms_T_variableDescription
;
921 static int ett_mms_Address
;
922 static int ett_mms_TakeControl_Request
;
923 static int ett_mms_TakeControl_Response
;
924 static int ett_mms_RelinquishControl_Request
;
925 static int ett_mms_DefineSemaphore_Request
;
926 static int ett_mms_ReportSemaphoreStatus_Response
;
927 static int ett_mms_ReportPoolSemaphoreStatus_Request
;
928 static int ett_mms_ReportPoolSemaphoreStatus_Response
;
929 static int ett_mms_T_listOfNamedTokens
;
930 static int ett_mms_T_listOfNamedTokens_item
;
931 static int ett_mms_ReportSemaphoreEntryStatus_Request
;
932 static int ett_mms_ReportSemaphoreEntryStatus_Response
;
933 static int ett_mms_SEQUENCE_OF_SemaphoreEntry
;
934 static int ett_mms_AttachToSemaphore
;
935 static int ett_mms_SemaphoreEntry
;
936 static int ett_mms_Input_Request
;
937 static int ett_mms_T_listOfPromptData
;
938 static int ett_mms_Output_Request
;
939 static int ett_mms_T_listOfOutputData
;
940 static int ett_mms_DefineEventCondition_Request
;
941 static int ett_mms_DeleteEventCondition_Request
;
942 static int ett_mms_GetEventConditionAttributes_Response
;
943 static int ett_mms_T_monitoredVariable
;
944 static int ett_mms_ReportEventConditionStatus_Response
;
945 static int ett_mms_AlterEventConditionMonitoring_Request
;
946 static int ett_mms_TriggerEvent_Request
;
947 static int ett_mms_DefineEventAction_Request
;
948 static int ett_mms_DeleteEventAction_Request
;
949 static int ett_mms_GetEventActionAttributes_Response
;
950 static int ett_mms_DefineEventEnrollment_Request
;
951 static int ett_mms_DeleteEventEnrollment_Request
;
952 static int ett_mms_GetEventEnrollmentAttributes_Request
;
953 static int ett_mms_EventEnrollment
;
954 static int ett_mms_T_eventConditionName
;
955 static int ett_mms_T_eventActionName
;
956 static int ett_mms_GetEventEnrollmentAttributes_Response
;
957 static int ett_mms_SEQUENCE_OF_EventEnrollment
;
958 static int ett_mms_ReportEventEnrollmentStatus_Response
;
959 static int ett_mms_AlterEventEnrollment_Request
;
960 static int ett_mms_AlterEventEnrollment_Response
;
961 static int ett_mms_T_currentState
;
962 static int ett_mms_AcknowledgeEventNotification_Request
;
963 static int ett_mms_GetAlarmSummary_Request
;
964 static int ett_mms_T_severityFilter
;
965 static int ett_mms_GetAlarmSummary_Response
;
966 static int ett_mms_SEQUENCE_OF_AlarmSummary
;
967 static int ett_mms_AlarmSummary
;
968 static int ett_mms_GetAlarmEnrollmentSummary_Request
;
969 static int ett_mms_T_severityFilter_01
;
970 static int ett_mms_GetAlarmEnrollmentSummary_Response
;
971 static int ett_mms_SEQUENCE_OF_AlarmEnrollmentSummary
;
972 static int ett_mms_AlarmEnrollmentSummary
;
973 static int ett_mms_EventNotification
;
974 static int ett_mms_T_eventConditionName_01
;
975 static int ett_mms_T_actionResult
;
976 static int ett_mms_T_eventActionResult
;
977 static int ett_mms_AttachToEventCondition
;
978 static int ett_mms_EventTime
;
979 static int ett_mms_Transitions
;
980 static int ett_mms_ReadJournal_Request
;
981 static int ett_mms_T_rangeStartSpecification
;
982 static int ett_mms_T_rangeStopSpecification
;
983 static int ett_mms_T_listOfVariables
;
984 static int ett_mms_T_entryToStartAfter
;
985 static int ett_mms_ReadJournal_Response
;
986 static int ett_mms_SEQUENCE_OF_JournalEntry
;
987 static int ett_mms_JournalEntry
;
988 static int ett_mms_WriteJournal_Request
;
989 static int ett_mms_SEQUENCE_OF_EntryContent
;
990 static int ett_mms_InitializeJournal_Request
;
991 static int ett_mms_T_limitSpecification
;
992 static int ett_mms_ReportJournalStatus_Response
;
993 static int ett_mms_CreateJournal_Request
;
994 static int ett_mms_DeleteJournal_Request
;
995 static int ett_mms_EntryContent
;
996 static int ett_mms_T_entryForm
;
997 static int ett_mms_T_data
;
998 static int ett_mms_T_event
;
999 static int ett_mms_T_listOfVariables_01
;
1000 static int ett_mms_T_listOfVariables_item
;
1001 static int ett_mms_ObtainFile_Request
;
1002 static int ett_mms_FileOpen_Request
;
1003 static int ett_mms_FileOpen_Response
;
1004 static int ett_mms_FileRead_Response
;
1005 static int ett_mms_FileRename_Request
;
1006 static int ett_mms_FileDirectory_Request
;
1007 static int ett_mms_FileDirectory_Response
;
1008 static int ett_mms_SEQUENCE_OF_DirectoryEntry
;
1009 static int ett_mms_DirectoryEntry
;
1010 static int ett_mms_FileAttributes
;
1012 static expert_field ei_mms_mal_timeofday_encoding
;
1013 static expert_field ei_mms_mal_utctime_encoding
;
1014 static expert_field ei_mms_zero_pdu
;
1016 /*****************************************************************************/
1017 /* Packet private data */
1018 /* For this dissector, all access to actx->private_data should be made */
1019 /* through this API, which ensures that they will not overwrite each other!! */
1020 /*****************************************************************************/
1022 #define BUFFER_SIZE_PRE 10
1023 #define BUFFER_SIZE_MORE 1024
1025 typedef enum _iec61850_8_1_vmd_specific
{
1026 IEC61850_8_1_NOT_SET
= 0,
1028 } iec61850_8_1_vmd_specific
;
1030 typedef enum _itemid_type
{
1031 IEC61850_ITEM_ID_NOT_SET
= 0,
1032 IEC61850_ITEM_ID_CTLMODEL
,
1034 IEC61850_ITEM_ID_OPER
,
1035 IEC61850_ITEM_ID_CHECK
,
1036 IEC61850_ITEM_ID_OR_CAT
,
1037 IEC61850_ITEM_ID_BEH$STVAL
,
1038 IEC61850_ITEM_ID_MOD$STVAL
,
1039 IEC61850_ITEM_ID_HEALTH$STVAL
,
1040 IEC61850_ITEM_ID_$BR$_OR_$RP$
,
1041 IEC61850_ITEM_ID_$SBOW
1044 typedef struct _mms_transaction_t
{
1049 itemid_type itemid
; /* Numeric representation of ItemId substring */
1050 int conf_serv_pdu_type_req
;
1051 } mms_transaction_t
;
1053 typedef struct _mms_conv_info_t
{
1057 typedef struct mms_private_data_t
1059 char preCinfo
[BUFFER_SIZE_PRE
];
1060 char moreCinfo
[BUFFER_SIZE_MORE
];
1061 } mms_private_data_t
;
1063 #define MMS_CONFIRMED_REQUEST_PDU 0
1064 #define MMS_CONFIRMED_RESPONSE_PDU 1
1065 #define MMS_CONFIRMED_ERROR_PDU 2
1066 #define MMS_UNCONFIRMED_PDU 3
1067 #define MMS_REJECT_PDU 4
1068 #define MMS_CANCEL_REQUEST_PDU 5
1069 #define MMS_CANCEL_RESPONSE_PDU 6
1070 #define MMS_CANCEL_ERROR_PDU 7
1071 #define MMS_INITIATE_REQUEST_PDU 8
1072 #define MMS_INITIATE_RESPONSE_PDU 9
1073 #define MMS_INITIATE_ERROR_PDU 10
1074 #define MMS_CONCLUDE_REQUEST_PDU 11
1075 #define MMS_CONCLUDE_RESPONSE_PDU 12
1076 #define MMS_CONCLUDE_ERROR_PDU 13
1078 #define MMS_CONFIRMEDSERVICE_STATUS 0
1079 #define MMS_CONFIRMEDSERVICE_GETNAMELIST 1
1080 #define MMS_CONFIRMEDSERVICE_IDENTIFY 2
1081 #define MMS_CONFIRMEDSERVICE_RENAME 3
1082 #define MMS_CONFIRMEDSERVICE_READ 4
1083 #define MMS_CONFIRMEDSERVICE_WRITE 5
1084 #define MMS_CONFIRMEDSERVICE_GETVARIABLEACCESSATTRIBUTES 6
1085 #define MMS_CONFIRMEDSERVICE_DEFINENAMEDVARIABLE 7
1086 #define MMS_CONFIRMEDSERVICE_DEFINESCATTEREDACCESS 8
1087 #define MMS_CONFIRMEDSERVICE_GETSCATTEREDACCESSATTRIBUTES 9
1088 #define MMS_CONFIRMEDSERVICE_DELETEVARIABLEACCESS 10
1089 #define MMS_CONFIRMEDSERVICE_DEFINENAMEDVARIABLELIST 11
1090 #define MMS_CONFIRMEDSERVICE_GETNAMEDVARIABLELISTATTRIBUTES 12
1091 #define MMS_CONFIRMEDSERVICE_DELETENAMEDVARIABLELIST 13
1092 #define MMS_CONFIRMEDSERVICE_DEFINENAMEDTYPE 14
1093 #define MMS_CONFIRMEDSERVICE_GETNAMEDTYPEATTRIBUTES 15
1094 #define MMS_CONFIRMEDSERVICE_DELETENAMEDTYPE 16
1095 #define MMS_CONFIRMEDSERVICE_INPUT 17
1096 #define MMS_CONFIRMEDSERVICE_OUTPUT 18
1097 #define MMS_CONFIRMEDSERVICE_TAKECONTROL 19
1098 #define MMS_CONFIRMEDSERVICE_RELINQUISHCONTROL 20
1099 #define MMS_CONFIRMEDSERVICE_DEFINESEMAPHORE 21
1100 #define MMS_CONFIRMEDSERVICE_DELETESEMAPHORE 22
1101 #define MMS_CONFIRMEDSERVICE_REPORTSEMAPHORESTATUS 23
1102 #define MMS_CONFIRMEDSERVICE_REPORTPOOLSEMAPHORESTATUS 24
1103 #define MMS_CONFIRMEDSERVICE_REPORTSEMAPHOREENTRYSTATUS 25
1104 #define MMS_CONFIRMEDSERVICE_INITIATEDOWNLOADSEQUENCE 26
1105 #define MMS_CONFIRMEDSERVICE_DOWNLOADSEGMENT 27
1106 #define MMS_CONFIRMEDSERVICE_TERMINATEDOWNLOADSEQUENCE 28
1107 #define MMS_CONFIRMEDSERVICE_INITIATEUPLOADSEQUENCE 29
1108 #define MMS_CONFIRMEDSERVICE_UPLOADSEGMENT 30
1109 #define MMS_CONFIRMEDSERVICE_TERMINATEUPLOADSEQUENCE 31
1110 #define MMS_CONFIRMEDSERVICE_REQUESTDOMAINDOWNLOAD 32
1111 #define MMS_CONFIRMEDSERVICE_REQUESTDOMAINUPLOAD 33
1112 #define MMS_CONFIRMEDSERVICE_LOADDOMAINCONTENT 34
1113 #define MMS_CONFIRMEDSERVICE_STOREDOMAINCONTENT 35
1114 #define MMS_CONFIRMEDSERVICE_DELETEDOMAIN 36
1115 #define MMS_CONFIRMEDSERVICE_GETDOMAINATTRIBUTES 37
1116 #define MMS_CONFIRMEDSERVICE_CREATEPROGRAMINVOCATION 38
1117 #define MMS_CONFIRMEDSERVICE_DELETEPROGRAMINVOCATION 39
1118 #define MMS_CONFIRMEDSERVICE_START 40
1119 #define MMS_CONFIRMEDSERVICE_STOP 41
1120 #define MMS_CONFIRMEDSERVICE_RESUME 42
1121 #define MMS_CONFIRMEDSERVICE_RESET 43
1122 #define MMS_CONFIRMEDSERVICE_KILL 44
1123 #define MMS_CONFIRMEDSERVICE_GETPROGRAMINVOCATIONATTRIBUTES 45
1124 #define MMS_CONFIRMEDSERVICE_OBTAINFILE 46
1125 #define MMS_CONFIRMEDSERVICE_DEFINEEVENTCONDITION 47
1126 #define MMS_CONFIRMEDSERVICE_DELETEEVENTCONDITION 48
1127 #define MMS_CONFIRMEDSERVICE_GETEVENTCONDITIONATTRIBUTES 49
1128 #define MMS_CONFIRMEDSERVICE_REPORTEVENTCONDITIONSTATUS 50
1129 #define MMS_CONFIRMEDSERVICE_ALTEREVENTCONDITIONMONITORING 51
1130 #define MMS_CONFIRMEDSERVICE_TRIGGEREVENT 52
1131 #define MMS_CONFIRMEDSERVICE_DEFINEEVENTACTION 53
1132 #define MMS_CONFIRMEDSERVICE_DELETEEVENTACTION 54
1133 #define MMS_CONFIRMEDSERVICE_GETEVENTACTIONATTRIBUTES 55
1134 #define MMS_CONFIRMEDSERVICE_REPORTEVENTACTIONSTATUS 56
1135 #define MMS_CONFIRMEDSERVICE_DEFINEEVENTENROLLMENT 57
1136 #define MMS_CONFIRMEDSERVICE_DELETEEVENTENROLLMENT 58
1137 #define MMS_CONFIRMEDSERVICE_ALTEREVENTENROLLMENT 59
1138 #define MMS_CONFIRMEDSERVICE_REPORTEVENTENROLLMENTSTATUS 60
1139 #define MMS_CONFIRMEDSERVICE_GETEVENTENROLLMENTATTRIBUTES 61
1140 #define MMS_CONFIRMEDSERVICE_ACKNOWLEDGEEVENTNOTIFICATION 62
1141 #define MMS_CONFIRMEDSERVICE_GETALARMSUMMARY 63
1142 #define MMS_CONFIRMEDSERVICE_GETALARMENROLLMENTSUMMARY 64
1143 #define MMS_CONFIRMEDSERVICE_READJOURNAL 65
1144 #define MMS_CONFIRMEDSERVICE_WRITEJOURNAL 66
1145 #define MMS_CONFIRMEDSERVICE_INITIALIZEJOURNAL 67
1146 #define MMS_CONFIRMEDSERVICE_REPORTJOURNALSTATUS 68
1147 #define MMS_CONFIRMEDSERVICE_CREATEJOURNAL 69
1148 #define MMS_CONFIRMEDSERVICE_DELETEJOURNAL 70
1149 #define MMS_CONFIRMEDSERVICE_GETCAPABILITYLIST 71
1150 #define MMS_CONFIRMEDSERVICE_FILEOPEN 72
1151 #define MMS_FILEREAD 73
1152 #define MMS_FILECLOSE 74
1153 #define MMS_FILERENAME 75
1154 #define MMS_FILEDELETE 76
1155 #define MMS_FILEDIRECTORY 77
1157 #define MMS_OBJECTCLASS_NAMMEDVARIABLE 0
1158 #define MMS_OBJECTCLASS_NAMEDVARIABLELIST 2
1159 #define MMS_OBJECTCLASS_DOMAIN 9
1161 #define MMS_OBJECTSCOPE_VMDSPECIFIC 0
1162 #define MMS_OBJECTSCOPE_DOMAINSPECIFIC 1
1164 #define MMS_IEC_61850_CONF_SERV_PDU_NOT_SET 0
1165 #define MMS_IEC_61850_CONF_SERV_PDU_GET_SERV_DIR 1
1166 #define MMS_IEC_61850_CONF_SERV_PDU_GETLOGICALDEVICEDIRECTORY 2
1167 #define MMS_IEC_61850_CONF_SERV_PDU_GETDATASETDIRECTORY 3
1168 #define MMS_IEC_61850_CONF_SERV_PDU_GETDATADIRECTORY 4
1169 #define MMS_IEC_61850_CONF_SERV_PDU_SELECTWITHVALUE 5
1170 #define MMS_IEC_61850_CONF_SERV_PDU_READ 6
1171 #define MMS_IEC_61850_CONF_SERV_PDU_WRITE 7
1173 typedef struct mms_actx_private_data_t
1175 int mms_pdu_type
; /* MMSpdu type taken from MMSpdu CHOICE branch_taken */
1177 iec61850_8_1_vmd_specific vmd_specific
; /* Numeric representation of decode vmd_specific strings */
1178 int listOfAccessResult_cnt
; /* Position in the list, 1 count */
1179 int data_cnt
; /* Number of times data occurred(depth)*/
1180 uint16_t reported_optflds
; /* Bitmap over included fields */
1181 proto_item
* pdu_item
; /* The item to append PDU info to */
1182 int confirmedservice_type
; /* Requested service */
1185 mms_transaction_t
* mms_trans_p
; /* Pointer to the transaction record */
1187 int success
; /* If variable access succeeded or not */
1188 } mms_actx_private_data_t
;
1191 static const value_string mms_iec6150_cntmodel_vals
[] = {
1193 {1, "direct-with-normal-security"},
1194 {2, "sbo-with-normal-security"},
1195 {3, "direct-with-enhanced-security"},
1196 {4, "sbo-with-enhanced-security"},
1200 static const value_string mms_iec6150_validity_vals
[] = {
1204 {3, "Questionable"},
1208 static const value_string mms_iec6150_source_vals
[] = {
1214 static const value_string mms_iec6150_timeaccuracy_vals
[] = {
1215 {0, "0 bits accuracy"},
1216 {1, "1 bits accuracy"},
1217 {2, "2 bits accuracy"},
1218 {3, "3 bits accuracy"},
1219 {4, "4 bits accuracy"},
1220 {5, "5 bits accuracy"},
1221 {6, "6 bits accuracy"},
1222 {7, "7 bits accuracy"},
1223 {8, "8 bits accuracy"},
1224 {9, "9 bits accuracy"},
1225 {10, "10 bits accuracy"},
1226 {11, "11 bits accuracy"},
1227 {12, "12 bits accuracy"},
1228 {13, "13 bits accuracy"},
1229 {14, "14 bits accuracy"},
1230 {15, "15 bits accuracy"},
1231 {16, "16 bits accuracy"},
1232 {17, "17 bits accuracy"},
1233 {18, "18 bits accuracy"},
1234 {19, "19 bits accuracy"},
1235 {20, "20 bits accuracy"},
1236 {21, "21 bits accuracy"},
1237 {22, "22 bits accuracy"},
1238 {23, "23 bits accuracy"},
1239 {24, "24 bits accuracy"},
1240 {25, "25 bits accuracy"},
1241 {26, "26 bits accuracy"},
1242 {27, "27 bits accuracy"},
1243 {28, "28 bits accuracy"},
1244 {29, "29 bits accuracy"},
1246 {31, "Unspecified"},
1250 static const value_string mms_iec6150_orcategory_vals
[] = {
1251 {0, "not-supported"},
1253 {2, "station-control"},
1254 {3, "remote-control"},
1255 {4, "automatic-bay"},
1256 {5, "automatic-station"},
1257 {6, "automatic-station"},
1263 static const value_string mms_iec6150_beh_vals
[] = {
1264 {0,"Uninitialised"},
1268 {4, "test/blocked"},
1273 static const value_string mms_iec6150_health_vals
[] = {
1274 {0,"Uninitialised"},
1281 /* Helper function to get or create the private data struct */
1283 mms_private_data_t
* mms_get_private_data(asn1_ctx_t
* actx
)
1285 packet_info
* pinfo
= actx
->pinfo
;
1286 mms_private_data_t
* private_data
= (mms_private_data_t
*)p_get_proto_data(pinfo
->pool
, pinfo
, proto_mms
, pinfo
->curr_layer_num
);
1287 if (private_data
!= NULL
) {
1288 return private_data
;
1290 private_data
= wmem_new0(pinfo
->pool
, mms_private_data_t
);
1291 p_add_proto_data(pinfo
->pool
, pinfo
, proto_mms
, pinfo
->curr_layer_num
, private_data
);
1292 return private_data
;
1296 /* Helper function to test presence of private data struct */
1298 mms_has_private_data(asn1_ctx_t
* actx
)
1300 packet_info
* pinfo
= actx
->pinfo
;
1301 return (p_get_proto_data(pinfo
->pool
, pinfo
, proto_mms
, pinfo
->curr_layer_num
) != NULL
);
1305 private_data_add_preCinfo(asn1_ctx_t
* actx
, uint32_t val
)
1307 mms_private_data_t
* private_data
= (mms_private_data_t
*)mms_get_private_data(actx
);
1308 snprintf(private_data
->preCinfo
, BUFFER_SIZE_PRE
, "%02d ", val
);
1312 private_data_get_preCinfo(asn1_ctx_t
* actx
)
1314 mms_private_data_t
* private_data
= (mms_private_data_t
*)mms_get_private_data(actx
);
1315 return private_data
->preCinfo
;
1319 private_data_add_moreCinfo_id(asn1_ctx_t
* actx
, tvbuff_t
* tvb
)
1321 mms_private_data_t
* private_data
= (mms_private_data_t
*)mms_get_private_data(actx
);
1322 (void)g_strlcat(private_data
->moreCinfo
, " ", BUFFER_SIZE_MORE
);
1323 (void)g_strlcat(private_data
->moreCinfo
, tvb_get_string_enc(actx
->pinfo
->pool
, tvb
,
1324 0, tvb_reported_length(tvb
), ENC_ASCII
| ENC_NA
), BUFFER_SIZE_MORE
);
1328 private_data_add_moreCinfo_float(asn1_ctx_t
* actx
, tvbuff_t
* tvb
)
1330 mms_private_data_t
* private_data
= (mms_private_data_t
*)mms_get_private_data(actx
);
1331 snprintf(private_data
->moreCinfo
, BUFFER_SIZE_MORE
,
1332 " %f", tvb_get_ieee_float(tvb
, 1, ENC_BIG_ENDIAN
));
1336 private_data_get_moreCinfo(asn1_ctx_t
* actx
)
1338 mms_private_data_t
* private_data
= (mms_private_data_t
*)mms_get_private_data(actx
);
1339 return private_data
->moreCinfo
;
1342 /*****************************************************************************/
1345 /*--- Cyclic dependencies ---*/
1347 /* TypeSpecification -> TypeSpecification/array -> TypeSpecification */
1348 /* TypeSpecification -> TypeSpecification/structure -> TypeSpecification/structure/components -> TypeSpecification/structure/components/_item -> TypeSpecification */
1349 static int dissect_mms_TypeSpecification(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
);
1351 /* VariableSpecification -> ScatteredAccessDescription -> ScatteredAccessDescription/_item -> VariableSpecification */
1352 static int dissect_mms_VariableSpecification(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
);
1354 /* AlternateAccess -> AlternateAccess/_item -> AlternateAccessSelection -> AlternateAccessSelection/selectAlternateAccess -> AlternateAccess */
1355 static int dissect_mms_AlternateAccess(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
);
1357 /* Data -> Data/array -> Data */
1358 /* Data -> Data/structure -> Data */
1359 static int dissect_mms_Data(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
);
1363 static int * const ReportedOptFlds_bits
[] = {
1364 &hf_mms_ReportedOptFlds_reserved
,
1365 &hf_mms_ReportedOptFlds_sequence_number
,
1366 &hf_mms_ReportedOptFlds_report_time_stamp
,
1367 &hf_mms_ReportedOptFlds_reason_for_inclusion
,
1368 &hf_mms_ReportedOptFlds_data_set_name
,
1369 &hf_mms_ReportedOptFlds_data_reference
,
1370 &hf_mms_ReportedOptFlds_buffer_overflow
,
1371 &hf_mms_ReportedOptFlds_entryID
,
1372 &hf_mms_ReportedOptFlds_conf_revision
,
1373 &hf_mms_ReportedOptFlds_segmentation
,
1378 dissect_mms_ReportedOptFlds(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1379 tvbuff_t
*parameter_tvb
= NULL
;
1380 offset
= dissect_ber_bitstring(implicit_tag
, actx
, tree
, tvb
, offset
,
1381 ReportedOptFlds_bits
, 10, hf_index
, ett_mms_ReportedOptFlds
,
1384 mms_actx_private_data_t
*mms_priv
= (mms_actx_private_data_t
*)actx
->private_data
;
1385 if(mms_priv
&& parameter_tvb
){
1386 mms_priv
->reported_optflds
= tvb_get_ntohs(parameter_tvb
,0);
1396 dissect_mms_Unsigned32(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1398 conversation_t
*conversation
;
1399 mms_conv_info_t
*mms_info
;
1400 mms_transaction_t
*mms_trans
;
1402 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
1405 if (hf_index
== hf_mms_invokeID
){
1406 mms_actx_private_data_t
* mms_priv
= (mms_actx_private_data_t
*)actx
->private_data
;
1408 mms_priv
->invokeid
=val
;
1409 private_data_add_preCinfo(actx
, val
);
1410 conversation
= find_or_create_conversation(actx
->pinfo
);
1412 mms_info
= (mms_conv_info_t
*)conversation_get_proto_data(conversation
, proto_mms
);
1415 * No. Attach that information to the conversation, and add
1416 * it to the list of information structures.
1418 mms_info
= wmem_new(wmem_file_scope(), mms_conv_info_t
);
1419 mms_info
->pdus
=wmem_map_new(wmem_file_scope(), g_direct_hash
, g_direct_equal
);
1421 conversation_add_proto_data(conversation
, proto_mms
, mms_info
);
1423 /* Request or response? */
1426 switch(mms_priv
->mms_pdu_type
){
1428 /* Confirmed-RequestPDU */
1432 /* confirmed-ResponsePDU */
1436 /* Confirmed-ErrorPDU */
1444 if (!PINFO_FD_VISITED(actx
->pinfo
)) {
1445 if (is_request
==true) {
1446 /* This is a request */
1447 mms_trans
=wmem_new0(wmem_file_scope(), mms_transaction_t
);
1448 mms_trans
->req_frame
= actx
->pinfo
->num
;
1449 mms_trans
->req_time
= actx
->pinfo
->fd
->abs_ts
;
1450 wmem_map_insert(mms_info
->pdus
, GUINT_TO_POINTER(mms_priv
->invokeid
), (void *)mms_trans
);
1452 mms_trans
=(mms_transaction_t
*)wmem_map_lookup(mms_info
->pdus
, GUINT_TO_POINTER(mms_priv
->invokeid
));
1454 mms_trans
->rep_frame
= actx
->pinfo
->num
;
1458 mms_trans
=(mms_transaction_t
*)wmem_map_lookup(mms_info
->pdus
, GUINT_TO_POINTER(mms_priv
->invokeid
));
1461 /* create a "fake" mms_trans structure */
1462 mms_trans
=wmem_new0(actx
->pinfo
->pool
, mms_transaction_t
);
1463 mms_trans
->req_frame
= 0;
1464 mms_trans
->rep_frame
= 0;
1465 mms_trans
->req_time
= actx
->pinfo
->fd
->abs_ts
;
1467 mms_priv
->mms_trans_p
= mms_trans
;
1469 /* print state tracking in the tree */
1471 /* This is a request */
1472 if (mms_trans
->rep_frame
) {
1475 it
= proto_tree_add_uint(actx
->subtree
.top_tree
, hf_mms_response_in
, tvb
, 0, 0, mms_trans
->rep_frame
);
1476 proto_item_set_generated(it
);
1479 /* This is a reply */
1480 if (mms_trans
->req_frame
) {
1484 it
= proto_tree_add_uint(actx
->subtree
.top_tree
, hf_mms_response_to
, tvb
, 0, 0, mms_trans
->req_frame
);
1485 proto_item_set_generated(it
);
1487 nstime_delta(&ns
, &actx
->pinfo
->fd
->abs_ts
, &mms_trans
->req_time
);
1488 it
= proto_tree_add_time(actx
->subtree
.top_tree
, hf_mms_response_time
, tvb
, 0, 0, &ns
);
1489 proto_item_set_generated(it
);
1502 dissect_mms_Identifier(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1503 tvbuff_t
*parameter_tvb
= NULL
;
1504 mms_actx_private_data_t
*mms_priv
= (mms_actx_private_data_t
*)actx
->private_data
;
1506 offset
= dissect_ber_restricted_string(implicit_tag
, BER_UNI_TAG_VisibleString
,
1507 actx
, tree
, tvb
, offset
, hf_index
,
1510 if (parameter_tvb
) {
1511 if (hf_index
== hf_mms_domainId
) {
1512 private_data_add_moreCinfo_id(actx
,parameter_tvb
);
1514 if ((mms_priv
) && ((hf_index
== hf_mms_objectName_domain_specific_itemId
)||
1515 (hf_index
==hf_mms_listOfIdentifier_item
))) {
1516 private_data_add_moreCinfo_id(actx
,parameter_tvb
);
1517 if((mms_priv
->mms_trans_p
)&&(parameter_tvb
)){
1518 mms_priv
->itemid_str
= tvb_get_string_enc(actx
->pinfo
->pool
, parameter_tvb
, 0, tvb_reported_length(parameter_tvb
), ENC_ASCII
|ENC_NA
);
1519 if(g_str_has_suffix(mms_priv
->itemid_str
,"$ctlModel")){
1520 mms_priv
->mms_trans_p
->itemid
= IEC61850_ITEM_ID_CTLMODEL
;
1521 }else if(g_str_has_suffix(mms_priv
->itemid_str
,"$q")){
1522 mms_priv
->mms_trans_p
->itemid
= IEC61850_ITEM_ID_Q
;
1523 }else if(g_str_has_suffix(mms_priv
->itemid_str
,"$Oper")){
1524 mms_priv
->mms_trans_p
->itemid
= IEC61850_ITEM_ID_OPER
;
1525 }else if((g_str_has_suffix(mms_priv
->itemid_str
,"$Oper$Check")) || (g_str_has_suffix(mms_priv
->itemid_str
,"$SBOw$Check"))){
1526 mms_priv
->mms_trans_p
->itemid
= IEC61850_ITEM_ID_CHECK
;
1527 }else if(g_str_has_suffix(mms_priv
->itemid_str
,"$orCat")){
1528 mms_priv
->mms_trans_p
->itemid
= IEC61850_ITEM_ID_OR_CAT
;
1529 }else if(g_str_has_suffix(mms_priv
->itemid_str
,"Beh$stVal")){
1530 mms_priv
->mms_trans_p
->itemid
= IEC61850_ITEM_ID_BEH$STVAL
;
1531 }else if(g_str_has_suffix(mms_priv
->itemid_str
,"Mod$stVal")){
1532 mms_priv
->mms_trans_p
->itemid
= IEC61850_ITEM_ID_MOD$STVAL
;
1533 }else if(g_str_has_suffix(mms_priv
->itemid_str
,"Health$stVal")){
1534 mms_priv
->mms_trans_p
->itemid
= IEC61850_ITEM_ID_HEALTH$STVAL
;
1535 }else if((g_strrstr(mms_priv
->itemid_str
,"$BR$") || g_strrstr(mms_priv
->itemid_str
,"$RP$"))){ //GetBRCBValues,GetURCBValues,)
1536 mms_priv
->mms_trans_p
->itemid
= IEC61850_ITEM_ID_$BR$_OR_$RP$
;
1537 }else if(g_str_has_suffix(mms_priv
->itemid_str
,"$SBOw")){
1538 mms_priv
->mms_trans_p
->itemid
= IEC61850_ITEM_ID_$SBOW
;
1539 mms_priv
->mms_trans_p
->conf_serv_pdu_type_req
= MMS_IEC_61850_CONF_SERV_PDU_SELECTWITHVALUE
;
1544 if ((mms_priv
) && (hf_index
== hf_mms_vmd_specific
)){
1545 const char *vmd_specific_str
= tvb_get_string_enc(actx
->pinfo
->pool
, parameter_tvb
, 0, tvb_reported_length(parameter_tvb
), ENC_ASCII
|ENC_NA
);
1546 if (strcmp(vmd_specific_str
, "RPT") == 0) {
1547 mms_priv
->vmd_specific
= IEC61850_8_1_RPT
;
1559 dissect_mms_ObjectName_domain_specific_itemid(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1560 offset
= dissect_mms_Identifier(implicit_tag
, tvb
, offset
, actx
, tree
, hf_index
);
1566 static const ber_sequence_t T_domain_specific_sequence
[] = {
1567 { &hf_mms_domainId
, BER_CLASS_UNI
, BER_UNI_TAG_VisibleString
, BER_FLAGS_NOOWNTAG
, dissect_mms_Identifier
},
1568 { &hf_mms_objectName_domain_specific_itemId
, BER_CLASS_UNI
, BER_UNI_TAG_VisibleString
, BER_FLAGS_NOOWNTAG
, dissect_mms_ObjectName_domain_specific_itemid
},
1569 { NULL
, 0, 0, 0, NULL
}
1573 dissect_mms_T_domain_specific(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1574 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
1575 T_domain_specific_sequence
, hf_index
, ett_mms_T_domain_specific
);
1581 static const value_string mms_ObjectName_vals
[] = {
1582 { 0, "vmd-specific" },
1583 { 1, "domain-specific" },
1584 { 2, "aa-specific" },
1588 static const ber_choice_t ObjectName_choice
[] = {
1589 { 0, &hf_mms_vmd_specific
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_mms_Identifier
},
1590 { 1, &hf_mms_domain_specific
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_mms_T_domain_specific
},
1591 { 2, &hf_mms_aa_specific
, BER_CLASS_CON
, 2, BER_FLAGS_IMPLTAG
, dissect_mms_Identifier
},
1592 { 0, NULL
, 0, 0, 0, NULL
}
1596 dissect_mms_ObjectName(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1597 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
1598 ObjectName_choice
, hf_index
, ett_mms_ObjectName
,
1605 static int * const Transitions_bits
[] = {
1606 &hf_mms_Transitions_idle_to_disabled
,
1607 &hf_mms_Transitions_active_to_disabled
,
1608 &hf_mms_Transitions_disabled_to_idle
,
1609 &hf_mms_Transitions_active_to_idle
,
1610 &hf_mms_Transitions_disabled_to_active
,
1611 &hf_mms_Transitions_idle_to_active
,
1612 &hf_mms_Transitions_any_to_deleted
,
1617 dissect_mms_Transitions(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1618 offset
= dissect_ber_bitstring(implicit_tag
, actx
, tree
, tvb
, offset
,
1619 Transitions_bits
, 7, hf_index
, ett_mms_Transitions
,
1626 static const ber_sequence_t AttachToEventCondition_sequence
[] = {
1627 { &hf_mms_eventEnrollmentName
, BER_CLASS_CON
, 0, BER_FLAGS_NOTCHKTAG
, dissect_mms_ObjectName
},
1628 { &hf_mms_eventConditionName
, BER_CLASS_CON
, 1, BER_FLAGS_NOTCHKTAG
, dissect_mms_ObjectName
},
1629 { &hf_mms_causingTransitions
, BER_CLASS_CON
, 2, BER_FLAGS_IMPLTAG
, dissect_mms_Transitions
},
1630 { &hf_mms_acceptableDelay
, BER_CLASS_CON
, 3, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_mms_Unsigned32
},
1631 { NULL
, 0, 0, 0, NULL
}
1635 dissect_mms_AttachToEventCondition(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1636 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
1637 AttachToEventCondition_sequence
, hf_index
, ett_mms_AttachToEventCondition
);
1645 dissect_mms_Unsigned8(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1646 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
1655 dissect_mms_Priority(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1656 offset
= dissect_mms_Unsigned8(implicit_tag
, tvb
, offset
, actx
, tree
, hf_index
);
1664 dissect_mms_BOOLEAN(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1665 offset
= dissect_ber_boolean(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
, NULL
);
1671 static const ber_sequence_t AttachToSemaphore_sequence
[] = {
1672 { &hf_mms_semaphoreName
, BER_CLASS_CON
, 0, BER_FLAGS_NOTCHKTAG
, dissect_mms_ObjectName
},
1673 { &hf_mms_namedToken
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_mms_Identifier
},
1674 { &hf_mms_priority
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_mms_Priority
},
1675 { &hf_mms_acceptableDelay
, BER_CLASS_CON
, 3, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_mms_Unsigned32
},
1676 { &hf_mms_controlTimeOut
, BER_CLASS_CON
, 4, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_mms_Unsigned32
},
1677 { &hf_mms_abortOnTimeOut
, BER_CLASS_CON
, 5, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_mms_BOOLEAN
},
1678 { &hf_mms_relinquishIfConnectionLost
, BER_CLASS_CON
, 6, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_mms_BOOLEAN
},
1679 { NULL
, 0, 0, 0, NULL
}
1683 dissect_mms_AttachToSemaphore(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1684 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
1685 AttachToSemaphore_sequence
, hf_index
, ett_mms_AttachToSemaphore
);
1691 static const value_string mms_Modifier_vals
[] = {
1692 { 0, "attach-To-Event-Condition" },
1693 { 1, "attach-To-Semaphore" },
1697 static const ber_choice_t Modifier_choice
[] = {
1698 { 0, &hf_mms_attach_To_Event_Condition
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_mms_AttachToEventCondition
},
1699 { 1, &hf_mms_attach_To_Semaphore
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_mms_AttachToSemaphore
},
1700 { 0, NULL
, 0, 0, 0, NULL
}
1704 dissect_mms_Modifier(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1705 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
1706 Modifier_choice
, hf_index
, ett_mms_Modifier
,
1713 static const ber_sequence_t SEQUENCE_OF_Modifier_sequence_of
[1] = {
1714 { &hf_mms_listOfModifier_item
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG
|BER_FLAGS_NOTCHKTAG
, dissect_mms_Modifier
},
1718 dissect_mms_SEQUENCE_OF_Modifier(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1719 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
1720 SEQUENCE_OF_Modifier_sequence_of
, hf_index
, ett_mms_SEQUENCE_OF_Modifier
);
1728 dissect_mms_Status_Request(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1729 offset
= dissect_ber_boolean(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
, NULL
);
1735 static const value_string mms_ObjectClass_vals
[] = {
1736 { 0, "nammedVariable" },
1737 { 1, "scatteredAccess" },
1738 { 2, "namedVariableList" },
1741 { 5, "eventCondition" },
1742 { 6, "eventAction" },
1743 { 7, "eventEnrollment" },
1746 { 10, "programInvocation" },
1747 { 11, "operatorStation" },
1753 dissect_mms_ObjectClass(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1756 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
1759 mms_actx_private_data_t
*mms_priv
= (mms_actx_private_data_t
*)actx
->private_data
;
1761 mms_priv
->objectclass
= val
;
1769 static const value_string mms_T_extendedObjectClass_vals
[] = {
1770 { 0, "objectClass" },
1774 static const ber_choice_t T_extendedObjectClass_choice
[] = {
1775 { 0, &hf_mms_objectClass
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_mms_ObjectClass
},
1776 { 0, NULL
, 0, 0, 0, NULL
}
1780 dissect_mms_T_extendedObjectClass(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1781 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
1782 T_extendedObjectClass_choice
, hf_index
, ett_mms_T_extendedObjectClass
,
1791 dissect_mms_NULL(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1792 offset
= dissect_ber_null(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
);
1798 static const value_string mms_ObjectScope_vals
[] = {
1799 { 0, "vmdSpecific" },
1800 { 1, "domainSpecific" },
1801 { 2, "aaSpecific" },
1805 static const ber_choice_t ObjectScope_choice
[] = {
1806 { 0, &hf_mms_vmdSpecific
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_mms_NULL
},
1807 { 1, &hf_mms_domainSpecific
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_mms_Identifier
},
1808 { 2, &hf_mms_aaSpecific
, BER_CLASS_CON
, 2, BER_FLAGS_IMPLTAG
, dissect_mms_NULL
},
1809 { 0, NULL
, 0, 0, 0, NULL
}
1813 dissect_mms_ObjectScope(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1816 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
1817 ObjectScope_choice
, hf_index
, ett_mms_ObjectScope
,
1820 mms_actx_private_data_t
*mms_priv
= (mms_actx_private_data_t
*)actx
->private_data
;
1822 mms_priv
->objectscope
= val
;
1830 static const ber_sequence_t GetNameList_Request_sequence
[] = {
1831 { &hf_mms_extendedObjectClass
, BER_CLASS_CON
, 0, 0, dissect_mms_T_extendedObjectClass
},
1832 { &hf_mms_objectScope
, BER_CLASS_CON
, 1, BER_FLAGS_NOTCHKTAG
, dissect_mms_ObjectScope
},
1833 { &hf_mms_getNameList_Request_continueAfter
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_mms_Identifier
},
1834 { NULL
, 0, 0, 0, NULL
}
1838 dissect_mms_GetNameList_Request(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1839 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
1840 GetNameList_Request_sequence
, hf_index
, ett_mms_GetNameList_Request
);
1848 dissect_mms_Identify_Request(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1849 offset
= dissect_ber_null(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
);
1855 static const value_string mms_T_objectClass_vals
[] = {
1856 { 0, "namedVariable" },
1857 { 1, "scatteredAccess" },
1858 { 2, "namedVariableList" },
1861 { 5, "eventCondition" },
1862 { 6, "eventAction" },
1863 { 7, "eventEnrollment" },
1866 { 10, "programInvocation" },
1867 { 11, "operatorStation" },
1873 dissect_mms_T_objectClass(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1874 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
1881 static const value_string mms_T_extendedObjectClass_01_vals
[] = {
1882 { 0, "objectClass" },
1886 static const ber_choice_t T_extendedObjectClass_01_choice
[] = {
1887 { 0, &hf_mms_objectClass_01
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_mms_T_objectClass
},
1888 { 0, NULL
, 0, 0, 0, NULL
}
1892 dissect_mms_T_extendedObjectClass_01(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1893 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
1894 T_extendedObjectClass_01_choice
, hf_index
, ett_mms_T_extendedObjectClass_01
,
1901 static const ber_sequence_t Rename_Request_sequence
[] = {
1902 { &hf_mms_extendedObjectClass_01
, BER_CLASS_CON
, 0, 0, dissect_mms_T_extendedObjectClass_01
},
1903 { &hf_mms_currentName
, BER_CLASS_CON
, 1, BER_FLAGS_NOTCHKTAG
, dissect_mms_ObjectName
},
1904 { &hf_mms_newIdentifier
, BER_CLASS_CON
, 2, BER_FLAGS_IMPLTAG
, dissect_mms_Identifier
},
1905 { NULL
, 0, 0, 0, NULL
}
1909 dissect_mms_Rename_Request(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1910 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
1911 Rename_Request_sequence
, hf_index
, ett_mms_Rename_Request
);
1919 dissect_mms_VisibleString(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1920 offset
= dissect_ber_restricted_string(implicit_tag
, BER_UNI_TAG_VisibleString
,
1921 actx
, tree
, tvb
, offset
, hf_index
,
1930 dissect_mms_OCTET_STRING(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1931 offset
= dissect_ber_octet_string(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
1938 static const value_string mms_Address_vals
[] = {
1939 { 0, "numericAddress" },
1940 { 1, "symbolicAddress" },
1941 { 2, "unconstrainedAddress" },
1945 static const ber_choice_t Address_choice
[] = {
1946 { 0, &hf_mms_numericAddress
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_mms_Unsigned32
},
1947 { 1, &hf_mms_symbolicAddress
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_mms_VisibleString
},
1948 { 2, &hf_mms_unconstrainedAddress
, BER_CLASS_CON
, 2, BER_FLAGS_IMPLTAG
, dissect_mms_OCTET_STRING
},
1949 { 0, NULL
, 0, 0, 0, NULL
}
1953 dissect_mms_Address(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1954 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
1955 Address_choice
, hf_index
, ett_mms_Address
,
1962 static const ber_sequence_t T_array_sequence
[] = {
1963 { &hf_mms_packed
, BER_CLASS_CON
, 0, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_mms_BOOLEAN
},
1964 { &hf_mms_numberOfElements
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_mms_Unsigned32
},
1965 { &hf_mms_elementType
, BER_CLASS_CON
, 2, BER_FLAGS_NOTCHKTAG
, dissect_mms_TypeSpecification
},
1966 { NULL
, 0, 0, 0, NULL
}
1970 dissect_mms_T_array(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1971 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
1972 T_array_sequence
, hf_index
, ett_mms_T_array
);
1978 static const ber_sequence_t T_components_item_sequence
[] = {
1979 { &hf_mms_componentName
, BER_CLASS_CON
, 0, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_mms_Identifier
},
1980 { &hf_mms_componentType
, BER_CLASS_CON
, 1, BER_FLAGS_NOTCHKTAG
, dissect_mms_TypeSpecification
},
1981 { NULL
, 0, 0, 0, NULL
}
1985 dissect_mms_T_components_item(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1986 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
1987 T_components_item_sequence
, hf_index
, ett_mms_T_components_item
);
1993 static const ber_sequence_t T_components_sequence_of
[1] = {
1994 { &hf_mms_components_item
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_mms_T_components_item
},
1998 dissect_mms_T_components(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1999 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
2000 T_components_sequence_of
, hf_index
, ett_mms_T_components
);
2006 static const ber_sequence_t T_structure_sequence
[] = {
2007 { &hf_mms_packed
, BER_CLASS_CON
, 0, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_mms_BOOLEAN
},
2008 { &hf_mms_components
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_mms_T_components
},
2009 { NULL
, 0, 0, 0, NULL
}
2013 dissect_mms_T_structure(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2014 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
2015 T_structure_sequence
, hf_index
, ett_mms_T_structure
);
2023 dissect_mms_Integer32(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2024 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
2031 static const value_string mms_TypeSpecification_vals
[] = {
2036 { 4, "bit-string" },
2039 { 9, "octet-string" },
2040 { 10, "visible-string" },
2041 { 11, "generalized-time" },
2042 { 12, "binary-time" },
2048 static const ber_choice_t TypeSpecification_choice
[] = {
2049 { 0, &hf_mms_typeName
, BER_CLASS_CON
, 0, 0, dissect_mms_ObjectName
},
2050 { 1, &hf_mms_array
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_mms_T_array
},
2051 { 2, &hf_mms_structure
, BER_CLASS_CON
, 2, BER_FLAGS_IMPLTAG
, dissect_mms_T_structure
},
2052 { 3, &hf_mms_boolean
, BER_CLASS_CON
, 3, BER_FLAGS_IMPLTAG
, dissect_mms_NULL
},
2053 { 4, &hf_mms_typeSpecification_bit_string
, BER_CLASS_CON
, 4, BER_FLAGS_IMPLTAG
, dissect_mms_Integer32
},
2054 { 5, &hf_mms_integer
, BER_CLASS_CON
, 5, BER_FLAGS_IMPLTAG
, dissect_mms_Unsigned8
},
2055 { 6, &hf_mms_unsigned
, BER_CLASS_CON
, 6, BER_FLAGS_IMPLTAG
, dissect_mms_Unsigned8
},
2056 { 9, &hf_mms_typeSpecification_octet_string
, BER_CLASS_CON
, 9, BER_FLAGS_IMPLTAG
, dissect_mms_Integer32
},
2057 { 10, &hf_mms_typeSpecification_visible_string
, BER_CLASS_CON
, 10, BER_FLAGS_IMPLTAG
, dissect_mms_Integer32
},
2058 { 11, &hf_mms_generalized_time
, BER_CLASS_CON
, 11, BER_FLAGS_IMPLTAG
, dissect_mms_NULL
},
2059 { 12, &hf_mms_typeSpecification_binary_time
, BER_CLASS_CON
, 12, BER_FLAGS_IMPLTAG
, dissect_mms_BOOLEAN
},
2060 { 13, &hf_mms_bcd
, BER_CLASS_CON
, 13, BER_FLAGS_IMPLTAG
, dissect_mms_Unsigned8
},
2061 { 15, &hf_mms_objId
, BER_CLASS_CON
, 15, BER_FLAGS_IMPLTAG
, dissect_mms_NULL
},
2062 { 0, NULL
, 0, 0, 0, NULL
}
2066 dissect_mms_TypeSpecification(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2067 // TypeSpecification -> TypeSpecification/array -> TypeSpecification
2068 actx
->pinfo
->dissection_depth
+= 2;
2069 increment_dissection_depth(actx
->pinfo
);
2070 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
2071 TypeSpecification_choice
, hf_index
, ett_mms_TypeSpecification
,
2074 actx
->pinfo
->dissection_depth
-= 2;
2075 decrement_dissection_depth(actx
->pinfo
);
2080 static const ber_sequence_t T_variableDescription_sequence
[] = {
2081 { &hf_mms_address
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG
|BER_FLAGS_NOTCHKTAG
, dissect_mms_Address
},
2082 { &hf_mms_typeSpecification
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG
|BER_FLAGS_NOTCHKTAG
, dissect_mms_TypeSpecification
},
2083 { NULL
, 0, 0, 0, NULL
}
2087 dissect_mms_T_variableDescription(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2088 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
2089 T_variableDescription_sequence
, hf_index
, ett_mms_T_variableDescription
);
2095 static const ber_sequence_t T_indexRange_sequence
[] = {
2096 { &hf_mms_lowIndex
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_mms_Unsigned32
},
2097 { &hf_mms_numberOfElements
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_mms_Unsigned32
},
2098 { NULL
, 0, 0, 0, NULL
}
2102 dissect_mms_T_indexRange(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2103 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
2104 T_indexRange_sequence
, hf_index
, ett_mms_T_indexRange
);
2110 static const value_string mms_T_accessSelection_vals
[] = {
2113 { 2, "indexRange" },
2114 { 3, "allElements" },
2118 static const ber_choice_t T_accessSelection_choice
[] = {
2119 { 0, &hf_mms_component
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_mms_Identifier
},
2120 { 1, &hf_mms_index
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_mms_Unsigned32
},
2121 { 2, &hf_mms_indexRange
, BER_CLASS_CON
, 2, BER_FLAGS_IMPLTAG
, dissect_mms_T_indexRange
},
2122 { 3, &hf_mms_allElements
, BER_CLASS_CON
, 3, BER_FLAGS_IMPLTAG
, dissect_mms_NULL
},
2123 { 0, NULL
, 0, 0, 0, NULL
}
2127 dissect_mms_T_accessSelection(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2128 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
2129 T_accessSelection_choice
, hf_index
, ett_mms_T_accessSelection
,
2136 static const ber_sequence_t T_selectAlternateAccess_sequence
[] = {
2137 { &hf_mms_accessSelection
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG
|BER_FLAGS_NOTCHKTAG
, dissect_mms_T_accessSelection
},
2138 { &hf_mms_alternateAccess
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_mms_AlternateAccess
},
2139 { NULL
, 0, 0, 0, NULL
}
2143 dissect_mms_T_selectAlternateAccess(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2144 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
2145 T_selectAlternateAccess_sequence
, hf_index
, ett_mms_T_selectAlternateAccess
);
2151 static const ber_sequence_t T_indexRange_01_sequence
[] = {
2152 { &hf_mms_lowIndex
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_mms_Unsigned32
},
2153 { &hf_mms_nmberOfElements
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_mms_Unsigned32
},
2154 { NULL
, 0, 0, 0, NULL
}
2158 dissect_mms_T_indexRange_01(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2159 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
2160 T_indexRange_01_sequence
, hf_index
, ett_mms_T_indexRange_01
);
2166 static const value_string mms_T_selectAccess_vals
[] = {
2169 { 3, "indexRange" },
2170 { 4, "allElements" },
2174 static const ber_choice_t T_selectAccess_choice
[] = {
2175 { 1, &hf_mms_component
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_mms_Identifier
},
2176 { 2, &hf_mms_index
, BER_CLASS_CON
, 2, BER_FLAGS_IMPLTAG
, dissect_mms_Unsigned32
},
2177 { 3, &hf_mms_indexRange_01
, BER_CLASS_CON
, 3, BER_FLAGS_IMPLTAG
, dissect_mms_T_indexRange_01
},
2178 { 4, &hf_mms_allElements
, BER_CLASS_CON
, 4, BER_FLAGS_IMPLTAG
, dissect_mms_NULL
},
2179 { 0, NULL
, 0, 0, 0, NULL
}
2183 dissect_mms_T_selectAccess(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2184 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
2185 T_selectAccess_choice
, hf_index
, ett_mms_T_selectAccess
,
2192 static const value_string mms_AlternateAccessSelection_vals
[] = {
2193 { 0, "selectAlternateAccess" },
2194 { 1, "selectAccess" },
2198 static const ber_choice_t AlternateAccessSelection_choice
[] = {
2199 { 0, &hf_mms_selectAlternateAccess
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_mms_T_selectAlternateAccess
},
2200 { 1, &hf_mms_selectAccess
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG
, dissect_mms_T_selectAccess
},
2201 { 0, NULL
, 0, 0, 0, NULL
}
2205 dissect_mms_AlternateAccessSelection(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2206 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
2207 AlternateAccessSelection_choice
, hf_index
, ett_mms_AlternateAccessSelection
,
2214 static const ber_sequence_t T_named_sequence
[] = {
2215 { &hf_mms_componentName
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_mms_Identifier
},
2216 { &hf_mms_accesst
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG
|BER_FLAGS_NOTCHKTAG
, dissect_mms_AlternateAccessSelection
},
2217 { NULL
, 0, 0, 0, NULL
}
2221 dissect_mms_T_named(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2222 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
2223 T_named_sequence
, hf_index
, ett_mms_T_named
);
2229 static const value_string mms_AlternateAccess_item_vals
[] = {
2235 static const ber_choice_t AlternateAccess_item_choice
[] = {
2236 { 0, &hf_mms_unnamed
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG
, dissect_mms_AlternateAccessSelection
},
2237 { 1, &hf_mms_named
, BER_CLASS_CON
, 5, BER_FLAGS_IMPLTAG
, dissect_mms_T_named
},
2238 { 0, NULL
, 0, 0, 0, NULL
}
2242 dissect_mms_AlternateAccess_item(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2243 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
2244 AlternateAccess_item_choice
, hf_index
, ett_mms_AlternateAccess_item
,
2251 static const ber_sequence_t AlternateAccess_sequence_of
[1] = {
2252 { &hf_mms_AlternateAccess_item
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG
|BER_FLAGS_NOTCHKTAG
, dissect_mms_AlternateAccess_item
},
2256 dissect_mms_AlternateAccess(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2257 // AlternateAccess -> AlternateAccess/_item -> AlternateAccessSelection -> AlternateAccessSelection/selectAlternateAccess -> AlternateAccess
2258 actx
->pinfo
->dissection_depth
+= 4;
2259 increment_dissection_depth(actx
->pinfo
);
2260 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
2261 AlternateAccess_sequence_of
, hf_index
, ett_mms_AlternateAccess
);
2263 actx
->pinfo
->dissection_depth
-= 4;
2264 decrement_dissection_depth(actx
->pinfo
);
2269 static const ber_sequence_t ScatteredAccessDescription_item_sequence
[] = {
2270 { &hf_mms_componentName
, BER_CLASS_CON
, 0, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_mms_Identifier
},
2271 { &hf_mms_variableSpecification
, BER_CLASS_CON
, 1, BER_FLAGS_NOTCHKTAG
, dissect_mms_VariableSpecification
},
2272 { &hf_mms_alternateAccess
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_mms_AlternateAccess
},
2273 { NULL
, 0, 0, 0, NULL
}
2277 dissect_mms_ScatteredAccessDescription_item(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2278 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
2279 ScatteredAccessDescription_item_sequence
, hf_index
, ett_mms_ScatteredAccessDescription_item
);
2285 static const ber_sequence_t ScatteredAccessDescription_sequence_of
[1] = {
2286 { &hf_mms_ScatteredAccessDescription_item
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_mms_ScatteredAccessDescription_item
},
2290 dissect_mms_ScatteredAccessDescription(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2291 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
2292 ScatteredAccessDescription_sequence_of
, hf_index
, ett_mms_ScatteredAccessDescription
);
2298 static const value_string mms_VariableSpecification_vals
[] = {
2301 { 2, "variableDescription" },
2302 { 3, "scatteredAccessDescription" },
2303 { 4, "invalidated" },
2307 static const ber_choice_t VariableSpecification_choice
[] = {
2308 { 0, &hf_mms_name
, BER_CLASS_CON
, 0, 0, dissect_mms_ObjectName
},
2309 { 1, &hf_mms_address
, BER_CLASS_CON
, 1, 0, dissect_mms_Address
},
2310 { 2, &hf_mms_variableDescription
, BER_CLASS_CON
, 2, BER_FLAGS_IMPLTAG
, dissect_mms_T_variableDescription
},
2311 { 3, &hf_mms_scatteredAccessDescription
, BER_CLASS_CON
, 3, BER_FLAGS_IMPLTAG
, dissect_mms_ScatteredAccessDescription
},
2312 { 4, &hf_mms_invalidated
, BER_CLASS_CON
, 4, BER_FLAGS_IMPLTAG
, dissect_mms_NULL
},
2313 { 0, NULL
, 0, 0, 0, NULL
}
2317 dissect_mms_VariableSpecification(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2318 // VariableSpecification -> ScatteredAccessDescription -> ScatteredAccessDescription/_item -> VariableSpecification
2319 actx
->pinfo
->dissection_depth
+= 3;
2320 increment_dissection_depth(actx
->pinfo
);
2321 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
2322 VariableSpecification_choice
, hf_index
, ett_mms_VariableSpecification
,
2325 actx
->pinfo
->dissection_depth
-= 3;
2326 decrement_dissection_depth(actx
->pinfo
);
2331 static const ber_sequence_t T_listOfVariable_item_02_sequence
[] = {
2332 { &hf_mms_variableSpecification
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG
|BER_FLAGS_NOTCHKTAG
, dissect_mms_VariableSpecification
},
2333 { &hf_mms_alternateAccess
, BER_CLASS_CON
, 5, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_mms_AlternateAccess
},
2334 { NULL
, 0, 0, 0, NULL
}
2338 dissect_mms_T_listOfVariable_item_02(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2339 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
2340 T_listOfVariable_item_02_sequence
, hf_index
, ett_mms_T_listOfVariable_item_02
);
2346 static const ber_sequence_t T_listOfVariable_02_sequence_of
[1] = {
2347 { &hf_mms_listOfVariable_item_02
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_mms_T_listOfVariable_item_02
},
2351 dissect_mms_T_listOfVariable_02(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2352 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
2353 T_listOfVariable_02_sequence_of
, hf_index
, ett_mms_T_listOfVariable_02
);
2359 static const value_string mms_VariableAccessSpecification_vals
[] = {
2360 { 0, "listOfVariable" },
2361 { 1, "variableListName" },
2365 static const ber_choice_t VariableAccessSpecification_choice
[] = {
2366 { 0, &hf_mms_listOfVariable_02
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_mms_T_listOfVariable_02
},
2367 { 1, &hf_mms_variableListName
, BER_CLASS_CON
, 1, 0, dissect_mms_ObjectName
},
2368 { 0, NULL
, 0, 0, 0, NULL
}
2372 dissect_mms_VariableAccessSpecification(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2373 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
2374 VariableAccessSpecification_choice
, hf_index
, ett_mms_VariableAccessSpecification
,
2381 static const ber_sequence_t Read_Request_sequence
[] = {
2382 { &hf_mms_specificationWithResult
, BER_CLASS_CON
, 0, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_mms_BOOLEAN
},
2383 { &hf_mms_variableAccessSpecificatn
, BER_CLASS_CON
, 1, BER_FLAGS_NOTCHKTAG
, dissect_mms_VariableAccessSpecification
},
2384 { NULL
, 0, 0, 0, NULL
}
2388 dissect_mms_Read_Request(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2389 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
2390 Read_Request_sequence
, hf_index
, ett_mms_Read_Request
);
2396 static const ber_sequence_t SEQUENCE_OF_Data_sequence_of
[1] = {
2397 { &hf_mms_array_item
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG
|BER_FLAGS_NOTCHKTAG
, dissect_mms_Data
},
2401 dissect_mms_SEQUENCE_OF_Data(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2402 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
2403 SEQUENCE_OF_Data_sequence_of
, hf_index
, ett_mms_SEQUENCE_OF_Data
);
2409 static const ber_sequence_t T_structure_01_sequence_of
[1] = {
2410 { &hf_mms_structure_item
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG
|BER_FLAGS_NOTCHKTAG
, dissect_mms_Data
},
2414 dissect_mms_T_structure_01(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2415 mms_actx_private_data_t
*mms_priv
= (mms_actx_private_data_t
*)actx
->private_data
;
2416 if((mms_priv
)&& (mms_priv
->mms_trans_p
)){
2417 if(mms_priv
->mms_trans_p
->conf_serv_pdu_type_req
== MMS_IEC_61850_CONF_SERV_PDU_SELECTWITHVALUE
){
2418 if(mms_priv
->data_cnt
== 3){
2419 /* IEC 61850-8-1 origin, if we hgave a struct here Tm was not there */
2420 hf_index
= hf_mms_iec61850_origin
;
2421 mms_priv
->data_cnt
++;
2422 }else if(mms_priv
->data_cnt
== 4){
2423 /* IEC 61850-8-1 origin, if we hgave a struct here Tm was not there */
2424 hf_index
= hf_mms_iec61850_origin
;
2428 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
2429 T_structure_01_sequence_of
, hf_index
, ett_mms_T_structure_01
);
2439 dissect_mms_T_boolean(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2440 mms_actx_private_data_t
*mms_priv
= (mms_actx_private_data_t
*)actx
->private_data
;
2441 if((mms_priv
) && (mms_priv
->mms_trans_p
)){
2442 if(mms_priv
->vmd_specific
== IEC61850_8_1_RPT
){
2443 if(mms_priv
->listOfAccessResult_cnt
== 6){
2444 /* IEC 61850-8-1 BufOvfl */
2445 hf_index
= hf_mms_iec61850_bufovfl
;
2447 }else if(mms_priv
->mms_trans_p
->conf_serv_pdu_type_req
== MMS_IEC_61850_CONF_SERV_PDU_SELECTWITHVALUE
){
2448 if(mms_priv
->data_cnt
== 2){
2449 /* IEC 61850-8-1 ctlVal */
2450 hf_index
= hf_mms_iec61850_ctlval
;
2451 }else if(mms_priv
->data_cnt
== 9){
2452 /* IEC 61850-8-1 Test */
2453 hf_index
= hf_mms_iec61850_test
;
2457 offset
= dissect_ber_boolean(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
, NULL
);
2467 dissect_mms_T_data_bit_string(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2469 static int* const quality_field_bits_oct1
[] = {
2470 &hf_mms_iec61850_QualityC0
,
2471 &hf_mms_iec61850_Quality20
,
2472 &hf_mms_iec61850_Quality10
,
2473 &hf_mms_iec61850_Quality8
,
2474 &hf_mms_iec61850_Quality4
,
2475 &hf_mms_iec61850_Quality2
,
2476 &hf_mms_iec61850_Quality1
,
2480 static int* const quality_field_bits_oct2
[] = {
2481 &hf_mms_iec61850_Quality0080
,
2482 &hf_mms_iec61850_Quality0040
,
2483 &hf_mms_iec61850_Quality0020
,
2484 &hf_mms_iec61850_Quality0010
,
2485 &hf_mms_iec61850_Quality0008
,
2489 static int * const mms_iec61850_chec_bits
[] = {
2490 &hf_mms_iec61850_check_b15
,
2491 &hf_mms_iec61850_check_b14
,
2492 &hf_mms_iec61850_check_b13_b0
,
2495 tvbuff_t
*parameter_tvb
= NULL
;
2496 proto_tree
*sub_tree
;
2498 mms_actx_private_data_t
*mms_priv
= (mms_actx_private_data_t
*)actx
->private_data
;
2499 if((mms_priv
)&&(mms_priv
->mms_trans_p
)){
2500 if(mms_priv
->vmd_specific
== IEC61850_8_1_RPT
){
2501 if(mms_priv
->listOfAccessResult_cnt
== 2){
2502 /* IEC 61850-8-1 Reported OptFlds */
2503 return dissect_mms_ReportedOptFlds(implicit_tag
, tvb
, offset
, actx
, tree
, hf_mms_iec61850_reported_optflds
);
2505 if(mms_priv
->listOfAccessResult_cnt
== 11){
2506 hf_index
= hf_mms_iec61850_inclusion_bitstring
;
2509 }else if (mms_priv
->mms_trans_p
->itemid
== IEC61850_ITEM_ID_Q
){
2510 hf_index
= hf_mms_iec61850_quality_bitstring
;
2511 }else if (mms_priv
->mms_trans_p
->itemid
== IEC61850_ITEM_ID_CHECK
){
2512 hf_index
= hf_mms_iec61850_check_bitstring
;
2513 }else if(mms_priv
->mms_trans_p
->conf_serv_pdu_type_req
== MMS_IEC_61850_CONF_SERV_PDU_SELECTWITHVALUE
){
2514 if(mms_priv
->data_cnt
== 10){
2515 hf_index
= hf_mms_iec61850_check_bitstring
;
2520 offset
= dissect_ber_bitstring(implicit_tag
, actx
, tree
, tvb
, offset
,
2521 NULL
, 0, hf_index
, -1,
2525 if((mms_priv
)&&(parameter_tvb
) && (mms_priv
->mms_trans_p
)){
2526 if(mms_priv
->mms_trans_p
->itemid
== IEC61850_ITEM_ID_Q
){
2527 sub_tree
= proto_item_add_subtree(actx
->created_item
, ett_mms_iec61850_quality_bitstring
);
2528 proto_tree_add_bitmask_list(sub_tree
, parameter_tvb
, 0, 1, quality_field_bits_oct1
, ENC_NA
);
2529 proto_tree_add_bitmask_list(sub_tree
, parameter_tvb
, 1, 1, quality_field_bits_oct2
, ENC_NA
);
2530 }else if (mms_priv
->mms_trans_p
->itemid
== IEC61850_ITEM_ID_CHECK
){
2531 sub_tree
= proto_item_add_subtree(actx
->created_item
, ett_mms_iec61850_check_bitstring
);
2532 proto_tree_add_bitmask_list(sub_tree
, parameter_tvb
, 0, 1, mms_iec61850_chec_bits
, ENC_NA
);
2533 }else if(mms_priv
->mms_trans_p
->conf_serv_pdu_type_req
== MMS_IEC_61850_CONF_SERV_PDU_SELECTWITHVALUE
){
2534 if(mms_priv
->data_cnt
== 10){
2535 sub_tree
= proto_item_add_subtree(actx
->created_item
, ett_mms_iec61850_check_bitstring
);
2536 proto_tree_add_bitmask_list(sub_tree
, parameter_tvb
, 0, 1, mms_iec61850_chec_bits
, ENC_NA
);
2548 dissect_mms_T_integer(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2549 mms_actx_private_data_t
*mms_priv
= (mms_actx_private_data_t
*)actx
->private_data
;
2550 if((mms_priv
) && (mms_priv
->mms_trans_p
)){
2551 if(mms_priv
->mms_trans_p
->itemid
== IEC61850_ITEM_ID_CTLMODEL
){
2552 hf_index
= hf_mms_iec61850_ctlModel
;
2553 }else if(mms_priv
->mms_trans_p
->itemid
== IEC61850_ITEM_ID_OR_CAT
){
2554 hf_index
= hf_mms_iec61850_orcategory
;
2555 }else if(mms_priv
->mms_trans_p
->itemid
== IEC61850_ITEM_ID_BEH$STVAL
){
2556 hf_index
= hf_mms_iec61850_beh$stval
;
2557 }else if(mms_priv
->mms_trans_p
->itemid
== IEC61850_ITEM_ID_MOD$STVAL
){
2558 hf_index
= hf_mms_iec61850_beh$stval
;
2559 }else if(mms_priv
->mms_trans_p
->itemid
== IEC61850_ITEM_ID_HEALTH$STVAL
){
2560 hf_index
= hf_mms_iec61850_health$stval
;
2561 }else if(mms_priv
->mms_trans_p
->conf_serv_pdu_type_req
== MMS_IEC_61850_CONF_SERV_PDU_SELECTWITHVALUE
){
2562 if(mms_priv
->data_cnt
== 5){
2563 /* IEC 61850-8-1 Origin Catagory */
2564 hf_index
= hf_mms_iec61850_origin_orcat
;
2569 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
2580 dissect_mms_T_unsigned(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2581 mms_actx_private_data_t
*mms_priv
= (mms_actx_private_data_t
*)actx
->private_data
;
2582 if((mms_priv
) && (mms_priv
->mms_trans_p
)){
2583 if(mms_priv
->vmd_specific
== IEC61850_8_1_RPT
){
2584 if(mms_priv
->listOfAccessResult_cnt
== 3){
2585 /* IEC 61850-8-1 SeqNum */
2586 hf_index
= hf_mms_iec61850_seqnum
;
2587 }else if(mms_priv
->listOfAccessResult_cnt
== 8){
2588 /* IEC 61850-8-1 ConfRev */
2589 hf_index
= hf_mms_iec61850_confrev
;
2592 if(mms_priv
->mms_trans_p
->conf_serv_pdu_type_req
== MMS_IEC_61850_CONF_SERV_PDU_SELECTWITHVALUE
){
2593 if(mms_priv
->data_cnt
== 7){
2594 hf_index
= hf_mms_iec61850_ctlNum
;
2598 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
2609 dissect_mms_FloatingPoint(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2610 offset
= dissect_ber_octet_string(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
2613 private_data_add_moreCinfo_float(actx
, tvb
);
2622 dissect_mms_T_data_octet_string(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2623 mms_actx_private_data_t
*mms_priv
= (mms_actx_private_data_t
*)actx
->private_data
;
2624 if((mms_priv
)&& (mms_priv
->mms_trans_p
)){
2625 if(mms_priv
->mms_trans_p
->conf_serv_pdu_type_req
== MMS_IEC_61850_CONF_SERV_PDU_SELECTWITHVALUE
){
2626 if(mms_priv
->data_cnt
== 6){
2627 hf_index
= hf_mms_iec61850_origin_orident
;
2631 offset
= dissect_ber_octet_string(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
2642 dissect_mms_T_data_visible_string(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2644 mms_actx_private_data_t
*mms_priv
= (mms_actx_private_data_t
*)actx
->private_data
;
2646 if(mms_priv
->vmd_specific
== IEC61850_8_1_RPT
){
2647 if(mms_priv
->listOfAccessResult_cnt
== 1){
2648 /* IEC 61850-8-1 RptID */
2649 hf_index
= hf_mms_iec61850_rptid
;
2650 }else if(mms_priv
->listOfAccessResult_cnt
== 5){
2651 /* IEC 61850-8-1 DatSet */
2652 hf_index
= hf_mms_iec61850_datset
;
2656 offset
= dissect_ber_restricted_string(implicit_tag
, BER_UNI_TAG_VisibleString
,
2657 actx
, tree
, tvb
, offset
, hf_index
,
2668 dissect_mms_TimeOfDay(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2671 uint32_t milliseconds
;
2676 len
= tvb_reported_length_remaining(tvb
, offset
);
2680 milliseconds
= tvb_get_ntohl(tvb
, offset
);
2681 ptime
= signed_time_msecs_to_str(actx
->pinfo
->pool
, milliseconds
);
2685 proto_tree_add_string(tree
, hf_index
, tvb
, offset
, len
, ptime
);
2692 milliseconds
= tvb_get_ntohl(tvb
, offset
);
2693 days
= tvb_get_ntohs(tvb
, offset
+4);
2695 /* 5113 days between 01-01-1970 and 01-01-1984 */
2696 /* 86400 seconds in one day */
2698 ts
.secs
= (days
+ 5113) * 86400 + milliseconds
/ 1000;
2699 ts
.nsecs
= (milliseconds
% 1000) * 1000000U;
2701 ptime
= abs_time_to_str(actx
->pinfo
->pool
, &ts
, ABSOLUTE_TIME_UTC
, true);
2704 proto_tree_add_string(tree
, hf_index
, tvb
, offset
, len
, ptime
);
2710 proto_tree_add_expert_format(tree
, actx
->pinfo
, &ei_mms_mal_timeofday_encoding
,
2711 tvb
, offset
, len
, "BER Error: malformed TimeOfDay encoding, length must be 4 or 6 bytes");
2714 proto_tree_add_string(tree
, hf_index
, tvb
, offset
, len
, "????");
2724 dissect_mms_T_data_binary_time(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2725 mms_actx_private_data_t
*mms_priv
= (mms_actx_private_data_t
*)actx
->private_data
;
2727 if(mms_priv
->vmd_specific
== IEC61850_8_1_RPT
){
2728 if(mms_priv
->listOfAccessResult_cnt
== 4){
2729 /* IEC 61850-8-1 TimeOfEntry */
2730 hf_index
= hf_mms_iec61850_timeofentry
;
2734 offset
= dissect_mms_TimeOfDay(implicit_tag
, tvb
, offset
, actx
, tree
, hf_index
);
2744 dissect_mms_INTEGER(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2745 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
2754 dissect_mms_BIT_STRING(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2755 offset
= dissect_ber_bitstring(implicit_tag
, actx
, tree
, tvb
, offset
,
2756 NULL
, 0, hf_index
, -1,
2765 dissect_mms_OBJECT_IDENTIFIER(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2766 offset
= dissect_ber_object_identifier(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
, NULL
);
2774 dissect_mms_MMSString(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2775 offset
= dissect_ber_restricted_string(implicit_tag
, BER_UNI_TAG_UTF8String
,
2776 actx
, tree
, tvb
, offset
, hf_index
,
2785 dissect_mms_UtcTime(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2790 uint32_t nanoseconds
;
2794 static int * const TimeQuality_bits
[] = {
2795 &hf_mms_iec61850_timequality80
,
2796 &hf_mms_iec61850_timequality40
,
2797 &hf_mms_iec61850_timequality20
,
2798 &hf_mms_iec61850_timequality1F
,
2801 len
= tvb_reported_length_remaining(tvb
, offset
);
2805 /* The octet format shall be (using ASN.1 bstring notation):
2806 * ‘ssssssssssssssssssssssssssssssssffffffffffffffffffffffffqqqqqqqq’B
2807 * q stands for TimeQuality, i.e. reserved to represent TimeQuality based upon the referencing standard.
2809 proto_tree_add_expert_format(tree
, actx
->pinfo
, &ei_mms_mal_utctime_encoding
,
2810 tvb
, offset
, len
, "BER Error: malformed IEC61850 UTCTime encoding, length must be 8 bytes");
2813 proto_tree_add_string(tree
, hf_index
, tvb
, offset
, len
, "????");
2818 seconds
= tvb_get_ntohl(tvb
, offset
);
2819 fraction
= tvb_get_ntoh24(tvb
, offset
+4) * 0x100; /* Only 3 bytes are recommended */
2820 nanoseconds
= (uint32_t )( ((uint64_t)fraction
* UINT64_C(1000000000)) / UINT64_C(0x100000000) ) ;
2823 ts
.nsecs
= nanoseconds
;
2825 ptime
= abs_time_to_str(actx
->pinfo
->pool
, &ts
, ABSOLUTE_TIME_UTC
, true);
2829 mms_actx_private_data_t
* mms_priv
= (mms_actx_private_data_t
*)actx
->private_data
;
2830 if((mms_priv
)&& (mms_priv
->mms_trans_p
)){
2831 if(mms_priv
->mms_trans_p
->conf_serv_pdu_type_req
== MMS_IEC_61850_CONF_SERV_PDU_SELECTWITHVALUE
){
2832 if(mms_priv
->data_cnt
== 8){
2833 hf_index
= hf_mms_iec61850_T
;
2837 proto_tree_add_string(tree
, hf_index
, tvb
, offset
, len
, ptime
);
2838 proto_tree_add_bitmask_list(tree
, tvb
, offset
+7, 1, TimeQuality_bits
, ENC_BIG_ENDIAN
);
2848 static const value_string mms_Data_vals
[] = {
2852 { 4, "bit-string" },
2855 { 7, "floating-point" },
2856 { 9, "octet-string" },
2857 { 10, "visible-string" },
2858 { 12, "binary-time" },
2860 { 14, "booleanArray" },
2862 { 16, "mMSString" },
2867 static const ber_choice_t Data_choice
[] = {
2868 { 1, &hf_mms_array_01
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_mms_SEQUENCE_OF_Data
},
2869 { 2, &hf_mms_structure_01
, BER_CLASS_CON
, 2, BER_FLAGS_IMPLTAG
, dissect_mms_T_structure_01
},
2870 { 3, &hf_mms_boolean_01
, BER_CLASS_CON
, 3, BER_FLAGS_IMPLTAG
, dissect_mms_T_boolean
},
2871 { 4, &hf_mms_data_bit_string
, BER_CLASS_CON
, 4, BER_FLAGS_IMPLTAG
, dissect_mms_T_data_bit_string
},
2872 { 5, &hf_mms_integer_01
, BER_CLASS_CON
, 5, BER_FLAGS_IMPLTAG
, dissect_mms_T_integer
},
2873 { 6, &hf_mms_unsigned_01
, BER_CLASS_CON
, 6, BER_FLAGS_IMPLTAG
, dissect_mms_T_unsigned
},
2874 { 7, &hf_mms_floating_point
, BER_CLASS_CON
, 7, BER_FLAGS_IMPLTAG
, dissect_mms_FloatingPoint
},
2875 { 9, &hf_mms_data_octet_string
, BER_CLASS_CON
, 9, BER_FLAGS_IMPLTAG
, dissect_mms_T_data_octet_string
},
2876 { 10, &hf_mms_data_visible_string
, BER_CLASS_CON
, 10, BER_FLAGS_IMPLTAG
, dissect_mms_T_data_visible_string
},
2877 { 12, &hf_mms_data_binary_time
, BER_CLASS_CON
, 12, BER_FLAGS_IMPLTAG
, dissect_mms_T_data_binary_time
},
2878 { 13, &hf_mms_bcd_01
, BER_CLASS_CON
, 13, BER_FLAGS_IMPLTAG
, dissect_mms_INTEGER
},
2879 { 14, &hf_mms_booleanArray
, BER_CLASS_CON
, 14, BER_FLAGS_IMPLTAG
, dissect_mms_BIT_STRING
},
2880 { 15, &hf_mms_objId_01
, BER_CLASS_CON
, 15, BER_FLAGS_IMPLTAG
, dissect_mms_OBJECT_IDENTIFIER
},
2881 { 16, &hf_mms_mMSString
, BER_CLASS_CON
, 16, BER_FLAGS_IMPLTAG
, dissect_mms_MMSString
},
2882 { 17, &hf_mms_utc_time
, BER_CLASS_CON
, 17, BER_FLAGS_IMPLTAG
, dissect_mms_UtcTime
},
2883 { 0, NULL
, 0, 0, 0, NULL
}
2887 dissect_mms_Data(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2888 // Data -> Data/array -> Data
2889 actx
->pinfo
->dissection_depth
+= 2;
2890 increment_dissection_depth(actx
->pinfo
);
2891 mms_actx_private_data_t
*mms_priv
= (mms_actx_private_data_t
*)actx
->private_data
;
2893 mms_priv
->data_cnt
+= 1;
2896 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
2897 Data_choice
, hf_index
, ett_mms_Data
,
2902 actx
->pinfo
->dissection_depth
-= 2;
2903 decrement_dissection_depth(actx
->pinfo
);
2908 static const ber_sequence_t T_listOfData_sequence_of
[1] = {
2909 { &hf_mms_listOfData_item
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG
|BER_FLAGS_NOTCHKTAG
, dissect_mms_Data
},
2913 dissect_mms_T_listOfData(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2914 mms_actx_private_data_t
*mms_priv
= (mms_actx_private_data_t
*)actx
->private_data
;
2916 mms_priv
->data_cnt
= 0;
2918 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
2919 T_listOfData_sequence_of
, hf_index
, ett_mms_T_listOfData
);
2922 mms_priv
->data_cnt
= 0;
2930 static const ber_sequence_t Write_Request_sequence
[] = {
2931 { &hf_mms_variableAccessSpecificatn
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG
|BER_FLAGS_NOTCHKTAG
, dissect_mms_VariableAccessSpecification
},
2932 { &hf_mms_listOfData
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_mms_T_listOfData
},
2933 { NULL
, 0, 0, 0, NULL
}
2937 dissect_mms_Write_Request(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2938 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
2939 Write_Request_sequence
, hf_index
, ett_mms_Write_Request
);
2945 static const value_string mms_GetVariableAccessAttributes_Request_vals
[] = {
2951 static const ber_choice_t GetVariableAccessAttributes_Request_choice
[] = {
2952 { 0, &hf_mms_name
, BER_CLASS_CON
, 0, 0, dissect_mms_ObjectName
},
2953 { 1, &hf_mms_address
, BER_CLASS_CON
, 1, 0, dissect_mms_Address
},
2954 { 0, NULL
, 0, 0, 0, NULL
}
2958 dissect_mms_GetVariableAccessAttributes_Request(bool 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_choice(actx
, tree
, tvb
, offset
,
2960 GetVariableAccessAttributes_Request_choice
, hf_index
, ett_mms_GetVariableAccessAttributes_Request
,
2967 static const ber_sequence_t DefineNamedVariable_Request_sequence
[] = {
2968 { &hf_mms_variableName
, BER_CLASS_CON
, 0, BER_FLAGS_NOTCHKTAG
, dissect_mms_ObjectName
},
2969 { &hf_mms_address
, BER_CLASS_CON
, 1, BER_FLAGS_NOTCHKTAG
, dissect_mms_Address
},
2970 { &hf_mms_typeSpecification
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOTCHKTAG
, dissect_mms_TypeSpecification
},
2971 { NULL
, 0, 0, 0, NULL
}
2975 dissect_mms_DefineNamedVariable_Request(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2976 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
2977 DefineNamedVariable_Request_sequence
, hf_index
, ett_mms_DefineNamedVariable_Request
);
2983 static const ber_sequence_t DefineScatteredAccess_Request_sequence
[] = {
2984 { &hf_mms_scatteredAccessName
, BER_CLASS_CON
, 0, BER_FLAGS_NOTCHKTAG
, dissect_mms_ObjectName
},
2985 { &hf_mms_scatteredAccessDescription
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_mms_ScatteredAccessDescription
},
2986 { NULL
, 0, 0, 0, NULL
}
2990 dissect_mms_DefineScatteredAccess_Request(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2991 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
2992 DefineScatteredAccess_Request_sequence
, hf_index
, ett_mms_DefineScatteredAccess_Request
);
3000 dissect_mms_GetScatteredAccessAttributes_Request(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3001 offset
= dissect_mms_ObjectName(implicit_tag
, tvb
, offset
, actx
, tree
, hf_index
);
3007 static const value_string mms_T_scopeOfDelete_vals
[] = {
3009 { 1, "aa-specific" },
3017 dissect_mms_T_scopeOfDelete(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3018 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
3025 static const ber_sequence_t SEQUENCE_OF_ObjectName_sequence_of
[1] = {
3026 { &hf_mms_listOfName_item
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG
|BER_FLAGS_NOTCHKTAG
, dissect_mms_ObjectName
},
3030 dissect_mms_SEQUENCE_OF_ObjectName(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3031 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
3032 SEQUENCE_OF_ObjectName_sequence_of
, hf_index
, ett_mms_SEQUENCE_OF_ObjectName
);
3038 static const ber_sequence_t DeleteVariableAccess_Request_sequence
[] = {
3039 { &hf_mms_scopeOfDelete
, BER_CLASS_CON
, 0, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_mms_T_scopeOfDelete
},
3040 { &hf_mms_listOfName
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_mms_SEQUENCE_OF_ObjectName
},
3041 { &hf_mms_domainName
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_mms_Identifier
},
3042 { NULL
, 0, 0, 0, NULL
}
3046 dissect_mms_DeleteVariableAccess_Request(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3047 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
3048 DeleteVariableAccess_Request_sequence
, hf_index
, ett_mms_DeleteVariableAccess_Request
);
3054 static const ber_sequence_t T_listOfVariable_item_sequence
[] = {
3055 { &hf_mms_variableSpecification
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG
|BER_FLAGS_NOTCHKTAG
, dissect_mms_VariableSpecification
},
3056 { &hf_mms_alternateAccess
, BER_CLASS_CON
, 5, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_mms_AlternateAccess
},
3057 { NULL
, 0, 0, 0, NULL
}
3061 dissect_mms_T_listOfVariable_item(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3062 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
3063 T_listOfVariable_item_sequence
, hf_index
, ett_mms_T_listOfVariable_item
);
3069 static const ber_sequence_t T_listOfVariable_sequence_of
[1] = {
3070 { &hf_mms_listOfVariable_item
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_mms_T_listOfVariable_item
},
3074 dissect_mms_T_listOfVariable(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3075 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
3076 T_listOfVariable_sequence_of
, hf_index
, ett_mms_T_listOfVariable
);
3082 static const ber_sequence_t DefineNamedVariableList_Request_sequence
[] = {
3083 { &hf_mms_variableListName
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG
|BER_FLAGS_NOTCHKTAG
, dissect_mms_ObjectName
},
3084 { &hf_mms_listOfVariable
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_mms_T_listOfVariable
},
3085 { NULL
, 0, 0, 0, NULL
}
3089 dissect_mms_DefineNamedVariableList_Request(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3090 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
3091 DefineNamedVariableList_Request_sequence
, hf_index
, ett_mms_DefineNamedVariableList_Request
);
3099 dissect_mms_GetNamedVariableListAttributes_Request(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3100 offset
= dissect_mms_ObjectName(implicit_tag
, tvb
, offset
, actx
, tree
, hf_index
);
3106 static const value_string mms_T_scopeOfDelete_01_vals
[] = {
3108 { 1, "aa-specific" },
3116 dissect_mms_T_scopeOfDelete_01(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3117 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
3124 static const ber_sequence_t DeleteNamedVariableList_Request_sequence
[] = {
3125 { &hf_mms_scopeOfDelete_01
, BER_CLASS_CON
, 0, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_mms_T_scopeOfDelete_01
},
3126 { &hf_mms_listOfVariableListName
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_mms_SEQUENCE_OF_ObjectName
},
3127 { &hf_mms_domainName
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_mms_Identifier
},
3128 { NULL
, 0, 0, 0, NULL
}
3132 dissect_mms_DeleteNamedVariableList_Request(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3133 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
3134 DeleteNamedVariableList_Request_sequence
, hf_index
, ett_mms_DeleteNamedVariableList_Request
);
3140 static const ber_sequence_t DefineNamedType_Request_sequence
[] = {
3141 { &hf_mms_typeName
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG
|BER_FLAGS_NOTCHKTAG
, dissect_mms_ObjectName
},
3142 { &hf_mms_typeSpecification
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG
|BER_FLAGS_NOTCHKTAG
, dissect_mms_TypeSpecification
},
3143 { NULL
, 0, 0, 0, NULL
}
3147 dissect_mms_DefineNamedType_Request(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3148 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
3149 DefineNamedType_Request_sequence
, hf_index
, ett_mms_DefineNamedType_Request
);
3157 dissect_mms_GetNamedTypeAttributes_Request(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3158 offset
= dissect_mms_ObjectName(implicit_tag
, tvb
, offset
, actx
, tree
, hf_index
);
3164 static const value_string mms_T_scopeOfDelete_02_vals
[] = {
3166 { 1, "aa-specific" },
3174 dissect_mms_T_scopeOfDelete_02(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3175 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
3182 static const ber_sequence_t DeleteNamedType_Request_sequence
[] = {
3183 { &hf_mms_scopeOfDelete_02
, BER_CLASS_CON
, 0, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_mms_T_scopeOfDelete_02
},
3184 { &hf_mms_listOfTypeName
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_mms_SEQUENCE_OF_ObjectName
},
3185 { &hf_mms_domainName
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_mms_Identifier
},
3186 { NULL
, 0, 0, 0, NULL
}
3190 dissect_mms_DeleteNamedType_Request(bool 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_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
3192 DeleteNamedType_Request_sequence
, hf_index
, ett_mms_DeleteNamedType_Request
);
3198 static const ber_sequence_t T_listOfPromptData_sequence_of
[1] = {
3199 { &hf_mms_listOfPromptData_item
, BER_CLASS_UNI
, BER_UNI_TAG_VisibleString
, BER_FLAGS_NOOWNTAG
, dissect_mms_VisibleString
},
3203 dissect_mms_T_listOfPromptData(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3204 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
3205 T_listOfPromptData_sequence_of
, hf_index
, ett_mms_T_listOfPromptData
);
3211 static const ber_sequence_t Input_Request_sequence
[] = {
3212 { &hf_mms_operatorStationName
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_mms_Identifier
},
3213 { &hf_mms_echo
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_mms_BOOLEAN
},
3214 { &hf_mms_listOfPromptData
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_mms_T_listOfPromptData
},
3215 { &hf_mms_inputTimeOut
, BER_CLASS_CON
, 3, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_mms_Unsigned32
},
3216 { NULL
, 0, 0, 0, NULL
}
3220 dissect_mms_Input_Request(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3221 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
3222 Input_Request_sequence
, hf_index
, ett_mms_Input_Request
);
3228 static const ber_sequence_t T_listOfOutputData_sequence_of
[1] = {
3229 { &hf_mms_listOfOutputData_item
, BER_CLASS_UNI
, BER_UNI_TAG_VisibleString
, BER_FLAGS_NOOWNTAG
, dissect_mms_VisibleString
},
3233 dissect_mms_T_listOfOutputData(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3234 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
3235 T_listOfOutputData_sequence_of
, hf_index
, ett_mms_T_listOfOutputData
);
3241 static const ber_sequence_t Output_Request_sequence
[] = {
3242 { &hf_mms_operatorStationName
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_mms_Identifier
},
3243 { &hf_mms_listOfOutputData
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_mms_T_listOfOutputData
},
3244 { NULL
, 0, 0, 0, NULL
}
3248 dissect_mms_Output_Request(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3249 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
3250 Output_Request_sequence
, hf_index
, ett_mms_Output_Request
);
3258 dissect_mms_T_ap_title(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3259 offset
=dissect_acse_AP_title(false, tvb
, offset
, actx
, tree
, hf_mms_ap_title
);
3268 dissect_mms_T_ap_invocation_id(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3269 offset
=dissect_acse_AP_invocation_identifier(false, tvb
, offset
, actx
, tree
, hf_mms_ap_invocation_id
);
3278 dissect_mms_T_ae_qualifier(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3279 offset
=dissect_acse_AE_qualifier(false, tvb
, offset
, actx
, tree
, hf_mms_ae_qualifier
);
3288 dissect_mms_T_ae_invocation_id(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3289 offset
=dissect_acse_AE_invocation_identifier(false, tvb
, offset
, actx
, tree
, hf_mms_ae_invocation_id
);
3296 static const ber_sequence_t ApplicationReference_sequence
[] = {
3297 { &hf_mms_ap_title
, BER_CLASS_CON
, 0, BER_FLAGS_OPTIONAL
, dissect_mms_T_ap_title
},
3298 { &hf_mms_ap_invocation_id
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
, dissect_mms_T_ap_invocation_id
},
3299 { &hf_mms_ae_qualifier
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
, dissect_mms_T_ae_qualifier
},
3300 { &hf_mms_ae_invocation_id
, BER_CLASS_CON
, 3, BER_FLAGS_OPTIONAL
, dissect_mms_T_ae_invocation_id
},
3301 { NULL
, 0, 0, 0, NULL
}
3305 dissect_mms_ApplicationReference(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3306 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
3307 ApplicationReference_sequence
, hf_index
, ett_mms_ApplicationReference
);
3313 static const ber_sequence_t TakeControl_Request_sequence
[] = {
3314 { &hf_mms_semaphoreName
, BER_CLASS_CON
, 0, BER_FLAGS_NOTCHKTAG
, dissect_mms_ObjectName
},
3315 { &hf_mms_namedToken
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_mms_Identifier
},
3316 { &hf_mms_priority
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_mms_Priority
},
3317 { &hf_mms_acceptableDelay
, BER_CLASS_CON
, 3, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_mms_Unsigned32
},
3318 { &hf_mms_controlTimeOut
, BER_CLASS_CON
, 4, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_mms_Unsigned32
},
3319 { &hf_mms_abortOnTimeOut
, BER_CLASS_CON
, 5, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_mms_BOOLEAN
},
3320 { &hf_mms_relinquishIfConnectionLost
, BER_CLASS_CON
, 6, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_mms_BOOLEAN
},
3321 { &hf_mms_applicationToPreempt
, BER_CLASS_CON
, 7, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_mms_ApplicationReference
},
3322 { NULL
, 0, 0, 0, NULL
}
3326 dissect_mms_TakeControl_Request(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3327 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
3328 TakeControl_Request_sequence
, hf_index
, ett_mms_TakeControl_Request
);
3334 static const ber_sequence_t RelinquishControl_Request_sequence
[] = {
3335 { &hf_mms_semaphoreName
, BER_CLASS_CON
, 0, BER_FLAGS_NOTCHKTAG
, dissect_mms_ObjectName
},
3336 { &hf_mms_namedToken
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_mms_Identifier
},
3337 { NULL
, 0, 0, 0, NULL
}
3341 dissect_mms_RelinquishControl_Request(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3342 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
3343 RelinquishControl_Request_sequence
, hf_index
, ett_mms_RelinquishControl_Request
);
3351 dissect_mms_Unsigned16(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3352 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
3359 static const ber_sequence_t DefineSemaphore_Request_sequence
[] = {
3360 { &hf_mms_semaphoreName
, BER_CLASS_CON
, 0, BER_FLAGS_NOTCHKTAG
, dissect_mms_ObjectName
},
3361 { &hf_mms_numbersOfTokens
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_mms_Unsigned16
},
3362 { NULL
, 0, 0, 0, NULL
}
3366 dissect_mms_DefineSemaphore_Request(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3367 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
3368 DefineSemaphore_Request_sequence
, hf_index
, ett_mms_DefineSemaphore_Request
);
3376 dissect_mms_DeleteSemaphore_Request(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3377 offset
= dissect_mms_ObjectName(implicit_tag
, tvb
, offset
, actx
, tree
, hf_index
);
3385 dissect_mms_ReportSemaphoreStatus_Request(bool 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_mms_ObjectName(implicit_tag
, tvb
, offset
, actx
, tree
, hf_index
);
3392 static const ber_sequence_t ReportPoolSemaphoreStatus_Request_sequence
[] = {
3393 { &hf_mms_semaphoreName
, BER_CLASS_CON
, 0, BER_FLAGS_NOTCHKTAG
, dissect_mms_ObjectName
},
3394 { &hf_mms_nameToStartAfter
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_mms_Identifier
},
3395 { NULL
, 0, 0, 0, NULL
}
3399 dissect_mms_ReportPoolSemaphoreStatus_Request(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3400 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
3401 ReportPoolSemaphoreStatus_Request_sequence
, hf_index
, ett_mms_ReportPoolSemaphoreStatus_Request
);
3407 static const value_string mms_T_reportSemaphoreEntryStatus_Request_state_vals
[] = {
3416 dissect_mms_T_reportSemaphoreEntryStatus_Request_state(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3417 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
3424 static const ber_sequence_t ReportSemaphoreEntryStatus_Request_sequence
[] = {
3425 { &hf_mms_semaphoreName
, BER_CLASS_CON
, 0, BER_FLAGS_NOTCHKTAG
, dissect_mms_ObjectName
},
3426 { &hf_mms_reportSemaphoreEntryStatus_Request_state
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_mms_T_reportSemaphoreEntryStatus_Request_state
},
3427 { &hf_mms_entryIdToStartAfter
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_mms_OCTET_STRING
},
3428 { NULL
, 0, 0, 0, NULL
}
3432 dissect_mms_ReportSemaphoreEntryStatus_Request(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3433 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
3434 ReportSemaphoreEntryStatus_Request_sequence
, hf_index
, ett_mms_ReportSemaphoreEntryStatus_Request
);
3440 static const ber_sequence_t T_listOfCapabilities_01_sequence_of
[1] = {
3441 { &hf_mms_listOfCapabilities_item
, BER_CLASS_UNI
, BER_UNI_TAG_VisibleString
, BER_FLAGS_NOOWNTAG
, dissect_mms_VisibleString
},
3445 dissect_mms_T_listOfCapabilities_01(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3446 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
3447 T_listOfCapabilities_01_sequence_of
, hf_index
, ett_mms_T_listOfCapabilities_01
);
3453 static const ber_sequence_t InitiateDownloadSequence_Request_sequence
[] = {
3454 { &hf_mms_domainName
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_mms_Identifier
},
3455 { &hf_mms_listOfCapabilities_01
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_mms_T_listOfCapabilities_01
},
3456 { &hf_mms_sharable
, BER_CLASS_CON
, 2, BER_FLAGS_IMPLTAG
, dissect_mms_BOOLEAN
},
3457 { NULL
, 0, 0, 0, NULL
}
3461 dissect_mms_InitiateDownloadSequence_Request(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3462 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
3463 InitiateDownloadSequence_Request_sequence
, hf_index
, ett_mms_InitiateDownloadSequence_Request
);
3471 dissect_mms_DownloadSegment_Request(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3472 offset
= dissect_mms_Identifier(implicit_tag
, tvb
, offset
, actx
, tree
, hf_index
);
3478 static const value_string mms_T_vmd_state_vals
[] = {
3480 { 1, "vmd-state-conflict" },
3481 { 2, "vmd-operational-problem" },
3482 { 3, "domain-transfer-problem" },
3483 { 4, "state-machine-id-invalid" },
3489 dissect_mms_T_vmd_state(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3490 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
3497 static const value_string mms_T_application_reference_vals
[] = {
3499 { 1, "aplication-unreachable" },
3500 { 2, "connection-lost" },
3501 { 3, "application-reference-invalid" },
3502 { 4, "context-unsupported" },
3508 dissect_mms_T_application_reference(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3509 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
3516 static const value_string mms_T_definition_vals
[] = {
3518 { 1, "object-undefined" },
3519 { 2, "invalid-address" },
3520 { 3, "type-unsupported" },
3521 { 4, "type-inconsistent" },
3522 { 5, "object-exists" },
3523 { 6, "object-attribute-inconsistent" },
3529 dissect_mms_T_definition(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3530 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
3537 static const value_string mms_T_resource_vals
[] = {
3539 { 1, "memory-unavailable" },
3540 { 2, "processor-resource-unavailable" },
3541 { 3, "mass-storage-unavailable" },
3542 { 4, "capability-unavailable" },
3543 { 5, "capability-unknown" },
3549 dissect_mms_T_resource(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3550 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
3557 static const value_string mms_T_service_vals
[] = {
3559 { 1, "primitives-out-of-sequence" },
3560 { 2, "object-sate-conflict" },
3562 { 4, "continuation-invalid" },
3563 { 5, "object-constraint-conflict" },
3569 dissect_mms_T_service(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3570 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
3577 static const value_string mms_T_service_preempt_vals
[] = {
3587 dissect_mms_T_service_preempt(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3588 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
3595 static const value_string mms_T_time_resolution_vals
[] = {
3597 { 1, "unsupportable-time-resolution" },
3603 dissect_mms_T_time_resolution(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3604 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
3611 static const value_string mms_T_access_vals
[] = {
3613 { 1, "object-access-unsupported" },
3614 { 2, "object-non-existent" },
3615 { 3, "object-access-denied" },
3616 { 4, "object-invalidated" },
3622 dissect_mms_T_access(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3623 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
3630 static const value_string mms_T_initiate_vals
[] = {
3632 { 1, "version-incompatible" },
3633 { 2, "max-segment-insufficient" },
3634 { 3, "max-services-outstanding-calling-insufficient" },
3635 { 4, "max-services-outstanding-called-insufficient" },
3636 { 5, "service-CBB-insufficient" },
3637 { 6, "parameter-CBB-insufficient" },
3638 { 7, "nesting-level-insufficient" },
3644 dissect_mms_T_initiate(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3645 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
3652 static const value_string mms_T_conclude_vals
[] = {
3654 { 1, "further-communication-required" },
3660 dissect_mms_T_conclude(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3661 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
3668 static const value_string mms_T_cancel_vals
[] = {
3670 { 1, "invoke-id-unknown" },
3671 { 2, "cancel-not-possible" },
3677 dissect_mms_T_cancel(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3678 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
3685 static const value_string mms_T_file_vals
[] = {
3687 { 1, "filename-ambiguous" },
3689 { 3, "filename-syntax-error" },
3690 { 4, "content-type-invalid" },
3691 { 5, "position-invalid" },
3692 { 6, "file-acces-denied" },
3693 { 7, "file-non-existent" },
3694 { 8, "duplicate-filename" },
3695 { 9, "insufficient-space-in-filestore" },
3701 dissect_mms_T_file(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3702 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
3709 static const value_string mms_T_errorClass_vals
[] = {
3711 { 1, "application-reference" },
3712 { 2, "definition" },
3715 { 5, "service-preempt" },
3716 { 6, "time-resolution" },
3726 static const ber_choice_t T_errorClass_choice
[] = {
3727 { 0, &hf_mms_vmd_state
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_mms_T_vmd_state
},
3728 { 1, &hf_mms_application_reference
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_mms_T_application_reference
},
3729 { 2, &hf_mms_definition
, BER_CLASS_CON
, 2, BER_FLAGS_IMPLTAG
, dissect_mms_T_definition
},
3730 { 3, &hf_mms_resource
, BER_CLASS_CON
, 3, BER_FLAGS_IMPLTAG
, dissect_mms_T_resource
},
3731 { 4, &hf_mms_service
, BER_CLASS_CON
, 4, BER_FLAGS_IMPLTAG
, dissect_mms_T_service
},
3732 { 5, &hf_mms_service_preempt
, BER_CLASS_CON
, 5, BER_FLAGS_IMPLTAG
, dissect_mms_T_service_preempt
},
3733 { 6, &hf_mms_time_resolution
, BER_CLASS_CON
, 6, BER_FLAGS_IMPLTAG
, dissect_mms_T_time_resolution
},
3734 { 7, &hf_mms_access
, BER_CLASS_CON
, 7, BER_FLAGS_IMPLTAG
, dissect_mms_T_access
},
3735 { 8, &hf_mms_initiate
, BER_CLASS_CON
, 8, BER_FLAGS_IMPLTAG
, dissect_mms_T_initiate
},
3736 { 9, &hf_mms_conclude
, BER_CLASS_CON
, 9, BER_FLAGS_IMPLTAG
, dissect_mms_T_conclude
},
3737 { 10, &hf_mms_cancel
, BER_CLASS_CON
, 10, BER_FLAGS_IMPLTAG
, dissect_mms_T_cancel
},
3738 { 11, &hf_mms_file
, BER_CLASS_CON
, 11, BER_FLAGS_IMPLTAG
, dissect_mms_T_file
},
3739 { 12, &hf_mms_others
, BER_CLASS_CON
, 12, BER_FLAGS_IMPLTAG
, dissect_mms_INTEGER
},
3740 { 0, NULL
, 0, 0, 0, NULL
}
3744 dissect_mms_T_errorClass(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3745 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
3746 T_errorClass_choice
, hf_index
, ett_mms_T_errorClass
,
3753 static const value_string mms_ObtainFile_Error_vals
[] = {
3754 { 0, "source-file" },
3755 { 1, "destination-file" },
3761 dissect_mms_ObtainFile_Error(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3762 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
3769 static const value_string mms_ProgramInvocationState_vals
[] = {
3770 { 0, "non-existent" },
3784 dissect_mms_ProgramInvocationState(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3785 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
3794 dissect_mms_Start_Error(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3795 offset
= dissect_mms_ProgramInvocationState(implicit_tag
, tvb
, offset
, actx
, tree
, hf_index
);
3803 dissect_mms_Stop_Error(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3804 offset
= dissect_mms_ProgramInvocationState(implicit_tag
, tvb
, offset
, actx
, tree
, hf_index
);
3812 dissect_mms_Resume_Error(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3813 offset
= dissect_mms_ProgramInvocationState(implicit_tag
, tvb
, offset
, actx
, tree
, hf_index
);
3821 dissect_mms_Reset_Error(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3822 offset
= dissect_mms_ProgramInvocationState(implicit_tag
, tvb
, offset
, actx
, tree
, hf_index
);
3830 dissect_mms_DeleteVariableAccess_Error(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3831 offset
= dissect_mms_Unsigned32(implicit_tag
, tvb
, offset
, actx
, tree
, hf_index
);
3839 dissect_mms_DeleteNamedVariableList_Error(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3840 offset
= dissect_mms_Unsigned32(implicit_tag
, tvb
, offset
, actx
, tree
, hf_index
);
3848 dissect_mms_DeleteNamedType_Error(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3849 offset
= dissect_mms_Unsigned32(implicit_tag
, tvb
, offset
, actx
, tree
, hf_index
);
3857 dissect_mms_DefineEventEnrollment_Error(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3858 offset
= dissect_mms_ObjectName(implicit_tag
, tvb
, offset
, actx
, tree
, hf_index
);
3864 static const value_string mms_FileRename_Error_vals
[] = {
3865 { 0, "source-file" },
3866 { 1, "destination-file" },
3872 dissect_mms_FileRename_Error(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3873 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
3882 dissect_mms_DefineEventConditionList_Error(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3883 offset
= dissect_mms_ObjectName(implicit_tag
, tvb
, offset
, actx
, tree
, hf_index
);
3891 dissect_mms_AddEventConditionListReference_Error(bool 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_mms_ObjectName(implicit_tag
, tvb
, offset
, actx
, tree
, hf_index
);
3898 static const value_string mms_RemoveEventConditionListReference_Error_vals
[] = {
3899 { 0, "eventCondition" },
3900 { 1, "eventConditionList" },
3904 static const ber_choice_t RemoveEventConditionListReference_Error_choice
[] = {
3905 { 0, &hf_mms_eventCondition
, BER_CLASS_CON
, 0, 0, dissect_mms_ObjectName
},
3906 { 1, &hf_mms_eventConditionList
, BER_CLASS_CON
, 1, 0, dissect_mms_ObjectName
},
3907 { 0, NULL
, 0, 0, 0, NULL
}
3911 dissect_mms_RemoveEventConditionListReference_Error(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3912 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
3913 RemoveEventConditionListReference_Error_choice
, hf_index
, ett_mms_RemoveEventConditionListReference_Error
,
3920 static const value_string mms_InitiateUnitControl_Error_vals
[] = {
3922 { 1, "programInvocation" },
3926 static const ber_choice_t InitiateUnitControl_Error_choice
[] = {
3927 { 0, &hf_mms_domain
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_mms_Identifier
},
3928 { 1, &hf_mms_programInvocation
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_mms_Identifier
},
3929 { 0, NULL
, 0, 0, 0, NULL
}
3933 dissect_mms_InitiateUnitControl_Error(bool 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_choice(actx
, tree
, tvb
, offset
,
3935 InitiateUnitControl_Error_choice
, hf_index
, ett_mms_InitiateUnitControl_Error
,
3942 static const ber_sequence_t StartUnitControl_Error_sequence
[] = {
3943 { &hf_mms_programInvocationName
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_mms_Identifier
},
3944 { &hf_mms_programInvocationState
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_mms_ProgramInvocationState
},
3945 { NULL
, 0, 0, 0, NULL
}
3949 dissect_mms_StartUnitControl_Error(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3950 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
3951 StartUnitControl_Error_sequence
, hf_index
, ett_mms_StartUnitControl_Error
);
3957 static const ber_sequence_t StopUnitControl_Error_sequence
[] = {
3958 { &hf_mms_programInvocationName
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_mms_Identifier
},
3959 { &hf_mms_programInvocationState
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_mms_ProgramInvocationState
},
3960 { NULL
, 0, 0, 0, NULL
}
3964 dissect_mms_StopUnitControl_Error(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3965 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
3966 StopUnitControl_Error_sequence
, hf_index
, ett_mms_StopUnitControl_Error
);
3972 static const value_string mms_DeleteUnitControl_Error_vals
[] = {
3974 { 1, "programInvocation" },
3978 static const ber_choice_t DeleteUnitControl_Error_choice
[] = {
3979 { 0, &hf_mms_domain
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_mms_Identifier
},
3980 { 1, &hf_mms_programInvocation
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_mms_Identifier
},
3981 { 0, NULL
, 0, 0, 0, NULL
}
3985 dissect_mms_DeleteUnitControl_Error(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
3986 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
3987 DeleteUnitControl_Error_choice
, hf_index
, ett_mms_DeleteUnitControl_Error
,
3994 static const value_string mms_LoadUnitControlFromFile_Error_vals
[] = {
3997 { 2, "programInvocation" },
4001 static const ber_choice_t LoadUnitControlFromFile_Error_choice
[] = {
4002 { 0, &hf_mms_none
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_mms_NULL
},
4003 { 1, &hf_mms_domain
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_mms_Identifier
},
4004 { 2, &hf_mms_programInvocation
, BER_CLASS_CON
, 2, BER_FLAGS_IMPLTAG
, dissect_mms_Identifier
},
4005 { 0, NULL
, 0, 0, 0, NULL
}
4009 dissect_mms_LoadUnitControlFromFile_Error(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4010 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
4011 LoadUnitControlFromFile_Error_choice
, hf_index
, ett_mms_LoadUnitControlFromFile_Error
,
4018 static const value_string mms_AdditionalService_Error_vals
[] = {
4020 { 1, "addECLReference" },
4021 { 2, "removeECLReference" },
4022 { 3, "initiateUC" },
4026 { 7, "loadUCFromFile" },
4030 static const ber_choice_t AdditionalService_Error_choice
[] = {
4031 { 0, &hf_mms_defineEcl
, BER_CLASS_CON
, 0, 0, dissect_mms_DefineEventConditionList_Error
},
4032 { 1, &hf_mms_addECLReference
, BER_CLASS_CON
, 1, 0, dissect_mms_AddEventConditionListReference_Error
},
4033 { 2, &hf_mms_removeECLReference
, BER_CLASS_CON
, 2, 0, dissect_mms_RemoveEventConditionListReference_Error
},
4034 { 3, &hf_mms_initiateUC
, BER_CLASS_CON
, 3, 0, dissect_mms_InitiateUnitControl_Error
},
4035 { 4, &hf_mms_startUC
, BER_CLASS_CON
, 4, BER_FLAGS_IMPLTAG
, dissect_mms_StartUnitControl_Error
},
4036 { 5, &hf_mms_stopUC
, BER_CLASS_CON
, 5, BER_FLAGS_IMPLTAG
, dissect_mms_StopUnitControl_Error
},
4037 { 6, &hf_mms_deleteUC
, BER_CLASS_CON
, 6, 0, dissect_mms_DeleteUnitControl_Error
},
4038 { 7, &hf_mms_loadUCFromFile
, BER_CLASS_CON
, 7, 0, dissect_mms_LoadUnitControlFromFile_Error
},
4039 { 0, NULL
, 0, 0, 0, NULL
}
4043 dissect_mms_AdditionalService_Error(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4044 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
4045 AdditionalService_Error_choice
, hf_index
, ett_mms_AdditionalService_Error
,
4054 dissect_mms_ChangeAccessControl_Error(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4055 offset
= dissect_mms_Unsigned32(implicit_tag
, tvb
, offset
, actx
, tree
, hf_index
);
4061 static const value_string mms_T_serviceSpecificInformation_vals
[] = {
4062 { 0, "obtainFile" },
4067 { 5, "deleteVariableAccess" },
4068 { 6, "deleteNamedVariableList" },
4069 { 7, "deleteNamedType" },
4070 { 8, "defineEventEnrollment-Error" },
4071 { 9, "fileRename" },
4072 { 10, "additionalService" },
4073 { 11, "changeAccessControl" },
4077 static const ber_choice_t T_serviceSpecificInformation_choice
[] = {
4078 { 0, &hf_mms_obtainFile_02
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_mms_ObtainFile_Error
},
4079 { 1, &hf_mms_start_02
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_mms_Start_Error
},
4080 { 2, &hf_mms_stop_02
, BER_CLASS_CON
, 2, BER_FLAGS_IMPLTAG
, dissect_mms_Stop_Error
},
4081 { 3, &hf_mms_resume_02
, BER_CLASS_CON
, 3, BER_FLAGS_IMPLTAG
, dissect_mms_Resume_Error
},
4082 { 4, &hf_mms_reset_02
, BER_CLASS_CON
, 4, BER_FLAGS_IMPLTAG
, dissect_mms_Reset_Error
},
4083 { 5, &hf_mms_deleteVariableAccess_02
, BER_CLASS_CON
, 5, BER_FLAGS_IMPLTAG
, dissect_mms_DeleteVariableAccess_Error
},
4084 { 6, &hf_mms_deleteNamedVariableList_02
, BER_CLASS_CON
, 6, BER_FLAGS_IMPLTAG
, dissect_mms_DeleteNamedVariableList_Error
},
4085 { 7, &hf_mms_deleteNamedType_02
, BER_CLASS_CON
, 7, BER_FLAGS_IMPLTAG
, dissect_mms_DeleteNamedType_Error
},
4086 { 8, &hf_mms_defineEventEnrollment_Error
, BER_CLASS_CON
, 8, 0, dissect_mms_DefineEventEnrollment_Error
},
4087 { 9, &hf_mms_fileRename_02
, BER_CLASS_CON
, 9, BER_FLAGS_IMPLTAG
, dissect_mms_FileRename_Error
},
4088 { 10, &hf_mms_additionalService
, BER_CLASS_CON
, 10, 0, dissect_mms_AdditionalService_Error
},
4089 { 11, &hf_mms_changeAccessControl
, BER_CLASS_CON
, 11, BER_FLAGS_IMPLTAG
, dissect_mms_ChangeAccessControl_Error
},
4090 { 0, NULL
, 0, 0, 0, NULL
}
4094 dissect_mms_T_serviceSpecificInformation(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4095 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
4096 T_serviceSpecificInformation_choice
, hf_index
, ett_mms_T_serviceSpecificInformation
,
4103 static const ber_sequence_t ServiceError_sequence
[] = {
4104 { &hf_mms_errorClass
, BER_CLASS_CON
, 0, 0, dissect_mms_T_errorClass
},
4105 { &hf_mms_additionalCode
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_mms_INTEGER
},
4106 { &hf_mms_additionalDescription
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_mms_VisibleString
},
4107 { &hf_mms_serviceSpecificInformation
, BER_CLASS_CON
, 3, BER_FLAGS_OPTIONAL
, dissect_mms_T_serviceSpecificInformation
},
4108 { NULL
, 0, 0, 0, NULL
}
4112 dissect_mms_ServiceError(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4113 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
4114 ServiceError_sequence
, hf_index
, ett_mms_ServiceError
);
4120 static const ber_sequence_t TerminateDownloadSequence_Request_sequence
[] = {
4121 { &hf_mms_domainName
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_mms_Identifier
},
4122 { &hf_mms_discard
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_mms_ServiceError
},
4123 { NULL
, 0, 0, 0, NULL
}
4127 dissect_mms_TerminateDownloadSequence_Request(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4128 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
4129 TerminateDownloadSequence_Request_sequence
, hf_index
, ett_mms_TerminateDownloadSequence_Request
);
4137 dissect_mms_InitiateUploadSequence_Request(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4138 offset
= dissect_mms_Identifier(implicit_tag
, tvb
, offset
, actx
, tree
, hf_index
);
4146 dissect_mms_UploadSegment_Request(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4147 offset
= dissect_mms_Integer32(implicit_tag
, tvb
, offset
, actx
, tree
, hf_index
);
4155 dissect_mms_TerminateUploadSequence_Request(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4156 offset
= dissect_mms_Integer32(implicit_tag
, tvb
, offset
, actx
, tree
, hf_index
);
4162 static const ber_sequence_t T_listOfCapabilities_03_sequence_of
[1] = {
4163 { &hf_mms_listOfCapabilities_item
, BER_CLASS_UNI
, BER_UNI_TAG_VisibleString
, BER_FLAGS_NOOWNTAG
, dissect_mms_VisibleString
},
4167 dissect_mms_T_listOfCapabilities_03(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4168 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
4169 T_listOfCapabilities_03_sequence_of
, hf_index
, ett_mms_T_listOfCapabilities_03
);
4177 dissect_mms_GraphicString(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4178 offset
= dissect_ber_restricted_string(implicit_tag
, BER_UNI_TAG_GraphicString
,
4179 actx
, tree
, tvb
, offset
, hf_index
,
4186 static const ber_sequence_t FileName_sequence_of
[1] = {
4187 { &hf_mms_FileName_item
, BER_CLASS_UNI
, BER_UNI_TAG_GraphicString
, BER_FLAGS_NOOWNTAG
, dissect_mms_GraphicString
},
4191 dissect_mms_FileName(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4192 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
4193 FileName_sequence_of
, hf_index
, ett_mms_FileName
);
4199 static const ber_sequence_t RequestDomainDownload_Request_sequence
[] = {
4200 { &hf_mms_domainName
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_mms_Identifier
},
4201 { &hf_mms_listOfCapabilities_03
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_mms_T_listOfCapabilities_03
},
4202 { &hf_mms_sharable
, BER_CLASS_CON
, 2, BER_FLAGS_IMPLTAG
, dissect_mms_BOOLEAN
},
4203 { &hf_mms_fileName
, BER_CLASS_CON
, 4, BER_FLAGS_IMPLTAG
, dissect_mms_FileName
},
4204 { NULL
, 0, 0, 0, NULL
}
4208 dissect_mms_RequestDomainDownload_Request(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4209 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
4210 RequestDomainDownload_Request_sequence
, hf_index
, ett_mms_RequestDomainDownload_Request
);
4216 static const ber_sequence_t RequestDomainUpload_Request_sequence
[] = {
4217 { &hf_mms_domainName
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_mms_Identifier
},
4218 { &hf_mms_fileName
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_mms_FileName
},
4219 { NULL
, 0, 0, 0, NULL
}
4223 dissect_mms_RequestDomainUpload_Request(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4224 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
4225 RequestDomainUpload_Request_sequence
, hf_index
, ett_mms_RequestDomainUpload_Request
);
4231 static const ber_sequence_t T_listOfCapabilities_04_sequence_of
[1] = {
4232 { &hf_mms_listOfCapabilities_item
, BER_CLASS_UNI
, BER_UNI_TAG_VisibleString
, BER_FLAGS_NOOWNTAG
, dissect_mms_VisibleString
},
4236 dissect_mms_T_listOfCapabilities_04(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4237 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
4238 T_listOfCapabilities_04_sequence_of
, hf_index
, ett_mms_T_listOfCapabilities_04
);
4244 static const ber_sequence_t LoadDomainContent_Request_sequence
[] = {
4245 { &hf_mms_domainName
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_mms_Identifier
},
4246 { &hf_mms_listOfCapabilities_04
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_mms_T_listOfCapabilities_04
},
4247 { &hf_mms_sharable
, BER_CLASS_CON
, 2, BER_FLAGS_IMPLTAG
, dissect_mms_BOOLEAN
},
4248 { &hf_mms_fileName
, BER_CLASS_CON
, 4, BER_FLAGS_IMPLTAG
, dissect_mms_FileName
},
4249 { &hf_mms_thirdParty
, BER_CLASS_CON
, 5, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_mms_ApplicationReference
},
4250 { NULL
, 0, 0, 0, NULL
}
4254 dissect_mms_LoadDomainContent_Request(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4255 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
4256 LoadDomainContent_Request_sequence
, hf_index
, ett_mms_LoadDomainContent_Request
);
4262 static const ber_sequence_t StoreDomainContent_Request_sequence
[] = {
4263 { &hf_mms_domainName
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_mms_Identifier
},
4264 { &hf_mms_filenName
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_mms_FileName
},
4265 { &hf_mms_thirdParty
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_mms_ApplicationReference
},
4266 { NULL
, 0, 0, 0, NULL
}
4270 dissect_mms_StoreDomainContent_Request(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4271 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
4272 StoreDomainContent_Request_sequence
, hf_index
, ett_mms_StoreDomainContent_Request
);
4280 dissect_mms_DeleteDomain_Request(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4281 offset
= dissect_mms_Identifier(implicit_tag
, tvb
, offset
, actx
, tree
, hf_index
);
4289 dissect_mms_GetDomainAttributes_Request(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4290 offset
= dissect_mms_Identifier(implicit_tag
, tvb
, offset
, actx
, tree
, hf_index
);
4296 static const ber_sequence_t SEQUENCE_OF_Identifier_sequence_of
[1] = {
4297 { &hf_mms_listOfIdentifier_item
, BER_CLASS_UNI
, BER_UNI_TAG_VisibleString
, BER_FLAGS_NOOWNTAG
, dissect_mms_Identifier
},
4301 dissect_mms_SEQUENCE_OF_Identifier(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4302 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
4303 SEQUENCE_OF_Identifier_sequence_of
, hf_index
, ett_mms_SEQUENCE_OF_Identifier
);
4309 static const ber_sequence_t CreateProgramInvocation_Request_sequence
[] = {
4310 { &hf_mms_programInvocationName
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_mms_Identifier
},
4311 { &hf_mms_listOfDomainName
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_mms_SEQUENCE_OF_Identifier
},
4312 { &hf_mms_reusable
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_mms_BOOLEAN
},
4313 { &hf_mms_monitorType
, BER_CLASS_CON
, 3, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_mms_BOOLEAN
},
4314 { NULL
, 0, 0, 0, NULL
}
4318 dissect_mms_CreateProgramInvocation_Request(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4319 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
4320 CreateProgramInvocation_Request_sequence
, hf_index
, ett_mms_CreateProgramInvocation_Request
);
4328 dissect_mms_DeleteProgramInvocation_Request(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4329 offset
= dissect_mms_Identifier(implicit_tag
, tvb
, offset
, actx
, tree
, hf_index
);
4335 static const value_string mms_T_executionArgument_vals
[] = {
4336 { 0, "simpleString" },
4337 { 1, "encodedString" },
4341 static const ber_choice_t T_executionArgument_choice
[] = {
4342 { 0, &hf_mms_simpleString
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_mms_VisibleString
},
4343 { 1, &hf_mms_encodedString
, BER_CLASS_UNI
, 8, BER_FLAGS_NOOWNTAG
, dissect_acse_EXTERNALt
},
4344 { 0, NULL
, 0, 0, 0, NULL
}
4348 dissect_mms_T_executionArgument(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4349 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
4350 T_executionArgument_choice
, hf_index
, ett_mms_T_executionArgument
,
4357 static const ber_sequence_t Start_Request_sequence
[] = {
4358 { &hf_mms_programInvocationName
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_mms_Identifier
},
4359 { &hf_mms_executionArgument
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOOWNTAG
|BER_FLAGS_NOTCHKTAG
, dissect_mms_T_executionArgument
},
4360 { NULL
, 0, 0, 0, NULL
}
4364 dissect_mms_Start_Request(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4365 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
4366 Start_Request_sequence
, hf_index
, ett_mms_Start_Request
);
4372 static const ber_sequence_t Stop_Request_sequence
[] = {
4373 { &hf_mms_programInvocationName
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_mms_Identifier
},
4374 { NULL
, 0, 0, 0, NULL
}
4378 dissect_mms_Stop_Request(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4379 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
4380 Stop_Request_sequence
, hf_index
, ett_mms_Stop_Request
);
4386 static const value_string mms_T_executionArgument_01_vals
[] = {
4387 { 0, "simpleString" },
4388 { 1, "encodedString" },
4392 static const ber_choice_t T_executionArgument_01_choice
[] = {
4393 { 0, &hf_mms_simpleString
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_mms_VisibleString
},
4394 { 1, &hf_mms_encodedString
, BER_CLASS_UNI
, 8, BER_FLAGS_NOOWNTAG
, dissect_acse_EXTERNALt
},
4395 { 0, NULL
, 0, 0, 0, NULL
}
4399 dissect_mms_T_executionArgument_01(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4400 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
4401 T_executionArgument_01_choice
, hf_index
, ett_mms_T_executionArgument_01
,
4408 static const ber_sequence_t Resume_Request_sequence
[] = {
4409 { &hf_mms_programInvocationName
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_mms_Identifier
},
4410 { &hf_mms_executionArgument_01
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOOWNTAG
|BER_FLAGS_NOTCHKTAG
, dissect_mms_T_executionArgument_01
},
4411 { NULL
, 0, 0, 0, NULL
}
4415 dissect_mms_Resume_Request(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4416 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
4417 Resume_Request_sequence
, hf_index
, ett_mms_Resume_Request
);
4423 static const ber_sequence_t Reset_Request_sequence
[] = {
4424 { &hf_mms_programInvocationName
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_mms_Identifier
},
4425 { NULL
, 0, 0, 0, NULL
}
4429 dissect_mms_Reset_Request(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4430 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
4431 Reset_Request_sequence
, hf_index
, ett_mms_Reset_Request
);
4437 static const ber_sequence_t Kill_Request_sequence
[] = {
4438 { &hf_mms_programInvocationName
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_mms_Identifier
},
4439 { NULL
, 0, 0, 0, NULL
}
4443 dissect_mms_Kill_Request(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4444 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
4445 Kill_Request_sequence
, hf_index
, ett_mms_Kill_Request
);
4453 dissect_mms_GetProgramInvocationAttributes_Request(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4454 offset
= dissect_mms_Identifier(implicit_tag
, tvb
, offset
, actx
, tree
, hf_index
);
4460 static const ber_sequence_t ObtainFile_Request_sequence
[] = {
4461 { &hf_mms_sourceFileServer
, BER_CLASS_CON
, 0, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_mms_ApplicationReference
},
4462 { &hf_mms_sourceFile
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_mms_FileName
},
4463 { &hf_mms_destinationFile
, BER_CLASS_CON
, 2, BER_FLAGS_IMPLTAG
, dissect_mms_FileName
},
4464 { NULL
, 0, 0, 0, NULL
}
4468 dissect_mms_ObtainFile_Request(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4469 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
4470 ObtainFile_Request_sequence
, hf_index
, ett_mms_ObtainFile_Request
);
4476 static const value_string mms_EC_Class_vals
[] = {
4477 { 0, "network-triggered" },
4484 dissect_mms_EC_Class(bool 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_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
4492 static const ber_sequence_t DefineEventCondition_Request_sequence
[] = {
4493 { &hf_mms_eventConditionName
, BER_CLASS_CON
, 0, BER_FLAGS_NOTCHKTAG
, dissect_mms_ObjectName
},
4494 { &hf_mms_class_01
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_mms_EC_Class
},
4495 { &hf_mms_prio_rity
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_mms_Priority
},
4496 { &hf_mms_severity
, BER_CLASS_CON
, 3, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_mms_Unsigned8
},
4497 { &hf_mms_alarmSummaryReports
, BER_CLASS_CON
, 4, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_mms_BOOLEAN
},
4498 { &hf_mms_monitoredVariable
, BER_CLASS_CON
, 6, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOTCHKTAG
, dissect_mms_VariableSpecification
},
4499 { &hf_mms_evaluationInterval
, BER_CLASS_CON
, 7, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_mms_Unsigned32
},
4500 { NULL
, 0, 0, 0, NULL
}
4504 dissect_mms_DefineEventCondition_Request(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4505 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
4506 DefineEventCondition_Request_sequence
, hf_index
, ett_mms_DefineEventCondition_Request
);
4512 static const value_string mms_DeleteEventCondition_Request_vals
[] = {
4514 { 1, "aa-specific" },
4520 static const ber_choice_t DeleteEventCondition_Request_choice
[] = {
4521 { 0, &hf_mms_specific
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_mms_SEQUENCE_OF_ObjectName
},
4522 { 1, &hf_mms_aa_specific_01
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_mms_NULL
},
4523 { 2, &hf_mms_domain
, BER_CLASS_CON
, 2, BER_FLAGS_IMPLTAG
, dissect_mms_Identifier
},
4524 { 3, &hf_mms_vmd
, BER_CLASS_CON
, 3, BER_FLAGS_IMPLTAG
, dissect_mms_NULL
},
4525 { 0, NULL
, 0, 0, 0, NULL
}
4529 dissect_mms_DeleteEventCondition_Request(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4530 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
4531 DeleteEventCondition_Request_choice
, hf_index
, ett_mms_DeleteEventCondition_Request
,
4540 dissect_mms_GetEventConditionAttributes_Request(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4541 offset
= dissect_mms_ObjectName(implicit_tag
, tvb
, offset
, actx
, tree
, hf_index
);
4549 dissect_mms_ReportEventConditionStatus_Request(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4550 offset
= dissect_mms_ObjectName(implicit_tag
, tvb
, offset
, actx
, tree
, hf_index
);
4556 static const ber_sequence_t AlterEventConditionMonitoring_Request_sequence
[] = {
4557 { &hf_mms_eventConditionName
, BER_CLASS_CON
, 0, BER_FLAGS_NOTCHKTAG
, dissect_mms_ObjectName
},
4558 { &hf_mms_enabled
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_mms_BOOLEAN
},
4559 { &hf_mms_priority
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_mms_Priority
},
4560 { &hf_mms_alarmSummaryReports
, BER_CLASS_CON
, 3, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_mms_BOOLEAN
},
4561 { &hf_mms_evaluationInterval
, BER_CLASS_CON
, 4, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_mms_Unsigned32
},
4562 { NULL
, 0, 0, 0, NULL
}
4566 dissect_mms_AlterEventConditionMonitoring_Request(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4567 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
4568 AlterEventConditionMonitoring_Request_sequence
, hf_index
, ett_mms_AlterEventConditionMonitoring_Request
);
4574 static const ber_sequence_t TriggerEvent_Request_sequence
[] = {
4575 { &hf_mms_eventConditionName
, BER_CLASS_CON
, 0, BER_FLAGS_NOTCHKTAG
, dissect_mms_ObjectName
},
4576 { &hf_mms_priority
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_mms_Priority
},
4577 { NULL
, 0, 0, 0, NULL
}
4581 dissect_mms_TriggerEvent_Request(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4582 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
4583 TriggerEvent_Request_sequence
, hf_index
, ett_mms_TriggerEvent_Request
);
4589 static const ber_sequence_t DefineEventAction_Request_sequence
[] = {
4590 { &hf_mms_eventActionName
, BER_CLASS_CON
, 0, BER_FLAGS_NOTCHKTAG
, dissect_mms_ObjectName
},
4591 { &hf_mms_listOfModifier
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_mms_SEQUENCE_OF_Modifier
},
4592 { NULL
, 0, 0, 0, NULL
}
4596 dissect_mms_DefineEventAction_Request(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4597 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
4598 DefineEventAction_Request_sequence
, hf_index
, ett_mms_DefineEventAction_Request
);
4604 static const value_string mms_DeleteEventAction_Request_vals
[] = {
4606 { 1, "aa-specific" },
4612 static const ber_choice_t DeleteEventAction_Request_choice
[] = {
4613 { 0, &hf_mms_specific
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_mms_SEQUENCE_OF_ObjectName
},
4614 { 1, &hf_mms_aa_specific_01
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_mms_NULL
},
4615 { 3, &hf_mms_domain
, BER_CLASS_CON
, 3, BER_FLAGS_IMPLTAG
, dissect_mms_Identifier
},
4616 { 4, &hf_mms_vmd
, BER_CLASS_CON
, 4, BER_FLAGS_IMPLTAG
, dissect_mms_NULL
},
4617 { 0, NULL
, 0, 0, 0, NULL
}
4621 dissect_mms_DeleteEventAction_Request(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4622 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
4623 DeleteEventAction_Request_choice
, hf_index
, ett_mms_DeleteEventAction_Request
,
4632 dissect_mms_GetEventActionAttributes_Request(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4633 offset
= dissect_mms_ObjectName(implicit_tag
, tvb
, offset
, actx
, tree
, hf_index
);
4641 dissect_mms_ReportEventActionStatus_Request(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4642 offset
= dissect_mms_ObjectName(implicit_tag
, tvb
, offset
, actx
, tree
, hf_index
);
4648 static const value_string mms_AlarmAckRule_vals
[] = {
4651 { 2, "ack-active" },
4658 dissect_mms_AlarmAckRule(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4659 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
4666 static const ber_sequence_t DefineEventEnrollment_Request_sequence
[] = {
4667 { &hf_mms_eventEnrollmentName
, BER_CLASS_CON
, 0, BER_FLAGS_NOTCHKTAG
, dissect_mms_ObjectName
},
4668 { &hf_mms_eventConditionName
, BER_CLASS_CON
, 1, BER_FLAGS_NOTCHKTAG
, dissect_mms_ObjectName
},
4669 { &hf_mms_eventConditionTransition
, BER_CLASS_CON
, 2, BER_FLAGS_IMPLTAG
, dissect_mms_Transitions
},
4670 { &hf_mms_alarmAcknowledgementRule
, BER_CLASS_CON
, 3, BER_FLAGS_IMPLTAG
, dissect_mms_AlarmAckRule
},
4671 { &hf_mms_eventActionName
, BER_CLASS_CON
, 4, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOTCHKTAG
, dissect_mms_ObjectName
},
4672 { &hf_mms_clientApplication
, BER_CLASS_CON
, 5, BER_FLAGS_OPTIONAL
, dissect_mms_ApplicationReference
},
4673 { NULL
, 0, 0, 0, NULL
}
4677 dissect_mms_DefineEventEnrollment_Request(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4678 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
4679 DefineEventEnrollment_Request_sequence
, hf_index
, ett_mms_DefineEventEnrollment_Request
);
4685 static const value_string mms_DeleteEventEnrollment_Request_vals
[] = {
4692 static const ber_choice_t DeleteEventEnrollment_Request_choice
[] = {
4693 { 0, &hf_mms_specific
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_mms_SEQUENCE_OF_ObjectName
},
4694 { 1, &hf_mms_ec
, BER_CLASS_CON
, 1, 0, dissect_mms_ObjectName
},
4695 { 2, &hf_mms_ea
, BER_CLASS_CON
, 2, 0, dissect_mms_ObjectName
},
4696 { 0, NULL
, 0, 0, 0, NULL
}
4700 dissect_mms_DeleteEventEnrollment_Request(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4701 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
4702 DeleteEventEnrollment_Request_choice
, hf_index
, ett_mms_DeleteEventEnrollment_Request
,
4709 static const ber_sequence_t AlterEventEnrollment_Request_sequence
[] = {
4710 { &hf_mms_eventEnrollmentName
, BER_CLASS_CON
, 0, BER_FLAGS_NOTCHKTAG
, dissect_mms_ObjectName
},
4711 { &hf_mms_eventConditionTransitions
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_mms_Transitions
},
4712 { &hf_mms_alarmAcknowledgmentRule
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_mms_AlarmAckRule
},
4713 { NULL
, 0, 0, 0, NULL
}
4717 dissect_mms_AlterEventEnrollment_Request(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4718 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
4719 AlterEventEnrollment_Request_sequence
, hf_index
, ett_mms_AlterEventEnrollment_Request
);
4727 dissect_mms_ReportEventEnrollmentStatus_Request(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4728 offset
= dissect_mms_ObjectName(implicit_tag
, tvb
, offset
, actx
, tree
, hf_index
);
4734 static const value_string mms_T_scopeOfRequest_vals
[] = {
4744 dissect_mms_T_scopeOfRequest(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4745 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
4752 static const ber_sequence_t GetEventEnrollmentAttributes_Request_sequence
[] = {
4753 { &hf_mms_scopeOfRequest
, BER_CLASS_CON
, 0, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_mms_T_scopeOfRequest
},
4754 { &hf_mms_eventEnrollmentNames
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_mms_SEQUENCE_OF_ObjectName
},
4755 { &hf_mms_clientApplication
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
, dissect_mms_ApplicationReference
},
4756 { &hf_mms_eventConditionName
, BER_CLASS_CON
, 3, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOTCHKTAG
, dissect_mms_ObjectName
},
4757 { &hf_mms_eventActionName
, BER_CLASS_CON
, 4, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOTCHKTAG
, dissect_mms_ObjectName
},
4758 { &hf_mms_getEventEnrollmentAttributes_Request_continueAfter
, BER_CLASS_CON
, 5, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOTCHKTAG
, dissect_mms_ObjectName
},
4759 { NULL
, 0, 0, 0, NULL
}
4763 dissect_mms_GetEventEnrollmentAttributes_Request(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4764 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
4765 GetEventEnrollmentAttributes_Request_sequence
, hf_index
, ett_mms_GetEventEnrollmentAttributes_Request
);
4771 static const value_string mms_EC_State_vals
[] = {
4780 dissect_mms_EC_State(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4781 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
4788 static const value_string mms_EventTime_vals
[] = {
4789 { 0, "timeOfDayT" },
4790 { 1, "timeSequenceIdentifier" },
4794 static const ber_choice_t EventTime_choice
[] = {
4795 { 0, &hf_mms_timeOfDayT
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_mms_TimeOfDay
},
4796 { 1, &hf_mms_timeSequenceIdentifier
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_mms_Unsigned32
},
4797 { 0, NULL
, 0, 0, 0, NULL
}
4801 dissect_mms_EventTime(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4802 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
4803 EventTime_choice
, hf_index
, ett_mms_EventTime
,
4810 static const ber_sequence_t AcknowledgeEventNotification_Request_sequence
[] = {
4811 { &hf_mms_eventEnrollmentName
, BER_CLASS_CON
, 0, BER_FLAGS_NOTCHKTAG
, dissect_mms_ObjectName
},
4812 { &hf_mms_acknowledgedState
, BER_CLASS_CON
, 2, BER_FLAGS_IMPLTAG
, dissect_mms_EC_State
},
4813 { &hf_mms_timeOfAcknowledgedTransition
, BER_CLASS_CON
, 3, BER_FLAGS_NOTCHKTAG
, dissect_mms_EventTime
},
4814 { NULL
, 0, 0, 0, NULL
}
4818 dissect_mms_AcknowledgeEventNotification_Request(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4819 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
4820 AcknowledgeEventNotification_Request_sequence
, hf_index
, ett_mms_AcknowledgeEventNotification_Request
);
4826 static const value_string mms_T_acknowledgmentFilter_vals
[] = {
4835 dissect_mms_T_acknowledgmentFilter(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4836 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
4843 static const ber_sequence_t T_severityFilter_sequence
[] = {
4844 { &hf_mms_mostSevere
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_mms_Unsigned8
},
4845 { &hf_mms_leastSevere
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_mms_Unsigned8
},
4846 { NULL
, 0, 0, 0, NULL
}
4850 dissect_mms_T_severityFilter(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4851 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
4852 T_severityFilter_sequence
, hf_index
, ett_mms_T_severityFilter
);
4858 static const ber_sequence_t GetAlarmSummary_Request_sequence
[] = {
4859 { &hf_mms_enrollmentsOnly
, BER_CLASS_CON
, 0, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_mms_BOOLEAN
},
4860 { &hf_mms_activeAlarmsOnly
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_mms_BOOLEAN
},
4861 { &hf_mms_acknowledgmentFilter
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_mms_T_acknowledgmentFilter
},
4862 { &hf_mms_severityFilter
, BER_CLASS_CON
, 3, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_mms_T_severityFilter
},
4863 { &hf_mms_continueAfter
, BER_CLASS_CON
, 5, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOTCHKTAG
, dissect_mms_ObjectName
},
4864 { NULL
, 0, 0, 0, NULL
}
4868 dissect_mms_GetAlarmSummary_Request(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4869 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
4870 GetAlarmSummary_Request_sequence
, hf_index
, ett_mms_GetAlarmSummary_Request
);
4876 static const value_string mms_T_acknowledgmentFilter_01_vals
[] = {
4885 dissect_mms_T_acknowledgmentFilter_01(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4886 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
4893 static const ber_sequence_t T_severityFilter_01_sequence
[] = {
4894 { &hf_mms_mostSevere
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_mms_Unsigned8
},
4895 { &hf_mms_leastSevere
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_mms_Unsigned8
},
4896 { NULL
, 0, 0, 0, NULL
}
4900 dissect_mms_T_severityFilter_01(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4901 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
4902 T_severityFilter_01_sequence
, hf_index
, ett_mms_T_severityFilter_01
);
4908 static const ber_sequence_t GetAlarmEnrollmentSummary_Request_sequence
[] = {
4909 { &hf_mms_enrollmentsOnly
, BER_CLASS_CON
, 0, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_mms_BOOLEAN
},
4910 { &hf_mms_activeAlarmsOnly
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_mms_BOOLEAN
},
4911 { &hf_mms_acknowledgmentFilter_01
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_mms_T_acknowledgmentFilter_01
},
4912 { &hf_mms_severityFilter_01
, BER_CLASS_CON
, 3, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_mms_T_severityFilter_01
},
4913 { &hf_mms_getAlarmEnrollmentSummary_Request_continueAfter
, BER_CLASS_CON
, 5, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOTCHKTAG
, dissect_mms_ObjectName
},
4914 { NULL
, 0, 0, 0, NULL
}
4918 dissect_mms_GetAlarmEnrollmentSummary_Request(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4919 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
4920 GetAlarmEnrollmentSummary_Request_sequence
, hf_index
, ett_mms_GetAlarmEnrollmentSummary_Request
);
4926 static const value_string mms_T_rangeStartSpecification_vals
[] = {
4927 { 0, "startingTime" },
4928 { 1, "startingEntry" },
4932 static const ber_choice_t T_rangeStartSpecification_choice
[] = {
4933 { 0, &hf_mms_startingTime
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_mms_TimeOfDay
},
4934 { 1, &hf_mms_startingEntry
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_mms_OCTET_STRING
},
4935 { 0, NULL
, 0, 0, 0, NULL
}
4939 dissect_mms_T_rangeStartSpecification(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4940 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
4941 T_rangeStartSpecification_choice
, hf_index
, ett_mms_T_rangeStartSpecification
,
4948 static const value_string mms_T_rangeStopSpecification_vals
[] = {
4949 { 0, "endingTime" },
4950 { 1, "numberOfEntries" },
4954 static const ber_choice_t T_rangeStopSpecification_choice
[] = {
4955 { 0, &hf_mms_endingTime
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_mms_TimeOfDay
},
4956 { 1, &hf_mms_numberOfEntries
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_mms_Integer32
},
4957 { 0, NULL
, 0, 0, 0, NULL
}
4961 dissect_mms_T_rangeStopSpecification(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4962 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
4963 T_rangeStopSpecification_choice
, hf_index
, ett_mms_T_rangeStopSpecification
,
4970 static const ber_sequence_t T_listOfVariables_sequence_of
[1] = {
4971 { &hf_mms_listOfVariables_item
, BER_CLASS_UNI
, BER_UNI_TAG_VisibleString
, BER_FLAGS_NOOWNTAG
, dissect_mms_VisibleString
},
4975 dissect_mms_T_listOfVariables(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4976 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
4977 T_listOfVariables_sequence_of
, hf_index
, ett_mms_T_listOfVariables
);
4983 static const ber_sequence_t T_entryToStartAfter_sequence
[] = {
4984 { &hf_mms_timeSpecification
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_mms_TimeOfDay
},
4985 { &hf_mms_entrySpecification
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_mms_OCTET_STRING
},
4986 { NULL
, 0, 0, 0, NULL
}
4990 dissect_mms_T_entryToStartAfter(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
4991 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
4992 T_entryToStartAfter_sequence
, hf_index
, ett_mms_T_entryToStartAfter
);
4998 static const ber_sequence_t ReadJournal_Request_sequence
[] = {
4999 { &hf_mms_journalName
, BER_CLASS_CON
, 0, BER_FLAGS_NOTCHKTAG
, dissect_mms_ObjectName
},
5000 { &hf_mms_rangeStartSpecification
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
, dissect_mms_T_rangeStartSpecification
},
5001 { &hf_mms_rangeStopSpecification
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
, dissect_mms_T_rangeStopSpecification
},
5002 { &hf_mms_listOfVariables
, BER_CLASS_CON
, 4, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_mms_T_listOfVariables
},
5003 { &hf_mms_entryToStartAfter
, BER_CLASS_CON
, 5, BER_FLAGS_IMPLTAG
, dissect_mms_T_entryToStartAfter
},
5004 { NULL
, 0, 0, 0, NULL
}
5008 dissect_mms_ReadJournal_Request(bool 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(implicit_tag
, actx
, tree
, tvb
, offset
,
5010 ReadJournal_Request_sequence
, hf_index
, ett_mms_ReadJournal_Request
);
5018 dissect_mms_JOU_Additional_Detail(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5019 offset
= dissect_ber_null(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
);
5025 static const ber_sequence_t T_event_sequence
[] = {
5026 { &hf_mms_eventConditionName
, BER_CLASS_CON
, 0, BER_FLAGS_NOTCHKTAG
, dissect_mms_ObjectName
},
5027 { &hf_mms_currentState
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_mms_EC_State
},
5028 { NULL
, 0, 0, 0, NULL
}
5032 dissect_mms_T_event(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5033 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
5034 T_event_sequence
, hf_index
, ett_mms_T_event
);
5040 static const ber_sequence_t T_listOfVariables_item_sequence
[] = {
5041 { &hf_mms_variableTag
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_mms_VisibleString
},
5042 { &hf_mms_valueSpecification
, BER_CLASS_CON
, 1, BER_FLAGS_NOTCHKTAG
, dissect_mms_Data
},
5043 { NULL
, 0, 0, 0, NULL
}
5047 dissect_mms_T_listOfVariables_item(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5048 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
5049 T_listOfVariables_item_sequence
, hf_index
, ett_mms_T_listOfVariables_item
);
5055 static const ber_sequence_t T_listOfVariables_01_sequence_of
[1] = {
5056 { &hf_mms_listOfVariables_item_01
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_mms_T_listOfVariables_item
},
5060 dissect_mms_T_listOfVariables_01(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5061 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
5062 T_listOfVariables_01_sequence_of
, hf_index
, ett_mms_T_listOfVariables_01
);
5068 static const ber_sequence_t T_data_sequence
[] = {
5069 { &hf_mms_event
, BER_CLASS_CON
, 0, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_mms_T_event
},
5070 { &hf_mms_listOfVariables_01
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_mms_T_listOfVariables_01
},
5071 { NULL
, 0, 0, 0, NULL
}
5075 dissect_mms_T_data(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5076 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
5077 T_data_sequence
, hf_index
, ett_mms_T_data
);
5083 static const value_string mms_T_entryForm_vals
[] = {
5085 { 3, "annotation" },
5089 static const ber_choice_t T_entryForm_choice
[] = {
5090 { 2, &hf_mms_data
, BER_CLASS_CON
, 2, BER_FLAGS_IMPLTAG
, dissect_mms_T_data
},
5091 { 3, &hf_mms_annotation
, BER_CLASS_CON
, 3, BER_FLAGS_IMPLTAG
, dissect_mms_VisibleString
},
5092 { 0, NULL
, 0, 0, 0, NULL
}
5096 dissect_mms_T_entryForm(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5097 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
5098 T_entryForm_choice
, hf_index
, ett_mms_T_entryForm
,
5105 static const ber_sequence_t EntryContent_sequence
[] = {
5106 { &hf_mms_occurenceTime
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_mms_TimeOfDay
},
5107 { &hf_mms_additionalDetail
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
, dissect_mms_JOU_Additional_Detail
},
5108 { &hf_mms_entryForm
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG
|BER_FLAGS_NOTCHKTAG
, dissect_mms_T_entryForm
},
5109 { NULL
, 0, 0, 0, NULL
}
5113 dissect_mms_EntryContent(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5114 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
5115 EntryContent_sequence
, hf_index
, ett_mms_EntryContent
);
5121 static const ber_sequence_t SEQUENCE_OF_EntryContent_sequence_of
[1] = {
5122 { &hf_mms_listOfJournalEntry_item_01
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_mms_EntryContent
},
5126 dissect_mms_SEQUENCE_OF_EntryContent(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5127 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
5128 SEQUENCE_OF_EntryContent_sequence_of
, hf_index
, ett_mms_SEQUENCE_OF_EntryContent
);
5134 static const ber_sequence_t WriteJournal_Request_sequence
[] = {
5135 { &hf_mms_journalName
, BER_CLASS_CON
, 0, BER_FLAGS_NOTCHKTAG
, dissect_mms_ObjectName
},
5136 { &hf_mms_listOfJournalEntry_01
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_mms_SEQUENCE_OF_EntryContent
},
5137 { NULL
, 0, 0, 0, NULL
}
5141 dissect_mms_WriteJournal_Request(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5142 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
5143 WriteJournal_Request_sequence
, hf_index
, ett_mms_WriteJournal_Request
);
5149 static const ber_sequence_t T_limitSpecification_sequence
[] = {
5150 { &hf_mms_limitingTime
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_mms_TimeOfDay
},
5151 { &hf_mms_limitingEntry
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_mms_OCTET_STRING
},
5152 { NULL
, 0, 0, 0, NULL
}
5156 dissect_mms_T_limitSpecification(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5157 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
5158 T_limitSpecification_sequence
, hf_index
, ett_mms_T_limitSpecification
);
5164 static const ber_sequence_t InitializeJournal_Request_sequence
[] = {
5165 { &hf_mms_journalName
, BER_CLASS_CON
, 0, BER_FLAGS_NOTCHKTAG
, dissect_mms_ObjectName
},
5166 { &hf_mms_limitSpecification
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_mms_T_limitSpecification
},
5167 { NULL
, 0, 0, 0, NULL
}
5171 dissect_mms_InitializeJournal_Request(bool 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_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
5173 InitializeJournal_Request_sequence
, hf_index
, ett_mms_InitializeJournal_Request
);
5181 dissect_mms_ReportJournalStatus_Request(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5182 offset
= dissect_mms_ObjectName(implicit_tag
, tvb
, offset
, actx
, tree
, hf_index
);
5188 static const ber_sequence_t CreateJournal_Request_sequence
[] = {
5189 { &hf_mms_journalName
, BER_CLASS_CON
, 0, BER_FLAGS_NOTCHKTAG
, dissect_mms_ObjectName
},
5190 { NULL
, 0, 0, 0, NULL
}
5194 dissect_mms_CreateJournal_Request(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5195 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
5196 CreateJournal_Request_sequence
, hf_index
, ett_mms_CreateJournal_Request
);
5202 static const ber_sequence_t DeleteJournal_Request_sequence
[] = {
5203 { &hf_mms_journalName
, BER_CLASS_CON
, 0, BER_FLAGS_NOTCHKTAG
, dissect_mms_ObjectName
},
5204 { NULL
, 0, 0, 0, NULL
}
5208 dissect_mms_DeleteJournal_Request(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5209 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
5210 DeleteJournal_Request_sequence
, hf_index
, ett_mms_DeleteJournal_Request
);
5216 static const ber_sequence_t GetCapabilityList_Request_sequence
[] = {
5217 { &hf_mms_getCapabilityList_Request_continueAfter
, BER_CLASS_UNI
, BER_UNI_TAG_VisibleString
, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOOWNTAG
, dissect_mms_VisibleString
},
5218 { NULL
, 0, 0, 0, NULL
}
5222 dissect_mms_GetCapabilityList_Request(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5223 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
5224 GetCapabilityList_Request_sequence
, hf_index
, ett_mms_GetCapabilityList_Request
);
5230 static const ber_sequence_t FileOpen_Request_sequence
[] = {
5231 { &hf_mms_fileName
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_mms_FileName
},
5232 { &hf_mms_initialPosition
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_mms_Unsigned32
},
5233 { NULL
, 0, 0, 0, NULL
}
5237 dissect_mms_FileOpen_Request(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5238 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
5239 FileOpen_Request_sequence
, hf_index
, ett_mms_FileOpen_Request
);
5247 dissect_mms_FileRead_Request(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5248 offset
= dissect_mms_Integer32(implicit_tag
, tvb
, offset
, actx
, tree
, hf_index
);
5256 dissect_mms_FileClose_Request(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5257 offset
= dissect_mms_Integer32(implicit_tag
, tvb
, offset
, actx
, tree
, hf_index
);
5263 static const ber_sequence_t FileRename_Request_sequence
[] = {
5264 { &hf_mms_currentFileName
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_mms_FileName
},
5265 { &hf_mms_newFileName
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_mms_FileName
},
5266 { NULL
, 0, 0, 0, NULL
}
5270 dissect_mms_FileRename_Request(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5271 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
5272 FileRename_Request_sequence
, hf_index
, ett_mms_FileRename_Request
);
5280 dissect_mms_FileDelete_Request(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5281 offset
= dissect_mms_FileName(implicit_tag
, tvb
, offset
, actx
, tree
, hf_index
);
5287 static const ber_sequence_t FileDirectory_Request_sequence
[] = {
5288 { &hf_mms_fileSpecification
, BER_CLASS_CON
, 0, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_mms_FileName
},
5289 { &hf_mms_fileDirectory_Request_continueAfter
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_mms_FileName
},
5290 { NULL
, 0, 0, 0, NULL
}
5294 dissect_mms_FileDirectory_Request(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5295 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
5296 FileDirectory_Request_sequence
, hf_index
, ett_mms_FileDirectory_Request
);
5302 static const value_string mms_ConfirmedServiceRequest_vals
[] = {
5304 { 1, "getNameList" },
5309 { 6, "getVariableAccessAttributes" },
5310 { 7, "defineNamedVariable" },
5311 { 8, "defineScatteredAccess" },
5312 { 9, "getScatteredAccessAttributes" },
5313 { 10, "deleteVariableAccess" },
5314 { 11, "defineNamedVariableList" },
5315 { 12, "getNamedVariableListAttributes" },
5316 { 13, "deleteNamedVariableList" },
5317 { 14, "defineNamedType" },
5318 { 15, "getNamedTypeAttributes" },
5319 { 16, "deleteNamedType" },
5322 { 19, "takeControl" },
5323 { 20, "relinquishControl" },
5324 { 21, "defineSemaphore" },
5325 { 22, "deleteSemaphore" },
5326 { 23, "reportSemaphoreStatus" },
5327 { 24, "reportPoolSemaphoreStatus" },
5328 { 25, "reportSemaphoreEntryStatus" },
5329 { 26, "initiateDownloadSequence" },
5330 { 27, "downloadSegment" },
5331 { 28, "terminateDownloadSequence" },
5332 { 29, "initiateUploadSequence" },
5333 { 30, "uploadSegment" },
5334 { 31, "terminateUploadSequence" },
5335 { 32, "requestDomainDownload" },
5336 { 33, "requestDomainUpload" },
5337 { 34, "loadDomainContent" },
5338 { 35, "storeDomainContent" },
5339 { 36, "deleteDomain" },
5340 { 37, "getDomainAttributes" },
5341 { 38, "createProgramInvocation" },
5342 { 39, "deleteProgramInvocation" },
5348 { 45, "getProgramInvocationAttributes" },
5349 { 46, "obtainFile" },
5350 { 47, "defineEventCondition" },
5351 { 48, "deleteEventCondition" },
5352 { 49, "getEventConditionAttributes" },
5353 { 50, "reportEventConditionStatus" },
5354 { 51, "alterEventConditionMonitoring" },
5355 { 52, "triggerEvent" },
5356 { 53, "defineEventAction" },
5357 { 54, "deleteEventAction" },
5358 { 55, "getEventActionAttributes" },
5359 { 56, "reportEventActionStatus" },
5360 { 57, "defineEventEnrollment" },
5361 { 58, "deleteEventEnrollment" },
5362 { 59, "alterEventEnrollment" },
5363 { 60, "reportEventEnrollmentStatus" },
5364 { 61, "getEventEnrollmentAttributes" },
5365 { 62, "acknowledgeEventNotification" },
5366 { 63, "getAlarmSummary" },
5367 { 64, "getAlarmEnrollmentSummary" },
5368 { 65, "readJournal" },
5369 { 66, "writeJournal" },
5370 { 67, "initializeJournal" },
5371 { 68, "reportJournalStatus" },
5372 { 69, "createJournal" },
5373 { 70, "deleteJournal" },
5374 { 71, "getCapabilityList" },
5377 { 74, "fileClose" },
5378 { 75, "fileRename" },
5379 { 76, "fileDelete" },
5380 { 77, "fileDirectory" },
5384 static const ber_choice_t ConfirmedServiceRequest_choice
[] = {
5385 { 0, &hf_mms_status
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_mms_Status_Request
},
5386 { 1, &hf_mms_getNameList
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_mms_GetNameList_Request
},
5387 { 2, &hf_mms_identify
, BER_CLASS_CON
, 2, BER_FLAGS_IMPLTAG
, dissect_mms_Identify_Request
},
5388 { 3, &hf_mms_rename
, BER_CLASS_CON
, 3, BER_FLAGS_IMPLTAG
, dissect_mms_Rename_Request
},
5389 { 4, &hf_mms_read
, BER_CLASS_CON
, 4, BER_FLAGS_IMPLTAG
, dissect_mms_Read_Request
},
5390 { 5, &hf_mms_write
, BER_CLASS_CON
, 5, BER_FLAGS_IMPLTAG
, dissect_mms_Write_Request
},
5391 { 6, &hf_mms_getVariableAccessAttributes
, BER_CLASS_CON
, 6, 0, dissect_mms_GetVariableAccessAttributes_Request
},
5392 { 7, &hf_mms_defineNamedVariable
, BER_CLASS_CON
, 7, BER_FLAGS_IMPLTAG
, dissect_mms_DefineNamedVariable_Request
},
5393 { 8, &hf_mms_defineScatteredAccess
, BER_CLASS_CON
, 8, BER_FLAGS_IMPLTAG
, dissect_mms_DefineScatteredAccess_Request
},
5394 { 9, &hf_mms_getScatteredAccessAttributes
, BER_CLASS_CON
, 9, BER_FLAGS_IMPLTAG
, dissect_mms_GetScatteredAccessAttributes_Request
},
5395 { 10, &hf_mms_deleteVariableAccess
, BER_CLASS_CON
, 10, BER_FLAGS_IMPLTAG
, dissect_mms_DeleteVariableAccess_Request
},
5396 { 11, &hf_mms_defineNamedVariableList
, BER_CLASS_CON
, 11, BER_FLAGS_IMPLTAG
, dissect_mms_DefineNamedVariableList_Request
},
5397 { 12, &hf_mms_getNamedVariableListAttributes
, BER_CLASS_CON
, 12, BER_FLAGS_IMPLTAG
, dissect_mms_GetNamedVariableListAttributes_Request
},
5398 { 13, &hf_mms_deleteNamedVariableList
, BER_CLASS_CON
, 13, BER_FLAGS_IMPLTAG
, dissect_mms_DeleteNamedVariableList_Request
},
5399 { 14, &hf_mms_defineNamedType
, BER_CLASS_CON
, 14, BER_FLAGS_IMPLTAG
, dissect_mms_DefineNamedType_Request
},
5400 { 15, &hf_mms_getNamedTypeAttributes
, BER_CLASS_CON
, 15, BER_FLAGS_IMPLTAG
, dissect_mms_GetNamedTypeAttributes_Request
},
5401 { 16, &hf_mms_deleteNamedType
, BER_CLASS_CON
, 16, BER_FLAGS_IMPLTAG
, dissect_mms_DeleteNamedType_Request
},
5402 { 17, &hf_mms_input
, BER_CLASS_CON
, 17, BER_FLAGS_IMPLTAG
, dissect_mms_Input_Request
},
5403 { 18, &hf_mms_output
, BER_CLASS_CON
, 18, BER_FLAGS_IMPLTAG
, dissect_mms_Output_Request
},
5404 { 19, &hf_mms_takeControl
, BER_CLASS_CON
, 19, BER_FLAGS_IMPLTAG
, dissect_mms_TakeControl_Request
},
5405 { 20, &hf_mms_relinquishControl
, BER_CLASS_CON
, 20, BER_FLAGS_IMPLTAG
, dissect_mms_RelinquishControl_Request
},
5406 { 21, &hf_mms_defineSemaphore
, BER_CLASS_CON
, 21, BER_FLAGS_IMPLTAG
, dissect_mms_DefineSemaphore_Request
},
5407 { 22, &hf_mms_deleteSemaphore
, BER_CLASS_CON
, 22, BER_FLAGS_IMPLTAG
, dissect_mms_DeleteSemaphore_Request
},
5408 { 23, &hf_mms_reportSemaphoreStatus
, BER_CLASS_CON
, 23, BER_FLAGS_IMPLTAG
, dissect_mms_ReportSemaphoreStatus_Request
},
5409 { 24, &hf_mms_reportPoolSemaphoreStatus
, BER_CLASS_CON
, 24, BER_FLAGS_IMPLTAG
, dissect_mms_ReportPoolSemaphoreStatus_Request
},
5410 { 25, &hf_mms_reportSemaphoreEntryStatus
, BER_CLASS_CON
, 25, BER_FLAGS_IMPLTAG
, dissect_mms_ReportSemaphoreEntryStatus_Request
},
5411 { 26, &hf_mms_initiateDownloadSequence
, BER_CLASS_CON
, 26, BER_FLAGS_IMPLTAG
, dissect_mms_InitiateDownloadSequence_Request
},
5412 { 27, &hf_mms_downloadSegment
, BER_CLASS_CON
, 27, BER_FLAGS_IMPLTAG
, dissect_mms_DownloadSegment_Request
},
5413 { 28, &hf_mms_terminateDownloadSequence
, BER_CLASS_CON
, 28, BER_FLAGS_IMPLTAG
, dissect_mms_TerminateDownloadSequence_Request
},
5414 { 29, &hf_mms_initiateUploadSequence
, BER_CLASS_CON
, 29, BER_FLAGS_IMPLTAG
, dissect_mms_InitiateUploadSequence_Request
},
5415 { 30, &hf_mms_uploadSegment
, BER_CLASS_CON
, 30, BER_FLAGS_IMPLTAG
, dissect_mms_UploadSegment_Request
},
5416 { 31, &hf_mms_terminateUploadSequence
, BER_CLASS_CON
, 31, BER_FLAGS_IMPLTAG
, dissect_mms_TerminateUploadSequence_Request
},
5417 { 32, &hf_mms_requestDomainDownload
, BER_CLASS_CON
, 32, BER_FLAGS_IMPLTAG
, dissect_mms_RequestDomainDownload_Request
},
5418 { 33, &hf_mms_requestDomainUpload
, BER_CLASS_CON
, 33, BER_FLAGS_IMPLTAG
, dissect_mms_RequestDomainUpload_Request
},
5419 { 34, &hf_mms_loadDomainContent
, BER_CLASS_CON
, 34, BER_FLAGS_IMPLTAG
, dissect_mms_LoadDomainContent_Request
},
5420 { 35, &hf_mms_storeDomainContent
, BER_CLASS_CON
, 35, BER_FLAGS_IMPLTAG
, dissect_mms_StoreDomainContent_Request
},
5421 { 36, &hf_mms_deleteDomain
, BER_CLASS_CON
, 36, BER_FLAGS_IMPLTAG
, dissect_mms_DeleteDomain_Request
},
5422 { 37, &hf_mms_getDomainAttributes
, BER_CLASS_CON
, 37, BER_FLAGS_IMPLTAG
, dissect_mms_GetDomainAttributes_Request
},
5423 { 38, &hf_mms_createProgramInvocation
, BER_CLASS_CON
, 38, BER_FLAGS_IMPLTAG
, dissect_mms_CreateProgramInvocation_Request
},
5424 { 39, &hf_mms_deleteProgramInvocation
, BER_CLASS_CON
, 39, BER_FLAGS_IMPLTAG
, dissect_mms_DeleteProgramInvocation_Request
},
5425 { 40, &hf_mms_start
, BER_CLASS_CON
, 40, BER_FLAGS_IMPLTAG
, dissect_mms_Start_Request
},
5426 { 41, &hf_mms_stop
, BER_CLASS_CON
, 41, BER_FLAGS_IMPLTAG
, dissect_mms_Stop_Request
},
5427 { 42, &hf_mms_resume
, BER_CLASS_CON
, 42, BER_FLAGS_IMPLTAG
, dissect_mms_Resume_Request
},
5428 { 43, &hf_mms_reset
, BER_CLASS_CON
, 43, BER_FLAGS_IMPLTAG
, dissect_mms_Reset_Request
},
5429 { 44, &hf_mms_kill
, BER_CLASS_CON
, 44, BER_FLAGS_IMPLTAG
, dissect_mms_Kill_Request
},
5430 { 45, &hf_mms_getProgramInvocationAttributes
, BER_CLASS_CON
, 45, BER_FLAGS_IMPLTAG
, dissect_mms_GetProgramInvocationAttributes_Request
},
5431 { 46, &hf_mms_obtainFile
, BER_CLASS_CON
, 46, BER_FLAGS_IMPLTAG
, dissect_mms_ObtainFile_Request
},
5432 { 47, &hf_mms_defineEventCondition
, BER_CLASS_CON
, 47, BER_FLAGS_IMPLTAG
, dissect_mms_DefineEventCondition_Request
},
5433 { 48, &hf_mms_confirmedServiceRequest_deleteEventCondition
, BER_CLASS_CON
, 48, 0, dissect_mms_DeleteEventCondition_Request
},
5434 { 49, &hf_mms_getEventConditionAttributes
, BER_CLASS_CON
, 49, 0, dissect_mms_GetEventConditionAttributes_Request
},
5435 { 50, &hf_mms_reportEventConditionStatus
, BER_CLASS_CON
, 50, 0, dissect_mms_ReportEventConditionStatus_Request
},
5436 { 51, &hf_mms_alterEventConditionMonitoring
, BER_CLASS_CON
, 51, BER_FLAGS_IMPLTAG
, dissect_mms_AlterEventConditionMonitoring_Request
},
5437 { 52, &hf_mms_triggerEvent
, BER_CLASS_CON
, 52, BER_FLAGS_IMPLTAG
, dissect_mms_TriggerEvent_Request
},
5438 { 53, &hf_mms_defineEventAction
, BER_CLASS_CON
, 53, BER_FLAGS_IMPLTAG
, dissect_mms_DefineEventAction_Request
},
5439 { 54, &hf_mms_confirmedServiceRequest_deleteEventAction
, BER_CLASS_CON
, 54, 0, dissect_mms_DeleteEventAction_Request
},
5440 { 55, &hf_mms_getEventActionAttributes
, BER_CLASS_CON
, 55, 0, dissect_mms_GetEventActionAttributes_Request
},
5441 { 56, &hf_mms_reportEventActionStatus
, BER_CLASS_CON
, 56, 0, dissect_mms_ReportEventActionStatus_Request
},
5442 { 57, &hf_mms_defineEventEnrollment
, BER_CLASS_CON
, 57, BER_FLAGS_IMPLTAG
, dissect_mms_DefineEventEnrollment_Request
},
5443 { 58, &hf_mms_confirmedServiceRequest_deleteEventEnrollment
, BER_CLASS_CON
, 58, 0, dissect_mms_DeleteEventEnrollment_Request
},
5444 { 59, &hf_mms_alterEventEnrollment
, BER_CLASS_CON
, 59, BER_FLAGS_IMPLTAG
, dissect_mms_AlterEventEnrollment_Request
},
5445 { 60, &hf_mms_reportEventEnrollmentStatus
, BER_CLASS_CON
, 60, 0, dissect_mms_ReportEventEnrollmentStatus_Request
},
5446 { 61, &hf_mms_getEventEnrollmentAttributes
, BER_CLASS_CON
, 61, BER_FLAGS_IMPLTAG
, dissect_mms_GetEventEnrollmentAttributes_Request
},
5447 { 62, &hf_mms_acknowledgeEventNotification
, BER_CLASS_CON
, 62, BER_FLAGS_IMPLTAG
, dissect_mms_AcknowledgeEventNotification_Request
},
5448 { 63, &hf_mms_getAlarmSummary
, BER_CLASS_CON
, 63, BER_FLAGS_IMPLTAG
, dissect_mms_GetAlarmSummary_Request
},
5449 { 64, &hf_mms_getAlarmEnrollmentSummary
, BER_CLASS_CON
, 64, BER_FLAGS_IMPLTAG
, dissect_mms_GetAlarmEnrollmentSummary_Request
},
5450 { 65, &hf_mms_readJournal
, BER_CLASS_CON
, 65, BER_FLAGS_IMPLTAG
, dissect_mms_ReadJournal_Request
},
5451 { 66, &hf_mms_writeJournal
, BER_CLASS_CON
, 66, BER_FLAGS_IMPLTAG
, dissect_mms_WriteJournal_Request
},
5452 { 67, &hf_mms_initializeJournal
, BER_CLASS_CON
, 67, BER_FLAGS_IMPLTAG
, dissect_mms_InitializeJournal_Request
},
5453 { 68, &hf_mms_reportJournalStatus
, BER_CLASS_CON
, 68, BER_FLAGS_IMPLTAG
, dissect_mms_ReportJournalStatus_Request
},
5454 { 69, &hf_mms_createJournal
, BER_CLASS_CON
, 69, BER_FLAGS_IMPLTAG
, dissect_mms_CreateJournal_Request
},
5455 { 70, &hf_mms_deleteJournal
, BER_CLASS_CON
, 70, BER_FLAGS_IMPLTAG
, dissect_mms_DeleteJournal_Request
},
5456 { 71, &hf_mms_getCapabilityList
, BER_CLASS_CON
, 71, BER_FLAGS_IMPLTAG
, dissect_mms_GetCapabilityList_Request
},
5457 { 72, &hf_mms_fileOpen
, BER_CLASS_CON
, 72, BER_FLAGS_IMPLTAG
, dissect_mms_FileOpen_Request
},
5458 { 73, &hf_mms_fileRead
, BER_CLASS_CON
, 73, BER_FLAGS_IMPLTAG
, dissect_mms_FileRead_Request
},
5459 { 74, &hf_mms_fileClose
, BER_CLASS_CON
, 74, BER_FLAGS_IMPLTAG
, dissect_mms_FileClose_Request
},
5460 { 75, &hf_mms_fileRename
, BER_CLASS_CON
, 75, BER_FLAGS_IMPLTAG
, dissect_mms_FileRename_Request
},
5461 { 76, &hf_mms_fileDelete
, BER_CLASS_CON
, 76, BER_FLAGS_IMPLTAG
, dissect_mms_FileDelete_Request
},
5462 { 77, &hf_mms_fileDirectory
, BER_CLASS_CON
, 77, BER_FLAGS_IMPLTAG
, dissect_mms_FileDirectory_Request
},
5463 { 0, NULL
, 0, 0, 0, NULL
}
5467 dissect_mms_ConfirmedServiceRequest(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5472 get_ber_identifier(tvb
, offset
, &ber_class
, &pc
, &tag
);
5473 mms_actx_private_data_t
*mms_priv
= (mms_actx_private_data_t
*)actx
->private_data
;
5475 mms_priv
->confirmedservice_type
= tag
;
5478 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
5479 ConfirmedServiceRequest_choice
, hf_index
, ett_mms_ConfirmedServiceRequest
,
5483 if(mms_priv
&& mms_priv
->mms_trans_p
){
5484 if(mms_priv
->confirmedservice_type
== MMS_CONFIRMEDSERVICE_GETNAMELIST
){
5485 if(mms_priv
->objectclass
== MMS_OBJECTCLASS_DOMAIN
){
5486 if(mms_priv
->objectscope
== MMS_OBJECTSCOPE_VMDSPECIFIC
){
5487 mms_priv
->mms_trans_p
->conf_serv_pdu_type_req
= MMS_IEC_61850_CONF_SERV_PDU_GET_SERV_DIR
;
5489 }else if(mms_priv
->objectclass
== MMS_OBJECTCLASS_NAMMEDVARIABLE
){
5490 mms_priv
->mms_trans_p
->conf_serv_pdu_type_req
= MMS_IEC_61850_CONF_SERV_PDU_GETLOGICALDEVICEDIRECTORY
;
5491 }else if(mms_priv
->objectclass
== MMS_OBJECTCLASS_NAMEDVARIABLELIST
){
5492 mms_priv
->mms_trans_p
->conf_serv_pdu_type_req
= MMS_IEC_61850_CONF_SERV_PDU_GETDATASETDIRECTORY
;
5494 }else if(mms_priv
->confirmedservice_type
== MMS_CONFIRMEDSERVICE_GETNAMEDVARIABLELISTATTRIBUTES
){
5495 mms_priv
->mms_trans_p
->conf_serv_pdu_type_req
= MMS_IEC_61850_CONF_SERV_PDU_GETDATASETDIRECTORY
;
5496 }else if(mms_priv
->confirmedservice_type
== MMS_CONFIRMEDSERVICE_READ
){
5497 mms_priv
->mms_trans_p
->conf_serv_pdu_type_req
= MMS_IEC_61850_CONF_SERV_PDU_READ
;
5498 }else if(mms_priv
->confirmedservice_type
== MMS_CONFIRMEDSERVICE_WRITE
){
5499 mms_priv
->mms_trans_p
->conf_serv_pdu_type_req
= MMS_IEC_61850_CONF_SERV_PDU_WRITE
;
5500 }else if(mms_priv
->confirmedservice_type
== MMS_CONFIRMEDSERVICE_GETVARIABLEACCESSATTRIBUTES
){
5501 mms_priv
->mms_trans_p
->conf_serv_pdu_type_req
= MMS_IEC_61850_CONF_SERV_PDU_GETDATADIRECTORY
;
5511 static const value_string mms_CS_Request_Detail_vals
[] = {
5516 static const ber_choice_t CS_Request_Detail_choice
[] = {
5517 { 0, &hf_mms_foo
, BER_CLASS_UNI
, BER_UNI_TAG_INTEGER
, BER_FLAGS_NOOWNTAG
, dissect_mms_INTEGER
},
5518 { 0, NULL
, 0, 0, 0, NULL
}
5522 dissect_mms_CS_Request_Detail(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5523 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
5524 CS_Request_Detail_choice
, hf_index
, ett_mms_CS_Request_Detail
,
5531 static const ber_sequence_t Confirmed_RequestPDU_sequence
[] = {
5532 { &hf_mms_invokeID
, BER_CLASS_UNI
, BER_UNI_TAG_INTEGER
, BER_FLAGS_NOOWNTAG
, dissect_mms_Unsigned32
},
5533 { &hf_mms_listOfModifier
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOOWNTAG
, dissect_mms_SEQUENCE_OF_Modifier
},
5534 { &hf_mms_confirmedServiceRequest
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG
|BER_FLAGS_NOTCHKTAG
, dissect_mms_ConfirmedServiceRequest
},
5535 { &hf_mms_cs_request_detail
, BER_CLASS_CON
, 79, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOTCHKTAG
, dissect_mms_CS_Request_Detail
},
5536 { NULL
, 0, 0, 0, NULL
}
5540 dissect_mms_Confirmed_RequestPDU(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5542 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
5543 Confirmed_RequestPDU_sequence
, hf_index
, ett_mms_Confirmed_RequestPDU
);
5545 mms_actx_private_data_t
*mms_priv
= (mms_actx_private_data_t
*)actx
->private_data
;
5546 if(tree
&& mms_priv
){
5547 mms_priv
->pdu_item
= (proto_item
*)tree
->last_child
;
5555 static const value_string mms_T_vmdLogicalStatus_vals
[] = {
5556 { 0, "state-changes-allowed" },
5557 { 1, "no-state-changes-allowed" },
5558 { 2, "limited-services-allowed" },
5559 { 3, "support-services-allowed" },
5565 dissect_mms_T_vmdLogicalStatus(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5566 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
5573 static const value_string mms_T_vmdPhysicalStatus_vals
[] = {
5574 { 0, "operational" },
5575 { 1, "partially-operational" },
5576 { 2, "inoperable" },
5577 { 3, "needs-commissioning" },
5583 dissect_mms_T_vmdPhysicalStatus(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5584 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
5593 dissect_mms_BIT_STRING_SIZE_0_128(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5594 offset
= dissect_ber_bitstring(implicit_tag
, actx
, tree
, tvb
, offset
,
5595 NULL
, 0, hf_index
, -1,
5602 static const ber_sequence_t Status_Response_sequence
[] = {
5603 { &hf_mms_vmdLogicalStatus
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_mms_T_vmdLogicalStatus
},
5604 { &hf_mms_vmdPhysicalStatus
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_mms_T_vmdPhysicalStatus
},
5605 { &hf_mms_localDetail
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_mms_BIT_STRING_SIZE_0_128
},
5606 { NULL
, 0, 0, 0, NULL
}
5610 dissect_mms_Status_Response(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5611 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
5612 Status_Response_sequence
, hf_index
, ett_mms_Status_Response
);
5618 static const ber_sequence_t GetNameList_Response_sequence
[] = {
5619 { &hf_mms_listOfIdentifier
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_mms_SEQUENCE_OF_Identifier
},
5620 { &hf_mms_moreFollows
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_mms_BOOLEAN
},
5621 { NULL
, 0, 0, 0, NULL
}
5625 dissect_mms_GetNameList_Response(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5626 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
5627 GetNameList_Response_sequence
, hf_index
, ett_mms_GetNameList_Response
);
5633 static const ber_sequence_t T_listOfAbstractSyntaxes_sequence_of
[1] = {
5634 { &hf_mms_listOfAbstractSyntaxes_item
, BER_CLASS_UNI
, BER_UNI_TAG_OID
, BER_FLAGS_NOOWNTAG
, dissect_mms_OBJECT_IDENTIFIER
},
5638 dissect_mms_T_listOfAbstractSyntaxes(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5639 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
5640 T_listOfAbstractSyntaxes_sequence_of
, hf_index
, ett_mms_T_listOfAbstractSyntaxes
);
5646 static const ber_sequence_t Identify_Response_sequence
[] = {
5647 { &hf_mms_vendorName
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_mms_VisibleString
},
5648 { &hf_mms_modelName
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_mms_VisibleString
},
5649 { &hf_mms_revision
, BER_CLASS_CON
, 2, BER_FLAGS_IMPLTAG
, dissect_mms_VisibleString
},
5650 { &hf_mms_listOfAbstractSyntaxes
, BER_CLASS_CON
, 3, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_mms_T_listOfAbstractSyntaxes
},
5651 { NULL
, 0, 0, 0, NULL
}
5655 dissect_mms_Identify_Response(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5656 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
5657 Identify_Response_sequence
, hf_index
, ett_mms_Identify_Response
);
5665 dissect_mms_Rename_Response(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5666 offset
= dissect_ber_null(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
);
5672 static const value_string mms_DataAccessError_vals
[] = {
5673 { 0, "object-invalidated" },
5674 { 1, "hardware-fault" },
5675 { 2, "temporarily-unavailable" },
5676 { 3, "object-access-denied" },
5677 { 4, "object-undefined" },
5678 { 5, "invalid-address" },
5679 { 6, "type-unsupported" },
5680 { 7, "type-inconsistent" },
5681 { 8, "object-attribute-inconsistent" },
5682 { 9, "object-access-unsupported" },
5683 { 10, "object-non-existent" },
5684 { 11, "object-value-invalid" },
5690 dissect_mms_DataAccessError(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5691 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
5698 static const value_string mms_AccessResult_vals
[] = {
5704 static const ber_choice_t AccessResult_choice
[] = {
5705 { 0, &hf_mms_failure
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_mms_DataAccessError
},
5706 { 1, &hf_mms_success_01
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG
, dissect_mms_Data
},
5707 { 0, NULL
, 0, 0, 0, NULL
}
5711 dissect_mms_AccessResult(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5713 mms_actx_private_data_t
*mms_priv
= (mms_actx_private_data_t
*)actx
->private_data
;
5715 /* If listOfAccessResult_cnt > 2 we are into the optional data.
5716 * if data is not present increase count.
5720 mms_priv
->listOfAccessResult_cnt
+=1;
5722 switch(mms_priv
->listOfAccessResult_cnt
){
5725 case 2: /* Reported OptFlds */
5727 case 3: /* SeqNum Shall be present if OptFlds.sequence-number is true */
5728 if((mms_priv
->reported_optflds
& 0x4000) != 0x4000){
5732 case 4: /*TimeOfEntry Shall be present if OptFlds.report-time-stamp is true */
5733 if((mms_priv
->reported_optflds
& 0x2000) != 0x2000){
5737 case 5: /*DatSet Shall be present if OptFlds.data-set-name is true */
5738 if((mms_priv
->reported_optflds
& 0x0800) !=0x0800){
5742 case 6: /*BufOvfl Shall be present if OptFlds.buffer-overflow is true */
5743 if((mms_priv
->reported_optflds
& 0x0200) !=0x0200){
5747 case 7: /*EntryID Shall be present if OptFlds.entryID is true */
5748 if((mms_priv
->reported_optflds
& 0x0100) !=0x0100){
5752 case 8: /*ConfRev Shall be present if OptFlds.conf-rev is true */
5753 if((mms_priv
->reported_optflds
& 0x0080) !=0x0080){
5757 case 9: /*SubSeqNum Shall be present if OptFlds.segmentation is true */
5758 if((mms_priv
->reported_optflds
& 0x0040) !=0x0040){
5762 case 10: /*MoreSegmentsFollow Shall be present if OptFlds.segmentation is true */
5763 if((mms_priv
->reported_optflds
& 0x0040) !=0x0040){
5767 case 11: /*Inclusion-bitstring Shall be present */
5769 case 12: /*data-reference(s) Shall be present if OptFlds.data-reference is true */
5770 if((mms_priv
->reported_optflds
& 0x0400) !=0x0400){
5774 case 13: /*value(s) See AccessResult for value(s) */
5776 case 14: /*ReasonCode(s) Shall be present if OptFlds OptFlds.reason-for-inclusion is true */
5777 if((mms_priv
->reported_optflds
& 0x1000) !=0x1000){
5787 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
5788 AccessResult_choice
, hf_index
, ett_mms_AccessResult
,
5792 mms_priv
->success
= branch_taken
;
5800 static const ber_sequence_t SEQUENCE_OF_AccessResult_sequence_of
[1] = {
5801 { &hf_mms_listOfAccessResult_item
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG
|BER_FLAGS_NOTCHKTAG
, dissect_mms_AccessResult
},
5805 dissect_mms_SEQUENCE_OF_AccessResult(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5806 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
5807 SEQUENCE_OF_AccessResult_sequence_of
, hf_index
, ett_mms_SEQUENCE_OF_AccessResult
);
5813 static const ber_sequence_t Read_Response_sequence
[] = {
5814 { &hf_mms_variableAccessSpecificatn
, BER_CLASS_CON
, 0, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOTCHKTAG
, dissect_mms_VariableAccessSpecification
},
5815 { &hf_mms_listOfAccessResult
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_mms_SEQUENCE_OF_AccessResult
},
5816 { NULL
, 0, 0, 0, NULL
}
5820 dissect_mms_Read_Response(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5821 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
5822 Read_Response_sequence
, hf_index
, ett_mms_Read_Response
);
5828 static const value_string mms_Write_Response_item_vals
[] = {
5834 static const ber_choice_t Write_Response_item_choice
[] = {
5835 { 0, &hf_mms_failure
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_mms_DataAccessError
},
5836 { 1, &hf_mms_success
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_mms_NULL
},
5837 { 0, NULL
, 0, 0, 0, NULL
}
5841 dissect_mms_Write_Response_item(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5842 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
5843 Write_Response_item_choice
, hf_index
, ett_mms_Write_Response_item
,
5850 static const ber_sequence_t Write_Response_sequence_of
[1] = {
5851 { &hf_mms_Write_Response_item
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG
|BER_FLAGS_NOTCHKTAG
, dissect_mms_Write_Response_item
},
5855 dissect_mms_Write_Response(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5856 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
5857 Write_Response_sequence_of
, hf_index
, ett_mms_Write_Response
);
5863 static const ber_sequence_t GetVariableAccessAttributes_Response_sequence
[] = {
5864 { &hf_mms_mmsDeletable
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_mms_BOOLEAN
},
5865 { &hf_mms_address
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOTCHKTAG
, dissect_mms_Address
},
5866 { &hf_mms_typeSpecification
, BER_CLASS_CON
, 2, BER_FLAGS_NOTCHKTAG
, dissect_mms_TypeSpecification
},
5867 { NULL
, 0, 0, 0, NULL
}
5871 dissect_mms_GetVariableAccessAttributes_Response(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5872 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
5873 GetVariableAccessAttributes_Response_sequence
, hf_index
, ett_mms_GetVariableAccessAttributes_Response
);
5881 dissect_mms_DefineNamedVariable_Response(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5882 offset
= dissect_ber_null(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
);
5890 dissect_mms_DefineScatteredAccess_Response(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5891 offset
= dissect_ber_null(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
);
5897 static const ber_sequence_t GetScatteredAccessAttributes_Response_sequence
[] = {
5898 { &hf_mms_mmsDeletable
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_mms_BOOLEAN
},
5899 { &hf_mms_scatteredAccessDescription
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_mms_ScatteredAccessDescription
},
5900 { NULL
, 0, 0, 0, NULL
}
5904 dissect_mms_GetScatteredAccessAttributes_Response(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5905 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
5906 GetScatteredAccessAttributes_Response_sequence
, hf_index
, ett_mms_GetScatteredAccessAttributes_Response
);
5912 static const ber_sequence_t DeleteVariableAccess_Response_sequence
[] = {
5913 { &hf_mms_numberMatched
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_mms_Unsigned32
},
5914 { &hf_mms_numberDeleted
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_mms_Unsigned32
},
5915 { NULL
, 0, 0, 0, NULL
}
5919 dissect_mms_DeleteVariableAccess_Response(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5920 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
5921 DeleteVariableAccess_Response_sequence
, hf_index
, ett_mms_DeleteVariableAccess_Response
);
5929 dissect_mms_DefineNamedVariableList_Response(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5930 offset
= dissect_ber_null(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
);
5936 static const ber_sequence_t T_listOfVariable_item_01_sequence
[] = {
5937 { &hf_mms_variableSpecification
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG
|BER_FLAGS_NOTCHKTAG
, dissect_mms_VariableSpecification
},
5938 { &hf_mms_alternateAccess
, BER_CLASS_CON
, 5, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_mms_AlternateAccess
},
5939 { NULL
, 0, 0, 0, NULL
}
5943 dissect_mms_T_listOfVariable_item_01(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5944 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
5945 T_listOfVariable_item_01_sequence
, hf_index
, ett_mms_T_listOfVariable_item_01
);
5951 static const ber_sequence_t T_listOfVariable_01_sequence_of
[1] = {
5952 { &hf_mms_listOfVariable_item_01
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_mms_T_listOfVariable_item_01
},
5956 dissect_mms_T_listOfVariable_01(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5957 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
5958 T_listOfVariable_01_sequence_of
, hf_index
, ett_mms_T_listOfVariable_01
);
5964 static const ber_sequence_t GetNamedVariableListAttributes_Response_sequence
[] = {
5965 { &hf_mms_mmsDeletable
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_mms_BOOLEAN
},
5966 { &hf_mms_listOfVariable_01
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_mms_T_listOfVariable_01
},
5967 { NULL
, 0, 0, 0, NULL
}
5971 dissect_mms_GetNamedVariableListAttributes_Response(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5972 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
5973 GetNamedVariableListAttributes_Response_sequence
, hf_index
, ett_mms_GetNamedVariableListAttributes_Response
);
5979 static const ber_sequence_t DeleteNamedVariableList_Response_sequence
[] = {
5980 { &hf_mms_numberMatched
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_mms_Unsigned32
},
5981 { &hf_mms_numberDeleted
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_mms_Unsigned32
},
5982 { NULL
, 0, 0, 0, NULL
}
5986 dissect_mms_DeleteNamedVariableList_Response(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5987 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
5988 DeleteNamedVariableList_Response_sequence
, hf_index
, ett_mms_DeleteNamedVariableList_Response
);
5996 dissect_mms_DefineNamedType_Response(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
5997 offset
= dissect_ber_null(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
);
6003 static const ber_sequence_t GetNamedTypeAttributes_Response_sequence
[] = {
6004 { &hf_mms_mmsDeletable
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_mms_BOOLEAN
},
6005 { &hf_mms_typeSpecification
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG
|BER_FLAGS_NOTCHKTAG
, dissect_mms_TypeSpecification
},
6006 { NULL
, 0, 0, 0, NULL
}
6010 dissect_mms_GetNamedTypeAttributes_Response(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6011 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
6012 GetNamedTypeAttributes_Response_sequence
, hf_index
, ett_mms_GetNamedTypeAttributes_Response
);
6018 static const ber_sequence_t DeleteNamedType_Response_sequence
[] = {
6019 { &hf_mms_numberMatched
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_mms_Unsigned32
},
6020 { &hf_mms_numberDeleted
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_mms_Unsigned32
},
6021 { NULL
, 0, 0, 0, NULL
}
6025 dissect_mms_DeleteNamedType_Response(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6026 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
6027 DeleteNamedType_Response_sequence
, hf_index
, ett_mms_DeleteNamedType_Response
);
6035 dissect_mms_Input_Response(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6036 offset
= dissect_ber_restricted_string(implicit_tag
, BER_UNI_TAG_VisibleString
,
6037 actx
, tree
, tvb
, offset
, hf_index
,
6046 dissect_mms_Output_Response(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6047 offset
= dissect_ber_null(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
);
6053 static const value_string mms_TakeControl_Response_vals
[] = {
6055 { 1, "namedToken" },
6059 static const ber_choice_t TakeControl_Response_choice
[] = {
6060 { 0, &hf_mms_noResult
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_mms_NULL
},
6061 { 1, &hf_mms_namedToken
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_mms_Identifier
},
6062 { 0, NULL
, 0, 0, 0, NULL
}
6066 dissect_mms_TakeControl_Response(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6067 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
6068 TakeControl_Response_choice
, hf_index
, ett_mms_TakeControl_Response
,
6077 dissect_mms_RelinquishControl_Response(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6078 offset
= dissect_ber_null(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
);
6086 dissect_mms_DefineSemaphore_Response(bool 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_null(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
);
6095 dissect_mms_DeleteSemaphore_Response(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6096 offset
= dissect_ber_null(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
);
6102 static const value_string mms_T_class_vals
[] = {
6110 dissect_mms_T_class(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6111 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
6118 static const ber_sequence_t ReportSemaphoreStatus_Response_sequence
[] = {
6119 { &hf_mms_mmsDeletable
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_mms_BOOLEAN
},
6120 { &hf_mms_class
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_mms_T_class
},
6121 { &hf_mms_numberOfTokens
, BER_CLASS_CON
, 2, BER_FLAGS_IMPLTAG
, dissect_mms_Unsigned16
},
6122 { &hf_mms_numberOfOwnedTokens
, BER_CLASS_CON
, 3, BER_FLAGS_IMPLTAG
, dissect_mms_Unsigned16
},
6123 { &hf_mms_numberOfHungTokens
, BER_CLASS_CON
, 4, BER_FLAGS_IMPLTAG
, dissect_mms_Unsigned16
},
6124 { NULL
, 0, 0, 0, NULL
}
6128 dissect_mms_ReportSemaphoreStatus_Response(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6129 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
6130 ReportSemaphoreStatus_Response_sequence
, hf_index
, ett_mms_ReportSemaphoreStatus_Response
);
6136 static const value_string mms_T_listOfNamedTokens_item_vals
[] = {
6137 { 0, "freeNamedToken" },
6138 { 1, "ownedNamedToken" },
6139 { 2, "hungNamedToken" },
6143 static const ber_choice_t T_listOfNamedTokens_item_choice
[] = {
6144 { 0, &hf_mms_freeNamedToken
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_mms_Identifier
},
6145 { 1, &hf_mms_ownedNamedToken
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_mms_Identifier
},
6146 { 2, &hf_mms_hungNamedToken
, BER_CLASS_CON
, 2, BER_FLAGS_IMPLTAG
, dissect_mms_Identifier
},
6147 { 0, NULL
, 0, 0, 0, NULL
}
6151 dissect_mms_T_listOfNamedTokens_item(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6152 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
6153 T_listOfNamedTokens_item_choice
, hf_index
, ett_mms_T_listOfNamedTokens_item
,
6160 static const ber_sequence_t T_listOfNamedTokens_sequence_of
[1] = {
6161 { &hf_mms_listOfNamedTokens_item
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG
|BER_FLAGS_NOTCHKTAG
, dissect_mms_T_listOfNamedTokens_item
},
6165 dissect_mms_T_listOfNamedTokens(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6166 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
6167 T_listOfNamedTokens_sequence_of
, hf_index
, ett_mms_T_listOfNamedTokens
);
6173 static const ber_sequence_t ReportPoolSemaphoreStatus_Response_sequence
[] = {
6174 { &hf_mms_listOfNamedTokens
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_mms_T_listOfNamedTokens
},
6175 { &hf_mms_moreFollows
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_mms_BOOLEAN
},
6176 { NULL
, 0, 0, 0, NULL
}
6180 dissect_mms_ReportPoolSemaphoreStatus_Response(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6181 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
6182 ReportPoolSemaphoreStatus_Response_sequence
, hf_index
, ett_mms_ReportPoolSemaphoreStatus_Response
);
6188 static const value_string mms_T_entryClass_vals
[] = {
6196 dissect_mms_T_entryClass(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6197 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
6204 static const ber_sequence_t SemaphoreEntry_sequence
[] = {
6205 { &hf_mms_entryId
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_mms_OCTET_STRING
},
6206 { &hf_mms_entryClass
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_mms_T_entryClass
},
6207 { &hf_mms_applicationReference
, BER_CLASS_CON
, 2, 0, dissect_mms_ApplicationReference
},
6208 { &hf_mms_namedToken
, BER_CLASS_CON
, 3, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_mms_Identifier
},
6209 { &hf_mms_priority
, BER_CLASS_CON
, 4, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_mms_Priority
},
6210 { &hf_mms_remainingTimeOut
, BER_CLASS_CON
, 5, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_mms_Unsigned32
},
6211 { &hf_mms_abortOnTimeOut
, BER_CLASS_CON
, 6, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_mms_BOOLEAN
},
6212 { &hf_mms_relinquishIfConnectionLost
, BER_CLASS_CON
, 7, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_mms_BOOLEAN
},
6213 { NULL
, 0, 0, 0, NULL
}
6217 dissect_mms_SemaphoreEntry(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6218 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
6219 SemaphoreEntry_sequence
, hf_index
, ett_mms_SemaphoreEntry
);
6225 static const ber_sequence_t SEQUENCE_OF_SemaphoreEntry_sequence_of
[1] = {
6226 { &hf_mms_listOfSemaphoreEntry_item
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_mms_SemaphoreEntry
},
6230 dissect_mms_SEQUENCE_OF_SemaphoreEntry(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6231 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
6232 SEQUENCE_OF_SemaphoreEntry_sequence_of
, hf_index
, ett_mms_SEQUENCE_OF_SemaphoreEntry
);
6238 static const ber_sequence_t ReportSemaphoreEntryStatus_Response_sequence
[] = {
6239 { &hf_mms_listOfSemaphoreEntry
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_mms_SEQUENCE_OF_SemaphoreEntry
},
6240 { &hf_mms_moreFollows
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_mms_BOOLEAN
},
6241 { NULL
, 0, 0, 0, NULL
}
6245 dissect_mms_ReportSemaphoreEntryStatus_Response(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6246 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
6247 ReportSemaphoreEntryStatus_Response_sequence
, hf_index
, ett_mms_ReportSemaphoreEntryStatus_Response
);
6255 dissect_mms_InitiateDownloadSequence_Response(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6256 offset
= dissect_ber_null(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
);
6262 static const value_string mms_T_loadData_vals
[] = {
6268 static const ber_choice_t T_loadData_choice
[] = {
6269 { 0, &hf_mms_non_coded
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_mms_OCTET_STRING
},
6270 { 1, &hf_mms_coded
, BER_CLASS_UNI
, 8, BER_FLAGS_NOOWNTAG
, dissect_acse_EXTERNALt
},
6271 { 0, NULL
, 0, 0, 0, NULL
}
6275 dissect_mms_T_loadData(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6276 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
6277 T_loadData_choice
, hf_index
, ett_mms_T_loadData
,
6284 static const ber_sequence_t DownloadSegment_Response_sequence
[] = {
6285 { &hf_mms_loadData
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG
|BER_FLAGS_NOTCHKTAG
, dissect_mms_T_loadData
},
6286 { &hf_mms_moreFollows
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_mms_BOOLEAN
},
6287 { NULL
, 0, 0, 0, NULL
}
6291 dissect_mms_DownloadSegment_Response(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6292 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
6293 DownloadSegment_Response_sequence
, hf_index
, ett_mms_DownloadSegment_Response
);
6301 dissect_mms_TerminateDownloadSequence_Response(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6302 offset
= dissect_ber_null(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
);
6308 static const ber_sequence_t T_listOfCapabilities_02_sequence_of
[1] = {
6309 { &hf_mms_listOfCapabilities_item
, BER_CLASS_UNI
, BER_UNI_TAG_VisibleString
, BER_FLAGS_NOOWNTAG
, dissect_mms_VisibleString
},
6313 dissect_mms_T_listOfCapabilities_02(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6314 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
6315 T_listOfCapabilities_02_sequence_of
, hf_index
, ett_mms_T_listOfCapabilities_02
);
6321 static const ber_sequence_t InitiateUploadSequence_Response_sequence
[] = {
6322 { &hf_mms_ulsmID
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_mms_Integer32
},
6323 { &hf_mms_listOfCapabilities_02
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_mms_T_listOfCapabilities_02
},
6324 { NULL
, 0, 0, 0, NULL
}
6328 dissect_mms_InitiateUploadSequence_Response(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6329 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
6330 InitiateUploadSequence_Response_sequence
, hf_index
, ett_mms_InitiateUploadSequence_Response
);
6336 static const value_string mms_T_loadData_01_vals
[] = {
6342 static const ber_choice_t T_loadData_01_choice
[] = {
6343 { 0, &hf_mms_non_coded
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_mms_OCTET_STRING
},
6344 { 1, &hf_mms_coded
, BER_CLASS_UNI
, 8, BER_FLAGS_NOOWNTAG
, dissect_acse_EXTERNALt
},
6345 { 0, NULL
, 0, 0, 0, NULL
}
6349 dissect_mms_T_loadData_01(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6350 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
6351 T_loadData_01_choice
, hf_index
, ett_mms_T_loadData_01
,
6358 static const ber_sequence_t UploadSegment_Response_sequence
[] = {
6359 { &hf_mms_loadData_01
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG
|BER_FLAGS_NOTCHKTAG
, dissect_mms_T_loadData_01
},
6360 { &hf_mms_moreFollows
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_mms_BOOLEAN
},
6361 { NULL
, 0, 0, 0, NULL
}
6365 dissect_mms_UploadSegment_Response(bool 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_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
6367 UploadSegment_Response_sequence
, hf_index
, ett_mms_UploadSegment_Response
);
6375 dissect_mms_TerminateUploadSequence_Response(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6376 offset
= dissect_ber_null(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
);
6384 dissect_mms_RequestDomainDownload_Response(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6385 offset
= dissect_ber_null(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
);
6393 dissect_mms_RequestDomainUpload_Response(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6394 offset
= dissect_ber_null(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
);
6402 dissect_mms_LoadDomainContent_Response(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6403 offset
= dissect_ber_null(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
);
6411 dissect_mms_StoreDomainContent_Response(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6412 offset
= dissect_ber_null(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
);
6420 dissect_mms_DeleteDomain_Response(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6421 offset
= dissect_ber_null(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
);
6427 static const ber_sequence_t T_listOfCapabilities_05_sequence_of
[1] = {
6428 { &hf_mms_listOfCapabilities_item
, BER_CLASS_UNI
, BER_UNI_TAG_VisibleString
, BER_FLAGS_NOOWNTAG
, dissect_mms_VisibleString
},
6432 dissect_mms_T_listOfCapabilities_05(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6433 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
6434 T_listOfCapabilities_05_sequence_of
, hf_index
, ett_mms_T_listOfCapabilities_05
);
6440 static const value_string mms_DomainState_vals
[] = {
6441 { 0, "non-existent" },
6446 { 5, "incomplete" },
6461 dissect_mms_DomainState(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6462 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
6471 dissect_mms_Integer8(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6472 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
6479 static const ber_sequence_t GetDomainAttributes_Response_sequence
[] = {
6480 { &hf_mms_listOfCapabilities_05
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_mms_T_listOfCapabilities_05
},
6481 { &hf_mms_getDomainAttributes_Response_state
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_mms_DomainState
},
6482 { &hf_mms_mmsDeletable
, BER_CLASS_CON
, 2, BER_FLAGS_IMPLTAG
, dissect_mms_BOOLEAN
},
6483 { &hf_mms_sharable
, BER_CLASS_CON
, 3, BER_FLAGS_IMPLTAG
, dissect_mms_BOOLEAN
},
6484 { &hf_mms_listOfProgramInvocations
, BER_CLASS_CON
, 4, BER_FLAGS_IMPLTAG
, dissect_mms_SEQUENCE_OF_Identifier
},
6485 { &hf_mms_uploadInProgress
, BER_CLASS_CON
, 5, BER_FLAGS_IMPLTAG
, dissect_mms_Integer8
},
6486 { NULL
, 0, 0, 0, NULL
}
6490 dissect_mms_GetDomainAttributes_Response(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6491 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
6492 GetDomainAttributes_Response_sequence
, hf_index
, ett_mms_GetDomainAttributes_Response
);
6500 dissect_mms_CreateProgramInvocation_Response(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6501 offset
= dissect_ber_null(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
);
6509 dissect_mms_DeleteProgramInvocation_Response(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6510 offset
= dissect_ber_null(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
);
6518 dissect_mms_Start_Response(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6519 offset
= dissect_ber_null(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
);
6527 dissect_mms_Stop_Response(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6528 offset
= dissect_ber_null(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
);
6536 dissect_mms_Resume_Response(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6537 offset
= dissect_ber_null(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
);
6545 dissect_mms_Reset_Response(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6546 offset
= dissect_ber_null(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
);
6554 dissect_mms_Kill_Response(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6555 offset
= dissect_ber_null(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
);
6561 static const value_string mms_T_executionArgument_02_vals
[] = {
6562 { 0, "simpleString" },
6563 { 1, "encodedString" },
6567 static const ber_choice_t T_executionArgument_02_choice
[] = {
6568 { 0, &hf_mms_simpleString
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_mms_VisibleString
},
6569 { 1, &hf_mms_encodedString
, BER_CLASS_UNI
, 8, BER_FLAGS_NOOWNTAG
, dissect_acse_EXTERNALt
},
6570 { 0, NULL
, 0, 0, 0, NULL
}
6574 dissect_mms_T_executionArgument_02(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6575 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
6576 T_executionArgument_02_choice
, hf_index
, ett_mms_T_executionArgument_02
,
6583 static const ber_sequence_t GetProgramInvocationAttributes_Response_sequence
[] = {
6584 { &hf_mms_getProgramInvocationAttributes_Response_state
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_mms_ProgramInvocationState
},
6585 { &hf_mms_listOfDomainNames
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_mms_SEQUENCE_OF_Identifier
},
6586 { &hf_mms_mmsDeletable
, BER_CLASS_CON
, 2, BER_FLAGS_IMPLTAG
, dissect_mms_BOOLEAN
},
6587 { &hf_mms_reusable
, BER_CLASS_CON
, 3, BER_FLAGS_IMPLTAG
, dissect_mms_BOOLEAN
},
6588 { &hf_mms_monitor
, BER_CLASS_CON
, 4, BER_FLAGS_IMPLTAG
, dissect_mms_BOOLEAN
},
6589 { &hf_mms_startArgument
, BER_CLASS_CON
, 5, BER_FLAGS_IMPLTAG
, dissect_mms_VisibleString
},
6590 { &hf_mms_executionArgument_02
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOOWNTAG
|BER_FLAGS_NOTCHKTAG
, dissect_mms_T_executionArgument_02
},
6591 { NULL
, 0, 0, 0, NULL
}
6595 dissect_mms_GetProgramInvocationAttributes_Response(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6596 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
6597 GetProgramInvocationAttributes_Response_sequence
, hf_index
, ett_mms_GetProgramInvocationAttributes_Response
);
6605 dissect_mms_ObtainFile_Response(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6606 offset
= dissect_ber_null(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
);
6614 dissect_mms_GeneralizedTime(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6615 offset
= dissect_ber_GeneralizedTime(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
);
6621 static const ber_sequence_t FileAttributes_sequence
[] = {
6622 { &hf_mms_sizeOfFile
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_mms_Unsigned32
},
6623 { &hf_mms_lastModified
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_mms_GeneralizedTime
},
6624 { NULL
, 0, 0, 0, NULL
}
6628 dissect_mms_FileAttributes(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6629 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
6630 FileAttributes_sequence
, hf_index
, ett_mms_FileAttributes
);
6636 static const ber_sequence_t FileOpen_Response_sequence
[] = {
6637 { &hf_mms_frsmID
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_mms_Integer32
},
6638 { &hf_mms_fileAttributes
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_mms_FileAttributes
},
6639 { NULL
, 0, 0, 0, NULL
}
6643 dissect_mms_FileOpen_Response(bool 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_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
6645 FileOpen_Response_sequence
, hf_index
, ett_mms_FileOpen_Response
);
6653 dissect_mms_DefineEventCondition_Response(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6654 offset
= dissect_ber_null(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
);
6662 dissect_mms_DeleteEventCondition_Response(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6663 offset
= dissect_mms_Unsigned32(implicit_tag
, tvb
, offset
, actx
, tree
, hf_index
);
6669 static const value_string mms_T_monitoredVariable_vals
[] = {
6670 { 0, "variableReference" },
6675 static const ber_choice_t T_monitoredVariable_choice
[] = {
6676 { 0, &hf_mms_variableReference
, BER_CLASS_CON
, 0, 0, dissect_mms_VariableSpecification
},
6677 { 1, &hf_mms_undefined
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_mms_NULL
},
6678 { 0, NULL
, 0, 0, 0, NULL
}
6682 dissect_mms_T_monitoredVariable(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6683 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
6684 T_monitoredVariable_choice
, hf_index
, ett_mms_T_monitoredVariable
,
6691 static const ber_sequence_t GetEventConditionAttributes_Response_sequence
[] = {
6692 { &hf_mms_mmsDeletable
, BER_CLASS_CON
, 0, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_mms_BOOLEAN
},
6693 { &hf_mms_class_01
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_mms_EC_Class
},
6694 { &hf_mms_prio_rity
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_mms_Priority
},
6695 { &hf_mms_severity
, BER_CLASS_CON
, 3, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_mms_Unsigned8
},
6696 { &hf_mms_alarmSummaryReports
, BER_CLASS_CON
, 4, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_mms_BOOLEAN
},
6697 { &hf_mms_monitoredVariable_01
, BER_CLASS_CON
, 6, BER_FLAGS_OPTIONAL
, dissect_mms_T_monitoredVariable
},
6698 { &hf_mms_evaluationInterval
, BER_CLASS_CON
, 7, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_mms_Unsigned32
},
6699 { NULL
, 0, 0, 0, NULL
}
6703 dissect_mms_GetEventConditionAttributes_Response(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6704 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
6705 GetEventConditionAttributes_Response_sequence
, hf_index
, ett_mms_GetEventConditionAttributes_Response
);
6711 static const ber_sequence_t ReportEventConditionStatus_Response_sequence
[] = {
6712 { &hf_mms_currentState
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_mms_EC_State
},
6713 { &hf_mms_numberOfEventEnrollments
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_mms_Unsigned32
},
6714 { &hf_mms_enabled
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_mms_BOOLEAN
},
6715 { &hf_mms_timeOfLastTransitionToActive
, BER_CLASS_CON
, 3, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOTCHKTAG
, dissect_mms_EventTime
},
6716 { &hf_mms_timeOfLastTransitionToIdle
, BER_CLASS_CON
, 4, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOTCHKTAG
, dissect_mms_EventTime
},
6717 { NULL
, 0, 0, 0, NULL
}
6721 dissect_mms_ReportEventConditionStatus_Response(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6722 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
6723 ReportEventConditionStatus_Response_sequence
, hf_index
, ett_mms_ReportEventConditionStatus_Response
);
6731 dissect_mms_AlterEventConditionMonitoring_Response(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6732 offset
= dissect_ber_null(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
);
6740 dissect_mms_TriggerEvent_Response(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6741 offset
= dissect_ber_null(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
);
6749 dissect_mms_DefineEventAction_Response(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6750 offset
= dissect_ber_null(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
);
6758 dissect_mms_DeleteEventAction_Response(bool 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_mms_Unsigned32(implicit_tag
, tvb
, offset
, actx
, tree
, hf_index
);
6765 static const ber_sequence_t GetEventActionAttributes_Response_sequence
[] = {
6766 { &hf_mms_mmsDeletable
, BER_CLASS_CON
, 0, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_mms_BOOLEAN
},
6767 { &hf_mms_listOfModifier
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_mms_SEQUENCE_OF_Modifier
},
6768 { NULL
, 0, 0, 0, NULL
}
6772 dissect_mms_GetEventActionAttributes_Response(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6773 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
6774 GetEventActionAttributes_Response_sequence
, hf_index
, ett_mms_GetEventActionAttributes_Response
);
6782 dissect_mms_ReportEventActionStatus_Response(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6783 offset
= dissect_mms_Unsigned32(implicit_tag
, tvb
, offset
, actx
, tree
, hf_index
);
6791 dissect_mms_DefineEventEnrollment_Response(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6792 offset
= dissect_ber_null(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
);
6800 dissect_mms_DeleteEventEnrollment_Response(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6801 offset
= dissect_mms_Unsigned32(implicit_tag
, tvb
, offset
, actx
, tree
, hf_index
);
6807 static const value_string mms_EE_State_vals
[] = {
6811 { 3, "activeNoAckA" },
6812 { 4, "idleNoAckI" },
6813 { 5, "idleNoAckA" },
6815 { 7, "activeAcked" },
6821 dissect_mms_EE_State(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6822 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
6829 static const value_string mms_T_currentState_vals
[] = {
6835 static const ber_choice_t T_currentState_choice
[] = {
6836 { 0, &hf_mms_alterEventEnrollment_Response_currentState_state
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_mms_EE_State
},
6837 { 1, &hf_mms_undefined
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_mms_NULL
},
6838 { 0, NULL
, 0, 0, 0, NULL
}
6842 dissect_mms_T_currentState(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6843 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
6844 T_currentState_choice
, hf_index
, ett_mms_T_currentState
,
6851 static const ber_sequence_t AlterEventEnrollment_Response_sequence
[] = {
6852 { &hf_mms_currentState_02
, BER_CLASS_CON
, 0, 0, dissect_mms_T_currentState
},
6853 { &hf_mms_transitionTime
, BER_CLASS_CON
, 1, BER_FLAGS_NOTCHKTAG
, dissect_mms_EventTime
},
6854 { NULL
, 0, 0, 0, NULL
}
6858 dissect_mms_AlterEventEnrollment_Response(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6859 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
6860 AlterEventEnrollment_Response_sequence
, hf_index
, ett_mms_AlterEventEnrollment_Response
);
6866 static const value_string mms_EE_Duration_vals
[] = {
6874 dissect_mms_EE_Duration(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6875 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
6882 static const ber_sequence_t ReportEventEnrollmentStatus_Response_sequence
[] = {
6883 { &hf_mms_eventConditionTransitions
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_mms_Transitions
},
6884 { &hf_mms_notificationLost
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_mms_BOOLEAN
},
6885 { &hf_mms_duration
, BER_CLASS_CON
, 2, BER_FLAGS_IMPLTAG
, dissect_mms_EE_Duration
},
6886 { &hf_mms_alarmAcknowledgmentRule
, BER_CLASS_CON
, 3, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_mms_AlarmAckRule
},
6887 { &hf_mms_currentState_01
, BER_CLASS_CON
, 4, BER_FLAGS_IMPLTAG
, dissect_mms_EE_State
},
6888 { NULL
, 0, 0, 0, NULL
}
6892 dissect_mms_ReportEventEnrollmentStatus_Response(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6893 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
6894 ReportEventEnrollmentStatus_Response_sequence
, hf_index
, ett_mms_ReportEventEnrollmentStatus_Response
);
6900 static const value_string mms_T_eventConditionName_vals
[] = {
6901 { 0, "eventCondition" },
6906 static const ber_choice_t T_eventConditionName_choice
[] = {
6907 { 0, &hf_mms_eventCondition
, BER_CLASS_CON
, 0, 0, dissect_mms_ObjectName
},
6908 { 1, &hf_mms_undefined
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_mms_NULL
},
6909 { 0, NULL
, 0, 0, 0, NULL
}
6913 dissect_mms_T_eventConditionName(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6914 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
6915 T_eventConditionName_choice
, hf_index
, ett_mms_T_eventConditionName
,
6922 static const value_string mms_T_eventActionName_vals
[] = {
6923 { 0, "eventAction" },
6928 static const ber_choice_t T_eventActionName_choice
[] = {
6929 { 0, &hf_mms_eventAction
, BER_CLASS_CON
, 0, 0, dissect_mms_ObjectName
},
6930 { 1, &hf_mms_undefined
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_mms_NULL
},
6931 { 0, NULL
, 0, 0, 0, NULL
}
6935 dissect_mms_T_eventActionName(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6936 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
6937 T_eventActionName_choice
, hf_index
, ett_mms_T_eventActionName
,
6944 static const value_string mms_EE_Class_vals
[] = {
6946 { 1, "notification" },
6952 dissect_mms_EE_Class(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6953 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
6960 static const ber_sequence_t EventEnrollment_sequence
[] = {
6961 { &hf_mms_eventEnrollmentName
, BER_CLASS_CON
, 0, BER_FLAGS_NOTCHKTAG
, dissect_mms_ObjectName
},
6962 { &hf_mms_eventConditionName_01
, BER_CLASS_CON
, 1, 0, dissect_mms_T_eventConditionName
},
6963 { &hf_mms_eventActionName_01
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
, dissect_mms_T_eventActionName
},
6964 { &hf_mms_clientApplication
, BER_CLASS_CON
, 3, BER_FLAGS_OPTIONAL
, dissect_mms_ApplicationReference
},
6965 { &hf_mms_mmsDeletable
, BER_CLASS_CON
, 4, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_mms_BOOLEAN
},
6966 { &hf_mms_enrollmentClass
, BER_CLASS_CON
, 5, BER_FLAGS_IMPLTAG
, dissect_mms_EE_Class
},
6967 { &hf_mms_duration
, BER_CLASS_CON
, 6, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_mms_EE_Duration
},
6968 { &hf_mms_invokeID
, BER_CLASS_CON
, 7, BER_FLAGS_IMPLTAG
, dissect_mms_Unsigned32
},
6969 { &hf_mms_remainingAcceptableDelay
, BER_CLASS_CON
, 8, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_mms_Unsigned32
},
6970 { NULL
, 0, 0, 0, NULL
}
6974 dissect_mms_EventEnrollment(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6975 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
6976 EventEnrollment_sequence
, hf_index
, ett_mms_EventEnrollment
);
6982 static const ber_sequence_t SEQUENCE_OF_EventEnrollment_sequence_of
[1] = {
6983 { &hf_mms_listOfEventEnrollment_item
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_mms_EventEnrollment
},
6987 dissect_mms_SEQUENCE_OF_EventEnrollment(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
6988 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
6989 SEQUENCE_OF_EventEnrollment_sequence_of
, hf_index
, ett_mms_SEQUENCE_OF_EventEnrollment
);
6995 static const ber_sequence_t GetEventEnrollmentAttributes_Response_sequence
[] = {
6996 { &hf_mms_listOfEventEnrollment
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_mms_SEQUENCE_OF_EventEnrollment
},
6997 { &hf_mms_moreFollows
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_mms_BOOLEAN
},
6998 { NULL
, 0, 0, 0, NULL
}
7002 dissect_mms_GetEventEnrollmentAttributes_Response(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7003 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
7004 GetEventEnrollmentAttributes_Response_sequence
, hf_index
, ett_mms_GetEventEnrollmentAttributes_Response
);
7012 dissect_mms_AcknowledgeEventNotification_Response(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7013 offset
= dissect_ber_null(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
);
7019 static const value_string mms_T_unacknowledgedState_vals
[] = {
7029 dissect_mms_T_unacknowledgedState(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7030 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
7037 static const ber_sequence_t AlarmSummary_sequence
[] = {
7038 { &hf_mms_eventConditionName
, BER_CLASS_CON
, 0, BER_FLAGS_NOTCHKTAG
, dissect_mms_ObjectName
},
7039 { &hf_mms_severity
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_mms_Unsigned8
},
7040 { &hf_mms_currentState
, BER_CLASS_CON
, 2, BER_FLAGS_IMPLTAG
, dissect_mms_EC_State
},
7041 { &hf_mms_unacknowledgedState
, BER_CLASS_CON
, 3, BER_FLAGS_IMPLTAG
, dissect_mms_T_unacknowledgedState
},
7042 { &hf_mms_timeOfLastTransitionToActive
, BER_CLASS_CON
, 5, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOTCHKTAG
, dissect_mms_EventTime
},
7043 { &hf_mms_timeOfLastTransitionToIdle
, BER_CLASS_CON
, 6, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOTCHKTAG
, dissect_mms_EventTime
},
7044 { NULL
, 0, 0, 0, NULL
}
7048 dissect_mms_AlarmSummary(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7049 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
7050 AlarmSummary_sequence
, hf_index
, ett_mms_AlarmSummary
);
7056 static const ber_sequence_t SEQUENCE_OF_AlarmSummary_sequence_of
[1] = {
7057 { &hf_mms_listOfAlarmSummary_item
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_mms_AlarmSummary
},
7061 dissect_mms_SEQUENCE_OF_AlarmSummary(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7062 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
7063 SEQUENCE_OF_AlarmSummary_sequence_of
, hf_index
, ett_mms_SEQUENCE_OF_AlarmSummary
);
7069 static const ber_sequence_t GetAlarmSummary_Response_sequence
[] = {
7070 { &hf_mms_listOfAlarmSummary
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_mms_SEQUENCE_OF_AlarmSummary
},
7071 { &hf_mms_moreFollows
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_mms_BOOLEAN
},
7072 { NULL
, 0, 0, 0, NULL
}
7076 dissect_mms_GetAlarmSummary_Response(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7077 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
7078 GetAlarmSummary_Response_sequence
, hf_index
, ett_mms_GetAlarmSummary_Response
);
7084 static const ber_sequence_t AlarmEnrollmentSummary_sequence
[] = {
7085 { &hf_mms_eventEnrollmentName
, BER_CLASS_CON
, 0, BER_FLAGS_NOTCHKTAG
, dissect_mms_ObjectName
},
7086 { &hf_mms_clientApplication
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
, dissect_mms_ApplicationReference
},
7087 { &hf_mms_severity
, BER_CLASS_CON
, 3, BER_FLAGS_IMPLTAG
, dissect_mms_Unsigned8
},
7088 { &hf_mms_currentState
, BER_CLASS_CON
, 4, BER_FLAGS_IMPLTAG
, dissect_mms_EC_State
},
7089 { &hf_mms_notificationLost
, BER_CLASS_CON
, 6, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_mms_BOOLEAN
},
7090 { &hf_mms_alarmAcknowledgmentRule
, BER_CLASS_CON
, 7, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_mms_AlarmAckRule
},
7091 { &hf_mms_enrollementState
, BER_CLASS_CON
, 8, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_mms_EE_State
},
7092 { &hf_mms_timeOfLastTransitionToActive
, BER_CLASS_CON
, 9, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOTCHKTAG
, dissect_mms_EventTime
},
7093 { &hf_mms_timeActiveAcknowledged
, BER_CLASS_CON
, 10, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOTCHKTAG
, dissect_mms_EventTime
},
7094 { &hf_mms_timeOfLastTransitionToIdle
, BER_CLASS_CON
, 11, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOTCHKTAG
, dissect_mms_EventTime
},
7095 { &hf_mms_timeIdleAcknowledged
, BER_CLASS_CON
, 12, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOTCHKTAG
, dissect_mms_EventTime
},
7096 { NULL
, 0, 0, 0, NULL
}
7100 dissect_mms_AlarmEnrollmentSummary(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7101 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
7102 AlarmEnrollmentSummary_sequence
, hf_index
, ett_mms_AlarmEnrollmentSummary
);
7108 static const ber_sequence_t SEQUENCE_OF_AlarmEnrollmentSummary_sequence_of
[1] = {
7109 { &hf_mms_listOfAlarmEnrollmentSummary_item
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_mms_AlarmEnrollmentSummary
},
7113 dissect_mms_SEQUENCE_OF_AlarmEnrollmentSummary(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7114 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
7115 SEQUENCE_OF_AlarmEnrollmentSummary_sequence_of
, hf_index
, ett_mms_SEQUENCE_OF_AlarmEnrollmentSummary
);
7121 static const ber_sequence_t GetAlarmEnrollmentSummary_Response_sequence
[] = {
7122 { &hf_mms_listOfAlarmEnrollmentSummary
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_mms_SEQUENCE_OF_AlarmEnrollmentSummary
},
7123 { &hf_mms_moreFollows
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_mms_BOOLEAN
},
7124 { NULL
, 0, 0, 0, NULL
}
7128 dissect_mms_GetAlarmEnrollmentSummary_Response(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7129 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
7130 GetAlarmEnrollmentSummary_Response_sequence
, hf_index
, ett_mms_GetAlarmEnrollmentSummary_Response
);
7136 static const ber_sequence_t JournalEntry_sequence
[] = {
7137 { &hf_mms_entryIdentifier
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_mms_OCTET_STRING
},
7138 { &hf_mms_originatingApplication
, BER_CLASS_CON
, 1, 0, dissect_mms_ApplicationReference
},
7139 { &hf_mms_entryContent
, BER_CLASS_CON
, 2, BER_FLAGS_IMPLTAG
, dissect_mms_EntryContent
},
7140 { NULL
, 0, 0, 0, NULL
}
7144 dissect_mms_JournalEntry(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7145 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
7146 JournalEntry_sequence
, hf_index
, ett_mms_JournalEntry
);
7152 static const ber_sequence_t SEQUENCE_OF_JournalEntry_sequence_of
[1] = {
7153 { &hf_mms_listOfJournalEntry_item
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_mms_JournalEntry
},
7157 dissect_mms_SEQUENCE_OF_JournalEntry(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7158 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
7159 SEQUENCE_OF_JournalEntry_sequence_of
, hf_index
, ett_mms_SEQUENCE_OF_JournalEntry
);
7165 static const ber_sequence_t ReadJournal_Response_sequence
[] = {
7166 { &hf_mms_listOfJournalEntry
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_mms_SEQUENCE_OF_JournalEntry
},
7167 { &hf_mms_moreFollows
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_mms_BOOLEAN
},
7168 { NULL
, 0, 0, 0, NULL
}
7172 dissect_mms_ReadJournal_Response(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7173 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
7174 ReadJournal_Response_sequence
, hf_index
, ett_mms_ReadJournal_Response
);
7182 dissect_mms_WriteJournal_Response(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7183 offset
= dissect_ber_null(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
);
7191 dissect_mms_InitializeJournal_Response(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7192 offset
= dissect_mms_Unsigned32(implicit_tag
, tvb
, offset
, actx
, tree
, hf_index
);
7198 static const ber_sequence_t ReportJournalStatus_Response_sequence
[] = {
7199 { &hf_mms_currentEntries
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_mms_Unsigned32
},
7200 { &hf_mms_mmsDeletable
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_mms_BOOLEAN
},
7201 { NULL
, 0, 0, 0, NULL
}
7205 dissect_mms_ReportJournalStatus_Response(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7206 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
7207 ReportJournalStatus_Response_sequence
, hf_index
, ett_mms_ReportJournalStatus_Response
);
7215 dissect_mms_CreateJournal_Response(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7216 offset
= dissect_ber_null(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
);
7224 dissect_mms_DeleteJournal_Response(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7225 offset
= dissect_ber_null(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
);
7231 static const ber_sequence_t T_listOfCapabilities_sequence_of
[1] = {
7232 { &hf_mms_listOfCapabilities_item
, BER_CLASS_UNI
, BER_UNI_TAG_VisibleString
, BER_FLAGS_NOOWNTAG
, dissect_mms_VisibleString
},
7236 dissect_mms_T_listOfCapabilities(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7237 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
7238 T_listOfCapabilities_sequence_of
, hf_index
, ett_mms_T_listOfCapabilities
);
7244 static const ber_sequence_t GetCapabilityList_Response_sequence
[] = {
7245 { &hf_mms_listOfCapabilities
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_mms_T_listOfCapabilities
},
7246 { &hf_mms_moreFollows
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_mms_BOOLEAN
},
7247 { NULL
, 0, 0, 0, NULL
}
7251 dissect_mms_GetCapabilityList_Response(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7252 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
7253 GetCapabilityList_Response_sequence
, hf_index
, ett_mms_GetCapabilityList_Response
);
7259 static const ber_sequence_t FileRead_Response_sequence
[] = {
7260 { &hf_mms_fileData
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_mms_OCTET_STRING
},
7261 { &hf_mms_moreFollows
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_mms_BOOLEAN
},
7262 { NULL
, 0, 0, 0, NULL
}
7266 dissect_mms_FileRead_Response(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7267 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
7268 FileRead_Response_sequence
, hf_index
, ett_mms_FileRead_Response
);
7276 dissect_mms_FileClose_Response(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7277 offset
= dissect_ber_null(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
);
7285 dissect_mms_FileRename_Response(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7286 offset
= dissect_ber_null(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
);
7294 dissect_mms_FileDelete_Response(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7295 offset
= dissect_ber_null(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
);
7301 static const ber_sequence_t DirectoryEntry_sequence
[] = {
7302 { &hf_mms_filename
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_mms_FileName
},
7303 { &hf_mms_fileAttributes
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_mms_FileAttributes
},
7304 { NULL
, 0, 0, 0, NULL
}
7308 dissect_mms_DirectoryEntry(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7309 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
7310 DirectoryEntry_sequence
, hf_index
, ett_mms_DirectoryEntry
);
7316 static const ber_sequence_t SEQUENCE_OF_DirectoryEntry_sequence_of
[1] = {
7317 { &hf_mms_listOfDirectoryEntry_item
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_mms_DirectoryEntry
},
7321 dissect_mms_SEQUENCE_OF_DirectoryEntry(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7322 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
7323 SEQUENCE_OF_DirectoryEntry_sequence_of
, hf_index
, ett_mms_SEQUENCE_OF_DirectoryEntry
);
7329 static const ber_sequence_t FileDirectory_Response_sequence
[] = {
7330 { &hf_mms_listOfDirectoryEntry
, BER_CLASS_CON
, 0, 0, dissect_mms_SEQUENCE_OF_DirectoryEntry
},
7331 { &hf_mms_moreFollows
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_mms_BOOLEAN
},
7332 { NULL
, 0, 0, 0, NULL
}
7336 dissect_mms_FileDirectory_Response(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7337 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
7338 FileDirectory_Response_sequence
, hf_index
, ett_mms_FileDirectory_Response
);
7344 static const value_string mms_ConfirmedServiceResponse_vals
[] = {
7346 { 1, "getNameList" },
7351 { 6, "getVariableAccessAttributes" },
7352 { 7, "defineNamedVariable" },
7353 { 8, "defineScatteredAccess" },
7354 { 9, "getScatteredAccessAttributes" },
7355 { 10, "deleteVariableAccess" },
7356 { 11, "defineNamedVariableList" },
7357 { 12, "getNamedVariableListAttributes" },
7358 { 13, "deleteNamedVariableList" },
7359 { 14, "defineNamedType" },
7360 { 15, "getNamedTypeAttributes" },
7361 { 16, "deleteNamedType" },
7364 { 19, "takeControl" },
7365 { 20, "relinquishControl" },
7366 { 21, "defineSemaphore" },
7367 { 22, "deleteSemaphore" },
7368 { 23, "reportSemaphoreStatus" },
7369 { 24, "reportPoolSemaphoreStatus" },
7370 { 25, "reportSemaphoreEntryStatus" },
7371 { 26, "initiateDownloadSequence" },
7372 { 27, "downloadSegment" },
7373 { 28, "terminateDownloadSequence" },
7374 { 29, "initiateUploadSequence" },
7375 { 30, "uploadSegment" },
7376 { 31, "terminateUploadSequence" },
7377 { 32, "requestDomainDownLoad" },
7378 { 33, "requestDomainUpload" },
7379 { 34, "loadDomainContent" },
7380 { 35, "storeDomainContent" },
7381 { 36, "deleteDomain" },
7382 { 37, "getDomainAttributes" },
7383 { 38, "createProgramInvocation" },
7384 { 39, "deleteProgramInvocation" },
7390 { 45, "getProgramInvocationAttributes" },
7391 { 46, "obtainFile" },
7393 { 47, "defineEventCondition" },
7394 { 48, "deleteEventCondition" },
7395 { 49, "getEventConditionAttributes" },
7396 { 50, "reportEventConditionStatus" },
7397 { 51, "alterEventConditionMonitoring" },
7398 { 52, "triggerEvent" },
7399 { 53, "defineEventAction" },
7400 { 54, "deleteEventAction" },
7401 { 55, "getEventActionAttributes" },
7402 { 56, "reportActionStatus" },
7403 { 57, "defineEventEnrollment" },
7404 { 58, "deleteEventEnrollment" },
7405 { 59, "alterEventEnrollment" },
7406 { 60, "reportEventEnrollmentStatus" },
7407 { 61, "getEventEnrollmentAttributes" },
7408 { 62, "acknowledgeEventNotification" },
7409 { 63, "getAlarmSummary" },
7410 { 64, "getAlarmEnrollmentSummary" },
7411 { 65, "readJournal" },
7412 { 66, "writeJournal" },
7413 { 67, "initializeJournal" },
7414 { 68, "reportJournalStatus" },
7415 { 69, "createJournal" },
7416 { 70, "deleteJournal" },
7417 { 71, "getCapabilityList" },
7419 { 74, "fileClose" },
7420 { 75, "fileRename" },
7421 { 76, "fileDelete" },
7422 { 77, "fileDirectory" },
7426 static const ber_choice_t ConfirmedServiceResponse_choice
[] = {
7427 { 0, &hf_mms_status_01
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_mms_Status_Response
},
7428 { 1, &hf_mms_getNameList_01
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_mms_GetNameList_Response
},
7429 { 2, &hf_mms_identify_01
, BER_CLASS_CON
, 2, BER_FLAGS_IMPLTAG
, dissect_mms_Identify_Response
},
7430 { 3, &hf_mms_rename_01
, BER_CLASS_CON
, 3, BER_FLAGS_IMPLTAG
, dissect_mms_Rename_Response
},
7431 { 4, &hf_mms_read_01
, BER_CLASS_CON
, 4, BER_FLAGS_IMPLTAG
, dissect_mms_Read_Response
},
7432 { 5, &hf_mms_write_01
, BER_CLASS_CON
, 5, BER_FLAGS_IMPLTAG
, dissect_mms_Write_Response
},
7433 { 6, &hf_mms_getVariableAccessAttributes_01
, BER_CLASS_CON
, 6, BER_FLAGS_IMPLTAG
, dissect_mms_GetVariableAccessAttributes_Response
},
7434 { 7, &hf_mms_defineNamedVariable_01
, BER_CLASS_CON
, 7, BER_FLAGS_IMPLTAG
, dissect_mms_DefineNamedVariable_Response
},
7435 { 8, &hf_mms_defineScatteredAccess_01
, BER_CLASS_CON
, 8, BER_FLAGS_IMPLTAG
, dissect_mms_DefineScatteredAccess_Response
},
7436 { 9, &hf_mms_getScatteredAccessAttributes_01
, BER_CLASS_CON
, 9, BER_FLAGS_IMPLTAG
, dissect_mms_GetScatteredAccessAttributes_Response
},
7437 { 10, &hf_mms_deleteVariableAccess_01
, BER_CLASS_CON
, 10, BER_FLAGS_IMPLTAG
, dissect_mms_DeleteVariableAccess_Response
},
7438 { 11, &hf_mms_defineNamedVariableList_01
, BER_CLASS_CON
, 11, BER_FLAGS_IMPLTAG
, dissect_mms_DefineNamedVariableList_Response
},
7439 { 12, &hf_mms_getNamedVariableListAttributes_01
, BER_CLASS_CON
, 12, BER_FLAGS_IMPLTAG
, dissect_mms_GetNamedVariableListAttributes_Response
},
7440 { 13, &hf_mms_deleteNamedVariableList_01
, BER_CLASS_CON
, 13, BER_FLAGS_IMPLTAG
, dissect_mms_DeleteNamedVariableList_Response
},
7441 { 14, &hf_mms_defineNamedType_01
, BER_CLASS_CON
, 14, BER_FLAGS_IMPLTAG
, dissect_mms_DefineNamedType_Response
},
7442 { 15, &hf_mms_getNamedTypeAttributes_01
, BER_CLASS_CON
, 15, BER_FLAGS_IMPLTAG
, dissect_mms_GetNamedTypeAttributes_Response
},
7443 { 16, &hf_mms_deleteNamedType_01
, BER_CLASS_CON
, 16, BER_FLAGS_IMPLTAG
, dissect_mms_DeleteNamedType_Response
},
7444 { 17, &hf_mms_input_01
, BER_CLASS_CON
, 17, BER_FLAGS_IMPLTAG
, dissect_mms_Input_Response
},
7445 { 18, &hf_mms_output_01
, BER_CLASS_CON
, 18, BER_FLAGS_IMPLTAG
, dissect_mms_Output_Response
},
7446 { 19, &hf_mms_takeControl_01
, BER_CLASS_CON
, 19, 0, dissect_mms_TakeControl_Response
},
7447 { 20, &hf_mms_relinquishControl_01
, BER_CLASS_CON
, 20, BER_FLAGS_IMPLTAG
, dissect_mms_RelinquishControl_Response
},
7448 { 21, &hf_mms_defineSemaphore_01
, BER_CLASS_CON
, 21, BER_FLAGS_IMPLTAG
, dissect_mms_DefineSemaphore_Response
},
7449 { 22, &hf_mms_deleteSemaphore_01
, BER_CLASS_CON
, 22, BER_FLAGS_IMPLTAG
, dissect_mms_DeleteSemaphore_Response
},
7450 { 23, &hf_mms_reportSemaphoreStatus_01
, BER_CLASS_CON
, 23, BER_FLAGS_IMPLTAG
, dissect_mms_ReportSemaphoreStatus_Response
},
7451 { 24, &hf_mms_reportPoolSemaphoreStatus_01
, BER_CLASS_CON
, 24, BER_FLAGS_IMPLTAG
, dissect_mms_ReportPoolSemaphoreStatus_Response
},
7452 { 25, &hf_mms_reportSemaphoreEntryStatus_01
, BER_CLASS_CON
, 25, BER_FLAGS_IMPLTAG
, dissect_mms_ReportSemaphoreEntryStatus_Response
},
7453 { 26, &hf_mms_initiateDownloadSequence_01
, BER_CLASS_CON
, 26, BER_FLAGS_IMPLTAG
, dissect_mms_InitiateDownloadSequence_Response
},
7454 { 27, &hf_mms_downloadSegment_01
, BER_CLASS_CON
, 27, BER_FLAGS_IMPLTAG
, dissect_mms_DownloadSegment_Response
},
7455 { 28, &hf_mms_terminateDownloadSequence_01
, BER_CLASS_CON
, 28, BER_FLAGS_IMPLTAG
, dissect_mms_TerminateDownloadSequence_Response
},
7456 { 29, &hf_mms_initiateUploadSequence_01
, BER_CLASS_CON
, 29, BER_FLAGS_IMPLTAG
, dissect_mms_InitiateUploadSequence_Response
},
7457 { 30, &hf_mms_uploadSegment_01
, BER_CLASS_CON
, 30, BER_FLAGS_IMPLTAG
, dissect_mms_UploadSegment_Response
},
7458 { 31, &hf_mms_terminateUploadSequence_01
, BER_CLASS_CON
, 31, BER_FLAGS_IMPLTAG
, dissect_mms_TerminateUploadSequence_Response
},
7459 { 32, &hf_mms_requestDomainDownLoad
, BER_CLASS_CON
, 32, BER_FLAGS_IMPLTAG
, dissect_mms_RequestDomainDownload_Response
},
7460 { 33, &hf_mms_requestDomainUpload_01
, BER_CLASS_CON
, 33, BER_FLAGS_IMPLTAG
, dissect_mms_RequestDomainUpload_Response
},
7461 { 34, &hf_mms_loadDomainContent_01
, BER_CLASS_CON
, 34, BER_FLAGS_IMPLTAG
, dissect_mms_LoadDomainContent_Response
},
7462 { 35, &hf_mms_storeDomainContent_01
, BER_CLASS_CON
, 35, BER_FLAGS_IMPLTAG
, dissect_mms_StoreDomainContent_Response
},
7463 { 36, &hf_mms_deleteDomain_01
, BER_CLASS_CON
, 36, BER_FLAGS_IMPLTAG
, dissect_mms_DeleteDomain_Response
},
7464 { 37, &hf_mms_getDomainAttributes_01
, BER_CLASS_CON
, 37, BER_FLAGS_IMPLTAG
, dissect_mms_GetDomainAttributes_Response
},
7465 { 38, &hf_mms_createProgramInvocation_01
, BER_CLASS_CON
, 38, BER_FLAGS_IMPLTAG
, dissect_mms_CreateProgramInvocation_Response
},
7466 { 39, &hf_mms_deleteProgramInvocation_01
, BER_CLASS_CON
, 39, BER_FLAGS_IMPLTAG
, dissect_mms_DeleteProgramInvocation_Response
},
7467 { 40, &hf_mms_start_01
, BER_CLASS_CON
, 40, BER_FLAGS_IMPLTAG
, dissect_mms_Start_Response
},
7468 { 41, &hf_mms_stop_01
, BER_CLASS_CON
, 41, BER_FLAGS_IMPLTAG
, dissect_mms_Stop_Response
},
7469 { 42, &hf_mms_resume_01
, BER_CLASS_CON
, 42, BER_FLAGS_IMPLTAG
, dissect_mms_Resume_Response
},
7470 { 43, &hf_mms_reset_01
, BER_CLASS_CON
, 43, BER_FLAGS_IMPLTAG
, dissect_mms_Reset_Response
},
7471 { 44, &hf_mms_kill_01
, BER_CLASS_CON
, 44, BER_FLAGS_IMPLTAG
, dissect_mms_Kill_Response
},
7472 { 45, &hf_mms_getProgramInvocationAttributes_01
, BER_CLASS_CON
, 45, BER_FLAGS_IMPLTAG
, dissect_mms_GetProgramInvocationAttributes_Response
},
7473 { 46, &hf_mms_obtainFile_01
, BER_CLASS_CON
, 46, BER_FLAGS_IMPLTAG
, dissect_mms_ObtainFile_Response
},
7474 { 72, &hf_mms_fileOpen_01
, BER_CLASS_CON
, 72, BER_FLAGS_IMPLTAG
, dissect_mms_FileOpen_Response
},
7475 { 47, &hf_mms_defineEventCondition_01
, BER_CLASS_CON
, 47, BER_FLAGS_IMPLTAG
, dissect_mms_DefineEventCondition_Response
},
7476 { 48, &hf_mms_confirmedServiceResponse_deleteEventCondition
, BER_CLASS_CON
, 48, BER_FLAGS_IMPLTAG
, dissect_mms_DeleteEventCondition_Response
},
7477 { 49, &hf_mms_getEventConditionAttributes_01
, BER_CLASS_CON
, 49, BER_FLAGS_IMPLTAG
, dissect_mms_GetEventConditionAttributes_Response
},
7478 { 50, &hf_mms_reportEventConditionStatus_01
, BER_CLASS_CON
, 50, BER_FLAGS_IMPLTAG
, dissect_mms_ReportEventConditionStatus_Response
},
7479 { 51, &hf_mms_alterEventConditionMonitoring_01
, BER_CLASS_CON
, 51, BER_FLAGS_IMPLTAG
, dissect_mms_AlterEventConditionMonitoring_Response
},
7480 { 52, &hf_mms_triggerEvent_01
, BER_CLASS_CON
, 52, BER_FLAGS_IMPLTAG
, dissect_mms_TriggerEvent_Response
},
7481 { 53, &hf_mms_defineEventAction_01
, BER_CLASS_CON
, 53, BER_FLAGS_IMPLTAG
, dissect_mms_DefineEventAction_Response
},
7482 { 54, &hf_mms_confirmedServiceRequest_deleteEventAction_01
, BER_CLASS_CON
, 54, BER_FLAGS_IMPLTAG
, dissect_mms_DeleteEventAction_Response
},
7483 { 55, &hf_mms_getEventActionAttributes_01
, BER_CLASS_CON
, 55, BER_FLAGS_IMPLTAG
, dissect_mms_GetEventActionAttributes_Response
},
7484 { 56, &hf_mms_reportActionStatus
, BER_CLASS_CON
, 56, BER_FLAGS_IMPLTAG
, dissect_mms_ReportEventActionStatus_Response
},
7485 { 57, &hf_mms_defineEventEnrollment_01
, BER_CLASS_CON
, 57, BER_FLAGS_IMPLTAG
, dissect_mms_DefineEventEnrollment_Response
},
7486 { 58, &hf_mms_confirmedServiceResponse_deleteEventEnrollment
, BER_CLASS_CON
, 58, BER_FLAGS_IMPLTAG
, dissect_mms_DeleteEventEnrollment_Response
},
7487 { 59, &hf_mms_alterEventEnrollment_01
, BER_CLASS_CON
, 59, BER_FLAGS_IMPLTAG
, dissect_mms_AlterEventEnrollment_Response
},
7488 { 60, &hf_mms_reportEventEnrollmentStatus_01
, BER_CLASS_CON
, 60, BER_FLAGS_IMPLTAG
, dissect_mms_ReportEventEnrollmentStatus_Response
},
7489 { 61, &hf_mms_getEventEnrollmentAttributes_01
, BER_CLASS_CON
, 61, BER_FLAGS_IMPLTAG
, dissect_mms_GetEventEnrollmentAttributes_Response
},
7490 { 62, &hf_mms_acknowledgeEventNotification_01
, BER_CLASS_CON
, 62, BER_FLAGS_IMPLTAG
, dissect_mms_AcknowledgeEventNotification_Response
},
7491 { 63, &hf_mms_getAlarmSummary_01
, BER_CLASS_CON
, 63, BER_FLAGS_IMPLTAG
, dissect_mms_GetAlarmSummary_Response
},
7492 { 64, &hf_mms_getAlarmEnrollmentSummary_01
, BER_CLASS_CON
, 64, BER_FLAGS_IMPLTAG
, dissect_mms_GetAlarmEnrollmentSummary_Response
},
7493 { 65, &hf_mms_readJournal_01
, BER_CLASS_CON
, 65, BER_FLAGS_IMPLTAG
, dissect_mms_ReadJournal_Response
},
7494 { 66, &hf_mms_writeJournal_01
, BER_CLASS_CON
, 66, BER_FLAGS_IMPLTAG
, dissect_mms_WriteJournal_Response
},
7495 { 67, &hf_mms_initializeJournal_01
, BER_CLASS_CON
, 67, BER_FLAGS_IMPLTAG
, dissect_mms_InitializeJournal_Response
},
7496 { 68, &hf_mms_reportJournalStatus_01
, BER_CLASS_CON
, 68, BER_FLAGS_IMPLTAG
, dissect_mms_ReportJournalStatus_Response
},
7497 { 69, &hf_mms_createJournal_01
, BER_CLASS_CON
, 69, BER_FLAGS_IMPLTAG
, dissect_mms_CreateJournal_Response
},
7498 { 70, &hf_mms_deleteJournal_01
, BER_CLASS_CON
, 70, BER_FLAGS_IMPLTAG
, dissect_mms_DeleteJournal_Response
},
7499 { 71, &hf_mms_getCapabilityList_01
, BER_CLASS_CON
, 71, BER_FLAGS_IMPLTAG
, dissect_mms_GetCapabilityList_Response
},
7500 { 73, &hf_mms_fileRead_01
, BER_CLASS_CON
, 73, BER_FLAGS_IMPLTAG
, dissect_mms_FileRead_Response
},
7501 { 74, &hf_mms_fileClose_01
, BER_CLASS_CON
, 74, BER_FLAGS_IMPLTAG
, dissect_mms_FileClose_Response
},
7502 { 75, &hf_mms_fileRename_01
, BER_CLASS_CON
, 75, BER_FLAGS_IMPLTAG
, dissect_mms_FileRename_Response
},
7503 { 76, &hf_mms_fileDelete_01
, BER_CLASS_CON
, 76, BER_FLAGS_IMPLTAG
, dissect_mms_FileDelete_Response
},
7504 { 77, &hf_mms_fileDirectory_01
, BER_CLASS_CON
, 77, BER_FLAGS_IMPLTAG
, dissect_mms_FileDirectory_Response
},
7505 { 0, NULL
, 0, 0, 0, NULL
}
7509 dissect_mms_ConfirmedServiceResponse(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7514 get_ber_identifier(tvb
, offset
, &ber_class
, &pc
, &tag
);
7515 mms_actx_private_data_t
*mms_priv
= (mms_actx_private_data_t
*)actx
->private_data
;
7517 mms_priv
->confirmedservice_type
= tag
;
7520 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
7521 ConfirmedServiceResponse_choice
, hf_index
, ett_mms_ConfirmedServiceResponse
,
7530 static const ber_sequence_t Confirmed_ResponsePDU_sequence
[] = {
7531 { &hf_mms_invokeID
, BER_CLASS_UNI
, BER_UNI_TAG_INTEGER
, BER_FLAGS_NOOWNTAG
, dissect_mms_Unsigned32
},
7532 { &hf_mms_confirmedServiceResponse
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG
|BER_FLAGS_NOTCHKTAG
, dissect_mms_ConfirmedServiceResponse
},
7533 { &hf_mms_cs_request_detail
, BER_CLASS_CON
, 79, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOTCHKTAG
, dissect_mms_CS_Request_Detail
},
7534 { NULL
, 0, 0, 0, NULL
}
7538 dissect_mms_Confirmed_ResponsePDU(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7540 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
7541 Confirmed_ResponsePDU_sequence
, hf_index
, ett_mms_Confirmed_ResponsePDU
);
7543 mms_actx_private_data_t
*mms_priv
= (mms_actx_private_data_t
*)actx
->private_data
;
7544 if(tree
&& mms_priv
){
7545 mms_priv
->pdu_item
= (proto_item
*)tree
->last_child
;
7553 static const ber_sequence_t Confirmed_ErrorPDU_sequence
[] = {
7554 { &hf_mms_invokeID
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_mms_Unsigned32
},
7555 { &hf_mms_modifierPosition
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_mms_Unsigned32
},
7556 { &hf_mms_serviceError
, BER_CLASS_CON
, 2, BER_FLAGS_IMPLTAG
, dissect_mms_ServiceError
},
7557 { NULL
, 0, 0, 0, NULL
}
7561 dissect_mms_Confirmed_ErrorPDU(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7562 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
7563 Confirmed_ErrorPDU_sequence
, hf_index
, ett_mms_Confirmed_ErrorPDU
);
7569 static const ber_sequence_t T_listOfAccessResult_sequence_of
[1] = {
7570 { &hf_mms_listOfAccessResult_item
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG
|BER_FLAGS_NOTCHKTAG
, dissect_mms_AccessResult
},
7574 dissect_mms_T_listOfAccessResult(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7576 mms_actx_private_data_t
*mms_priv
= (mms_actx_private_data_t
*)actx
->private_data
;
7578 mms_priv
->listOfAccessResult_cnt
= 0;
7581 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
7582 T_listOfAccessResult_sequence_of
, hf_index
, ett_mms_T_listOfAccessResult
);
7590 static const ber_sequence_t InformationReport_sequence
[] = {
7591 { &hf_mms_variableAccessSpecification
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG
|BER_FLAGS_NOTCHKTAG
, dissect_mms_VariableAccessSpecification
},
7592 { &hf_mms_listOfAccessResult_01
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_mms_T_listOfAccessResult
},
7593 { NULL
, 0, 0, 0, NULL
}
7597 dissect_mms_InformationReport(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7598 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
7599 InformationReport_sequence
, hf_index
, ett_mms_InformationReport
);
7607 dissect_mms_UnsolicitedStatus(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7608 offset
= dissect_mms_Status_Response(implicit_tag
, tvb
, offset
, actx
, tree
, hf_index
);
7614 static const value_string mms_T_eventConditionName_01_vals
[] = {
7615 { 0, "eventCondition" },
7620 static const ber_choice_t T_eventConditionName_01_choice
[] = {
7621 { 0, &hf_mms_eventCondition
, BER_CLASS_CON
, 0, 0, dissect_mms_ObjectName
},
7622 { 1, &hf_mms_undefined
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_mms_NULL
},
7623 { 0, NULL
, 0, 0, 0, NULL
}
7627 dissect_mms_T_eventConditionName_01(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7628 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
7629 T_eventConditionName_01_choice
, hf_index
, ett_mms_T_eventConditionName_01
,
7636 static const value_string mms_T_eventActionResult_vals
[] = {
7642 static const ber_choice_t T_eventActionResult_choice
[] = {
7643 { 0, &hf_mms_success_02
, BER_CLASS_CON
, 0, 0, dissect_mms_ConfirmedServiceResponse
},
7644 { 1, &hf_mms_failure_01
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_mms_ServiceError
},
7645 { 0, NULL
, 0, 0, 0, NULL
}
7649 dissect_mms_T_eventActionResult(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7650 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
7651 T_eventActionResult_choice
, hf_index
, ett_mms_T_eventActionResult
,
7658 static const ber_sequence_t T_actionResult_sequence
[] = {
7659 { &hf_mms_eventActioName
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG
|BER_FLAGS_NOTCHKTAG
, dissect_mms_ObjectName
},
7660 { &hf_mms_eventActionResult
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG
|BER_FLAGS_NOTCHKTAG
, dissect_mms_T_eventActionResult
},
7661 { NULL
, 0, 0, 0, NULL
}
7665 dissect_mms_T_actionResult(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7666 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
7667 T_actionResult_sequence
, hf_index
, ett_mms_T_actionResult
);
7673 static const ber_sequence_t EventNotification_sequence
[] = {
7674 { &hf_mms_eventEnrollmentName
, BER_CLASS_CON
, 0, BER_FLAGS_NOTCHKTAG
, dissect_mms_ObjectName
},
7675 { &hf_mms_eventConditionName_02
, BER_CLASS_CON
, 1, 0, dissect_mms_T_eventConditionName_01
},
7676 { &hf_mms_severity
, BER_CLASS_CON
, 2, BER_FLAGS_IMPLTAG
, dissect_mms_Unsigned8
},
7677 { &hf_mms_currentState
, BER_CLASS_CON
, 3, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_mms_EC_State
},
7678 { &hf_mms_transitionTime
, BER_CLASS_CON
, 4, BER_FLAGS_NOTCHKTAG
, dissect_mms_EventTime
},
7679 { &hf_mms_notificationLost
, BER_CLASS_CON
, 6, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_mms_BOOLEAN
},
7680 { &hf_mms_alarmAcknowledgmentRule
, BER_CLASS_CON
, 7, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_mms_AlarmAckRule
},
7681 { &hf_mms_actionResult
, BER_CLASS_CON
, 8, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_mms_T_actionResult
},
7682 { NULL
, 0, 0, 0, NULL
}
7686 dissect_mms_EventNotification(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7687 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
7688 EventNotification_sequence
, hf_index
, ett_mms_EventNotification
);
7694 static const value_string mms_UnconfirmedService_vals
[] = {
7695 { 0, "informationReport" },
7696 { 1, "unsolicitedStatus" },
7697 { 2, "eventNotification" },
7701 static const ber_choice_t UnconfirmedService_choice
[] = {
7702 { 0, &hf_mms_informationReport
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_mms_InformationReport
},
7703 { 1, &hf_mms_unsolicitedStatus
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_mms_UnsolicitedStatus
},
7704 { 2, &hf_mms_eventNotification
, BER_CLASS_CON
, 2, BER_FLAGS_IMPLTAG
, dissect_mms_EventNotification
},
7705 { 0, NULL
, 0, 0, 0, NULL
}
7709 dissect_mms_UnconfirmedService(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7710 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
7711 UnconfirmedService_choice
, hf_index
, ett_mms_UnconfirmedService
,
7718 static const ber_sequence_t Unconfirmed_PDU_sequence
[] = {
7719 { &hf_mms_unconfirmedService
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG
|BER_FLAGS_NOTCHKTAG
, dissect_mms_UnconfirmedService
},
7720 { &hf_mms_cs_request_detail
, BER_CLASS_CON
, 79, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOTCHKTAG
, dissect_mms_CS_Request_Detail
},
7721 { NULL
, 0, 0, 0, NULL
}
7725 dissect_mms_Unconfirmed_PDU(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7726 mms_actx_private_data_t
*mms_priv
= (mms_actx_private_data_t
*)actx
->private_data
;
7727 if (mms_priv
&& !mms_priv
->mms_trans_p
) {
7728 /* create a "fake" mms_trans structure */
7729 mms_priv
->mms_trans_p
=wmem_new0(actx
->pinfo
->pool
, mms_transaction_t
);
7730 mms_priv
->mms_trans_p
->req_time
= actx
->pinfo
->fd
->abs_ts
;
7734 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
7735 Unconfirmed_PDU_sequence
, hf_index
, ett_mms_Unconfirmed_PDU
);
7737 if(tree
&& mms_priv
){
7738 mms_priv
->pdu_item
= (proto_item
*)tree
->last_child
;
7745 static const value_string mms_T_confirmed_requestPDU_vals
[] = {
7747 { 1, "unrecognized-service" },
7748 { 2, "unrecognized-modifier" },
7749 { 3, "invalid-invokeID" },
7750 { 4, "invalid-argument" },
7751 { 5, "invalid-modifier" },
7752 { 6, "max-serv-outstanding-exceeded" },
7753 { 8, "max-recursion-exceeded" },
7754 { 9, "value-out-of-range" },
7760 dissect_mms_T_confirmed_requestPDU(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7761 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
7768 static const value_string mms_T_confirmed_responsePDU_vals
[] = {
7770 { 1, "unrecognized-service" },
7771 { 2, "invalid-invokeID" },
7772 { 3, "invalid-result" },
7773 { 5, "max-recursion-exceeded" },
7774 { 6, "value-out-of-range" },
7780 dissect_mms_T_confirmed_responsePDU(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7781 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
7788 static const value_string mms_T_confirmed_errorPDU_vals
[] = {
7790 { 1, "unrecognized-service" },
7791 { 2, "invalid-invokeID" },
7792 { 3, "invalid-serviceError" },
7793 { 4, "value-out-of-range" },
7799 dissect_mms_T_confirmed_errorPDU(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7800 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
7807 static const value_string mms_T_unconfirmedPDU_vals
[] = {
7809 { 1, "unrecognized-service" },
7810 { 2, "invalid-argument" },
7811 { 3, "max-recursion-exceeded" },
7812 { 4, "value-out-of-range" },
7818 dissect_mms_T_unconfirmedPDU(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7819 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
7826 static const value_string mms_T_pdu_error_vals
[] = {
7827 { 0, "unknown-pdu-type" },
7828 { 1, "invalid-pdu" },
7829 { 2, "illegal-acse-mapping" },
7835 dissect_mms_T_pdu_error(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7836 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
7843 static const value_string mms_T_cancel_requestPDU_vals
[] = {
7845 { 1, "invalid-invokeID" },
7851 dissect_mms_T_cancel_requestPDU(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7852 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
7859 static const value_string mms_T_cancel_responsePDU_vals
[] = {
7861 { 1, "invalid-invokeID" },
7867 dissect_mms_T_cancel_responsePDU(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7868 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
7875 static const value_string mms_T_cancel_errorPDU_vals
[] = {
7877 { 1, "invalid-invokeID" },
7878 { 2, "invalid-serviceError" },
7879 { 3, "value-out-of-range" },
7885 dissect_mms_T_cancel_errorPDU(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7886 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
7893 static const value_string mms_T_conclude_requestPDU_vals
[] = {
7895 { 1, "invalid-argument" },
7901 dissect_mms_T_conclude_requestPDU(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7902 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
7909 static const value_string mms_T_conclude_responsePDU_vals
[] = {
7911 { 1, "invalid-result" },
7917 dissect_mms_T_conclude_responsePDU(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7918 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
7925 static const value_string mms_T_conclude_errorPDU_vals
[] = {
7927 { 1, "invalid-serviceError" },
7928 { 2, "value-out-of-range" },
7934 dissect_mms_T_conclude_errorPDU(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7935 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
7942 static const value_string mms_T_rejectReason_vals
[] = {
7943 { 1, "confirmed-requestPDU" },
7944 { 2, "confirmed-responsePDU" },
7945 { 3, "confirmed-errorPDU" },
7946 { 4, "unconfirmedPDU" },
7948 { 6, "cancel-requestPDU" },
7949 { 7, "cancel-responsePDU" },
7950 { 8, "cancel-errorPDU" },
7951 { 9, "conclude-requestPDU" },
7952 { 10, "conclude-responsePDU" },
7953 { 11, "conclude-errorPDU" },
7957 static const ber_choice_t T_rejectReason_choice
[] = {
7958 { 1, &hf_mms_confirmed_requestPDU
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_mms_T_confirmed_requestPDU
},
7959 { 2, &hf_mms_confirmed_responsePDU
, BER_CLASS_CON
, 2, BER_FLAGS_IMPLTAG
, dissect_mms_T_confirmed_responsePDU
},
7960 { 3, &hf_mms_confirmed_errorPDU
, BER_CLASS_CON
, 3, BER_FLAGS_IMPLTAG
, dissect_mms_T_confirmed_errorPDU
},
7961 { 4, &hf_mms_unconfirmedPDU
, BER_CLASS_CON
, 4, BER_FLAGS_IMPLTAG
, dissect_mms_T_unconfirmedPDU
},
7962 { 5, &hf_mms_pdu_error
, BER_CLASS_CON
, 5, BER_FLAGS_IMPLTAG
, dissect_mms_T_pdu_error
},
7963 { 6, &hf_mms_cancel_requestPDU
, BER_CLASS_CON
, 6, BER_FLAGS_IMPLTAG
, dissect_mms_T_cancel_requestPDU
},
7964 { 7, &hf_mms_cancel_responsePDU
, BER_CLASS_CON
, 7, BER_FLAGS_IMPLTAG
, dissect_mms_T_cancel_responsePDU
},
7965 { 8, &hf_mms_cancel_errorPDU
, BER_CLASS_CON
, 8, BER_FLAGS_IMPLTAG
, dissect_mms_T_cancel_errorPDU
},
7966 { 9, &hf_mms_conclude_requestPDU
, BER_CLASS_CON
, 9, BER_FLAGS_IMPLTAG
, dissect_mms_T_conclude_requestPDU
},
7967 { 10, &hf_mms_conclude_responsePDU
, BER_CLASS_CON
, 10, BER_FLAGS_IMPLTAG
, dissect_mms_T_conclude_responsePDU
},
7968 { 11, &hf_mms_conclude_errorPDU
, BER_CLASS_CON
, 11, BER_FLAGS_IMPLTAG
, dissect_mms_T_conclude_errorPDU
},
7969 { 0, NULL
, 0, 0, 0, NULL
}
7973 dissect_mms_T_rejectReason(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7974 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
7975 T_rejectReason_choice
, hf_index
, ett_mms_T_rejectReason
,
7982 static const ber_sequence_t RejectPDU_sequence
[] = {
7983 { &hf_mms_originalInvokeID
, BER_CLASS_CON
, 0, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_mms_Unsigned32
},
7984 { &hf_mms_rejectReason
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG
|BER_FLAGS_NOTCHKTAG
, dissect_mms_T_rejectReason
},
7985 { NULL
, 0, 0, 0, NULL
}
7989 dissect_mms_RejectPDU(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
7990 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
7991 RejectPDU_sequence
, hf_index
, ett_mms_RejectPDU
);
7999 dissect_mms_Cancel_RequestPDU(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
8000 offset
= dissect_mms_Unsigned32(implicit_tag
, tvb
, offset
, actx
, tree
, hf_index
);
8008 dissect_mms_Cancel_ResponsePDU(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
8009 offset
= dissect_mms_Unsigned32(implicit_tag
, tvb
, offset
, actx
, tree
, hf_index
);
8015 static const ber_sequence_t Cancel_ErrorPDU_sequence
[] = {
8016 { &hf_mms_originalInvokeID
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_mms_Unsigned32
},
8017 { &hf_mms_serviceError
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_mms_ServiceError
},
8018 { NULL
, 0, 0, 0, NULL
}
8022 dissect_mms_Cancel_ErrorPDU(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
8023 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
8024 Cancel_ErrorPDU_sequence
, hf_index
, ett_mms_Cancel_ErrorPDU
);
8032 dissect_mms_Integer16(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
8033 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
8040 static int * const ParameterSupportOptions_bits
[] = {
8041 &hf_mms_ParameterSupportOptions_str1
,
8042 &hf_mms_ParameterSupportOptions_str2
,
8043 &hf_mms_ParameterSupportOptions_vnam
,
8044 &hf_mms_ParameterSupportOptions_valt
,
8045 &hf_mms_ParameterSupportOptions_vadr
,
8046 &hf_mms_ParameterSupportOptions_vsca
,
8047 &hf_mms_ParameterSupportOptions_tpy
,
8048 &hf_mms_ParameterSupportOptions_vlis
,
8049 &hf_mms_ParameterSupportOptions_real
,
8050 &hf_mms_ParameterSupportOptions_spare_bit9
,
8051 &hf_mms_ParameterSupportOptions_cei
,
8056 dissect_mms_ParameterSupportOptions(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
8057 offset
= dissect_ber_bitstring(implicit_tag
, actx
, tree
, tvb
, offset
,
8058 ParameterSupportOptions_bits
, 11, hf_index
, ett_mms_ParameterSupportOptions
,
8065 static int * const ServiceSupportOptions_bits
[] = {
8066 &hf_mms_ServiceSupportOptions_status
,
8067 &hf_mms_ServiceSupportOptions_getNameList
,
8068 &hf_mms_ServiceSupportOptions_identify
,
8069 &hf_mms_ServiceSupportOptions_rename
,
8070 &hf_mms_ServiceSupportOptions_read
,
8071 &hf_mms_ServiceSupportOptions_write
,
8072 &hf_mms_ServiceSupportOptions_getVariableAccessAttributes
,
8073 &hf_mms_ServiceSupportOptions_defineNamedVariable
,
8074 &hf_mms_ServiceSupportOptions_defineScatteredAccess
,
8075 &hf_mms_ServiceSupportOptions_getScatteredAccessAttributes
,
8076 &hf_mms_ServiceSupportOptions_deleteVariableAccess
,
8077 &hf_mms_ServiceSupportOptions_defineNamedVariableList
,
8078 &hf_mms_ServiceSupportOptions_getNamedVariableListAttributes
,
8079 &hf_mms_ServiceSupportOptions_deleteNamedVariableList
,
8080 &hf_mms_ServiceSupportOptions_defineNamedType
,
8081 &hf_mms_ServiceSupportOptions_getNamedTypeAttributes
,
8082 &hf_mms_ServiceSupportOptions_deleteNamedType
,
8083 &hf_mms_ServiceSupportOptions_input
,
8084 &hf_mms_ServiceSupportOptions_output
,
8085 &hf_mms_ServiceSupportOptions_takeControl
,
8086 &hf_mms_ServiceSupportOptions_relinquishControl
,
8087 &hf_mms_ServiceSupportOptions_defineSemaphore
,
8088 &hf_mms_ServiceSupportOptions_deleteSemaphore
,
8089 &hf_mms_ServiceSupportOptions_reportSemaphoreStatus
,
8090 &hf_mms_ServiceSupportOptions_reportPoolSemaphoreStatus
,
8091 &hf_mms_ServiceSupportOptions_reportSemaphoreEntryStatus
,
8092 &hf_mms_ServiceSupportOptions_initiateDownloadSequence
,
8093 &hf_mms_ServiceSupportOptions_downloadSegment
,
8094 &hf_mms_ServiceSupportOptions_terminateDownloadSequence
,
8095 &hf_mms_ServiceSupportOptions_initiateUploadSequence
,
8096 &hf_mms_ServiceSupportOptions_uploadSegment
,
8097 &hf_mms_ServiceSupportOptions_terminateUploadSequence
,
8098 &hf_mms_ServiceSupportOptions_requestDomainDownload
,
8099 &hf_mms_ServiceSupportOptions_requestDomainUpload
,
8100 &hf_mms_ServiceSupportOptions_loadDomainContent
,
8101 &hf_mms_ServiceSupportOptions_storeDomainContent
,
8102 &hf_mms_ServiceSupportOptions_deleteDomain
,
8103 &hf_mms_ServiceSupportOptions_getDomainAttributes
,
8104 &hf_mms_ServiceSupportOptions_createProgramInvocation
,
8105 &hf_mms_ServiceSupportOptions_deleteProgramInvocation
,
8106 &hf_mms_ServiceSupportOptions_start
,
8107 &hf_mms_ServiceSupportOptions_stop
,
8108 &hf_mms_ServiceSupportOptions_resume
,
8109 &hf_mms_ServiceSupportOptions_reset
,
8110 &hf_mms_ServiceSupportOptions_kill
,
8111 &hf_mms_ServiceSupportOptions_getProgramInvocationAttributes
,
8112 &hf_mms_ServiceSupportOptions_obtainFile
,
8113 &hf_mms_ServiceSupportOptions_defineEventCondition
,
8114 &hf_mms_ServiceSupportOptions_deleteEventCondition
,
8115 &hf_mms_ServiceSupportOptions_getEventConditionAttributes
,
8116 &hf_mms_ServiceSupportOptions_reportEventConditionStatus
,
8117 &hf_mms_ServiceSupportOptions_alterEventConditionMonitoring
,
8118 &hf_mms_ServiceSupportOptions_triggerEvent
,
8119 &hf_mms_ServiceSupportOptions_defineEventAction
,
8120 &hf_mms_ServiceSupportOptions_deleteEventAction
,
8121 &hf_mms_ServiceSupportOptions_getEventActionAttributes
,
8122 &hf_mms_ServiceSupportOptions_reportActionStatus
,
8123 &hf_mms_ServiceSupportOptions_defineEventEnrollment
,
8124 &hf_mms_ServiceSupportOptions_deleteEventEnrollment
,
8125 &hf_mms_ServiceSupportOptions_alterEventEnrollment
,
8126 &hf_mms_ServiceSupportOptions_reportEventEnrollmentStatus
,
8127 &hf_mms_ServiceSupportOptions_getEventEnrollmentAttributes
,
8128 &hf_mms_ServiceSupportOptions_acknowledgeEventNotification
,
8129 &hf_mms_ServiceSupportOptions_getAlarmSummary
,
8130 &hf_mms_ServiceSupportOptions_getAlarmEnrollmentSummary
,
8131 &hf_mms_ServiceSupportOptions_readJournal
,
8132 &hf_mms_ServiceSupportOptions_writeJournal
,
8133 &hf_mms_ServiceSupportOptions_initializeJournal
,
8134 &hf_mms_ServiceSupportOptions_reportJournalStatus
,
8135 &hf_mms_ServiceSupportOptions_createJournal
,
8136 &hf_mms_ServiceSupportOptions_deleteJournal
,
8137 &hf_mms_ServiceSupportOptions_getCapabilityList
,
8138 &hf_mms_ServiceSupportOptions_fileOpen
,
8139 &hf_mms_ServiceSupportOptions_fileRead
,
8140 &hf_mms_ServiceSupportOptions_fileClose
,
8141 &hf_mms_ServiceSupportOptions_fileRename
,
8142 &hf_mms_ServiceSupportOptions_fileDelete
,
8143 &hf_mms_ServiceSupportOptions_fileDirectory
,
8144 &hf_mms_ServiceSupportOptions_unsolicitedStatus
,
8145 &hf_mms_ServiceSupportOptions_informationReport
,
8146 &hf_mms_ServiceSupportOptions_eventNotification
,
8147 &hf_mms_ServiceSupportOptions_attachToEventCondition
,
8148 &hf_mms_ServiceSupportOptions_attachToSemaphore
,
8149 &hf_mms_ServiceSupportOptions_conclude
,
8150 &hf_mms_ServiceSupportOptions_cancel
,
8155 dissect_mms_ServiceSupportOptions(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
8156 offset
= dissect_ber_bitstring(implicit_tag
, actx
, tree
, tvb
, offset
,
8157 ServiceSupportOptions_bits
, 85, hf_index
, ett_mms_ServiceSupportOptions
,
8164 static const ber_sequence_t InitRequestDetail_sequence
[] = {
8165 { &hf_mms_proposedVersionNumber
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_mms_Integer16
},
8166 { &hf_mms_proposedParameterCBB
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_mms_ParameterSupportOptions
},
8167 { &hf_mms_servicesSupportedCalling
, BER_CLASS_CON
, 2, BER_FLAGS_IMPLTAG
, dissect_mms_ServiceSupportOptions
},
8168 { NULL
, 0, 0, 0, NULL
}
8172 dissect_mms_InitRequestDetail(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
8173 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
8174 InitRequestDetail_sequence
, hf_index
, ett_mms_InitRequestDetail
);
8180 static const ber_sequence_t Initiate_RequestPDU_sequence
[] = {
8181 { &hf_mms_localDetailCalling
, BER_CLASS_CON
, 0, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_mms_Integer32
},
8182 { &hf_mms_proposedMaxServOutstandingCalling
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_mms_Integer16
},
8183 { &hf_mms_proposedMaxServOutstandingCalled
, BER_CLASS_CON
, 2, BER_FLAGS_IMPLTAG
, dissect_mms_Integer16
},
8184 { &hf_mms_proposedDataStructureNestingLevel
, BER_CLASS_CON
, 3, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_mms_Integer8
},
8185 { &hf_mms_mmsInitRequestDetail
, BER_CLASS_CON
, 4, BER_FLAGS_IMPLTAG
, dissect_mms_InitRequestDetail
},
8186 { NULL
, 0, 0, 0, NULL
}
8190 dissect_mms_Initiate_RequestPDU(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
8192 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
8193 Initiate_RequestPDU_sequence
, hf_index
, ett_mms_Initiate_RequestPDU
);
8195 mms_actx_private_data_t
*mms_priv
= (mms_actx_private_data_t
*)actx
->private_data
;
8196 if(tree
&& mms_priv
){
8197 mms_priv
->pdu_item
= (proto_item
*)tree
->last_child
;
8206 static const ber_sequence_t InitResponseDetail_sequence
[] = {
8207 { &hf_mms_negociatedVersionNumber
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_mms_Integer16
},
8208 { &hf_mms_negociatedParameterCBB
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_mms_ParameterSupportOptions
},
8209 { &hf_mms_servicesSupportedCalled
, BER_CLASS_CON
, 2, BER_FLAGS_IMPLTAG
, dissect_mms_ServiceSupportOptions
},
8210 { NULL
, 0, 0, 0, NULL
}
8214 dissect_mms_InitResponseDetail(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
8215 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
8216 InitResponseDetail_sequence
, hf_index
, ett_mms_InitResponseDetail
);
8222 static const ber_sequence_t Initiate_ResponsePDU_sequence
[] = {
8223 { &hf_mms_localDetailCalled
, BER_CLASS_CON
, 0, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_mms_Integer32
},
8224 { &hf_mms_negociatedMaxServOutstandingCalling
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_mms_Integer16
},
8225 { &hf_mms_negociatedMaxServOutstandingCalled
, BER_CLASS_CON
, 2, BER_FLAGS_IMPLTAG
, dissect_mms_Integer16
},
8226 { &hf_mms_negociatedDataStructureNestingLevel
, BER_CLASS_CON
, 3, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_mms_Integer8
},
8227 { &hf_mms_mmsInitResponseDetail
, BER_CLASS_CON
, 4, BER_FLAGS_IMPLTAG
, dissect_mms_InitResponseDetail
},
8228 { NULL
, 0, 0, 0, NULL
}
8232 dissect_mms_Initiate_ResponsePDU(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
8234 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
8235 Initiate_ResponsePDU_sequence
, hf_index
, ett_mms_Initiate_ResponsePDU
);
8237 mms_actx_private_data_t
*mms_priv
= (mms_actx_private_data_t
*)actx
->private_data
;
8238 if(tree
&& mms_priv
){
8239 mms_priv
->pdu_item
= (proto_item
*)tree
->last_child
;
8248 dissect_mms_Initiate_ErrorPDU(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
8249 offset
= dissect_mms_ServiceError(implicit_tag
, tvb
, offset
, actx
, tree
, hf_index
);
8257 dissect_mms_Conclude_RequestPDU(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
8258 offset
= dissect_ber_null(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
);
8266 dissect_mms_Conclude_ResponsePDU(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
8267 offset
= dissect_ber_null(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
);
8275 dissect_mms_Conclude_ErrorPDU(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
8276 offset
= dissect_mms_ServiceError(implicit_tag
, tvb
, offset
, actx
, tree
, hf_index
);
8282 const value_string mms_MMSpdu_vals
[] = {
8283 { 0, "confirmed-RequestPDU" },
8284 { 1, "confirmed-ResponsePDU" },
8285 { 2, "confirmed-ErrorPDU" },
8286 { 3, "unconfirmed-PDU" },
8288 { 5, "cancel-RequestPDU" },
8289 { 6, "cancel-ResponsePDU" },
8290 { 7, "cancel-ErrorPDU" },
8291 { 8, "initiate-RequestPDU" },
8292 { 9, "initiate-ResponsePDU" },
8293 { 10, "initiate-ErrorPDU" },
8294 { 11, "conclude-RequestPDU" },
8295 { 12, "conclude-ResponsePDU" },
8296 { 13, "conclude-ErrorPDU" },
8300 static const ber_choice_t MMSpdu_choice
[] = {
8301 { 0, &hf_mms_confirmed_RequestPDU
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_mms_Confirmed_RequestPDU
},
8302 { 1, &hf_mms_confirmed_ResponsePDU
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_mms_Confirmed_ResponsePDU
},
8303 { 2, &hf_mms_confirmed_ErrorPDU
, BER_CLASS_CON
, 2, BER_FLAGS_IMPLTAG
, dissect_mms_Confirmed_ErrorPDU
},
8304 { 3, &hf_mms_unconfirmed_PDU
, BER_CLASS_CON
, 3, BER_FLAGS_IMPLTAG
, dissect_mms_Unconfirmed_PDU
},
8305 { 4, &hf_mms_rejectPDU
, BER_CLASS_CON
, 4, BER_FLAGS_IMPLTAG
, dissect_mms_RejectPDU
},
8306 { 5, &hf_mms_cancel_RequestPDU
, BER_CLASS_CON
, 5, BER_FLAGS_IMPLTAG
, dissect_mms_Cancel_RequestPDU
},
8307 { 6, &hf_mms_cancel_ResponsePDU
, BER_CLASS_CON
, 6, BER_FLAGS_IMPLTAG
, dissect_mms_Cancel_ResponsePDU
},
8308 { 7, &hf_mms_cancel_ErrorPDU
, BER_CLASS_CON
, 7, BER_FLAGS_IMPLTAG
, dissect_mms_Cancel_ErrorPDU
},
8309 { 8, &hf_mms_initiate_RequestPDU
, BER_CLASS_CON
, 8, BER_FLAGS_IMPLTAG
, dissect_mms_Initiate_RequestPDU
},
8310 { 9, &hf_mms_initiate_ResponsePDU
, BER_CLASS_CON
, 9, BER_FLAGS_IMPLTAG
, dissect_mms_Initiate_ResponsePDU
},
8311 { 10, &hf_mms_initiate_ErrorPDU
, BER_CLASS_CON
, 10, BER_FLAGS_IMPLTAG
, dissect_mms_Initiate_ErrorPDU
},
8312 { 11, &hf_mms_conclude_RequestPDU
, BER_CLASS_CON
, 11, BER_FLAGS_IMPLTAG
, dissect_mms_Conclude_RequestPDU
},
8313 { 12, &hf_mms_conclude_ResponsePDU
, BER_CLASS_CON
, 12, BER_FLAGS_IMPLTAG
, dissect_mms_Conclude_ResponsePDU
},
8314 { 13, &hf_mms_conclude_ErrorPDU
, BER_CLASS_CON
, 13, BER_FLAGS_IMPLTAG
, dissect_mms_Conclude_ErrorPDU
},
8315 { 0, NULL
, 0, 0, 0, NULL
}
8319 dissect_mms_MMSpdu(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
8325 get_ber_identifier(tvb
, offset
, &ber_class
, &pc
, &tag
);
8326 mms_actx_private_data_t
*mms_priv
= (mms_actx_private_data_t
*)actx
->private_data
;
8328 mms_priv
->mms_pdu_type
= tag
;
8332 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
8333 MMSpdu_choice
, hf_index
, ett_mms_MMSpdu
,
8337 if( (branch_taken
!=-1) && mms_MMSpdu_vals
[branch_taken
].strptr
){
8339 switch(mms_priv
->mms_pdu_type
){
8340 case MMS_UNCONFIRMED_PDU
:
8341 if(mms_priv
->vmd_specific
==IEC61850_8_1_RPT
){
8342 col_append_str(actx
->pinfo
->cinfo
, COL_INFO
, "Unconfirmed <RPT>");
8343 proto_item_append_text(mms_priv
->pdu_item
, " [RPT]");
8344 }else if((mms_priv
->mms_trans_p
)&&(mms_priv
->mms_trans_p
->itemid
==IEC61850_ITEM_ID_OPER
)){
8345 col_append_str(actx
->pinfo
->cinfo
, COL_INFO
, "Unconfirmed-CommandTermination");
8346 proto_item_append_text(mms_priv
->pdu_item
, " [Unconfirmed-CommandTermination]");
8349 case MMS_INITIATE_REQUEST_PDU
:
8350 col_append_str(actx
->pinfo
->cinfo
, COL_INFO
, "Associate Request");
8351 proto_item_append_text(mms_priv
->pdu_item
, " [Associate Request]");
8353 case MMS_INITIATE_RESPONSE_PDU
:
8354 col_append_str(actx
->pinfo
->cinfo
, COL_INFO
, "Associate Response");
8355 proto_item_append_text(mms_priv
->pdu_item
, " [Associate Response]");
8357 case MMS_CONFIRMED_REQUEST_PDU
:
8358 if(mms_priv
->mms_trans_p
){
8359 if(mms_priv
->mms_trans_p
->conf_serv_pdu_type_req
== MMS_IEC_61850_CONF_SERV_PDU_GET_SERV_DIR
){
8360 col_append_str(actx
->pinfo
->cinfo
, COL_INFO
, "GetServerDirectoryRequest");
8361 proto_item_append_text(mms_priv
->pdu_item
, " [GetServerDirectoryRequest]");
8362 }else if(mms_priv
->mms_trans_p
->conf_serv_pdu_type_req
== MMS_IEC_61850_CONF_SERV_PDU_GETLOGICALDEVICEDIRECTORY
){
8363 col_append_fstr(actx
->pinfo
->cinfo
, COL_INFO
, "GetLogicalDeviceDirectoryRequest %s", mms_priv
->itemid_str
);
8364 proto_item_append_text(mms_priv
->pdu_item
, " [GetLogicalDeviceDirectoryRequest ]");
8365 }else if(mms_priv
->mms_trans_p
->conf_serv_pdu_type_req
== MMS_IEC_61850_CONF_SERV_PDU_GETDATASETDIRECTORY
){
8366 col_append_fstr(actx
->pinfo
->cinfo
, COL_INFO
, "GetDataSetDirectoryRequest %s", mms_priv
->itemid_str
);
8367 proto_item_append_text(mms_priv
->pdu_item
, " [GetDataSetDirectoryRequest]");
8368 }else if(mms_priv
->mms_trans_p
->conf_serv_pdu_type_req
== MMS_IEC_61850_CONF_SERV_PDU_GETDATADIRECTORY
){
8369 col_append_fstr(actx
->pinfo
->cinfo
, COL_INFO
, "GetDataDirectoryRequest%s", private_data_get_moreCinfo(actx
));
8370 proto_item_append_text(mms_priv
->pdu_item
, " [GetDataDirectoryRequest]");
8371 } else if (mms_priv
->mms_trans_p
->conf_serv_pdu_type_req
== MMS_IEC_61850_CONF_SERV_PDU_READ
){
8372 if(mms_priv
->mms_trans_p
->itemid
== IEC61850_ITEM_ID_$BR$_OR_$RP$
){
8373 col_append_fstr(actx
->pinfo
->cinfo
, COL_INFO
, "GetRCBValuesRequest %s", private_data_get_moreCinfo(actx
));
8374 proto_item_append_text(mms_priv
->pdu_item
, " [GetRCBValuesRequest]");
8376 col_append_fstr(actx
->pinfo
->cinfo
, COL_INFO
, "GetDataValueRequest %s", private_data_get_moreCinfo(actx
));
8377 proto_item_append_text(mms_priv
->pdu_item
, " [GetDataValueRequest]");
8379 } else if (mms_priv
->mms_trans_p
->conf_serv_pdu_type_req
== MMS_IEC_61850_CONF_SERV_PDU_WRITE
){
8380 if(mms_priv
->mms_trans_p
->itemid
== IEC61850_ITEM_ID_$BR$_OR_$RP$
){
8381 col_append_fstr(actx
->pinfo
->cinfo
, COL_INFO
, "SetRCBValuesRequest %s", private_data_get_moreCinfo(actx
));
8382 proto_item_append_text(mms_priv
->pdu_item
, " [SetRCBValuesRequest]");
8384 col_append_fstr(actx
->pinfo
->cinfo
, COL_INFO
, "SetDataValueRequest %s", private_data_get_moreCinfo(actx
));
8385 proto_item_append_text(mms_priv
->pdu_item
, " [SetDataValueRequest]");
8387 }else if(mms_priv
->mms_trans_p
->conf_serv_pdu_type_req
== MMS_IEC_61850_CONF_SERV_PDU_SELECTWITHVALUE
){
8388 col_append_fstr(actx
->pinfo
->cinfo
, COL_INFO
, "SelectWithValueRequest %s", private_data_get_moreCinfo(actx
));
8389 proto_item_append_text(mms_priv
->pdu_item
, " [SelectWithValueRequest]");
8391 }else if (mms_has_private_data(actx
)){
8392 col_append_fstr(actx
->pinfo
->cinfo
, COL_INFO
, "%s%s%s",
8393 private_data_get_preCinfo(actx
), mms_MMSpdu_vals
[branch_taken
].strptr
, private_data_get_moreCinfo(actx
));
8396 case MMS_CONFIRMED_RESPONSE_PDU
:
8397 if(mms_priv
->mms_trans_p
){
8398 if(mms_priv
->mms_trans_p
->conf_serv_pdu_type_req
== MMS_IEC_61850_CONF_SERV_PDU_GET_SERV_DIR
){
8399 col_append_fstr(actx
->pinfo
->cinfo
, COL_INFO
, "GetServerDirectoryResponse %s", mms_priv
->itemid_str
);
8400 proto_item_append_text(mms_priv
->pdu_item
, " [GetServerDirectoryResponse ]");
8401 }else if(mms_priv
->mms_trans_p
->conf_serv_pdu_type_req
== MMS_IEC_61850_CONF_SERV_PDU_GETLOGICALDEVICEDIRECTORY
){
8402 col_append_fstr(actx
->pinfo
->cinfo
, COL_INFO
, "GetLogicalDeviceDirectoryResponse%s", private_data_get_moreCinfo(actx
));
8403 proto_item_append_text(mms_priv
->pdu_item
, " [GetLogicalDeviceDirectoryResponse ]");
8404 }else if(mms_priv
->mms_trans_p
->conf_serv_pdu_type_req
== MMS_IEC_61850_CONF_SERV_PDU_GETDATASETDIRECTORY
){
8405 col_append_fstr(actx
->pinfo
->cinfo
, COL_INFO
, "GetDataSetDirectoryResponse%s", private_data_get_moreCinfo(actx
));
8406 proto_item_append_text(mms_priv
->pdu_item
, " [GetDataSetDirectoryResponse ]");
8407 }else if(mms_priv
->mms_trans_p
->conf_serv_pdu_type_req
== MMS_IEC_61850_CONF_SERV_PDU_GETDATADIRECTORY
){
8408 col_append_fstr(actx
->pinfo
->cinfo
, COL_INFO
, "GetDataDirectoryResponse%s", private_data_get_moreCinfo(actx
));
8409 proto_item_append_text(mms_priv
->pdu_item
, " [GetDataDirectoryResponse ]");
8410 }else if (mms_priv
->mms_trans_p
->conf_serv_pdu_type_req
== MMS_IEC_61850_CONF_SERV_PDU_READ
){
8411 if(mms_priv
->mms_trans_p
->itemid
== IEC61850_ITEM_ID_$BR$_OR_$RP$
){
8412 col_append_str(actx
->pinfo
->cinfo
, COL_INFO
, "GetRCBValuesResponse");
8413 proto_item_append_text(mms_priv
->pdu_item
, " [GetRCBValuesResponse]");
8415 col_append_str(actx
->pinfo
->cinfo
, COL_INFO
, "GetDataValueResponse");
8416 proto_item_append_text(mms_priv
->pdu_item
, " [GetDataValueResponse ]");
8418 if(mms_priv
->success
== 1){
8419 col_append_str(actx
->pinfo
->cinfo
, COL_INFO
, " success");
8421 col_append_str(actx
->pinfo
->cinfo
, COL_INFO
, " failure");
8423 } else if (mms_priv
->mms_trans_p
->conf_serv_pdu_type_req
== MMS_IEC_61850_CONF_SERV_PDU_WRITE
){
8424 if(mms_priv
->mms_trans_p
->itemid
== IEC61850_ITEM_ID_$BR$_OR_$RP$
){
8425 col_append_fstr(actx
->pinfo
->cinfo
, COL_INFO
, "SetRCBValuesResponse %s", private_data_get_moreCinfo(actx
));
8426 proto_item_append_text(mms_priv
->pdu_item
, " [SetRCBValuesResponse]");
8428 col_append_fstr(actx
->pinfo
->cinfo
, COL_INFO
, "SetDataValueResponse %s", private_data_get_moreCinfo(actx
));
8429 proto_item_append_text(mms_priv
->pdu_item
, " [SetDataValueResponse]");
8431 }else if(mms_priv
->mms_trans_p
->conf_serv_pdu_type_req
== MMS_IEC_61850_CONF_SERV_PDU_SELECTWITHVALUE
){
8432 col_append_fstr(actx
->pinfo
->cinfo
, COL_INFO
, "SelectWithValueResponse %s", private_data_get_moreCinfo(actx
));
8433 proto_item_append_text(mms_priv
->pdu_item
, " [SelectWithValueResponse]");
8435 }else if(mms_has_private_data(actx
)){
8436 col_append_fstr(actx
->pinfo
->cinfo
, COL_INFO
, "%s%s%s",
8437 private_data_get_preCinfo(actx
), mms_MMSpdu_vals
[branch_taken
].strptr
, private_data_get_moreCinfo(actx
));
8441 col_append_fstr(actx
->pinfo
->cinfo
, COL_INFO
, "%s%s%s",
8442 private_data_get_preCinfo(actx
), mms_MMSpdu_vals
[branch_taken
].strptr
, private_data_get_moreCinfo(actx
));
8445 }else if (mms_has_private_data(actx
)){
8446 col_append_fstr(actx
->pinfo
->cinfo
, COL_INFO
, "%s%s%s",
8447 private_data_get_preCinfo(actx
), mms_MMSpdu_vals
[branch_taken
].strptr
, private_data_get_moreCinfo(actx
));
8449 col_append_str(actx
->pinfo
->cinfo
, COL_INFO
,
8450 mms_MMSpdu_vals
[branch_taken
].strptr
);
8460 * Dissect MMS PDUs inside a PPDU.
8463 dissect_mms(tvbuff_t
* tvb
, packet_info
* pinfo
, proto_tree
* parent_tree
, void* data _U_
)
8467 proto_item
* item
= NULL
;
8468 proto_tree
* tree
= NULL
;
8469 asn1_ctx_t asn1_ctx
;
8470 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
8473 item
= proto_tree_add_item(parent_tree
, proto_mms
, tvb
, 0, -1, ENC_NA
);
8474 tree
= proto_item_add_subtree(item
, ett_mms
);
8475 asn1_ctx
.subtree
.top_tree
= parent_tree
;
8477 if (use_iec61850_mapping
) {
8478 col_set_str(pinfo
->cinfo
, COL_PROTOCOL
, "MMS/IEC61850");
8481 col_set_str(pinfo
->cinfo
, COL_PROTOCOL
, "MMS");
8483 col_clear(pinfo
->cinfo
, COL_INFO
);
8485 while (tvb_reported_length_remaining(tvb
, offset
) > 0) {
8486 old_offset
= offset
;
8487 if (use_iec61850_mapping
) {
8488 asn1_ctx
.private_data
= (void*)wmem_new0(pinfo
->pool
, mms_actx_private_data_t
);
8490 offset
= dissect_mms_MMSpdu(false, tvb
, offset
, &asn1_ctx
, tree
, -1);
8491 if (asn1_ctx
.private_data
) {
8492 wmem_free(pinfo
->pool
, asn1_ctx
.private_data
);
8494 if (offset
== old_offset
) {
8495 proto_tree_add_expert(tree
, pinfo
, &ei_mms_zero_pdu
, tvb
, offset
, -1);
8499 return tvb_captured_length(tvb
);
8503 /*--- proto_register_mms -------------------------------------------*/
8504 void proto_register_mms(void) {
8506 /* List of fields */
8507 static hf_register_info hf
[] =
8509 { &hf_mms_response_in
,
8510 { "Response In", "mms.response_in",
8511 FT_FRAMENUM
, BASE_NONE
, FRAMENUM_TYPE(FT_FRAMENUM_RESPONSE
), 0x0,
8512 "The response to this mms request is in this frame", HFILL
}
8514 { &hf_mms_response_to
,
8515 { "Request In", "mms.response_to",
8516 FT_FRAMENUM
, BASE_NONE
, FRAMENUM_TYPE(FT_FRAMENUM_REQUEST
), 0x0,
8517 "This is a response to the mms request in this frame", HFILL
}
8519 { &hf_mms_response_time
,
8520 { "Response Time", "mms.response_time",
8521 FT_RELATIVE_TIME
, BASE_NONE
, NULL
, 0x0,
8522 "The time between the Call and the Reply", HFILL
}
8524 { &hf_mms_iec61850_rptid
,
8525 { "RptID", "mms.iec61850.rptid",
8526 FT_STRING
, BASE_NONE
, NULL
, 0,
8528 { &hf_mms_iec61850_reported_optflds
,
8529 { "Reported OptFlds", "mms.iec61850.reported_optfld",
8530 FT_BYTES
, BASE_NONE
, NULL
, 0,
8532 { &hf_mms_iec61850_seqnum
,
8533 { "SeqNum", "mms.iec61850.seqnum",
8534 FT_INT32
, BASE_DEC
, NULL
, 0,
8536 { &hf_mms_iec61850_timeofentry
,
8537 { "TimeOfEntry", "mms.iec61850.timeofentry",
8538 FT_STRING
, BASE_NONE
, NULL
, 0,
8540 { &hf_mms_iec61850_datset
,
8541 { "DatSet", "mms.iec61850.datset",
8542 FT_STRING
, BASE_NONE
, NULL
, 0,
8544 { &hf_mms_iec61850_bufovfl
,
8545 { "BufOvfl", "mms.iec61850.bufovfl",
8546 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
8548 { &hf_mms_iec61850_confrev
,
8549 { "ConfRev", "mms.iec61850.confrev",
8550 FT_INT32
, BASE_DEC
, NULL
, 0,
8552 { &hf_mms_iec61850_inclusion_bitstring
,
8553 { "Inclusion-bitstring", "mms.iec61850.inclusion_bitstring",
8554 FT_BYTES
, BASE_NONE
, NULL
, 0,
8556 { &hf_mms_iec61850_ctlModel
,
8557 { "ctlModel", "mms.iec61850.ctlmodel",
8558 FT_UINT8
, BASE_DEC
, VALS(mms_iec6150_cntmodel_vals
), 0,
8560 { &hf_mms_iec61850_QualityC0
,
8561 { "Validity", "mms.iec61850.validity",
8562 FT_UINT8
, BASE_HEX
, VALS(mms_iec6150_validity_vals
), 0xC0,
8564 { &hf_mms_iec61850_Quality20
,
8565 { "Overflow", "mms.iec61850.overflow",
8566 FT_BOOLEAN
, 8, NULL
, 0x20,
8568 { &hf_mms_iec61850_Quality10
,
8569 { "OutofRange", "mms.iec61850.outofrange",
8570 FT_BOOLEAN
, 8, NULL
, 0x10,
8572 { &hf_mms_iec61850_Quality8
,
8573 { "BadReference", "mms.iec61850.badreference",
8574 FT_BOOLEAN
, 8, NULL
, 0x08,
8576 { &hf_mms_iec61850_Quality4
,
8577 { "Oscillatory", "mms.iec61850.oscillatory",
8578 FT_BOOLEAN
, 8, NULL
, 0x04,
8580 { &hf_mms_iec61850_Quality2
,
8581 { "Failure", "mms.iec61850.failure",
8582 FT_BOOLEAN
, 8, NULL
, 0x02,
8584 { &hf_mms_iec61850_Quality1
,
8585 { "OldData", "mms.iec61850.oldData",
8586 FT_BOOLEAN
, 8, NULL
, 0x01,
8588 { &hf_mms_iec61850_Quality0080
,
8589 { "Inconsistent", "mms.iec61850.inconsistent",
8590 FT_BOOLEAN
, 8, NULL
, 0x80,
8592 { &hf_mms_iec61850_Quality0040
,
8593 { "Inaccurate", "mms.iec61850.inaccurate",
8594 FT_BOOLEAN
, 8, NULL
, 0x40,
8596 { &hf_mms_iec61850_Quality0020
,
8597 { "Source", "mms.iec61850.source",
8598 FT_UINT8
, BASE_HEX
, VALS(mms_iec6150_source_vals
), 0x20,
8600 { &hf_mms_iec61850_Quality0010
,
8601 { "Test", "mms.iec61850.test",
8602 FT_BOOLEAN
, 8, NULL
, 0x10,
8604 { &hf_mms_iec61850_Quality0008
,
8605 { "OperatorBlocked", "mms.iec61850.operatorblocked",
8606 FT_BOOLEAN
, 8, NULL
, 0x08,
8608 { &hf_mms_iec61850_quality_bitstring
,
8609 { "Quality", "mms.iec61850.quality_bitstring",
8610 FT_BYTES
, BASE_NONE
, NULL
, 0,
8612 { &hf_mms_iec61850_timequality80
,
8613 { "Leap Second Known", "mms.iec61850.leapsecondknown",
8614 FT_BOOLEAN
, 8, NULL
, 0x80,
8616 { &hf_mms_iec61850_timequality40
,
8617 { "ClockFailure", "mms.iec61850.clockfailure",
8618 FT_BOOLEAN
, 8, NULL
, 0x40,
8620 { &hf_mms_iec61850_timequality20
,
8621 { "Clock not synchronized", "mms.iec61850.clocknotsynchronized",
8622 FT_BOOLEAN
, 8, NULL
, 0x20,
8624 { &hf_mms_iec61850_timequality1F
,
8625 { "Time Accuracy", "mms.iec61850.timeaccuracy",
8626 FT_UINT8
, BASE_HEX
, VALS(mms_iec6150_timeaccuracy_vals
), 0x1F,
8628 { &hf_mms_iec61850_check_bitstring
,
8629 { "Check", "mms.iec61850.check_bitstring",
8630 FT_BYTES
, BASE_NONE
, NULL
, 0,
8632 { &hf_mms_iec61850_check_b15
,
8633 { "Synchrocheck", "mms.iec61850.synchrocheck",
8634 FT_BOOLEAN
, 8, NULL
, 0x80,
8636 { &hf_mms_iec61850_check_b14
,
8637 { "Interlock-check", "mms.iec61850.interlockcheck",
8638 FT_BOOLEAN
, 8, NULL
, 0x40,
8640 { &hf_mms_iec61850_check_b13_b0
,
8641 { "Padding", "mms.iec61850.check.padding",
8642 FT_UINT8
, BASE_HEX
, NULL
, 0x3f,
8644 { &hf_mms_iec61850_orcategory
,
8645 { "orCategory", "mms.iec61850.orcategory",
8646 FT_UINT8
, BASE_DEC
, VALS(mms_iec6150_orcategory_vals
), 0,
8648 { &hf_mms_iec61850_beh$stval
,
8649 { "beh", "mms.iec61850.beh",
8650 FT_UINT8
, BASE_DEC
, VALS(mms_iec6150_beh_vals
), 0,
8652 { &hf_mms_iec61850_mod$stval
,
8653 { "mod", "mms.iec61850.mod",
8654 FT_UINT8
, BASE_DEC
, VALS(mms_iec6150_beh_vals
), 0,
8656 { &hf_mms_iec61850_health$stval
,
8657 { "health", "mms.iec61850.health",
8658 FT_UINT8
, BASE_DEC
, VALS(mms_iec6150_health_vals
), 0,
8660 { &hf_mms_iec61850_ctlval
,
8661 { "ctlVal", "mms.iec61850.ctlval",
8662 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
8664 { &hf_mms_iec61850_origin
,
8665 { "Origin", "mms.iec61850.origin",
8666 FT_UINT32
, BASE_DEC
, NULL
, 0,
8668 { &hf_mms_iec61850_origin_orcat
,
8669 { "Origin Category", "mms.iec61850.orcat",
8670 FT_UINT8
, BASE_DEC
, NULL
, 0,
8672 { &hf_mms_iec61850_origin_orident
,
8673 { "Origin Identifier", "mms.iec61850.orident",
8674 FT_BYTES
, BASE_NONE
, NULL
, 0,
8676 { &hf_mms_iec61850_ctlNum
,
8677 { "ctlNum", "mms.iec61850.ctlnum",
8678 FT_INT8
, BASE_DEC
, NULL
, 0,
8680 { &hf_mms_iec61850_T
,
8681 { "T(Timestamp)", "mms.iec61850.timestamp",
8682 FT_STRING
, BASE_NONE
, NULL
, 0,
8684 { &hf_mms_iec61850_test
,
8685 { "Test", "mms.iec61850.test",
8686 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
8688 { &hf_mms_confirmed_RequestPDU
,
8689 { "confirmed-RequestPDU", "mms.confirmed_RequestPDU_element",
8690 FT_NONE
, BASE_NONE
, NULL
, 0,
8692 { &hf_mms_confirmed_ResponsePDU
,
8693 { "confirmed-ResponsePDU", "mms.confirmed_ResponsePDU_element",
8694 FT_NONE
, BASE_NONE
, NULL
, 0,
8696 { &hf_mms_confirmed_ErrorPDU
,
8697 { "confirmed-ErrorPDU", "mms.confirmed_ErrorPDU_element",
8698 FT_NONE
, BASE_NONE
, NULL
, 0,
8700 { &hf_mms_unconfirmed_PDU
,
8701 { "unconfirmed-PDU", "mms.unconfirmed_PDU_element",
8702 FT_NONE
, BASE_NONE
, NULL
, 0,
8704 { &hf_mms_rejectPDU
,
8705 { "rejectPDU", "mms.rejectPDU_element",
8706 FT_NONE
, BASE_NONE
, NULL
, 0,
8708 { &hf_mms_cancel_RequestPDU
,
8709 { "cancel-RequestPDU", "mms.cancel_RequestPDU",
8710 FT_INT32
, BASE_DEC
, NULL
, 0,
8712 { &hf_mms_cancel_ResponsePDU
,
8713 { "cancel-ResponsePDU", "mms.cancel_ResponsePDU",
8714 FT_INT32
, BASE_DEC
, NULL
, 0,
8716 { &hf_mms_cancel_ErrorPDU
,
8717 { "cancel-ErrorPDU", "mms.cancel_ErrorPDU_element",
8718 FT_NONE
, BASE_NONE
, NULL
, 0,
8720 { &hf_mms_initiate_RequestPDU
,
8721 { "initiate-RequestPDU", "mms.initiate_RequestPDU_element",
8722 FT_NONE
, BASE_NONE
, NULL
, 0,
8724 { &hf_mms_initiate_ResponsePDU
,
8725 { "initiate-ResponsePDU", "mms.initiate_ResponsePDU_element",
8726 FT_NONE
, BASE_NONE
, NULL
, 0,
8728 { &hf_mms_initiate_ErrorPDU
,
8729 { "initiate-ErrorPDU", "mms.initiate_ErrorPDU_element",
8730 FT_NONE
, BASE_NONE
, NULL
, 0,
8732 { &hf_mms_conclude_RequestPDU
,
8733 { "conclude-RequestPDU", "mms.conclude_RequestPDU_element",
8734 FT_NONE
, BASE_NONE
, NULL
, 0,
8736 { &hf_mms_conclude_ResponsePDU
,
8737 { "conclude-ResponsePDU", "mms.conclude_ResponsePDU_element",
8738 FT_NONE
, BASE_NONE
, NULL
, 0,
8740 { &hf_mms_conclude_ErrorPDU
,
8741 { "conclude-ErrorPDU", "mms.conclude_ErrorPDU_element",
8742 FT_NONE
, BASE_NONE
, NULL
, 0,
8745 { "invokeID", "mms.invokeID",
8746 FT_INT32
, BASE_DEC
, NULL
, 0,
8747 "Unsigned32", HFILL
}},
8748 { &hf_mms_listOfModifier
,
8749 { "listOfModifier", "mms.listOfModifier",
8750 FT_UINT32
, BASE_DEC
, NULL
, 0,
8751 "SEQUENCE_OF_Modifier", HFILL
}},
8752 { &hf_mms_listOfModifier_item
,
8753 { "Modifier", "mms.Modifier",
8754 FT_UINT32
, BASE_DEC
, VALS(mms_Modifier_vals
), 0,
8756 { &hf_mms_confirmedServiceRequest
,
8757 { "confirmedServiceRequest", "mms.confirmedServiceRequest",
8758 FT_UINT32
, BASE_DEC
, VALS(mms_ConfirmedServiceRequest_vals
), 0,
8760 { &hf_mms_cs_request_detail
,
8761 { "cs-request-detail", "mms.cs_request_detail",
8762 FT_UINT32
, BASE_DEC
, VALS(mms_CS_Request_Detail_vals
), 0,
8764 { &hf_mms_unconfirmedService
,
8765 { "unconfirmedService", "mms.unconfirmedService",
8766 FT_UINT32
, BASE_DEC
, VALS(mms_UnconfirmedService_vals
), 0,
8768 { &hf_mms_confirmedServiceResponse
,
8769 { "confirmedServiceResponse", "mms.confirmedServiceResponse",
8770 FT_UINT32
, BASE_DEC
, VALS(mms_ConfirmedServiceResponse_vals
), 0,
8772 { &hf_mms_modifierPosition
,
8773 { "modifierPosition", "mms.modifierPosition",
8774 FT_INT32
, BASE_DEC
, NULL
, 0,
8775 "Unsigned32", HFILL
}},
8776 { &hf_mms_serviceError
,
8777 { "serviceError", "mms.serviceError_element",
8778 FT_NONE
, BASE_NONE
, NULL
, 0,
8780 { &hf_mms_informationReport
,
8781 { "informationReport", "mms.informationReport_element",
8782 FT_NONE
, BASE_NONE
, NULL
, 0,
8784 { &hf_mms_unsolicitedStatus
,
8785 { "unsolicitedStatus", "mms.unsolicitedStatus_element",
8786 FT_NONE
, BASE_NONE
, NULL
, 0,
8788 { &hf_mms_eventNotification
,
8789 { "eventNotification", "mms.eventNotification_element",
8790 FT_NONE
, BASE_NONE
, NULL
, 0,
8792 { &hf_mms_attach_To_Event_Condition
,
8793 { "attach-To-Event-Condition", "mms.attach_To_Event_Condition_element",
8794 FT_NONE
, BASE_NONE
, NULL
, 0,
8795 "AttachToEventCondition", HFILL
}},
8796 { &hf_mms_attach_To_Semaphore
,
8797 { "attach-To-Semaphore", "mms.attach_To_Semaphore_element",
8798 FT_NONE
, BASE_NONE
, NULL
, 0,
8799 "AttachToSemaphore", HFILL
}},
8801 { "status", "mms.status",
8802 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
8803 "Status_Request", HFILL
}},
8804 { &hf_mms_getNameList
,
8805 { "getNameList", "mms.getNameList_element",
8806 FT_NONE
, BASE_NONE
, NULL
, 0,
8807 "GetNameList_Request", HFILL
}},
8809 { "identify", "mms.identify_element",
8810 FT_NONE
, BASE_NONE
, NULL
, 0,
8811 "Identify_Request", HFILL
}},
8813 { "rename", "mms.rename_element",
8814 FT_NONE
, BASE_NONE
, NULL
, 0,
8815 "Rename_Request", HFILL
}},
8817 { "read", "mms.read_element",
8818 FT_NONE
, BASE_NONE
, NULL
, 0,
8819 "Read_Request", HFILL
}},
8821 { "write", "mms.write_element",
8822 FT_NONE
, BASE_NONE
, NULL
, 0,
8823 "Write_Request", HFILL
}},
8824 { &hf_mms_getVariableAccessAttributes
,
8825 { "getVariableAccessAttributes", "mms.getVariableAccessAttributes",
8826 FT_UINT32
, BASE_DEC
, VALS(mms_GetVariableAccessAttributes_Request_vals
), 0,
8827 "GetVariableAccessAttributes_Request", HFILL
}},
8828 { &hf_mms_defineNamedVariable
,
8829 { "defineNamedVariable", "mms.defineNamedVariable_element",
8830 FT_NONE
, BASE_NONE
, NULL
, 0,
8831 "DefineNamedVariable_Request", HFILL
}},
8832 { &hf_mms_defineScatteredAccess
,
8833 { "defineScatteredAccess", "mms.defineScatteredAccess_element",
8834 FT_NONE
, BASE_NONE
, NULL
, 0,
8835 "DefineScatteredAccess_Request", HFILL
}},
8836 { &hf_mms_getScatteredAccessAttributes
,
8837 { "getScatteredAccessAttributes", "mms.getScatteredAccessAttributes",
8838 FT_UINT32
, BASE_DEC
, VALS(mms_ObjectName_vals
), 0,
8839 "GetScatteredAccessAttributes_Request", HFILL
}},
8840 { &hf_mms_deleteVariableAccess
,
8841 { "deleteVariableAccess", "mms.deleteVariableAccess_element",
8842 FT_NONE
, BASE_NONE
, NULL
, 0,
8843 "DeleteVariableAccess_Request", HFILL
}},
8844 { &hf_mms_defineNamedVariableList
,
8845 { "defineNamedVariableList", "mms.defineNamedVariableList_element",
8846 FT_NONE
, BASE_NONE
, NULL
, 0,
8847 "DefineNamedVariableList_Request", HFILL
}},
8848 { &hf_mms_getNamedVariableListAttributes
,
8849 { "getNamedVariableListAttributes", "mms.getNamedVariableListAttributes",
8850 FT_UINT32
, BASE_DEC
, VALS(mms_ObjectName_vals
), 0,
8851 "GetNamedVariableListAttributes_Request", HFILL
}},
8852 { &hf_mms_deleteNamedVariableList
,
8853 { "deleteNamedVariableList", "mms.deleteNamedVariableList_element",
8854 FT_NONE
, BASE_NONE
, NULL
, 0,
8855 "DeleteNamedVariableList_Request", HFILL
}},
8856 { &hf_mms_defineNamedType
,
8857 { "defineNamedType", "mms.defineNamedType_element",
8858 FT_NONE
, BASE_NONE
, NULL
, 0,
8859 "DefineNamedType_Request", HFILL
}},
8860 { &hf_mms_getNamedTypeAttributes
,
8861 { "getNamedTypeAttributes", "mms.getNamedTypeAttributes",
8862 FT_UINT32
, BASE_DEC
, VALS(mms_ObjectName_vals
), 0,
8863 "GetNamedTypeAttributes_Request", HFILL
}},
8864 { &hf_mms_deleteNamedType
,
8865 { "deleteNamedType", "mms.deleteNamedType_element",
8866 FT_NONE
, BASE_NONE
, NULL
, 0,
8867 "DeleteNamedType_Request", HFILL
}},
8869 { "input", "mms.input_element",
8870 FT_NONE
, BASE_NONE
, NULL
, 0,
8871 "Input_Request", HFILL
}},
8873 { "output", "mms.output_element",
8874 FT_NONE
, BASE_NONE
, NULL
, 0,
8875 "Output_Request", HFILL
}},
8876 { &hf_mms_takeControl
,
8877 { "takeControl", "mms.takeControl_element",
8878 FT_NONE
, BASE_NONE
, NULL
, 0,
8879 "TakeControl_Request", HFILL
}},
8880 { &hf_mms_relinquishControl
,
8881 { "relinquishControl", "mms.relinquishControl_element",
8882 FT_NONE
, BASE_NONE
, NULL
, 0,
8883 "RelinquishControl_Request", HFILL
}},
8884 { &hf_mms_defineSemaphore
,
8885 { "defineSemaphore", "mms.defineSemaphore_element",
8886 FT_NONE
, BASE_NONE
, NULL
, 0,
8887 "DefineSemaphore_Request", HFILL
}},
8888 { &hf_mms_deleteSemaphore
,
8889 { "deleteSemaphore", "mms.deleteSemaphore",
8890 FT_UINT32
, BASE_DEC
, VALS(mms_ObjectName_vals
), 0,
8891 "DeleteSemaphore_Request", HFILL
}},
8892 { &hf_mms_reportSemaphoreStatus
,
8893 { "reportSemaphoreStatus", "mms.reportSemaphoreStatus",
8894 FT_UINT32
, BASE_DEC
, VALS(mms_ObjectName_vals
), 0,
8895 "ReportSemaphoreStatus_Request", HFILL
}},
8896 { &hf_mms_reportPoolSemaphoreStatus
,
8897 { "reportPoolSemaphoreStatus", "mms.reportPoolSemaphoreStatus_element",
8898 FT_NONE
, BASE_NONE
, NULL
, 0,
8899 "ReportPoolSemaphoreStatus_Request", HFILL
}},
8900 { &hf_mms_reportSemaphoreEntryStatus
,
8901 { "reportSemaphoreEntryStatus", "mms.reportSemaphoreEntryStatus_element",
8902 FT_NONE
, BASE_NONE
, NULL
, 0,
8903 "ReportSemaphoreEntryStatus_Request", HFILL
}},
8904 { &hf_mms_initiateDownloadSequence
,
8905 { "initiateDownloadSequence", "mms.initiateDownloadSequence_element",
8906 FT_NONE
, BASE_NONE
, NULL
, 0,
8907 "InitiateDownloadSequence_Request", HFILL
}},
8908 { &hf_mms_downloadSegment
,
8909 { "downloadSegment", "mms.downloadSegment",
8910 FT_STRING
, BASE_NONE
, NULL
, 0,
8911 "DownloadSegment_Request", HFILL
}},
8912 { &hf_mms_terminateDownloadSequence
,
8913 { "terminateDownloadSequence", "mms.terminateDownloadSequence_element",
8914 FT_NONE
, BASE_NONE
, NULL
, 0,
8915 "TerminateDownloadSequence_Request", HFILL
}},
8916 { &hf_mms_initiateUploadSequence
,
8917 { "initiateUploadSequence", "mms.initiateUploadSequence",
8918 FT_STRING
, BASE_NONE
, NULL
, 0,
8919 "InitiateUploadSequence_Request", HFILL
}},
8920 { &hf_mms_uploadSegment
,
8921 { "uploadSegment", "mms.uploadSegment",
8922 FT_INT32
, BASE_DEC
, NULL
, 0,
8923 "UploadSegment_Request", HFILL
}},
8924 { &hf_mms_terminateUploadSequence
,
8925 { "terminateUploadSequence", "mms.terminateUploadSequence",
8926 FT_INT32
, BASE_DEC
, NULL
, 0,
8927 "TerminateUploadSequence_Request", HFILL
}},
8928 { &hf_mms_requestDomainDownload
,
8929 { "requestDomainDownload", "mms.requestDomainDownload_element",
8930 FT_NONE
, BASE_NONE
, NULL
, 0,
8931 "RequestDomainDownload_Request", HFILL
}},
8932 { &hf_mms_requestDomainUpload
,
8933 { "requestDomainUpload", "mms.requestDomainUpload_element",
8934 FT_NONE
, BASE_NONE
, NULL
, 0,
8935 "RequestDomainUpload_Request", HFILL
}},
8936 { &hf_mms_loadDomainContent
,
8937 { "loadDomainContent", "mms.loadDomainContent_element",
8938 FT_NONE
, BASE_NONE
, NULL
, 0,
8939 "LoadDomainContent_Request", HFILL
}},
8940 { &hf_mms_storeDomainContent
,
8941 { "storeDomainContent", "mms.storeDomainContent_element",
8942 FT_NONE
, BASE_NONE
, NULL
, 0,
8943 "StoreDomainContent_Request", HFILL
}},
8944 { &hf_mms_deleteDomain
,
8945 { "deleteDomain", "mms.deleteDomain",
8946 FT_STRING
, BASE_NONE
, NULL
, 0,
8947 "DeleteDomain_Request", HFILL
}},
8948 { &hf_mms_getDomainAttributes
,
8949 { "getDomainAttributes", "mms.getDomainAttributes",
8950 FT_STRING
, BASE_NONE
, NULL
, 0,
8951 "GetDomainAttributes_Request", HFILL
}},
8952 { &hf_mms_createProgramInvocation
,
8953 { "createProgramInvocation", "mms.createProgramInvocation_element",
8954 FT_NONE
, BASE_NONE
, NULL
, 0,
8955 "CreateProgramInvocation_Request", HFILL
}},
8956 { &hf_mms_deleteProgramInvocation
,
8957 { "deleteProgramInvocation", "mms.deleteProgramInvocation",
8958 FT_STRING
, BASE_NONE
, NULL
, 0,
8959 "DeleteProgramInvocation_Request", HFILL
}},
8961 { "start", "mms.start_element",
8962 FT_NONE
, BASE_NONE
, NULL
, 0,
8963 "Start_Request", HFILL
}},
8965 { "stop", "mms.stop_element",
8966 FT_NONE
, BASE_NONE
, NULL
, 0,
8967 "Stop_Request", HFILL
}},
8969 { "resume", "mms.resume_element",
8970 FT_NONE
, BASE_NONE
, NULL
, 0,
8971 "Resume_Request", HFILL
}},
8973 { "reset", "mms.reset_element",
8974 FT_NONE
, BASE_NONE
, NULL
, 0,
8975 "Reset_Request", HFILL
}},
8977 { "kill", "mms.kill_element",
8978 FT_NONE
, BASE_NONE
, NULL
, 0,
8979 "Kill_Request", HFILL
}},
8980 { &hf_mms_getProgramInvocationAttributes
,
8981 { "getProgramInvocationAttributes", "mms.getProgramInvocationAttributes",
8982 FT_STRING
, BASE_NONE
, NULL
, 0,
8983 "GetProgramInvocationAttributes_Request", HFILL
}},
8984 { &hf_mms_obtainFile
,
8985 { "obtainFile", "mms.obtainFile_element",
8986 FT_NONE
, BASE_NONE
, NULL
, 0,
8987 "ObtainFile_Request", HFILL
}},
8988 { &hf_mms_defineEventCondition
,
8989 { "defineEventCondition", "mms.defineEventCondition_element",
8990 FT_NONE
, BASE_NONE
, NULL
, 0,
8991 "DefineEventCondition_Request", HFILL
}},
8992 { &hf_mms_confirmedServiceRequest_deleteEventCondition
,
8993 { "deleteEventCondition", "mms.confirmedServiceRequest.deleteEventCondition",
8994 FT_UINT32
, BASE_DEC
, VALS(mms_DeleteEventCondition_Request_vals
), 0,
8995 "DeleteEventCondition_Request", HFILL
}},
8996 { &hf_mms_getEventConditionAttributes
,
8997 { "getEventConditionAttributes", "mms.getEventConditionAttributes",
8998 FT_UINT32
, BASE_DEC
, VALS(mms_ObjectName_vals
), 0,
8999 "GetEventConditionAttributes_Request", HFILL
}},
9000 { &hf_mms_reportEventConditionStatus
,
9001 { "reportEventConditionStatus", "mms.reportEventConditionStatus",
9002 FT_UINT32
, BASE_DEC
, VALS(mms_ObjectName_vals
), 0,
9003 "ReportEventConditionStatus_Request", HFILL
}},
9004 { &hf_mms_alterEventConditionMonitoring
,
9005 { "alterEventConditionMonitoring", "mms.alterEventConditionMonitoring_element",
9006 FT_NONE
, BASE_NONE
, NULL
, 0,
9007 "AlterEventConditionMonitoring_Request", HFILL
}},
9008 { &hf_mms_triggerEvent
,
9009 { "triggerEvent", "mms.triggerEvent_element",
9010 FT_NONE
, BASE_NONE
, NULL
, 0,
9011 "TriggerEvent_Request", HFILL
}},
9012 { &hf_mms_defineEventAction
,
9013 { "defineEventAction", "mms.defineEventAction_element",
9014 FT_NONE
, BASE_NONE
, NULL
, 0,
9015 "DefineEventAction_Request", HFILL
}},
9016 { &hf_mms_confirmedServiceRequest_deleteEventAction
,
9017 { "deleteEventAction", "mms.confirmedServiceRequest.deleteEventAction",
9018 FT_UINT32
, BASE_DEC
, VALS(mms_DeleteEventAction_Request_vals
), 0,
9019 "DeleteEventAction_Request", HFILL
}},
9020 { &hf_mms_getEventActionAttributes
,
9021 { "getEventActionAttributes", "mms.getEventActionAttributes",
9022 FT_UINT32
, BASE_DEC
, VALS(mms_ObjectName_vals
), 0,
9023 "GetEventActionAttributes_Request", HFILL
}},
9024 { &hf_mms_reportEventActionStatus
,
9025 { "reportEventActionStatus", "mms.reportEventActionStatus",
9026 FT_UINT32
, BASE_DEC
, VALS(mms_ObjectName_vals
), 0,
9027 "ReportEventActionStatus_Request", HFILL
}},
9028 { &hf_mms_defineEventEnrollment
,
9029 { "defineEventEnrollment", "mms.defineEventEnrollment_element",
9030 FT_NONE
, BASE_NONE
, NULL
, 0,
9031 "DefineEventEnrollment_Request", HFILL
}},
9032 { &hf_mms_confirmedServiceRequest_deleteEventEnrollment
,
9033 { "deleteEventEnrollment", "mms.confirmedServiceRequest.deleteEventEnrollment",
9034 FT_UINT32
, BASE_DEC
, VALS(mms_DeleteEventEnrollment_Request_vals
), 0,
9035 "DeleteEventEnrollment_Request", HFILL
}},
9036 { &hf_mms_alterEventEnrollment
,
9037 { "alterEventEnrollment", "mms.alterEventEnrollment_element",
9038 FT_NONE
, BASE_NONE
, NULL
, 0,
9039 "AlterEventEnrollment_Request", HFILL
}},
9040 { &hf_mms_reportEventEnrollmentStatus
,
9041 { "reportEventEnrollmentStatus", "mms.reportEventEnrollmentStatus",
9042 FT_UINT32
, BASE_DEC
, VALS(mms_ObjectName_vals
), 0,
9043 "ReportEventEnrollmentStatus_Request", HFILL
}},
9044 { &hf_mms_getEventEnrollmentAttributes
,
9045 { "getEventEnrollmentAttributes", "mms.getEventEnrollmentAttributes_element",
9046 FT_NONE
, BASE_NONE
, NULL
, 0,
9047 "GetEventEnrollmentAttributes_Request", HFILL
}},
9048 { &hf_mms_acknowledgeEventNotification
,
9049 { "acknowledgeEventNotification", "mms.acknowledgeEventNotification_element",
9050 FT_NONE
, BASE_NONE
, NULL
, 0,
9051 "AcknowledgeEventNotification_Request", HFILL
}},
9052 { &hf_mms_getAlarmSummary
,
9053 { "getAlarmSummary", "mms.getAlarmSummary_element",
9054 FT_NONE
, BASE_NONE
, NULL
, 0,
9055 "GetAlarmSummary_Request", HFILL
}},
9056 { &hf_mms_getAlarmEnrollmentSummary
,
9057 { "getAlarmEnrollmentSummary", "mms.getAlarmEnrollmentSummary_element",
9058 FT_NONE
, BASE_NONE
, NULL
, 0,
9059 "GetAlarmEnrollmentSummary_Request", HFILL
}},
9060 { &hf_mms_readJournal
,
9061 { "readJournal", "mms.readJournal_element",
9062 FT_NONE
, BASE_NONE
, NULL
, 0,
9063 "ReadJournal_Request", HFILL
}},
9064 { &hf_mms_writeJournal
,
9065 { "writeJournal", "mms.writeJournal_element",
9066 FT_NONE
, BASE_NONE
, NULL
, 0,
9067 "WriteJournal_Request", HFILL
}},
9068 { &hf_mms_initializeJournal
,
9069 { "initializeJournal", "mms.initializeJournal_element",
9070 FT_NONE
, BASE_NONE
, NULL
, 0,
9071 "InitializeJournal_Request", HFILL
}},
9072 { &hf_mms_reportJournalStatus
,
9073 { "reportJournalStatus", "mms.reportJournalStatus",
9074 FT_UINT32
, BASE_DEC
, VALS(mms_ObjectName_vals
), 0,
9075 "ReportJournalStatus_Request", HFILL
}},
9076 { &hf_mms_createJournal
,
9077 { "createJournal", "mms.createJournal_element",
9078 FT_NONE
, BASE_NONE
, NULL
, 0,
9079 "CreateJournal_Request", HFILL
}},
9080 { &hf_mms_deleteJournal
,
9081 { "deleteJournal", "mms.deleteJournal_element",
9082 FT_NONE
, BASE_NONE
, NULL
, 0,
9083 "DeleteJournal_Request", HFILL
}},
9084 { &hf_mms_getCapabilityList
,
9085 { "getCapabilityList", "mms.getCapabilityList_element",
9086 FT_NONE
, BASE_NONE
, NULL
, 0,
9087 "GetCapabilityList_Request", HFILL
}},
9089 { "fileOpen", "mms.fileOpen_element",
9090 FT_NONE
, BASE_NONE
, NULL
, 0,
9091 "FileOpen_Request", HFILL
}},
9093 { "fileRead", "mms.fileRead",
9094 FT_INT32
, BASE_DEC
, NULL
, 0,
9095 "FileRead_Request", HFILL
}},
9096 { &hf_mms_fileClose
,
9097 { "fileClose", "mms.fileClose",
9098 FT_INT32
, BASE_DEC
, NULL
, 0,
9099 "FileClose_Request", HFILL
}},
9100 { &hf_mms_fileRename
,
9101 { "fileRename", "mms.fileRename_element",
9102 FT_NONE
, BASE_NONE
, NULL
, 0,
9103 "FileRename_Request", HFILL
}},
9104 { &hf_mms_fileDelete
,
9105 { "fileDelete", "mms.fileDelete",
9106 FT_UINT32
, BASE_DEC
, NULL
, 0,
9107 "FileDelete_Request", HFILL
}},
9108 { &hf_mms_fileDirectory
,
9109 { "fileDirectory", "mms.fileDirectory_element",
9110 FT_NONE
, BASE_NONE
, NULL
, 0,
9111 "FileDirectory_Request", HFILL
}},
9114 FT_INT32
, BASE_DEC
, NULL
, 0,
9115 "INTEGER", HFILL
}},
9116 { &hf_mms_status_01
,
9117 { "status", "mms.status_element",
9118 FT_NONE
, BASE_NONE
, NULL
, 0,
9119 "Status_Response", HFILL
}},
9120 { &hf_mms_getNameList_01
,
9121 { "getNameList", "mms.getNameList_element",
9122 FT_NONE
, BASE_NONE
, NULL
, 0,
9123 "GetNameList_Response", HFILL
}},
9124 { &hf_mms_identify_01
,
9125 { "identify", "mms.identify_element",
9126 FT_NONE
, BASE_NONE
, NULL
, 0,
9127 "Identify_Response", HFILL
}},
9128 { &hf_mms_rename_01
,
9129 { "rename", "mms.rename_element",
9130 FT_NONE
, BASE_NONE
, NULL
, 0,
9131 "Rename_Response", HFILL
}},
9133 { "read", "mms.read_element",
9134 FT_NONE
, BASE_NONE
, NULL
, 0,
9135 "Read_Response", HFILL
}},
9137 { "write", "mms.write",
9138 FT_UINT32
, BASE_DEC
, NULL
, 0,
9139 "Write_Response", HFILL
}},
9140 { &hf_mms_getVariableAccessAttributes_01
,
9141 { "getVariableAccessAttributes", "mms.getVariableAccessAttributes_element",
9142 FT_NONE
, BASE_NONE
, NULL
, 0,
9143 "GetVariableAccessAttributes_Response", HFILL
}},
9144 { &hf_mms_defineNamedVariable_01
,
9145 { "defineNamedVariable", "mms.defineNamedVariable_element",
9146 FT_NONE
, BASE_NONE
, NULL
, 0,
9147 "DefineNamedVariable_Response", HFILL
}},
9148 { &hf_mms_defineScatteredAccess_01
,
9149 { "defineScatteredAccess", "mms.defineScatteredAccess_element",
9150 FT_NONE
, BASE_NONE
, NULL
, 0,
9151 "DefineScatteredAccess_Response", HFILL
}},
9152 { &hf_mms_getScatteredAccessAttributes_01
,
9153 { "getScatteredAccessAttributes", "mms.getScatteredAccessAttributes_element",
9154 FT_NONE
, BASE_NONE
, NULL
, 0,
9155 "GetScatteredAccessAttributes_Response", HFILL
}},
9156 { &hf_mms_deleteVariableAccess_01
,
9157 { "deleteVariableAccess", "mms.deleteVariableAccess_element",
9158 FT_NONE
, BASE_NONE
, NULL
, 0,
9159 "DeleteVariableAccess_Response", HFILL
}},
9160 { &hf_mms_defineNamedVariableList_01
,
9161 { "defineNamedVariableList", "mms.defineNamedVariableList_element",
9162 FT_NONE
, BASE_NONE
, NULL
, 0,
9163 "DefineNamedVariableList_Response", HFILL
}},
9164 { &hf_mms_getNamedVariableListAttributes_01
,
9165 { "getNamedVariableListAttributes", "mms.getNamedVariableListAttributes_element",
9166 FT_NONE
, BASE_NONE
, NULL
, 0,
9167 "GetNamedVariableListAttributes_Response", HFILL
}},
9168 { &hf_mms_deleteNamedVariableList_01
,
9169 { "deleteNamedVariableList", "mms.deleteNamedVariableList_element",
9170 FT_NONE
, BASE_NONE
, NULL
, 0,
9171 "DeleteNamedVariableList_Response", HFILL
}},
9172 { &hf_mms_defineNamedType_01
,
9173 { "defineNamedType", "mms.defineNamedType_element",
9174 FT_NONE
, BASE_NONE
, NULL
, 0,
9175 "DefineNamedType_Response", HFILL
}},
9176 { &hf_mms_getNamedTypeAttributes_01
,
9177 { "getNamedTypeAttributes", "mms.getNamedTypeAttributes_element",
9178 FT_NONE
, BASE_NONE
, NULL
, 0,
9179 "GetNamedTypeAttributes_Response", HFILL
}},
9180 { &hf_mms_deleteNamedType_01
,
9181 { "deleteNamedType", "mms.deleteNamedType_element",
9182 FT_NONE
, BASE_NONE
, NULL
, 0,
9183 "DeleteNamedType_Response", HFILL
}},
9185 { "input", "mms.input",
9186 FT_STRING
, BASE_NONE
, NULL
, 0,
9187 "Input_Response", HFILL
}},
9188 { &hf_mms_output_01
,
9189 { "output", "mms.output_element",
9190 FT_NONE
, BASE_NONE
, NULL
, 0,
9191 "Output_Response", HFILL
}},
9192 { &hf_mms_takeControl_01
,
9193 { "takeControl", "mms.takeControl",
9194 FT_UINT32
, BASE_DEC
, VALS(mms_TakeControl_Response_vals
), 0,
9195 "TakeControl_Response", HFILL
}},
9196 { &hf_mms_relinquishControl_01
,
9197 { "relinquishControl", "mms.relinquishControl_element",
9198 FT_NONE
, BASE_NONE
, NULL
, 0,
9199 "RelinquishControl_Response", HFILL
}},
9200 { &hf_mms_defineSemaphore_01
,
9201 { "defineSemaphore", "mms.defineSemaphore_element",
9202 FT_NONE
, BASE_NONE
, NULL
, 0,
9203 "DefineSemaphore_Response", HFILL
}},
9204 { &hf_mms_deleteSemaphore_01
,
9205 { "deleteSemaphore", "mms.deleteSemaphore_element",
9206 FT_NONE
, BASE_NONE
, NULL
, 0,
9207 "DeleteSemaphore_Response", HFILL
}},
9208 { &hf_mms_reportSemaphoreStatus_01
,
9209 { "reportSemaphoreStatus", "mms.reportSemaphoreStatus_element",
9210 FT_NONE
, BASE_NONE
, NULL
, 0,
9211 "ReportSemaphoreStatus_Response", HFILL
}},
9212 { &hf_mms_reportPoolSemaphoreStatus_01
,
9213 { "reportPoolSemaphoreStatus", "mms.reportPoolSemaphoreStatus_element",
9214 FT_NONE
, BASE_NONE
, NULL
, 0,
9215 "ReportPoolSemaphoreStatus_Response", HFILL
}},
9216 { &hf_mms_reportSemaphoreEntryStatus_01
,
9217 { "reportSemaphoreEntryStatus", "mms.reportSemaphoreEntryStatus_element",
9218 FT_NONE
, BASE_NONE
, NULL
, 0,
9219 "ReportSemaphoreEntryStatus_Response", HFILL
}},
9220 { &hf_mms_initiateDownloadSequence_01
,
9221 { "initiateDownloadSequence", "mms.initiateDownloadSequence_element",
9222 FT_NONE
, BASE_NONE
, NULL
, 0,
9223 "InitiateDownloadSequence_Response", HFILL
}},
9224 { &hf_mms_downloadSegment_01
,
9225 { "downloadSegment", "mms.downloadSegment_element",
9226 FT_NONE
, BASE_NONE
, NULL
, 0,
9227 "DownloadSegment_Response", HFILL
}},
9228 { &hf_mms_terminateDownloadSequence_01
,
9229 { "terminateDownloadSequence", "mms.terminateDownloadSequence_element",
9230 FT_NONE
, BASE_NONE
, NULL
, 0,
9231 "TerminateDownloadSequence_Response", HFILL
}},
9232 { &hf_mms_initiateUploadSequence_01
,
9233 { "initiateUploadSequence", "mms.initiateUploadSequence_element",
9234 FT_NONE
, BASE_NONE
, NULL
, 0,
9235 "InitiateUploadSequence_Response", HFILL
}},
9236 { &hf_mms_uploadSegment_01
,
9237 { "uploadSegment", "mms.uploadSegment_element",
9238 FT_NONE
, BASE_NONE
, NULL
, 0,
9239 "UploadSegment_Response", HFILL
}},
9240 { &hf_mms_terminateUploadSequence_01
,
9241 { "terminateUploadSequence", "mms.terminateUploadSequence_element",
9242 FT_NONE
, BASE_NONE
, NULL
, 0,
9243 "TerminateUploadSequence_Response", HFILL
}},
9244 { &hf_mms_requestDomainDownLoad
,
9245 { "requestDomainDownLoad", "mms.requestDomainDownLoad_element",
9246 FT_NONE
, BASE_NONE
, NULL
, 0,
9247 "RequestDomainDownload_Response", HFILL
}},
9248 { &hf_mms_requestDomainUpload_01
,
9249 { "requestDomainUpload", "mms.requestDomainUpload_element",
9250 FT_NONE
, BASE_NONE
, NULL
, 0,
9251 "RequestDomainUpload_Response", HFILL
}},
9252 { &hf_mms_loadDomainContent_01
,
9253 { "loadDomainContent", "mms.loadDomainContent_element",
9254 FT_NONE
, BASE_NONE
, NULL
, 0,
9255 "LoadDomainContent_Response", HFILL
}},
9256 { &hf_mms_storeDomainContent_01
,
9257 { "storeDomainContent", "mms.storeDomainContent_element",
9258 FT_NONE
, BASE_NONE
, NULL
, 0,
9259 "StoreDomainContent_Response", HFILL
}},
9260 { &hf_mms_deleteDomain_01
,
9261 { "deleteDomain", "mms.deleteDomain_element",
9262 FT_NONE
, BASE_NONE
, NULL
, 0,
9263 "DeleteDomain_Response", HFILL
}},
9264 { &hf_mms_getDomainAttributes_01
,
9265 { "getDomainAttributes", "mms.getDomainAttributes_element",
9266 FT_NONE
, BASE_NONE
, NULL
, 0,
9267 "GetDomainAttributes_Response", HFILL
}},
9268 { &hf_mms_createProgramInvocation_01
,
9269 { "createProgramInvocation", "mms.createProgramInvocation_element",
9270 FT_NONE
, BASE_NONE
, NULL
, 0,
9271 "CreateProgramInvocation_Response", HFILL
}},
9272 { &hf_mms_deleteProgramInvocation_01
,
9273 { "deleteProgramInvocation", "mms.deleteProgramInvocation_element",
9274 FT_NONE
, BASE_NONE
, NULL
, 0,
9275 "DeleteProgramInvocation_Response", HFILL
}},
9277 { "start", "mms.start_element",
9278 FT_NONE
, BASE_NONE
, NULL
, 0,
9279 "Start_Response", HFILL
}},
9281 { "stop", "mms.stop_element",
9282 FT_NONE
, BASE_NONE
, NULL
, 0,
9283 "Stop_Response", HFILL
}},
9284 { &hf_mms_resume_01
,
9285 { "resume", "mms.resume_element",
9286 FT_NONE
, BASE_NONE
, NULL
, 0,
9287 "Resume_Response", HFILL
}},
9289 { "reset", "mms.reset_element",
9290 FT_NONE
, BASE_NONE
, NULL
, 0,
9291 "Reset_Response", HFILL
}},
9293 { "kill", "mms.kill_element",
9294 FT_NONE
, BASE_NONE
, NULL
, 0,
9295 "Kill_Response", HFILL
}},
9296 { &hf_mms_getProgramInvocationAttributes_01
,
9297 { "getProgramInvocationAttributes", "mms.getProgramInvocationAttributes_element",
9298 FT_NONE
, BASE_NONE
, NULL
, 0,
9299 "GetProgramInvocationAttributes_Response", HFILL
}},
9300 { &hf_mms_obtainFile_01
,
9301 { "obtainFile", "mms.obtainFile_element",
9302 FT_NONE
, BASE_NONE
, NULL
, 0,
9303 "ObtainFile_Response", HFILL
}},
9304 { &hf_mms_fileOpen_01
,
9305 { "fileOpen", "mms.fileOpen_element",
9306 FT_NONE
, BASE_NONE
, NULL
, 0,
9307 "FileOpen_Response", HFILL
}},
9308 { &hf_mms_defineEventCondition_01
,
9309 { "defineEventCondition", "mms.defineEventCondition_element",
9310 FT_NONE
, BASE_NONE
, NULL
, 0,
9311 "DefineEventCondition_Response", HFILL
}},
9312 { &hf_mms_confirmedServiceResponse_deleteEventCondition
,
9313 { "deleteEventCondition", "mms.confirmedServiceResponse.deleteEventCondition",
9314 FT_INT32
, BASE_DEC
, NULL
, 0,
9315 "DeleteEventCondition_Response", HFILL
}},
9316 { &hf_mms_getEventConditionAttributes_01
,
9317 { "getEventConditionAttributes", "mms.getEventConditionAttributes_element",
9318 FT_NONE
, BASE_NONE
, NULL
, 0,
9319 "GetEventConditionAttributes_Response", HFILL
}},
9320 { &hf_mms_reportEventConditionStatus_01
,
9321 { "reportEventConditionStatus", "mms.reportEventConditionStatus_element",
9322 FT_NONE
, BASE_NONE
, NULL
, 0,
9323 "ReportEventConditionStatus_Response", HFILL
}},
9324 { &hf_mms_alterEventConditionMonitoring_01
,
9325 { "alterEventConditionMonitoring", "mms.alterEventConditionMonitoring_element",
9326 FT_NONE
, BASE_NONE
, NULL
, 0,
9327 "AlterEventConditionMonitoring_Response", HFILL
}},
9328 { &hf_mms_triggerEvent_01
,
9329 { "triggerEvent", "mms.triggerEvent_element",
9330 FT_NONE
, BASE_NONE
, NULL
, 0,
9331 "TriggerEvent_Response", HFILL
}},
9332 { &hf_mms_defineEventAction_01
,
9333 { "defineEventAction", "mms.defineEventAction_element",
9334 FT_NONE
, BASE_NONE
, NULL
, 0,
9335 "DefineEventAction_Response", HFILL
}},
9336 { &hf_mms_confirmedServiceRequest_deleteEventAction_01
,
9337 { "deleteEventAction", "mms.confirmedServiceRequest.deleteEventAction",
9338 FT_INT32
, BASE_DEC
, NULL
, 0,
9339 "DeleteEventAction_Response", HFILL
}},
9340 { &hf_mms_getEventActionAttributes_01
,
9341 { "getEventActionAttributes", "mms.getEventActionAttributes_element",
9342 FT_NONE
, BASE_NONE
, NULL
, 0,
9343 "GetEventActionAttributes_Response", HFILL
}},
9344 { &hf_mms_reportActionStatus
,
9345 { "reportActionStatus", "mms.reportActionStatus",
9346 FT_INT32
, BASE_DEC
, NULL
, 0,
9347 "ReportEventActionStatus_Response", HFILL
}},
9348 { &hf_mms_defineEventEnrollment_01
,
9349 { "defineEventEnrollment", "mms.defineEventEnrollment_element",
9350 FT_NONE
, BASE_NONE
, NULL
, 0,
9351 "DefineEventEnrollment_Response", HFILL
}},
9352 { &hf_mms_confirmedServiceResponse_deleteEventEnrollment
,
9353 { "deleteEventEnrollment", "mms.confirmedServiceResponse.deleteEventEnrollment",
9354 FT_INT32
, BASE_DEC
, NULL
, 0,
9355 "DeleteEventEnrollment_Response", HFILL
}},
9356 { &hf_mms_alterEventEnrollment_01
,
9357 { "alterEventEnrollment", "mms.alterEventEnrollment_element",
9358 FT_NONE
, BASE_NONE
, NULL
, 0,
9359 "AlterEventEnrollment_Response", HFILL
}},
9360 { &hf_mms_reportEventEnrollmentStatus_01
,
9361 { "reportEventEnrollmentStatus", "mms.reportEventEnrollmentStatus_element",
9362 FT_NONE
, BASE_NONE
, NULL
, 0,
9363 "ReportEventEnrollmentStatus_Response", HFILL
}},
9364 { &hf_mms_getEventEnrollmentAttributes_01
,
9365 { "getEventEnrollmentAttributes", "mms.getEventEnrollmentAttributes_element",
9366 FT_NONE
, BASE_NONE
, NULL
, 0,
9367 "GetEventEnrollmentAttributes_Response", HFILL
}},
9368 { &hf_mms_acknowledgeEventNotification_01
,
9369 { "acknowledgeEventNotification", "mms.acknowledgeEventNotification_element",
9370 FT_NONE
, BASE_NONE
, NULL
, 0,
9371 "AcknowledgeEventNotification_Response", HFILL
}},
9372 { &hf_mms_getAlarmSummary_01
,
9373 { "getAlarmSummary", "mms.getAlarmSummary_element",
9374 FT_NONE
, BASE_NONE
, NULL
, 0,
9375 "GetAlarmSummary_Response", HFILL
}},
9376 { &hf_mms_getAlarmEnrollmentSummary_01
,
9377 { "getAlarmEnrollmentSummary", "mms.getAlarmEnrollmentSummary_element",
9378 FT_NONE
, BASE_NONE
, NULL
, 0,
9379 "GetAlarmEnrollmentSummary_Response", HFILL
}},
9380 { &hf_mms_readJournal_01
,
9381 { "readJournal", "mms.readJournal_element",
9382 FT_NONE
, BASE_NONE
, NULL
, 0,
9383 "ReadJournal_Response", HFILL
}},
9384 { &hf_mms_writeJournal_01
,
9385 { "writeJournal", "mms.writeJournal_element",
9386 FT_NONE
, BASE_NONE
, NULL
, 0,
9387 "WriteJournal_Response", HFILL
}},
9388 { &hf_mms_initializeJournal_01
,
9389 { "initializeJournal", "mms.initializeJournal",
9390 FT_INT32
, BASE_DEC
, NULL
, 0,
9391 "InitializeJournal_Response", HFILL
}},
9392 { &hf_mms_reportJournalStatus_01
,
9393 { "reportJournalStatus", "mms.reportJournalStatus_element",
9394 FT_NONE
, BASE_NONE
, NULL
, 0,
9395 "ReportJournalStatus_Response", HFILL
}},
9396 { &hf_mms_createJournal_01
,
9397 { "createJournal", "mms.createJournal_element",
9398 FT_NONE
, BASE_NONE
, NULL
, 0,
9399 "CreateJournal_Response", HFILL
}},
9400 { &hf_mms_deleteJournal_01
,
9401 { "deleteJournal", "mms.deleteJournal_element",
9402 FT_NONE
, BASE_NONE
, NULL
, 0,
9403 "DeleteJournal_Response", HFILL
}},
9404 { &hf_mms_getCapabilityList_01
,
9405 { "getCapabilityList", "mms.getCapabilityList_element",
9406 FT_NONE
, BASE_NONE
, NULL
, 0,
9407 "GetCapabilityList_Response", HFILL
}},
9408 { &hf_mms_fileRead_01
,
9409 { "fileRead", "mms.fileRead_element",
9410 FT_NONE
, BASE_NONE
, NULL
, 0,
9411 "FileRead_Response", HFILL
}},
9412 { &hf_mms_fileClose_01
,
9413 { "fileClose", "mms.fileClose_element",
9414 FT_NONE
, BASE_NONE
, NULL
, 0,
9415 "FileClose_Response", HFILL
}},
9416 { &hf_mms_fileRename_01
,
9417 { "fileRename", "mms.fileRename_element",
9418 FT_NONE
, BASE_NONE
, NULL
, 0,
9419 "FileRename_Response", HFILL
}},
9420 { &hf_mms_fileDelete_01
,
9421 { "fileDelete", "mms.fileDelete_element",
9422 FT_NONE
, BASE_NONE
, NULL
, 0,
9423 "FileDelete_Response", HFILL
}},
9424 { &hf_mms_fileDirectory_01
,
9425 { "fileDirectory", "mms.fileDirectory_element",
9426 FT_NONE
, BASE_NONE
, NULL
, 0,
9427 "FileDirectory_Response", HFILL
}},
9428 { &hf_mms_FileName_item
,
9429 { "FileName item", "mms.FileName_item",
9430 FT_STRING
, BASE_NONE
, NULL
, 0,
9431 "GraphicString", HFILL
}},
9432 { &hf_mms_vmd_specific
,
9433 { "vmd-specific", "mms.vmd_specific",
9434 FT_STRING
, BASE_NONE
, NULL
, 0,
9435 "Identifier", HFILL
}},
9436 { &hf_mms_domain_specific
,
9437 { "domain-specific", "mms.domain_specific_element",
9438 FT_NONE
, BASE_NONE
, NULL
, 0,
9441 { "domainId", "mms.domainId",
9442 FT_STRING
, BASE_NONE
, NULL
, 0,
9443 "Identifier", HFILL
}},
9444 { &hf_mms_objectName_domain_specific_itemId
,
9445 { "itemId", "mms.objectName_domain_specific_itemId",
9446 FT_STRING
, BASE_NONE
, NULL
, 0,
9447 "ObjectName_domain_specific_itemid", HFILL
}},
9448 { &hf_mms_aa_specific
,
9449 { "aa-specific", "mms.aa_specific",
9450 FT_STRING
, BASE_NONE
, NULL
, 0,
9451 "Identifier", HFILL
}},
9453 { "ap-title", "mms.ap_title",
9454 FT_UINT32
, BASE_DEC
, VALS(acse_AP_title_vals
), 0,
9456 { &hf_mms_ap_invocation_id
,
9457 { "ap-invocation-id", "mms.ap_invocation_id",
9458 FT_INT32
, BASE_DEC
, NULL
, 0,
9460 { &hf_mms_ae_qualifier
,
9461 { "ae-qualifier", "mms.ae_qualifier",
9462 FT_UINT32
, BASE_DEC
, VALS(acse_ASO_qualifier_vals
), 0,
9464 { &hf_mms_ae_invocation_id
,
9465 { "ae-invocation-id", "mms.ae_invocation_id",
9466 FT_INT32
, BASE_DEC
, NULL
, 0,
9468 { &hf_mms_localDetailCalling
,
9469 { "localDetailCalling", "mms.localDetailCalling",
9470 FT_INT32
, BASE_DEC
, NULL
, 0,
9471 "Integer32", HFILL
}},
9472 { &hf_mms_proposedMaxServOutstandingCalling
,
9473 { "proposedMaxServOutstandingCalling", "mms.proposedMaxServOutstandingCalling",
9474 FT_INT32
, BASE_DEC
, NULL
, 0,
9475 "Integer16", HFILL
}},
9476 { &hf_mms_proposedMaxServOutstandingCalled
,
9477 { "proposedMaxServOutstandingCalled", "mms.proposedMaxServOutstandingCalled",
9478 FT_INT32
, BASE_DEC
, NULL
, 0,
9479 "Integer16", HFILL
}},
9480 { &hf_mms_proposedDataStructureNestingLevel
,
9481 { "proposedDataStructureNestingLevel", "mms.proposedDataStructureNestingLevel",
9482 FT_INT32
, BASE_DEC
, NULL
, 0,
9483 "Integer8", HFILL
}},
9484 { &hf_mms_mmsInitRequestDetail
,
9485 { "mmsInitRequestDetail", "mms.mmsInitRequestDetail_element",
9486 FT_NONE
, BASE_NONE
, NULL
, 0,
9487 "InitRequestDetail", HFILL
}},
9488 { &hf_mms_proposedVersionNumber
,
9489 { "proposedVersionNumber", "mms.proposedVersionNumber",
9490 FT_INT32
, BASE_DEC
, NULL
, 0,
9491 "Integer16", HFILL
}},
9492 { &hf_mms_proposedParameterCBB
,
9493 { "proposedParameterCBB", "mms.proposedParameterCBB",
9494 FT_BYTES
, BASE_NONE
, NULL
, 0,
9495 "ParameterSupportOptions", HFILL
}},
9496 { &hf_mms_servicesSupportedCalling
,
9497 { "servicesSupportedCalling", "mms.servicesSupportedCalling",
9498 FT_BYTES
, BASE_NONE
, NULL
, 0,
9499 "ServiceSupportOptions", HFILL
}},
9500 { &hf_mms_localDetailCalled
,
9501 { "localDetailCalled", "mms.localDetailCalled",
9502 FT_INT32
, BASE_DEC
, NULL
, 0,
9503 "Integer32", HFILL
}},
9504 { &hf_mms_negociatedMaxServOutstandingCalling
,
9505 { "negociatedMaxServOutstandingCalling", "mms.negociatedMaxServOutstandingCalling",
9506 FT_INT32
, BASE_DEC
, NULL
, 0,
9507 "Integer16", HFILL
}},
9508 { &hf_mms_negociatedMaxServOutstandingCalled
,
9509 { "negociatedMaxServOutstandingCalled", "mms.negociatedMaxServOutstandingCalled",
9510 FT_INT32
, BASE_DEC
, NULL
, 0,
9511 "Integer16", HFILL
}},
9512 { &hf_mms_negociatedDataStructureNestingLevel
,
9513 { "negociatedDataStructureNestingLevel", "mms.negociatedDataStructureNestingLevel",
9514 FT_INT32
, BASE_DEC
, NULL
, 0,
9515 "Integer8", HFILL
}},
9516 { &hf_mms_mmsInitResponseDetail
,
9517 { "mmsInitResponseDetail", "mms.mmsInitResponseDetail_element",
9518 FT_NONE
, BASE_NONE
, NULL
, 0,
9519 "InitResponseDetail", HFILL
}},
9520 { &hf_mms_negociatedVersionNumber
,
9521 { "negociatedVersionNumber", "mms.negociatedVersionNumber",
9522 FT_INT32
, BASE_DEC
, NULL
, 0,
9523 "Integer16", HFILL
}},
9524 { &hf_mms_negociatedParameterCBB
,
9525 { "negociatedParameterCBB", "mms.negociatedParameterCBB",
9526 FT_BYTES
, BASE_NONE
, NULL
, 0,
9527 "ParameterSupportOptions", HFILL
}},
9528 { &hf_mms_servicesSupportedCalled
,
9529 { "servicesSupportedCalled", "mms.servicesSupportedCalled",
9530 FT_BYTES
, BASE_NONE
, NULL
, 0,
9531 "ServiceSupportOptions", HFILL
}},
9532 { &hf_mms_originalInvokeID
,
9533 { "originalInvokeID", "mms.originalInvokeID",
9534 FT_INT32
, BASE_DEC
, NULL
, 0,
9535 "Unsigned32", HFILL
}},
9536 { &hf_mms_errorClass
,
9537 { "errorClass", "mms.errorClass",
9538 FT_UINT32
, BASE_DEC
, VALS(mms_T_errorClass_vals
), 0,
9540 { &hf_mms_vmd_state
,
9541 { "vmd-state", "mms.vmd_state",
9542 FT_INT32
, BASE_DEC
, VALS(mms_T_vmd_state_vals
), 0,
9544 { &hf_mms_application_reference
,
9545 { "application-reference", "mms.application_reference",
9546 FT_INT32
, BASE_DEC
, VALS(mms_T_application_reference_vals
), 0,
9548 { &hf_mms_definition
,
9549 { "definition", "mms.definition",
9550 FT_INT32
, BASE_DEC
, VALS(mms_T_definition_vals
), 0,
9553 { "resource", "mms.resource",
9554 FT_INT32
, BASE_DEC
, VALS(mms_T_resource_vals
), 0,
9557 { "service", "mms.service",
9558 FT_INT32
, BASE_DEC
, VALS(mms_T_service_vals
), 0,
9560 { &hf_mms_service_preempt
,
9561 { "service-preempt", "mms.service_preempt",
9562 FT_INT32
, BASE_DEC
, VALS(mms_T_service_preempt_vals
), 0,
9564 { &hf_mms_time_resolution
,
9565 { "time-resolution", "mms.time_resolution",
9566 FT_INT32
, BASE_DEC
, VALS(mms_T_time_resolution_vals
), 0,
9569 { "access", "mms.access",
9570 FT_INT32
, BASE_DEC
, VALS(mms_T_access_vals
), 0,
9573 { "initiate", "mms.initiate",
9574 FT_INT32
, BASE_DEC
, VALS(mms_T_initiate_vals
), 0,
9577 { "conclude", "mms.conclude",
9578 FT_INT32
, BASE_DEC
, VALS(mms_T_conclude_vals
), 0,
9581 { "cancel", "mms.cancel",
9582 FT_INT32
, BASE_DEC
, VALS(mms_T_cancel_vals
), 0,
9585 { "file", "mms.file",
9586 FT_INT32
, BASE_DEC
, VALS(mms_T_file_vals
), 0,
9589 { "others", "mms.others",
9590 FT_INT32
, BASE_DEC
, NULL
, 0,
9591 "INTEGER", HFILL
}},
9592 { &hf_mms_additionalCode
,
9593 { "additionalCode", "mms.additionalCode",
9594 FT_INT32
, BASE_DEC
, NULL
, 0,
9595 "INTEGER", HFILL
}},
9596 { &hf_mms_additionalDescription
,
9597 { "additionalDescription", "mms.additionalDescription",
9598 FT_STRING
, BASE_NONE
, NULL
, 0,
9599 "VisibleString", HFILL
}},
9600 { &hf_mms_serviceSpecificInformation
,
9601 { "serviceSpecificInformation", "mms.serviceSpecificInformation",
9602 FT_UINT32
, BASE_DEC
, VALS(mms_T_serviceSpecificInformation_vals
), 0,
9604 { &hf_mms_obtainFile_02
,
9605 { "obtainFile", "mms.obtainFile",
9606 FT_INT32
, BASE_DEC
, VALS(mms_ObtainFile_Error_vals
), 0,
9607 "ObtainFile_Error", HFILL
}},
9609 { "start", "mms.start",
9610 FT_INT32
, BASE_DEC
, VALS(mms_ProgramInvocationState_vals
), 0,
9611 "Start_Error", HFILL
}},
9613 { "stop", "mms.stop",
9614 FT_INT32
, BASE_DEC
, VALS(mms_ProgramInvocationState_vals
), 0,
9615 "Stop_Error", HFILL
}},
9616 { &hf_mms_resume_02
,
9617 { "resume", "mms.resume",
9618 FT_INT32
, BASE_DEC
, VALS(mms_ProgramInvocationState_vals
), 0,
9619 "Resume_Error", HFILL
}},
9621 { "reset", "mms.reset",
9622 FT_INT32
, BASE_DEC
, VALS(mms_ProgramInvocationState_vals
), 0,
9623 "Reset_Error", HFILL
}},
9624 { &hf_mms_deleteVariableAccess_02
,
9625 { "deleteVariableAccess", "mms.deleteVariableAccess",
9626 FT_INT32
, BASE_DEC
, NULL
, 0,
9627 "DeleteVariableAccess_Error", HFILL
}},
9628 { &hf_mms_deleteNamedVariableList_02
,
9629 { "deleteNamedVariableList", "mms.deleteNamedVariableList",
9630 FT_INT32
, BASE_DEC
, NULL
, 0,
9631 "DeleteNamedVariableList_Error", HFILL
}},
9632 { &hf_mms_deleteNamedType_02
,
9633 { "deleteNamedType", "mms.deleteNamedType",
9634 FT_INT32
, BASE_DEC
, NULL
, 0,
9635 "DeleteNamedType_Error", HFILL
}},
9636 { &hf_mms_defineEventEnrollment_Error
,
9637 { "defineEventEnrollment-Error", "mms.defineEventEnrollment_Error",
9638 FT_UINT32
, BASE_DEC
, VALS(mms_ObjectName_vals
), 0,
9640 { &hf_mms_fileRename_02
,
9641 { "fileRename", "mms.fileRename",
9642 FT_INT32
, BASE_DEC
, VALS(mms_FileRename_Error_vals
), 0,
9643 "FileRename_Error", HFILL
}},
9644 { &hf_mms_additionalService
,
9645 { "additionalService", "mms.additionalService",
9646 FT_UINT32
, BASE_DEC
, VALS(mms_AdditionalService_Error_vals
), 0,
9647 "AdditionalService_Error", HFILL
}},
9648 { &hf_mms_changeAccessControl
,
9649 { "changeAccessControl", "mms.changeAccessControl",
9650 FT_INT32
, BASE_DEC
, NULL
, 0,
9651 "ChangeAccessControl_Error", HFILL
}},
9652 { &hf_mms_defineEcl
,
9653 { "defineEcl", "mms.defineEcl",
9654 FT_UINT32
, BASE_DEC
, VALS(mms_ObjectName_vals
), 0,
9655 "DefineEventConditionList_Error", HFILL
}},
9656 { &hf_mms_addECLReference
,
9657 { "addECLReference", "mms.addECLReference",
9658 FT_UINT32
, BASE_DEC
, VALS(mms_ObjectName_vals
), 0,
9659 "AddEventConditionListReference_Error", HFILL
}},
9660 { &hf_mms_removeECLReference
,
9661 { "removeECLReference", "mms.removeECLReference",
9662 FT_UINT32
, BASE_DEC
, VALS(mms_RemoveEventConditionListReference_Error_vals
), 0,
9663 "RemoveEventConditionListReference_Error", HFILL
}},
9664 { &hf_mms_initiateUC
,
9665 { "initiateUC", "mms.initiateUC",
9666 FT_UINT32
, BASE_DEC
, VALS(mms_InitiateUnitControl_Error_vals
), 0,
9667 "InitiateUnitControl_Error", HFILL
}},
9669 { "startUC", "mms.startUC_element",
9670 FT_NONE
, BASE_NONE
, NULL
, 0,
9671 "StartUnitControl_Error", HFILL
}},
9673 { "stopUC", "mms.stopUC_element",
9674 FT_NONE
, BASE_NONE
, NULL
, 0,
9675 "StopUnitControl_Error", HFILL
}},
9677 { "deleteUC", "mms.deleteUC",
9678 FT_UINT32
, BASE_DEC
, VALS(mms_DeleteUnitControl_Error_vals
), 0,
9679 "DeleteUnitControl_Error", HFILL
}},
9680 { &hf_mms_loadUCFromFile
,
9681 { "loadUCFromFile", "mms.loadUCFromFile",
9682 FT_UINT32
, BASE_DEC
, VALS(mms_LoadUnitControlFromFile_Error_vals
), 0,
9683 "LoadUnitControlFromFile_Error", HFILL
}},
9684 { &hf_mms_eventCondition
,
9685 { "eventCondition", "mms.eventCondition",
9686 FT_UINT32
, BASE_DEC
, VALS(mms_ObjectName_vals
), 0,
9687 "ObjectName", HFILL
}},
9688 { &hf_mms_eventConditionList
,
9689 { "eventConditionList", "mms.eventConditionList",
9690 FT_UINT32
, BASE_DEC
, VALS(mms_ObjectName_vals
), 0,
9691 "ObjectName", HFILL
}},
9693 { "domain", "mms.domain",
9694 FT_STRING
, BASE_NONE
, NULL
, 0,
9695 "Identifier", HFILL
}},
9696 { &hf_mms_programInvocation
,
9697 { "programInvocation", "mms.programInvocation",
9698 FT_STRING
, BASE_NONE
, NULL
, 0,
9699 "Identifier", HFILL
}},
9700 { &hf_mms_programInvocationName
,
9701 { "programInvocationName", "mms.programInvocationName",
9702 FT_STRING
, BASE_NONE
, NULL
, 0,
9703 "Identifier", HFILL
}},
9704 { &hf_mms_programInvocationState
,
9705 { "programInvocationState", "mms.programInvocationState",
9706 FT_INT32
, BASE_DEC
, VALS(mms_ProgramInvocationState_vals
), 0,
9709 { "none", "mms.none_element",
9710 FT_NONE
, BASE_NONE
, NULL
, 0,
9712 { &hf_mms_rejectReason
,
9713 { "rejectReason", "mms.rejectReason",
9714 FT_UINT32
, BASE_DEC
, VALS(mms_T_rejectReason_vals
), 0,
9716 { &hf_mms_confirmed_requestPDU
,
9717 { "confirmed-requestPDU", "mms.confirmed_requestPDU",
9718 FT_INT32
, BASE_DEC
, VALS(mms_T_confirmed_requestPDU_vals
), 0,
9720 { &hf_mms_confirmed_responsePDU
,
9721 { "confirmed-responsePDU", "mms.confirmed_responsePDU",
9722 FT_INT32
, BASE_DEC
, VALS(mms_T_confirmed_responsePDU_vals
), 0,
9724 { &hf_mms_confirmed_errorPDU
,
9725 { "confirmed-errorPDU", "mms.confirmed_errorPDU",
9726 FT_INT32
, BASE_DEC
, VALS(mms_T_confirmed_errorPDU_vals
), 0,
9728 { &hf_mms_unconfirmedPDU
,
9729 { "unconfirmedPDU", "mms.unconfirmedPDU",
9730 FT_INT32
, BASE_DEC
, VALS(mms_T_unconfirmedPDU_vals
), 0,
9732 { &hf_mms_pdu_error
,
9733 { "pdu-error", "mms.pdu_error",
9734 FT_INT32
, BASE_DEC
, VALS(mms_T_pdu_error_vals
), 0,
9736 { &hf_mms_cancel_requestPDU
,
9737 { "cancel-requestPDU", "mms.cancel_requestPDU",
9738 FT_INT32
, BASE_DEC
, VALS(mms_T_cancel_requestPDU_vals
), 0,
9740 { &hf_mms_cancel_responsePDU
,
9741 { "cancel-responsePDU", "mms.cancel_responsePDU",
9742 FT_INT32
, BASE_DEC
, VALS(mms_T_cancel_responsePDU_vals
), 0,
9744 { &hf_mms_cancel_errorPDU
,
9745 { "cancel-errorPDU", "mms.cancel_errorPDU",
9746 FT_INT32
, BASE_DEC
, VALS(mms_T_cancel_errorPDU_vals
), 0,
9748 { &hf_mms_conclude_requestPDU
,
9749 { "conclude-requestPDU", "mms.conclude_requestPDU",
9750 FT_INT32
, BASE_DEC
, VALS(mms_T_conclude_requestPDU_vals
), 0,
9752 { &hf_mms_conclude_responsePDU
,
9753 { "conclude-responsePDU", "mms.conclude_responsePDU",
9754 FT_INT32
, BASE_DEC
, VALS(mms_T_conclude_responsePDU_vals
), 0,
9756 { &hf_mms_conclude_errorPDU
,
9757 { "conclude-errorPDU", "mms.conclude_errorPDU",
9758 FT_INT32
, BASE_DEC
, VALS(mms_T_conclude_errorPDU_vals
), 0,
9760 { &hf_mms_vmdLogicalStatus
,
9761 { "vmdLogicalStatus", "mms.vmdLogicalStatus",
9762 FT_INT32
, BASE_DEC
, VALS(mms_T_vmdLogicalStatus_vals
), 0,
9764 { &hf_mms_vmdPhysicalStatus
,
9765 { "vmdPhysicalStatus", "mms.vmdPhysicalStatus",
9766 FT_INT32
, BASE_DEC
, VALS(mms_T_vmdPhysicalStatus_vals
), 0,
9768 { &hf_mms_localDetail
,
9769 { "localDetail", "mms.localDetail",
9770 FT_BYTES
, BASE_NONE
, NULL
, 0,
9771 "BIT_STRING_SIZE_0_128", HFILL
}},
9772 { &hf_mms_vmdSpecific
,
9773 { "vmdSpecific", "mms.vmdSpecific_element",
9774 FT_NONE
, BASE_NONE
, NULL
, 0,
9776 { &hf_mms_domainSpecific
,
9777 { "domainSpecific", "mms.domainSpecific",
9778 FT_STRING
, BASE_NONE
, NULL
, 0,
9779 "Identifier", HFILL
}},
9780 { &hf_mms_aaSpecific
,
9781 { "aaSpecific", "mms.aaSpecific_element",
9782 FT_NONE
, BASE_NONE
, NULL
, 0,
9784 { &hf_mms_extendedObjectClass
,
9785 { "extendedObjectClass", "mms.extendedObjectClass",
9786 FT_UINT32
, BASE_DEC
, VALS(mms_T_extendedObjectClass_vals
), 0,
9788 { &hf_mms_objectClass
,
9789 { "objectClass", "mms.objectClass",
9790 FT_INT32
, BASE_DEC
, VALS(mms_ObjectClass_vals
), 0,
9792 { &hf_mms_objectScope
,
9793 { "objectScope", "mms.objectScope",
9794 FT_UINT32
, BASE_DEC
, VALS(mms_ObjectScope_vals
), 0,
9796 { &hf_mms_getNameList_Request_continueAfter
,
9797 { "continueAfter", "mms.getNameList-Request_continueAfter",
9798 FT_STRING
, BASE_NONE
, NULL
, 0,
9799 "Identifier", HFILL
}},
9800 { &hf_mms_listOfIdentifier
,
9801 { "listOfIdentifier", "mms.listOfIdentifier",
9802 FT_UINT32
, BASE_DEC
, NULL
, 0,
9803 "SEQUENCE_OF_Identifier", HFILL
}},
9804 { &hf_mms_listOfIdentifier_item
,
9805 { "Identifier", "mms.Identifier",
9806 FT_STRING
, BASE_NONE
, NULL
, 0,
9808 { &hf_mms_moreFollows
,
9809 { "moreFollows", "mms.moreFollows",
9810 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
9811 "BOOLEAN", HFILL
}},
9812 { &hf_mms_vendorName
,
9813 { "vendorName", "mms.vendorName",
9814 FT_STRING
, BASE_NONE
, NULL
, 0,
9815 "VisibleString", HFILL
}},
9816 { &hf_mms_modelName
,
9817 { "modelName", "mms.modelName",
9818 FT_STRING
, BASE_NONE
, NULL
, 0,
9819 "VisibleString", HFILL
}},
9821 { "revision", "mms.revision",
9822 FT_STRING
, BASE_NONE
, NULL
, 0,
9823 "VisibleString", HFILL
}},
9824 { &hf_mms_listOfAbstractSyntaxes
,
9825 { "listOfAbstractSyntaxes", "mms.listOfAbstractSyntaxes",
9826 FT_UINT32
, BASE_DEC
, NULL
, 0,
9828 { &hf_mms_listOfAbstractSyntaxes_item
,
9829 { "listOfAbstractSyntaxes item", "mms.listOfAbstractSyntaxes_item",
9830 FT_OID
, BASE_NONE
, NULL
, 0,
9831 "OBJECT_IDENTIFIER", HFILL
}},
9832 { &hf_mms_extendedObjectClass_01
,
9833 { "extendedObjectClass", "mms.extendedObjectClass",
9834 FT_UINT32
, BASE_DEC
, VALS(mms_T_extendedObjectClass_01_vals
), 0,
9835 "T_extendedObjectClass_01", HFILL
}},
9836 { &hf_mms_objectClass_01
,
9837 { "objectClass", "mms.objectClass",
9838 FT_INT32
, BASE_DEC
, VALS(mms_T_objectClass_vals
), 0,
9840 { &hf_mms_currentName
,
9841 { "currentName", "mms.currentName",
9842 FT_UINT32
, BASE_DEC
, VALS(mms_ObjectName_vals
), 0,
9843 "ObjectName", HFILL
}},
9844 { &hf_mms_newIdentifier
,
9845 { "newIdentifier", "mms.newIdentifier",
9846 FT_STRING
, BASE_NONE
, NULL
, 0,
9847 "Identifier", HFILL
}},
9848 { &hf_mms_getCapabilityList_Request_continueAfter
,
9849 { "continueAfter", "mms.getCapabilityList-Request_continueAfter",
9850 FT_STRING
, BASE_NONE
, NULL
, 0,
9851 "VisibleString", HFILL
}},
9852 { &hf_mms_listOfCapabilities
,
9853 { "listOfCapabilities", "mms.listOfCapabilities",
9854 FT_UINT32
, BASE_DEC
, NULL
, 0,
9856 { &hf_mms_listOfCapabilities_item
,
9857 { "listOfCapabilities item", "mms.listOfCapabilities_item",
9858 FT_STRING
, BASE_NONE
, NULL
, 0,
9859 "VisibleString", HFILL
}},
9860 { &hf_mms_domainName
,
9861 { "domainName", "mms.domainName",
9862 FT_STRING
, BASE_NONE
, NULL
, 0,
9863 "Identifier", HFILL
}},
9864 { &hf_mms_listOfCapabilities_01
,
9865 { "listOfCapabilities", "mms.listOfCapabilities",
9866 FT_UINT32
, BASE_DEC
, NULL
, 0,
9867 "T_listOfCapabilities_01", HFILL
}},
9869 { "sharable", "mms.sharable",
9870 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
9871 "BOOLEAN", HFILL
}},
9873 { "loadData", "mms.loadData",
9874 FT_UINT32
, BASE_DEC
, VALS(mms_T_loadData_vals
), 0,
9876 { &hf_mms_non_coded
,
9877 { "non-coded", "mms.non_coded",
9878 FT_BYTES
, BASE_NONE
, NULL
, 0,
9879 "OCTET_STRING", HFILL
}},
9881 { "coded", "mms.coded_element",
9882 FT_NONE
, BASE_NONE
, NULL
, 0,
9883 "EXTERNALt", HFILL
}},
9885 { "discard", "mms.discard_element",
9886 FT_NONE
, BASE_NONE
, NULL
, 0,
9887 "ServiceError", HFILL
}},
9889 { "ulsmID", "mms.ulsmID",
9890 FT_INT32
, BASE_DEC
, NULL
, 0,
9891 "Integer32", HFILL
}},
9892 { &hf_mms_listOfCapabilities_02
,
9893 { "listOfCapabilities", "mms.listOfCapabilities",
9894 FT_UINT32
, BASE_DEC
, NULL
, 0,
9895 "T_listOfCapabilities_02", HFILL
}},
9896 { &hf_mms_loadData_01
,
9897 { "loadData", "mms.loadData",
9898 FT_UINT32
, BASE_DEC
, VALS(mms_T_loadData_01_vals
), 0,
9899 "T_loadData_01", HFILL
}},
9900 { &hf_mms_listOfCapabilities_03
,
9901 { "listOfCapabilities", "mms.listOfCapabilities",
9902 FT_UINT32
, BASE_DEC
, NULL
, 0,
9903 "T_listOfCapabilities_03", HFILL
}},
9905 { "fileName", "mms.fileName",
9906 FT_UINT32
, BASE_DEC
, NULL
, 0,
9908 { &hf_mms_listOfCapabilities_04
,
9909 { "listOfCapabilities", "mms.listOfCapabilities",
9910 FT_UINT32
, BASE_DEC
, NULL
, 0,
9911 "T_listOfCapabilities_04", HFILL
}},
9912 { &hf_mms_thirdParty
,
9913 { "thirdParty", "mms.thirdParty_element",
9914 FT_NONE
, BASE_NONE
, NULL
, 0,
9915 "ApplicationReference", HFILL
}},
9916 { &hf_mms_filenName
,
9917 { "filenName", "mms.filenName",
9918 FT_UINT32
, BASE_DEC
, NULL
, 0,
9919 "FileName", HFILL
}},
9920 { &hf_mms_listOfCapabilities_05
,
9921 { "listOfCapabilities", "mms.listOfCapabilities",
9922 FT_UINT32
, BASE_DEC
, NULL
, 0,
9923 "T_listOfCapabilities_05", HFILL
}},
9924 { &hf_mms_getDomainAttributes_Response_state
,
9925 { "state", "mms.getDomainAttributes-Response_state",
9926 FT_INT32
, BASE_DEC
, VALS(mms_DomainState_vals
), 0,
9927 "DomainState", HFILL
}},
9928 { &hf_mms_mmsDeletable
,
9929 { "mmsDeletable", "mms.mmsDeletable",
9930 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
9931 "BOOLEAN", HFILL
}},
9932 { &hf_mms_listOfProgramInvocations
,
9933 { "listOfProgramInvocations", "mms.listOfProgramInvocations",
9934 FT_UINT32
, BASE_DEC
, NULL
, 0,
9935 "SEQUENCE_OF_Identifier", HFILL
}},
9936 { &hf_mms_listOfProgramInvocations_item
,
9937 { "Identifier", "mms.Identifier",
9938 FT_STRING
, BASE_NONE
, NULL
, 0,
9940 { &hf_mms_uploadInProgress
,
9941 { "uploadInProgress", "mms.uploadInProgress",
9942 FT_INT32
, BASE_DEC
, NULL
, 0,
9943 "Integer8", HFILL
}},
9944 { &hf_mms_listOfDomainName
,
9945 { "listOfDomainName", "mms.listOfDomainName",
9946 FT_UINT32
, BASE_DEC
, NULL
, 0,
9947 "SEQUENCE_OF_Identifier", HFILL
}},
9948 { &hf_mms_listOfDomainName_item
,
9949 { "Identifier", "mms.Identifier",
9950 FT_STRING
, BASE_NONE
, NULL
, 0,
9953 { "reusable", "mms.reusable",
9954 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
9955 "BOOLEAN", HFILL
}},
9956 { &hf_mms_monitorType
,
9957 { "monitorType", "mms.monitorType",
9958 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
9959 "BOOLEAN", HFILL
}},
9960 { &hf_mms_executionArgument
,
9961 { "executionArgument", "mms.executionArgument",
9962 FT_UINT32
, BASE_DEC
, VALS(mms_T_executionArgument_vals
), 0,
9964 { &hf_mms_simpleString
,
9965 { "simpleString", "mms.simpleString",
9966 FT_STRING
, BASE_NONE
, NULL
, 0,
9967 "VisibleString", HFILL
}},
9968 { &hf_mms_encodedString
,
9969 { "encodedString", "mms.encodedString_element",
9970 FT_NONE
, BASE_NONE
, NULL
, 0,
9971 "EXTERNALt", HFILL
}},
9972 { &hf_mms_executionArgument_01
,
9973 { "executionArgument", "mms.executionArgument",
9974 FT_UINT32
, BASE_DEC
, VALS(mms_T_executionArgument_01_vals
), 0,
9975 "T_executionArgument_01", HFILL
}},
9976 { &hf_mms_getProgramInvocationAttributes_Response_state
,
9977 { "state", "mms.getProgramInvocationAttributes-Response_state",
9978 FT_INT32
, BASE_DEC
, VALS(mms_ProgramInvocationState_vals
), 0,
9979 "ProgramInvocationState", HFILL
}},
9980 { &hf_mms_listOfDomainNames
,
9981 { "listOfDomainNames", "mms.listOfDomainNames",
9982 FT_UINT32
, BASE_DEC
, NULL
, 0,
9983 "SEQUENCE_OF_Identifier", HFILL
}},
9984 { &hf_mms_listOfDomainNames_item
,
9985 { "Identifier", "mms.Identifier",
9986 FT_STRING
, BASE_NONE
, NULL
, 0,
9989 { "monitor", "mms.monitor",
9990 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
9991 "BOOLEAN", HFILL
}},
9992 { &hf_mms_startArgument
,
9993 { "startArgument", "mms.startArgument",
9994 FT_STRING
, BASE_NONE
, NULL
, 0,
9995 "VisibleString", HFILL
}},
9996 { &hf_mms_executionArgument_02
,
9997 { "executionArgument", "mms.executionArgument",
9998 FT_UINT32
, BASE_DEC
, VALS(mms_T_executionArgument_02_vals
), 0,
9999 "T_executionArgument_02", HFILL
}},
10000 { &hf_mms_typeName
,
10001 { "typeName", "mms.typeName",
10002 FT_UINT32
, BASE_DEC
, VALS(mms_ObjectName_vals
), 0,
10003 "ObjectName", HFILL
}},
10005 { "array", "mms.array_element",
10006 FT_NONE
, BASE_NONE
, NULL
, 0,
10009 { "packed", "mms.packed",
10010 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
10011 "BOOLEAN", HFILL
}},
10012 { &hf_mms_numberOfElements
,
10013 { "numberOfElements", "mms.numberOfElements",
10014 FT_INT32
, BASE_DEC
, NULL
, 0,
10015 "Unsigned32", HFILL
}},
10016 { &hf_mms_elementType
,
10017 { "elementType", "mms.elementType",
10018 FT_UINT32
, BASE_DEC
, VALS(mms_TypeSpecification_vals
), 0,
10019 "TypeSpecification", HFILL
}},
10020 { &hf_mms_structure
,
10021 { "structure", "mms.structure_element",
10022 FT_NONE
, BASE_NONE
, NULL
, 0,
10024 { &hf_mms_components
,
10025 { "components", "mms.components",
10026 FT_UINT32
, BASE_DEC
, NULL
, 0,
10028 { &hf_mms_components_item
,
10029 { "components item", "mms.components_item_element",
10030 FT_NONE
, BASE_NONE
, NULL
, 0,
10032 { &hf_mms_componentName
,
10033 { "componentName", "mms.componentName",
10034 FT_STRING
, BASE_NONE
, NULL
, 0,
10035 "Identifier", HFILL
}},
10036 { &hf_mms_componentType
,
10037 { "componentType", "mms.componentType",
10038 FT_UINT32
, BASE_DEC
, VALS(mms_TypeSpecification_vals
), 0,
10039 "TypeSpecification", HFILL
}},
10041 { "boolean", "mms.boolean_element",
10042 FT_NONE
, BASE_NONE
, NULL
, 0,
10044 { &hf_mms_typeSpecification_bit_string
,
10045 { "bit-string", "mms.typeSpecification_bit-string",
10046 FT_INT32
, BASE_DEC
, NULL
, 0,
10047 "Integer32", HFILL
}},
10049 { "integer", "mms.integer",
10050 FT_INT32
, BASE_DEC
, NULL
, 0,
10051 "Unsigned8", HFILL
}},
10052 { &hf_mms_unsigned
,
10053 { "unsigned", "mms.unsigned",
10054 FT_INT32
, BASE_DEC
, NULL
, 0,
10055 "Unsigned8", HFILL
}},
10056 { &hf_mms_typeSpecification_octet_string
,
10057 { "octet-string", "mms.typeSpecification.octet-string",
10058 FT_INT32
, BASE_DEC
, NULL
, 0,
10059 "Integer32", HFILL
}},
10060 { &hf_mms_typeSpecification_visible_string
,
10061 { "visible-string", "mms.typeSpecification.visible-string",
10062 FT_INT32
, BASE_DEC
, NULL
, 0,
10063 "Integer32", HFILL
}},
10064 { &hf_mms_generalized_time
,
10065 { "generalized-time", "mms.generalized_time_element",
10066 FT_NONE
, BASE_NONE
, NULL
, 0,
10068 { &hf_mms_typeSpecification_binary_time
,
10069 { "binary-time", "mms.typeSpecification.binary-time",
10070 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
10071 "BOOLEAN", HFILL
}},
10073 { "bcd", "mms.bcd",
10074 FT_INT32
, BASE_DEC
, NULL
, 0,
10075 "Unsigned8", HFILL
}},
10077 { "objId", "mms.objId_element",
10078 FT_NONE
, BASE_NONE
, NULL
, 0,
10080 { &hf_mms_AlternateAccess_item
,
10081 { "AlternateAccess item", "mms.AlternateAccess_item",
10082 FT_UINT32
, BASE_DEC
, VALS(mms_AlternateAccess_item_vals
), 0,
10085 { "unnamed", "mms.unnamed",
10086 FT_UINT32
, BASE_DEC
, VALS(mms_AlternateAccessSelection_vals
), 0,
10087 "AlternateAccessSelection", HFILL
}},
10089 { "named", "mms.named_element",
10090 FT_NONE
, BASE_NONE
, NULL
, 0,
10093 { "accesst", "mms.accesst",
10094 FT_UINT32
, BASE_DEC
, VALS(mms_AlternateAccessSelection_vals
), 0,
10095 "AlternateAccessSelection", HFILL
}},
10096 { &hf_mms_selectAlternateAccess
,
10097 { "selectAlternateAccess", "mms.selectAlternateAccess_element",
10098 FT_NONE
, BASE_NONE
, NULL
, 0,
10100 { &hf_mms_accessSelection
,
10101 { "accessSelection", "mms.accessSelection",
10102 FT_UINT32
, BASE_DEC
, VALS(mms_T_accessSelection_vals
), 0,
10104 { &hf_mms_component
,
10105 { "component", "mms.component",
10106 FT_STRING
, BASE_NONE
, NULL
, 0,
10107 "Identifier", HFILL
}},
10109 { "index", "mms.index",
10110 FT_INT32
, BASE_DEC
, NULL
, 0,
10111 "Unsigned32", HFILL
}},
10112 { &hf_mms_indexRange
,
10113 { "indexRange", "mms.indexRange_element",
10114 FT_NONE
, BASE_NONE
, NULL
, 0,
10116 { &hf_mms_lowIndex
,
10117 { "lowIndex", "mms.lowIndex",
10118 FT_INT32
, BASE_DEC
, NULL
, 0,
10119 "Unsigned32", HFILL
}},
10120 { &hf_mms_allElements
,
10121 { "allElements", "mms.allElements_element",
10122 FT_NONE
, BASE_NONE
, NULL
, 0,
10124 { &hf_mms_alternateAccess
,
10125 { "alternateAccess", "mms.alternateAccess",
10126 FT_UINT32
, BASE_DEC
, NULL
, 0,
10128 { &hf_mms_selectAccess
,
10129 { "selectAccess", "mms.selectAccess",
10130 FT_UINT32
, BASE_DEC
, VALS(mms_T_selectAccess_vals
), 0,
10132 { &hf_mms_indexRange_01
,
10133 { "indexRange", "mms.indexRange_element",
10134 FT_NONE
, BASE_NONE
, NULL
, 0,
10135 "T_indexRange_01", HFILL
}},
10136 { &hf_mms_nmberOfElements
,
10137 { "nmberOfElements", "mms.nmberOfElements",
10138 FT_INT32
, BASE_DEC
, NULL
, 0,
10139 "Unsigned32", HFILL
}},
10140 { &hf_mms_specificationWithResult
,
10141 { "specificationWithResult", "mms.specificationWithResult",
10142 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
10143 "BOOLEAN", HFILL
}},
10144 { &hf_mms_variableAccessSpecificatn
,
10145 { "variableAccessSpecificatn", "mms.variableAccessSpecificatn",
10146 FT_UINT32
, BASE_DEC
, VALS(mms_VariableAccessSpecification_vals
), 0,
10147 "VariableAccessSpecification", HFILL
}},
10148 { &hf_mms_listOfAccessResult
,
10149 { "listOfAccessResult", "mms.listOfAccessResult",
10150 FT_UINT32
, BASE_DEC
, NULL
, 0,
10151 "SEQUENCE_OF_AccessResult", HFILL
}},
10152 { &hf_mms_listOfAccessResult_item
,
10153 { "AccessResult", "mms.AccessResult",
10154 FT_UINT32
, BASE_DEC
, VALS(mms_AccessResult_vals
), 0,
10156 { &hf_mms_listOfData
,
10157 { "listOfData", "mms.listOfData",
10158 FT_UINT32
, BASE_DEC
, NULL
, 0,
10160 { &hf_mms_listOfData_item
,
10161 { "Data", "mms.Data",
10162 FT_UINT32
, BASE_DEC
, VALS(mms_Data_vals
), 0,
10164 { &hf_mms_Write_Response_item
,
10165 { "Write-Response item", "mms.Write_Response_item",
10166 FT_UINT32
, BASE_DEC
, VALS(mms_Write_Response_item_vals
), 0,
10169 { "failure", "mms.failure",
10170 FT_INT32
, BASE_DEC
, VALS(mms_DataAccessError_vals
), 0,
10171 "DataAccessError", HFILL
}},
10173 { "success", "mms.success_element",
10174 FT_NONE
, BASE_NONE
, NULL
, 0,
10176 { &hf_mms_variableAccessSpecification
,
10177 { "variableAccessSpecification", "mms.variableAccessSpecification",
10178 FT_UINT32
, BASE_DEC
, VALS(mms_VariableAccessSpecification_vals
), 0,
10180 { &hf_mms_listOfAccessResult_01
,
10181 { "listOfAccessResult", "mms.listOfAccessResult",
10182 FT_UINT32
, BASE_DEC
, NULL
, 0,
10185 { "name", "mms.name",
10186 FT_UINT32
, BASE_DEC
, VALS(mms_ObjectName_vals
), 0,
10187 "ObjectName", HFILL
}},
10189 { "address", "mms.address",
10190 FT_UINT32
, BASE_DEC
, VALS(mms_Address_vals
), 0,
10192 { &hf_mms_typeSpecification
,
10193 { "typeSpecification", "mms.typeSpecification",
10194 FT_UINT32
, BASE_DEC
, VALS(mms_TypeSpecification_vals
), 0,
10196 { &hf_mms_variableName
,
10197 { "variableName", "mms.variableName",
10198 FT_UINT32
, BASE_DEC
, VALS(mms_ObjectName_vals
), 0,
10199 "ObjectName", HFILL
}},
10200 { &hf_mms_scatteredAccessName
,
10201 { "scatteredAccessName", "mms.scatteredAccessName",
10202 FT_UINT32
, BASE_DEC
, VALS(mms_ObjectName_vals
), 0,
10203 "ObjectName", HFILL
}},
10204 { &hf_mms_scatteredAccessDescription
,
10205 { "scatteredAccessDescription", "mms.scatteredAccessDescription",
10206 FT_UINT32
, BASE_DEC
, NULL
, 0,
10208 { &hf_mms_scopeOfDelete
,
10209 { "scopeOfDelete", "mms.scopeOfDelete",
10210 FT_INT32
, BASE_DEC
, VALS(mms_T_scopeOfDelete_vals
), 0,
10212 { &hf_mms_listOfName
,
10213 { "listOfName", "mms.listOfName",
10214 FT_UINT32
, BASE_DEC
, NULL
, 0,
10215 "SEQUENCE_OF_ObjectName", HFILL
}},
10216 { &hf_mms_listOfName_item
,
10217 { "ObjectName", "mms.ObjectName",
10218 FT_UINT32
, BASE_DEC
, VALS(mms_ObjectName_vals
), 0,
10220 { &hf_mms_numberMatched
,
10221 { "numberMatched", "mms.numberMatched",
10222 FT_INT32
, BASE_DEC
, NULL
, 0,
10223 "Unsigned32", HFILL
}},
10224 { &hf_mms_numberDeleted
,
10225 { "numberDeleted", "mms.numberDeleted",
10226 FT_INT32
, BASE_DEC
, NULL
, 0,
10227 "Unsigned32", HFILL
}},
10228 { &hf_mms_variableListName
,
10229 { "variableListName", "mms.variableListName",
10230 FT_UINT32
, BASE_DEC
, VALS(mms_ObjectName_vals
), 0,
10231 "ObjectName", HFILL
}},
10232 { &hf_mms_listOfVariable
,
10233 { "listOfVariable", "mms.listOfVariable",
10234 FT_UINT32
, BASE_DEC
, NULL
, 0,
10236 { &hf_mms_listOfVariable_item
,
10237 { "listOfVariable item", "mms.listOfVariable_item_element",
10238 FT_NONE
, BASE_NONE
, NULL
, 0,
10240 { &hf_mms_variableSpecification
,
10241 { "variableSpecification", "mms.variableSpecification",
10242 FT_UINT32
, BASE_DEC
, VALS(mms_VariableSpecification_vals
), 0,
10244 { &hf_mms_listOfVariable_01
,
10245 { "listOfVariable", "mms.listOfVariable",
10246 FT_UINT32
, BASE_DEC
, NULL
, 0,
10247 "T_listOfVariable_01", HFILL
}},
10248 { &hf_mms_listOfVariable_item_01
,
10249 { "listOfVariable item", "mms.listOfVariable_item_element",
10250 FT_NONE
, BASE_NONE
, NULL
, 0,
10251 "T_listOfVariable_item_01", HFILL
}},
10252 { &hf_mms_scopeOfDelete_01
,
10253 { "scopeOfDelete", "mms.scopeOfDelete",
10254 FT_INT32
, BASE_DEC
, VALS(mms_T_scopeOfDelete_01_vals
), 0,
10255 "T_scopeOfDelete_01", HFILL
}},
10256 { &hf_mms_listOfVariableListName
,
10257 { "listOfVariableListName", "mms.listOfVariableListName",
10258 FT_UINT32
, BASE_DEC
, NULL
, 0,
10259 "SEQUENCE_OF_ObjectName", HFILL
}},
10260 { &hf_mms_listOfVariableListName_item
,
10261 { "ObjectName", "mms.ObjectName",
10262 FT_UINT32
, BASE_DEC
, VALS(mms_ObjectName_vals
), 0,
10264 { &hf_mms_scopeOfDelete_02
,
10265 { "scopeOfDelete", "mms.scopeOfDelete",
10266 FT_INT32
, BASE_DEC
, VALS(mms_T_scopeOfDelete_02_vals
), 0,
10267 "T_scopeOfDelete_02", HFILL
}},
10268 { &hf_mms_listOfTypeName
,
10269 { "listOfTypeName", "mms.listOfTypeName",
10270 FT_UINT32
, BASE_DEC
, NULL
, 0,
10271 "SEQUENCE_OF_ObjectName", HFILL
}},
10272 { &hf_mms_listOfTypeName_item
,
10273 { "ObjectName", "mms.ObjectName",
10274 FT_UINT32
, BASE_DEC
, VALS(mms_ObjectName_vals
), 0,
10276 { &hf_mms_success_01
,
10277 { "success", "mms.success",
10278 FT_UINT32
, BASE_DEC
, VALS(mms_Data_vals
), 0,
10280 { &hf_mms_array_01
,
10281 { "array", "mms.array",
10282 FT_UINT32
, BASE_DEC
, NULL
, 0,
10283 "SEQUENCE_OF_Data", HFILL
}},
10284 { &hf_mms_array_item
,
10285 { "Data", "mms.Data",
10286 FT_UINT32
, BASE_DEC
, VALS(mms_Data_vals
), 0,
10288 { &hf_mms_structure_01
,
10289 { "structure", "mms.structure",
10290 FT_UINT32
, BASE_DEC
, NULL
, 0,
10291 "T_structure_01", HFILL
}},
10292 { &hf_mms_structure_item
,
10293 { "Data", "mms.Data",
10294 FT_UINT32
, BASE_DEC
, VALS(mms_Data_vals
), 0,
10296 { &hf_mms_boolean_01
,
10297 { "boolean", "mms.boolean",
10298 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
10300 { &hf_mms_data_bit_string
,
10301 { "bit-string", "mms.data_bit-string",
10302 FT_BYTES
, BASE_NONE
, NULL
, 0,
10303 "T_data_bit_string", HFILL
}},
10304 { &hf_mms_integer_01
,
10305 { "integer", "mms.integer",
10306 FT_INT32
, BASE_DEC
, NULL
, 0,
10308 { &hf_mms_unsigned_01
,
10309 { "unsigned", "mms.unsigned",
10310 FT_INT32
, BASE_DEC
, NULL
, 0,
10312 { &hf_mms_floating_point
,
10313 { "floating-point", "mms.floating_point",
10314 FT_BYTES
, BASE_NONE
, NULL
, 0,
10315 "FloatingPoint", HFILL
}},
10316 { &hf_mms_data_octet_string
,
10317 { "octet-string", "mms.data.octet-string",
10318 FT_BYTES
, BASE_NONE
, NULL
, 0,
10319 "T_data_octet_string", HFILL
}},
10320 { &hf_mms_data_visible_string
,
10321 { "visible-string", "mms.data.visible-string",
10322 FT_STRING
, BASE_NONE
, NULL
, 0,
10323 "T_data_visible_string", HFILL
}},
10324 { &hf_mms_data_binary_time
,
10325 { "binary-time", "mms.data.binary-time",
10326 FT_STRING
, BASE_NONE
, NULL
, 0,
10327 "T_data_binary_time", HFILL
}},
10329 { "bcd", "mms.bcd",
10330 FT_INT32
, BASE_DEC
, NULL
, 0,
10331 "INTEGER", HFILL
}},
10332 { &hf_mms_booleanArray
,
10333 { "booleanArray", "mms.booleanArray",
10334 FT_BYTES
, BASE_NONE
, NULL
, 0,
10335 "BIT_STRING", HFILL
}},
10336 { &hf_mms_objId_01
,
10337 { "objId", "mms.objId",
10338 FT_OID
, BASE_NONE
, NULL
, 0,
10339 "OBJECT_IDENTIFIER", HFILL
}},
10340 { &hf_mms_mMSString
,
10341 { "mMSString", "mms.mMSString",
10342 FT_STRING
, BASE_NONE
, NULL
, 0,
10344 { &hf_mms_utc_time
,
10345 { "utc-time", "mms.utc_time",
10346 FT_STRING
, BASE_NONE
, NULL
, 0,
10347 "UtcTime", HFILL
}},
10348 { &hf_mms_listOfVariable_02
,
10349 { "listOfVariable", "mms.listOfVariable",
10350 FT_UINT32
, BASE_DEC
, NULL
, 0,
10351 "T_listOfVariable_02", HFILL
}},
10352 { &hf_mms_listOfVariable_item_02
,
10353 { "listOfVariable item", "mms.listOfVariable_item_element",
10354 FT_NONE
, BASE_NONE
, NULL
, 0,
10355 "T_listOfVariable_item_02", HFILL
}},
10356 { &hf_mms_ScatteredAccessDescription_item
,
10357 { "ScatteredAccessDescription item", "mms.ScatteredAccessDescription_item_element",
10358 FT_NONE
, BASE_NONE
, NULL
, 0,
10360 { &hf_mms_variableDescription
,
10361 { "variableDescription", "mms.variableDescription_element",
10362 FT_NONE
, BASE_NONE
, NULL
, 0,
10364 { &hf_mms_invalidated
,
10365 { "invalidated", "mms.invalidated_element",
10366 FT_NONE
, BASE_NONE
, NULL
, 0,
10368 { &hf_mms_numericAddress
,
10369 { "numericAddress", "mms.numericAddress",
10370 FT_INT32
, BASE_DEC
, NULL
, 0,
10371 "Unsigned32", HFILL
}},
10372 { &hf_mms_symbolicAddress
,
10373 { "symbolicAddress", "mms.symbolicAddress",
10374 FT_STRING
, BASE_NONE
, NULL
, 0,
10375 "VisibleString", HFILL
}},
10376 { &hf_mms_unconstrainedAddress
,
10377 { "unconstrainedAddress", "mms.unconstrainedAddress",
10378 FT_BYTES
, BASE_NONE
, NULL
, 0,
10379 "OCTET_STRING", HFILL
}},
10380 { &hf_mms_semaphoreName
,
10381 { "semaphoreName", "mms.semaphoreName",
10382 FT_UINT32
, BASE_DEC
, VALS(mms_ObjectName_vals
), 0,
10383 "ObjectName", HFILL
}},
10384 { &hf_mms_namedToken
,
10385 { "namedToken", "mms.namedToken",
10386 FT_STRING
, BASE_NONE
, NULL
, 0,
10387 "Identifier", HFILL
}},
10388 { &hf_mms_priority
,
10389 { "priority", "mms.priority",
10390 FT_INT32
, BASE_DEC
, NULL
, 0,
10392 { &hf_mms_acceptableDelay
,
10393 { "acceptableDelay", "mms.acceptableDelay",
10394 FT_INT32
, BASE_DEC
, NULL
, 0,
10395 "Unsigned32", HFILL
}},
10396 { &hf_mms_controlTimeOut
,
10397 { "controlTimeOut", "mms.controlTimeOut",
10398 FT_INT32
, BASE_DEC
, NULL
, 0,
10399 "Unsigned32", HFILL
}},
10400 { &hf_mms_abortOnTimeOut
,
10401 { "abortOnTimeOut", "mms.abortOnTimeOut",
10402 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
10403 "BOOLEAN", HFILL
}},
10404 { &hf_mms_relinquishIfConnectionLost
,
10405 { "relinquishIfConnectionLost", "mms.relinquishIfConnectionLost",
10406 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
10407 "BOOLEAN", HFILL
}},
10408 { &hf_mms_applicationToPreempt
,
10409 { "applicationToPreempt", "mms.applicationToPreempt_element",
10410 FT_NONE
, BASE_NONE
, NULL
, 0,
10411 "ApplicationReference", HFILL
}},
10412 { &hf_mms_noResult
,
10413 { "noResult", "mms.noResult_element",
10414 FT_NONE
, BASE_NONE
, NULL
, 0,
10416 { &hf_mms_numbersOfTokens
,
10417 { "numbersOfTokens", "mms.numbersOfTokens",
10418 FT_INT32
, BASE_DEC
, NULL
, 0,
10419 "Unsigned16", HFILL
}},
10421 { "class", "mms.class",
10422 FT_INT32
, BASE_DEC
, VALS(mms_T_class_vals
), 0,
10424 { &hf_mms_numberOfTokens
,
10425 { "numberOfTokens", "mms.numberOfTokens",
10426 FT_INT32
, BASE_DEC
, NULL
, 0,
10427 "Unsigned16", HFILL
}},
10428 { &hf_mms_numberOfOwnedTokens
,
10429 { "numberOfOwnedTokens", "mms.numberOfOwnedTokens",
10430 FT_INT32
, BASE_DEC
, NULL
, 0,
10431 "Unsigned16", HFILL
}},
10432 { &hf_mms_numberOfHungTokens
,
10433 { "numberOfHungTokens", "mms.numberOfHungTokens",
10434 FT_INT32
, BASE_DEC
, NULL
, 0,
10435 "Unsigned16", HFILL
}},
10436 { &hf_mms_nameToStartAfter
,
10437 { "nameToStartAfter", "mms.nameToStartAfter",
10438 FT_STRING
, BASE_NONE
, NULL
, 0,
10439 "Identifier", HFILL
}},
10440 { &hf_mms_listOfNamedTokens
,
10441 { "listOfNamedTokens", "mms.listOfNamedTokens",
10442 FT_UINT32
, BASE_DEC
, NULL
, 0,
10444 { &hf_mms_listOfNamedTokens_item
,
10445 { "listOfNamedTokens item", "mms.listOfNamedTokens_item",
10446 FT_UINT32
, BASE_DEC
, VALS(mms_T_listOfNamedTokens_item_vals
), 0,
10448 { &hf_mms_freeNamedToken
,
10449 { "freeNamedToken", "mms.freeNamedToken",
10450 FT_STRING
, BASE_NONE
, NULL
, 0,
10451 "Identifier", HFILL
}},
10452 { &hf_mms_ownedNamedToken
,
10453 { "ownedNamedToken", "mms.ownedNamedToken",
10454 FT_STRING
, BASE_NONE
, NULL
, 0,
10455 "Identifier", HFILL
}},
10456 { &hf_mms_hungNamedToken
,
10457 { "hungNamedToken", "mms.hungNamedToken",
10458 FT_STRING
, BASE_NONE
, NULL
, 0,
10459 "Identifier", HFILL
}},
10460 { &hf_mms_reportSemaphoreEntryStatus_Request_state
,
10461 { "state", "mms.reportSemaphoreEntryStatus-Request_state",
10462 FT_INT32
, BASE_DEC
, VALS(mms_T_reportSemaphoreEntryStatus_Request_state_vals
), 0,
10463 "T_reportSemaphoreEntryStatus_Request_state", HFILL
}},
10464 { &hf_mms_entryIdToStartAfter
,
10465 { "entryIdToStartAfter", "mms.entryIdToStartAfter",
10466 FT_BYTES
, BASE_NONE
, NULL
, 0,
10467 "OCTET_STRING", HFILL
}},
10468 { &hf_mms_listOfSemaphoreEntry
,
10469 { "listOfSemaphoreEntry", "mms.listOfSemaphoreEntry",
10470 FT_UINT32
, BASE_DEC
, NULL
, 0,
10471 "SEQUENCE_OF_SemaphoreEntry", HFILL
}},
10472 { &hf_mms_listOfSemaphoreEntry_item
,
10473 { "SemaphoreEntry", "mms.SemaphoreEntry_element",
10474 FT_NONE
, BASE_NONE
, NULL
, 0,
10477 { "entryId", "mms.entryId",
10478 FT_BYTES
, BASE_NONE
, NULL
, 0,
10479 "OCTET_STRING", HFILL
}},
10480 { &hf_mms_entryClass
,
10481 { "entryClass", "mms.entryClass",
10482 FT_INT32
, BASE_DEC
, VALS(mms_T_entryClass_vals
), 0,
10484 { &hf_mms_applicationReference
,
10485 { "applicationReference", "mms.applicationReference_element",
10486 FT_NONE
, BASE_NONE
, NULL
, 0,
10488 { &hf_mms_remainingTimeOut
,
10489 { "remainingTimeOut", "mms.remainingTimeOut",
10490 FT_INT32
, BASE_DEC
, NULL
, 0,
10491 "Unsigned32", HFILL
}},
10492 { &hf_mms_operatorStationName
,
10493 { "operatorStationName", "mms.operatorStationName",
10494 FT_STRING
, BASE_NONE
, NULL
, 0,
10495 "Identifier", HFILL
}},
10497 { "echo", "mms.echo",
10498 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
10499 "BOOLEAN", HFILL
}},
10500 { &hf_mms_listOfPromptData
,
10501 { "listOfPromptData", "mms.listOfPromptData",
10502 FT_UINT32
, BASE_DEC
, NULL
, 0,
10504 { &hf_mms_listOfPromptData_item
,
10505 { "listOfPromptData item", "mms.listOfPromptData_item",
10506 FT_STRING
, BASE_NONE
, NULL
, 0,
10507 "VisibleString", HFILL
}},
10508 { &hf_mms_inputTimeOut
,
10509 { "inputTimeOut", "mms.inputTimeOut",
10510 FT_INT32
, BASE_DEC
, NULL
, 0,
10511 "Unsigned32", HFILL
}},
10512 { &hf_mms_listOfOutputData
,
10513 { "listOfOutputData", "mms.listOfOutputData",
10514 FT_UINT32
, BASE_DEC
, NULL
, 0,
10516 { &hf_mms_listOfOutputData_item
,
10517 { "listOfOutputData item", "mms.listOfOutputData_item",
10518 FT_STRING
, BASE_NONE
, NULL
, 0,
10519 "VisibleString", HFILL
}},
10520 { &hf_mms_eventConditionName
,
10521 { "eventConditionName", "mms.eventConditionName",
10522 FT_UINT32
, BASE_DEC
, VALS(mms_ObjectName_vals
), 0,
10523 "ObjectName", HFILL
}},
10524 { &hf_mms_class_01
,
10525 { "class", "mms.class",
10526 FT_INT32
, BASE_DEC
, VALS(mms_EC_Class_vals
), 0,
10527 "EC_Class", HFILL
}},
10528 { &hf_mms_prio_rity
,
10529 { "prio-rity", "mms.prio_rity",
10530 FT_INT32
, BASE_DEC
, NULL
, 0,
10531 "Priority", HFILL
}},
10532 { &hf_mms_severity
,
10533 { "severity", "mms.severity",
10534 FT_INT32
, BASE_DEC
, NULL
, 0,
10535 "Unsigned8", HFILL
}},
10536 { &hf_mms_alarmSummaryReports
,
10537 { "alarmSummaryReports", "mms.alarmSummaryReports",
10538 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
10539 "BOOLEAN", HFILL
}},
10540 { &hf_mms_monitoredVariable
,
10541 { "monitoredVariable", "mms.monitoredVariable",
10542 FT_UINT32
, BASE_DEC
, VALS(mms_VariableSpecification_vals
), 0,
10543 "VariableSpecification", HFILL
}},
10544 { &hf_mms_evaluationInterval
,
10545 { "evaluationInterval", "mms.evaluationInterval",
10546 FT_INT32
, BASE_DEC
, NULL
, 0,
10547 "Unsigned32", HFILL
}},
10548 { &hf_mms_specific
,
10549 { "specific", "mms.specific",
10550 FT_UINT32
, BASE_DEC
, NULL
, 0,
10551 "SEQUENCE_OF_ObjectName", HFILL
}},
10552 { &hf_mms_specific_item
,
10553 { "ObjectName", "mms.ObjectName",
10554 FT_UINT32
, BASE_DEC
, VALS(mms_ObjectName_vals
), 0,
10556 { &hf_mms_aa_specific_01
,
10557 { "aa-specific", "mms.aa_specific_element",
10558 FT_NONE
, BASE_NONE
, NULL
, 0,
10561 { "vmd", "mms.vmd_element",
10562 FT_NONE
, BASE_NONE
, NULL
, 0,
10564 { &hf_mms_monitoredVariable_01
,
10565 { "monitoredVariable", "mms.monitoredVariable",
10566 FT_UINT32
, BASE_DEC
, VALS(mms_T_monitoredVariable_vals
), 0,
10568 { &hf_mms_variableReference
,
10569 { "variableReference", "mms.variableReference",
10570 FT_UINT32
, BASE_DEC
, VALS(mms_VariableSpecification_vals
), 0,
10571 "VariableSpecification", HFILL
}},
10572 { &hf_mms_undefined
,
10573 { "undefined", "mms.undefined_element",
10574 FT_NONE
, BASE_NONE
, NULL
, 0,
10576 { &hf_mms_currentState
,
10577 { "currentState", "mms.currentState",
10578 FT_INT32
, BASE_DEC
, VALS(mms_EC_State_vals
), 0,
10579 "EC_State", HFILL
}},
10580 { &hf_mms_numberOfEventEnrollments
,
10581 { "numberOfEventEnrollments", "mms.numberOfEventEnrollments",
10582 FT_INT32
, BASE_DEC
, NULL
, 0,
10583 "Unsigned32", HFILL
}},
10585 { "enabled", "mms.enabled",
10586 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
10587 "BOOLEAN", HFILL
}},
10588 { &hf_mms_timeOfLastTransitionToActive
,
10589 { "timeOfLastTransitionToActive", "mms.timeOfLastTransitionToActive",
10590 FT_UINT32
, BASE_DEC
, VALS(mms_EventTime_vals
), 0,
10591 "EventTime", HFILL
}},
10592 { &hf_mms_timeOfLastTransitionToIdle
,
10593 { "timeOfLastTransitionToIdle", "mms.timeOfLastTransitionToIdle",
10594 FT_UINT32
, BASE_DEC
, VALS(mms_EventTime_vals
), 0,
10595 "EventTime", HFILL
}},
10596 { &hf_mms_eventActionName
,
10597 { "eventActionName", "mms.eventActionName",
10598 FT_UINT32
, BASE_DEC
, VALS(mms_ObjectName_vals
), 0,
10599 "ObjectName", HFILL
}},
10600 { &hf_mms_eventEnrollmentName
,
10601 { "eventEnrollmentName", "mms.eventEnrollmentName",
10602 FT_UINT32
, BASE_DEC
, VALS(mms_ObjectName_vals
), 0,
10603 "ObjectName", HFILL
}},
10604 { &hf_mms_eventConditionTransition
,
10605 { "eventConditionTransition", "mms.eventConditionTransition",
10606 FT_BYTES
, BASE_NONE
, NULL
, 0,
10607 "Transitions", HFILL
}},
10608 { &hf_mms_alarmAcknowledgementRule
,
10609 { "alarmAcknowledgementRule", "mms.alarmAcknowledgementRule",
10610 FT_INT32
, BASE_DEC
, VALS(mms_AlarmAckRule_vals
), 0,
10611 "AlarmAckRule", HFILL
}},
10612 { &hf_mms_clientApplication
,
10613 { "clientApplication", "mms.clientApplication_element",
10614 FT_NONE
, BASE_NONE
, NULL
, 0,
10615 "ApplicationReference", HFILL
}},
10618 FT_UINT32
, BASE_DEC
, VALS(mms_ObjectName_vals
), 0,
10619 "ObjectName", HFILL
}},
10622 FT_UINT32
, BASE_DEC
, VALS(mms_ObjectName_vals
), 0,
10623 "ObjectName", HFILL
}},
10624 { &hf_mms_scopeOfRequest
,
10625 { "scopeOfRequest", "mms.scopeOfRequest",
10626 FT_INT32
, BASE_DEC
, VALS(mms_T_scopeOfRequest_vals
), 0,
10628 { &hf_mms_eventEnrollmentNames
,
10629 { "eventEnrollmentNames", "mms.eventEnrollmentNames",
10630 FT_UINT32
, BASE_DEC
, NULL
, 0,
10631 "SEQUENCE_OF_ObjectName", HFILL
}},
10632 { &hf_mms_eventEnrollmentNames_item
,
10633 { "ObjectName", "mms.ObjectName",
10634 FT_UINT32
, BASE_DEC
, VALS(mms_ObjectName_vals
), 0,
10636 { &hf_mms_getEventEnrollmentAttributes_Request_continueAfter
,
10637 { "continueAfter", "mms.getEventEnrollmentAttributes-Request_continueAfter",
10638 FT_UINT32
, BASE_DEC
, VALS(mms_ObjectName_vals
), 0,
10639 "ObjectName", HFILL
}},
10640 { &hf_mms_eventConditionName_01
,
10641 { "eventConditionName", "mms.eventConditionName",
10642 FT_UINT32
, BASE_DEC
, VALS(mms_T_eventConditionName_vals
), 0,
10644 { &hf_mms_eventActionName_01
,
10645 { "eventActionName", "mms.eventActionName",
10646 FT_UINT32
, BASE_DEC
, VALS(mms_T_eventActionName_vals
), 0,
10648 { &hf_mms_eventAction
,
10649 { "eventAction", "mms.eventAction",
10650 FT_UINT32
, BASE_DEC
, VALS(mms_ObjectName_vals
), 0,
10651 "ObjectName", HFILL
}},
10652 { &hf_mms_enrollmentClass
,
10653 { "enrollmentClass", "mms.enrollmentClass",
10654 FT_INT32
, BASE_DEC
, VALS(mms_EE_Class_vals
), 0,
10655 "EE_Class", HFILL
}},
10656 { &hf_mms_duration
,
10657 { "duration", "mms.duration",
10658 FT_INT32
, BASE_DEC
, VALS(mms_EE_Duration_vals
), 0,
10659 "EE_Duration", HFILL
}},
10660 { &hf_mms_remainingAcceptableDelay
,
10661 { "remainingAcceptableDelay", "mms.remainingAcceptableDelay",
10662 FT_INT32
, BASE_DEC
, NULL
, 0,
10663 "Unsigned32", HFILL
}},
10664 { &hf_mms_listOfEventEnrollment
,
10665 { "listOfEventEnrollment", "mms.listOfEventEnrollment",
10666 FT_UINT32
, BASE_DEC
, NULL
, 0,
10667 "SEQUENCE_OF_EventEnrollment", HFILL
}},
10668 { &hf_mms_listOfEventEnrollment_item
,
10669 { "EventEnrollment", "mms.EventEnrollment_element",
10670 FT_NONE
, BASE_NONE
, NULL
, 0,
10672 { &hf_mms_eventConditionTransitions
,
10673 { "eventConditionTransitions", "mms.eventConditionTransitions",
10674 FT_BYTES
, BASE_NONE
, NULL
, 0,
10675 "Transitions", HFILL
}},
10676 { &hf_mms_notificationLost
,
10677 { "notificationLost", "mms.notificationLost",
10678 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
10679 "BOOLEAN", HFILL
}},
10680 { &hf_mms_alarmAcknowledgmentRule
,
10681 { "alarmAcknowledgmentRule", "mms.alarmAcknowledgmentRule",
10682 FT_INT32
, BASE_DEC
, VALS(mms_AlarmAckRule_vals
), 0,
10683 "AlarmAckRule", HFILL
}},
10684 { &hf_mms_currentState_01
,
10685 { "currentState", "mms.currentState",
10686 FT_INT32
, BASE_DEC
, VALS(mms_EE_State_vals
), 0,
10687 "EE_State", HFILL
}},
10688 { &hf_mms_currentState_02
,
10689 { "currentState", "mms.currentState",
10690 FT_UINT32
, BASE_DEC
, VALS(mms_T_currentState_vals
), 0,
10692 { &hf_mms_alterEventEnrollment_Response_currentState_state
,
10693 { "state", "mms.alterEventEnrollment-Response_currentState_state",
10694 FT_INT32
, BASE_DEC
, VALS(mms_EE_State_vals
), 0,
10695 "EE_State", HFILL
}},
10696 { &hf_mms_transitionTime
,
10697 { "transitionTime", "mms.transitionTime",
10698 FT_UINT32
, BASE_DEC
, VALS(mms_EventTime_vals
), 0,
10699 "EventTime", HFILL
}},
10700 { &hf_mms_acknowledgedState
,
10701 { "acknowledgedState", "mms.acknowledgedState",
10702 FT_INT32
, BASE_DEC
, VALS(mms_EC_State_vals
), 0,
10703 "EC_State", HFILL
}},
10704 { &hf_mms_timeOfAcknowledgedTransition
,
10705 { "timeOfAcknowledgedTransition", "mms.timeOfAcknowledgedTransition",
10706 FT_UINT32
, BASE_DEC
, VALS(mms_EventTime_vals
), 0,
10707 "EventTime", HFILL
}},
10708 { &hf_mms_enrollmentsOnly
,
10709 { "enrollmentsOnly", "mms.enrollmentsOnly",
10710 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
10711 "BOOLEAN", HFILL
}},
10712 { &hf_mms_activeAlarmsOnly
,
10713 { "activeAlarmsOnly", "mms.activeAlarmsOnly",
10714 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
10715 "BOOLEAN", HFILL
}},
10716 { &hf_mms_acknowledgmentFilter
,
10717 { "acknowledgmentFilter", "mms.acknowledgmentFilter",
10718 FT_INT32
, BASE_DEC
, VALS(mms_T_acknowledgmentFilter_vals
), 0,
10720 { &hf_mms_severityFilter
,
10721 { "severityFilter", "mms.severityFilter_element",
10722 FT_NONE
, BASE_NONE
, NULL
, 0,
10724 { &hf_mms_mostSevere
,
10725 { "mostSevere", "mms.mostSevere",
10726 FT_INT32
, BASE_DEC
, NULL
, 0,
10727 "Unsigned8", HFILL
}},
10728 { &hf_mms_leastSevere
,
10729 { "leastSevere", "mms.leastSevere",
10730 FT_INT32
, BASE_DEC
, NULL
, 0,
10731 "Unsigned8", HFILL
}},
10732 { &hf_mms_continueAfter
,
10733 { "continueAfter", "mms.continueAfter",
10734 FT_UINT32
, BASE_DEC
, VALS(mms_ObjectName_vals
), 0,
10735 "ObjectName", HFILL
}},
10736 { &hf_mms_listOfAlarmSummary
,
10737 { "listOfAlarmSummary", "mms.listOfAlarmSummary",
10738 FT_UINT32
, BASE_DEC
, NULL
, 0,
10739 "SEQUENCE_OF_AlarmSummary", HFILL
}},
10740 { &hf_mms_listOfAlarmSummary_item
,
10741 { "AlarmSummary", "mms.AlarmSummary_element",
10742 FT_NONE
, BASE_NONE
, NULL
, 0,
10744 { &hf_mms_unacknowledgedState
,
10745 { "unacknowledgedState", "mms.unacknowledgedState",
10746 FT_INT32
, BASE_DEC
, VALS(mms_T_unacknowledgedState_vals
), 0,
10748 { &hf_mms_acknowledgmentFilter_01
,
10749 { "acknowledgmentFilter", "mms.acknowledgmentFilter",
10750 FT_INT32
, BASE_DEC
, VALS(mms_T_acknowledgmentFilter_01_vals
), 0,
10751 "T_acknowledgmentFilter_01", HFILL
}},
10752 { &hf_mms_severityFilter_01
,
10753 { "severityFilter", "mms.severityFilter_element",
10754 FT_NONE
, BASE_NONE
, NULL
, 0,
10755 "T_severityFilter_01", HFILL
}},
10756 { &hf_mms_getAlarmEnrollmentSummary_Request_continueAfter
,
10757 { "continueAfter", "mms.getAlarmEnrollmentSummary-Request_continueAfter",
10758 FT_UINT32
, BASE_DEC
, VALS(mms_ObjectName_vals
), 0,
10759 "ObjectName", HFILL
}},
10760 { &hf_mms_listOfAlarmEnrollmentSummary
,
10761 { "listOfAlarmEnrollmentSummary", "mms.listOfAlarmEnrollmentSummary",
10762 FT_UINT32
, BASE_DEC
, NULL
, 0,
10763 "SEQUENCE_OF_AlarmEnrollmentSummary", HFILL
}},
10764 { &hf_mms_listOfAlarmEnrollmentSummary_item
,
10765 { "AlarmEnrollmentSummary", "mms.AlarmEnrollmentSummary_element",
10766 FT_NONE
, BASE_NONE
, NULL
, 0,
10768 { &hf_mms_enrollementState
,
10769 { "enrollementState", "mms.enrollementState",
10770 FT_INT32
, BASE_DEC
, VALS(mms_EE_State_vals
), 0,
10771 "EE_State", HFILL
}},
10772 { &hf_mms_timeActiveAcknowledged
,
10773 { "timeActiveAcknowledged", "mms.timeActiveAcknowledged",
10774 FT_UINT32
, BASE_DEC
, VALS(mms_EventTime_vals
), 0,
10775 "EventTime", HFILL
}},
10776 { &hf_mms_timeIdleAcknowledged
,
10777 { "timeIdleAcknowledged", "mms.timeIdleAcknowledged",
10778 FT_UINT32
, BASE_DEC
, VALS(mms_EventTime_vals
), 0,
10779 "EventTime", HFILL
}},
10780 { &hf_mms_eventConditionName_02
,
10781 { "eventConditionName", "mms.eventConditionName",
10782 FT_UINT32
, BASE_DEC
, VALS(mms_T_eventConditionName_01_vals
), 0,
10783 "T_eventConditionName_01", HFILL
}},
10784 { &hf_mms_actionResult
,
10785 { "actionResult", "mms.actionResult_element",
10786 FT_NONE
, BASE_NONE
, NULL
, 0,
10788 { &hf_mms_eventActioName
,
10789 { "eventActioName", "mms.eventActioName",
10790 FT_UINT32
, BASE_DEC
, VALS(mms_ObjectName_vals
), 0,
10791 "ObjectName", HFILL
}},
10792 { &hf_mms_eventActionResult
,
10793 { "eventActionResult", "mms.eventActionResult",
10794 FT_UINT32
, BASE_DEC
, VALS(mms_T_eventActionResult_vals
), 0,
10796 { &hf_mms_success_02
,
10797 { "success", "mms.success",
10798 FT_UINT32
, BASE_DEC
, VALS(mms_ConfirmedServiceResponse_vals
), 0,
10799 "ConfirmedServiceResponse", HFILL
}},
10800 { &hf_mms_failure_01
,
10801 { "failure", "mms.failure_element",
10802 FT_NONE
, BASE_NONE
, NULL
, 0,
10803 "ServiceError", HFILL
}},
10804 { &hf_mms_causingTransitions
,
10805 { "causingTransitions", "mms.causingTransitions",
10806 FT_BYTES
, BASE_NONE
, NULL
, 0,
10807 "Transitions", HFILL
}},
10808 { &hf_mms_timeOfDayT
,
10809 { "timeOfDayT", "mms.timeOfDayT",
10810 FT_STRING
, BASE_NONE
, NULL
, 0,
10811 "TimeOfDay", HFILL
}},
10812 { &hf_mms_timeSequenceIdentifier
,
10813 { "timeSequenceIdentifier", "mms.timeSequenceIdentifier",
10814 FT_INT32
, BASE_DEC
, NULL
, 0,
10815 "Unsigned32", HFILL
}},
10816 { &hf_mms_journalName
,
10817 { "journalName", "mms.journalName",
10818 FT_UINT32
, BASE_DEC
, VALS(mms_ObjectName_vals
), 0,
10819 "ObjectName", HFILL
}},
10820 { &hf_mms_rangeStartSpecification
,
10821 { "rangeStartSpecification", "mms.rangeStartSpecification",
10822 FT_UINT32
, BASE_DEC
, VALS(mms_T_rangeStartSpecification_vals
), 0,
10824 { &hf_mms_startingTime
,
10825 { "startingTime", "mms.startingTime",
10826 FT_STRING
, BASE_NONE
, NULL
, 0,
10827 "TimeOfDay", HFILL
}},
10828 { &hf_mms_startingEntry
,
10829 { "startingEntry", "mms.startingEntry",
10830 FT_BYTES
, BASE_NONE
, NULL
, 0,
10831 "OCTET_STRING", HFILL
}},
10832 { &hf_mms_rangeStopSpecification
,
10833 { "rangeStopSpecification", "mms.rangeStopSpecification",
10834 FT_UINT32
, BASE_DEC
, VALS(mms_T_rangeStopSpecification_vals
), 0,
10836 { &hf_mms_endingTime
,
10837 { "endingTime", "mms.endingTime",
10838 FT_STRING
, BASE_NONE
, NULL
, 0,
10839 "TimeOfDay", HFILL
}},
10840 { &hf_mms_numberOfEntries
,
10841 { "numberOfEntries", "mms.numberOfEntries",
10842 FT_INT32
, BASE_DEC
, NULL
, 0,
10843 "Integer32", HFILL
}},
10844 { &hf_mms_listOfVariables
,
10845 { "listOfVariables", "mms.listOfVariables",
10846 FT_UINT32
, BASE_DEC
, NULL
, 0,
10848 { &hf_mms_listOfVariables_item
,
10849 { "listOfVariables item", "mms.listOfVariables_item",
10850 FT_STRING
, BASE_NONE
, NULL
, 0,
10851 "VisibleString", HFILL
}},
10852 { &hf_mms_entryToStartAfter
,
10853 { "entryToStartAfter", "mms.entryToStartAfter_element",
10854 FT_NONE
, BASE_NONE
, NULL
, 0,
10856 { &hf_mms_timeSpecification
,
10857 { "timeSpecification", "mms.timeSpecification",
10858 FT_STRING
, BASE_NONE
, NULL
, 0,
10859 "TimeOfDay", HFILL
}},
10860 { &hf_mms_entrySpecification
,
10861 { "entrySpecification", "mms.entrySpecification",
10862 FT_BYTES
, BASE_NONE
, NULL
, 0,
10863 "OCTET_STRING", HFILL
}},
10864 { &hf_mms_listOfJournalEntry
,
10865 { "listOfJournalEntry", "mms.listOfJournalEntry",
10866 FT_UINT32
, BASE_DEC
, NULL
, 0,
10867 "SEQUENCE_OF_JournalEntry", HFILL
}},
10868 { &hf_mms_listOfJournalEntry_item
,
10869 { "JournalEntry", "mms.JournalEntry_element",
10870 FT_NONE
, BASE_NONE
, NULL
, 0,
10872 { &hf_mms_entryIdentifier
,
10873 { "entryIdentifier", "mms.entryIdentifier",
10874 FT_BYTES
, BASE_NONE
, NULL
, 0,
10875 "OCTET_STRING", HFILL
}},
10876 { &hf_mms_originatingApplication
,
10877 { "originatingApplication", "mms.originatingApplication_element",
10878 FT_NONE
, BASE_NONE
, NULL
, 0,
10879 "ApplicationReference", HFILL
}},
10880 { &hf_mms_entryContent
,
10881 { "entryContent", "mms.entryContent_element",
10882 FT_NONE
, BASE_NONE
, NULL
, 0,
10884 { &hf_mms_listOfJournalEntry_01
,
10885 { "listOfJournalEntry", "mms.listOfJournalEntry",
10886 FT_UINT32
, BASE_DEC
, NULL
, 0,
10887 "SEQUENCE_OF_EntryContent", HFILL
}},
10888 { &hf_mms_listOfJournalEntry_item_01
,
10889 { "EntryContent", "mms.EntryContent_element",
10890 FT_NONE
, BASE_NONE
, NULL
, 0,
10892 { &hf_mms_limitSpecification
,
10893 { "limitSpecification", "mms.limitSpecification_element",
10894 FT_NONE
, BASE_NONE
, NULL
, 0,
10896 { &hf_mms_limitingTime
,
10897 { "limitingTime", "mms.limitingTime",
10898 FT_STRING
, BASE_NONE
, NULL
, 0,
10899 "TimeOfDay", HFILL
}},
10900 { &hf_mms_limitingEntry
,
10901 { "limitingEntry", "mms.limitingEntry",
10902 FT_BYTES
, BASE_NONE
, NULL
, 0,
10903 "OCTET_STRING", HFILL
}},
10904 { &hf_mms_currentEntries
,
10905 { "currentEntries", "mms.currentEntries",
10906 FT_INT32
, BASE_DEC
, NULL
, 0,
10907 "Unsigned32", HFILL
}},
10908 { &hf_mms_occurenceTime
,
10909 { "occurenceTime", "mms.occurenceTime",
10910 FT_STRING
, BASE_NONE
, NULL
, 0,
10911 "TimeOfDay", HFILL
}},
10912 { &hf_mms_additionalDetail
,
10913 { "additionalDetail", "mms.additionalDetail_element",
10914 FT_NONE
, BASE_NONE
, NULL
, 0,
10915 "JOU_Additional_Detail", HFILL
}},
10916 { &hf_mms_entryForm
,
10917 { "entryForm", "mms.entryForm",
10918 FT_UINT32
, BASE_DEC
, VALS(mms_T_entryForm_vals
), 0,
10921 { "data", "mms.data_element",
10922 FT_NONE
, BASE_NONE
, NULL
, 0,
10925 { "event", "mms.event_element",
10926 FT_NONE
, BASE_NONE
, NULL
, 0,
10928 { &hf_mms_listOfVariables_01
,
10929 { "listOfVariables", "mms.listOfVariables",
10930 FT_UINT32
, BASE_DEC
, NULL
, 0,
10931 "T_listOfVariables_01", HFILL
}},
10932 { &hf_mms_listOfVariables_item_01
,
10933 { "listOfVariables item", "mms.listOfVariables_item_element",
10934 FT_NONE
, BASE_NONE
, NULL
, 0,
10936 { &hf_mms_variableTag
,
10937 { "variableTag", "mms.variableTag",
10938 FT_STRING
, BASE_NONE
, NULL
, 0,
10939 "VisibleString", HFILL
}},
10940 { &hf_mms_valueSpecification
,
10941 { "valueSpecification", "mms.valueSpecification",
10942 FT_UINT32
, BASE_DEC
, VALS(mms_Data_vals
), 0,
10944 { &hf_mms_annotation
,
10945 { "annotation", "mms.annotation",
10946 FT_STRING
, BASE_NONE
, NULL
, 0,
10947 "VisibleString", HFILL
}},
10948 { &hf_mms_sourceFileServer
,
10949 { "sourceFileServer", "mms.sourceFileServer_element",
10950 FT_NONE
, BASE_NONE
, NULL
, 0,
10951 "ApplicationReference", HFILL
}},
10952 { &hf_mms_sourceFile
,
10953 { "sourceFile", "mms.sourceFile",
10954 FT_UINT32
, BASE_DEC
, NULL
, 0,
10955 "FileName", HFILL
}},
10956 { &hf_mms_destinationFile
,
10957 { "destinationFile", "mms.destinationFile",
10958 FT_UINT32
, BASE_DEC
, NULL
, 0,
10959 "FileName", HFILL
}},
10960 { &hf_mms_initialPosition
,
10961 { "initialPosition", "mms.initialPosition",
10962 FT_INT32
, BASE_DEC
, NULL
, 0,
10963 "Unsigned32", HFILL
}},
10965 { "frsmID", "mms.frsmID",
10966 FT_INT32
, BASE_DEC
, NULL
, 0,
10967 "Integer32", HFILL
}},
10968 { &hf_mms_fileAttributes
,
10969 { "fileAttributes", "mms.fileAttributes_element",
10970 FT_NONE
, BASE_NONE
, NULL
, 0,
10972 { &hf_mms_fileData
,
10973 { "fileData", "mms.fileData",
10974 FT_BYTES
, BASE_NONE
, NULL
, 0,
10975 "OCTET_STRING", HFILL
}},
10976 { &hf_mms_currentFileName
,
10977 { "currentFileName", "mms.currentFileName",
10978 FT_UINT32
, BASE_DEC
, NULL
, 0,
10979 "FileName", HFILL
}},
10980 { &hf_mms_newFileName
,
10981 { "newFileName", "mms.newFileName",
10982 FT_UINT32
, BASE_DEC
, NULL
, 0,
10983 "FileName", HFILL
}},
10984 { &hf_mms_fileSpecification
,
10985 { "fileSpecification", "mms.fileSpecification",
10986 FT_UINT32
, BASE_DEC
, NULL
, 0,
10987 "FileName", HFILL
}},
10988 { &hf_mms_fileDirectory_Request_continueAfter
,
10989 { "continueAfter", "mms.fileDirectory-Request_continueAfter",
10990 FT_UINT32
, BASE_DEC
, NULL
, 0,
10991 "FileName", HFILL
}},
10992 { &hf_mms_listOfDirectoryEntry
,
10993 { "listOfDirectoryEntry", "mms.listOfDirectoryEntry",
10994 FT_UINT32
, BASE_DEC
, NULL
, 0,
10995 "SEQUENCE_OF_DirectoryEntry", HFILL
}},
10996 { &hf_mms_listOfDirectoryEntry_item
,
10997 { "DirectoryEntry", "mms.DirectoryEntry_element",
10998 FT_NONE
, BASE_NONE
, NULL
, 0,
11000 { &hf_mms_filename
,
11001 { "filename", "mms.filename",
11002 FT_UINT32
, BASE_DEC
, NULL
, 0,
11004 { &hf_mms_sizeOfFile
,
11005 { "sizeOfFile", "mms.sizeOfFile",
11006 FT_INT32
, BASE_DEC
, NULL
, 0,
11007 "Unsigned32", HFILL
}},
11008 { &hf_mms_lastModified
,
11009 { "lastModified", "mms.lastModified",
11010 FT_ABSOLUTE_TIME
, ABSOLUTE_TIME_LOCAL
, NULL
, 0,
11011 "GeneralizedTime", HFILL
}},
11012 { &hf_mms_ReportedOptFlds_reserved
,
11013 { "reserved", "mms.ReportedOptFlds.reserved",
11014 FT_BOOLEAN
, 8, NULL
, 0x80,
11016 { &hf_mms_ReportedOptFlds_sequence_number
,
11017 { "sequence-number", "mms.ReportedOptFlds.sequence.number",
11018 FT_BOOLEAN
, 8, NULL
, 0x40,
11020 { &hf_mms_ReportedOptFlds_report_time_stamp
,
11021 { "report-time-stamp", "mms.ReportedOptFlds.report.time.stamp",
11022 FT_BOOLEAN
, 8, NULL
, 0x20,
11024 { &hf_mms_ReportedOptFlds_reason_for_inclusion
,
11025 { "reason-for-inclusion", "mms.ReportedOptFlds.reason.for.inclusion",
11026 FT_BOOLEAN
, 8, NULL
, 0x10,
11028 { &hf_mms_ReportedOptFlds_data_set_name
,
11029 { "data-set-name", "mms.ReportedOptFlds.data.set.name",
11030 FT_BOOLEAN
, 8, NULL
, 0x08,
11032 { &hf_mms_ReportedOptFlds_data_reference
,
11033 { "data-reference", "mms.ReportedOptFlds.data.reference",
11034 FT_BOOLEAN
, 8, NULL
, 0x04,
11036 { &hf_mms_ReportedOptFlds_buffer_overflow
,
11037 { "buffer-overflow", "mms.ReportedOptFlds.buffer.overflow",
11038 FT_BOOLEAN
, 8, NULL
, 0x02,
11040 { &hf_mms_ReportedOptFlds_entryID
,
11041 { "entryID", "mms.ReportedOptFlds.entryID",
11042 FT_BOOLEAN
, 8, NULL
, 0x01,
11044 { &hf_mms_ReportedOptFlds_conf_revision
,
11045 { "conf-revision", "mms.ReportedOptFlds.conf.revision",
11046 FT_BOOLEAN
, 8, NULL
, 0x80,
11048 { &hf_mms_ReportedOptFlds_segmentation
,
11049 { "segmentation", "mms.ReportedOptFlds.segmentation",
11050 FT_BOOLEAN
, 8, NULL
, 0x40,
11052 { &hf_mms_ParameterSupportOptions_str1
,
11053 { "str1", "mms.ParameterSupportOptions.str1",
11054 FT_BOOLEAN
, 8, NULL
, 0x80,
11056 { &hf_mms_ParameterSupportOptions_str2
,
11057 { "str2", "mms.ParameterSupportOptions.str2",
11058 FT_BOOLEAN
, 8, NULL
, 0x40,
11060 { &hf_mms_ParameterSupportOptions_vnam
,
11061 { "vnam", "mms.ParameterSupportOptions.vnam",
11062 FT_BOOLEAN
, 8, NULL
, 0x20,
11064 { &hf_mms_ParameterSupportOptions_valt
,
11065 { "valt", "mms.ParameterSupportOptions.valt",
11066 FT_BOOLEAN
, 8, NULL
, 0x10,
11068 { &hf_mms_ParameterSupportOptions_vadr
,
11069 { "vadr", "mms.ParameterSupportOptions.vadr",
11070 FT_BOOLEAN
, 8, NULL
, 0x08,
11072 { &hf_mms_ParameterSupportOptions_vsca
,
11073 { "vsca", "mms.ParameterSupportOptions.vsca",
11074 FT_BOOLEAN
, 8, NULL
, 0x04,
11076 { &hf_mms_ParameterSupportOptions_tpy
,
11077 { "tpy", "mms.ParameterSupportOptions.tpy",
11078 FT_BOOLEAN
, 8, NULL
, 0x02,
11080 { &hf_mms_ParameterSupportOptions_vlis
,
11081 { "vlis", "mms.ParameterSupportOptions.vlis",
11082 FT_BOOLEAN
, 8, NULL
, 0x01,
11084 { &hf_mms_ParameterSupportOptions_real
,
11085 { "real", "mms.ParameterSupportOptions.real",
11086 FT_BOOLEAN
, 8, NULL
, 0x80,
11088 { &hf_mms_ParameterSupportOptions_spare_bit9
,
11089 { "spare_bit9", "mms.ParameterSupportOptions.spare.bit9",
11090 FT_BOOLEAN
, 8, NULL
, 0x40,
11092 { &hf_mms_ParameterSupportOptions_cei
,
11093 { "cei", "mms.ParameterSupportOptions.cei",
11094 FT_BOOLEAN
, 8, NULL
, 0x20,
11096 { &hf_mms_ServiceSupportOptions_status
,
11097 { "status", "mms.ServiceSupportOptions.status",
11098 FT_BOOLEAN
, 8, NULL
, 0x80,
11100 { &hf_mms_ServiceSupportOptions_getNameList
,
11101 { "getNameList", "mms.ServiceSupportOptions.getNameList",
11102 FT_BOOLEAN
, 8, NULL
, 0x40,
11104 { &hf_mms_ServiceSupportOptions_identify
,
11105 { "identify", "mms.ServiceSupportOptions.identify",
11106 FT_BOOLEAN
, 8, NULL
, 0x20,
11108 { &hf_mms_ServiceSupportOptions_rename
,
11109 { "rename", "mms.ServiceSupportOptions.rename",
11110 FT_BOOLEAN
, 8, NULL
, 0x10,
11112 { &hf_mms_ServiceSupportOptions_read
,
11113 { "read", "mms.ServiceSupportOptions.read",
11114 FT_BOOLEAN
, 8, NULL
, 0x08,
11116 { &hf_mms_ServiceSupportOptions_write
,
11117 { "write", "mms.ServiceSupportOptions.write",
11118 FT_BOOLEAN
, 8, NULL
, 0x04,
11120 { &hf_mms_ServiceSupportOptions_getVariableAccessAttributes
,
11121 { "getVariableAccessAttributes", "mms.ServiceSupportOptions.getVariableAccessAttributes",
11122 FT_BOOLEAN
, 8, NULL
, 0x02,
11124 { &hf_mms_ServiceSupportOptions_defineNamedVariable
,
11125 { "defineNamedVariable", "mms.ServiceSupportOptions.defineNamedVariable",
11126 FT_BOOLEAN
, 8, NULL
, 0x01,
11128 { &hf_mms_ServiceSupportOptions_defineScatteredAccess
,
11129 { "defineScatteredAccess", "mms.ServiceSupportOptions.defineScatteredAccess",
11130 FT_BOOLEAN
, 8, NULL
, 0x80,
11132 { &hf_mms_ServiceSupportOptions_getScatteredAccessAttributes
,
11133 { "getScatteredAccessAttributes", "mms.ServiceSupportOptions.getScatteredAccessAttributes",
11134 FT_BOOLEAN
, 8, NULL
, 0x40,
11136 { &hf_mms_ServiceSupportOptions_deleteVariableAccess
,
11137 { "deleteVariableAccess", "mms.ServiceSupportOptions.deleteVariableAccess",
11138 FT_BOOLEAN
, 8, NULL
, 0x20,
11140 { &hf_mms_ServiceSupportOptions_defineNamedVariableList
,
11141 { "defineNamedVariableList", "mms.ServiceSupportOptions.defineNamedVariableList",
11142 FT_BOOLEAN
, 8, NULL
, 0x10,
11144 { &hf_mms_ServiceSupportOptions_getNamedVariableListAttributes
,
11145 { "getNamedVariableListAttributes", "mms.ServiceSupportOptions.getNamedVariableListAttributes",
11146 FT_BOOLEAN
, 8, NULL
, 0x08,
11148 { &hf_mms_ServiceSupportOptions_deleteNamedVariableList
,
11149 { "deleteNamedVariableList", "mms.ServiceSupportOptions.deleteNamedVariableList",
11150 FT_BOOLEAN
, 8, NULL
, 0x04,
11152 { &hf_mms_ServiceSupportOptions_defineNamedType
,
11153 { "defineNamedType", "mms.ServiceSupportOptions.defineNamedType",
11154 FT_BOOLEAN
, 8, NULL
, 0x02,
11156 { &hf_mms_ServiceSupportOptions_getNamedTypeAttributes
,
11157 { "getNamedTypeAttributes", "mms.ServiceSupportOptions.getNamedTypeAttributes",
11158 FT_BOOLEAN
, 8, NULL
, 0x01,
11160 { &hf_mms_ServiceSupportOptions_deleteNamedType
,
11161 { "deleteNamedType", "mms.ServiceSupportOptions.deleteNamedType",
11162 FT_BOOLEAN
, 8, NULL
, 0x80,
11164 { &hf_mms_ServiceSupportOptions_input
,
11165 { "input", "mms.ServiceSupportOptions.input",
11166 FT_BOOLEAN
, 8, NULL
, 0x40,
11168 { &hf_mms_ServiceSupportOptions_output
,
11169 { "output", "mms.ServiceSupportOptions.output",
11170 FT_BOOLEAN
, 8, NULL
, 0x20,
11172 { &hf_mms_ServiceSupportOptions_takeControl
,
11173 { "takeControl", "mms.ServiceSupportOptions.takeControl",
11174 FT_BOOLEAN
, 8, NULL
, 0x10,
11176 { &hf_mms_ServiceSupportOptions_relinquishControl
,
11177 { "relinquishControl", "mms.ServiceSupportOptions.relinquishControl",
11178 FT_BOOLEAN
, 8, NULL
, 0x08,
11180 { &hf_mms_ServiceSupportOptions_defineSemaphore
,
11181 { "defineSemaphore", "mms.ServiceSupportOptions.defineSemaphore",
11182 FT_BOOLEAN
, 8, NULL
, 0x04,
11184 { &hf_mms_ServiceSupportOptions_deleteSemaphore
,
11185 { "deleteSemaphore", "mms.ServiceSupportOptions.deleteSemaphore",
11186 FT_BOOLEAN
, 8, NULL
, 0x02,
11188 { &hf_mms_ServiceSupportOptions_reportSemaphoreStatus
,
11189 { "reportSemaphoreStatus", "mms.ServiceSupportOptions.reportSemaphoreStatus",
11190 FT_BOOLEAN
, 8, NULL
, 0x01,
11192 { &hf_mms_ServiceSupportOptions_reportPoolSemaphoreStatus
,
11193 { "reportPoolSemaphoreStatus", "mms.ServiceSupportOptions.reportPoolSemaphoreStatus",
11194 FT_BOOLEAN
, 8, NULL
, 0x80,
11196 { &hf_mms_ServiceSupportOptions_reportSemaphoreEntryStatus
,
11197 { "reportSemaphoreEntryStatus", "mms.ServiceSupportOptions.reportSemaphoreEntryStatus",
11198 FT_BOOLEAN
, 8, NULL
, 0x40,
11200 { &hf_mms_ServiceSupportOptions_initiateDownloadSequence
,
11201 { "initiateDownloadSequence", "mms.ServiceSupportOptions.initiateDownloadSequence",
11202 FT_BOOLEAN
, 8, NULL
, 0x20,
11204 { &hf_mms_ServiceSupportOptions_downloadSegment
,
11205 { "downloadSegment", "mms.ServiceSupportOptions.downloadSegment",
11206 FT_BOOLEAN
, 8, NULL
, 0x10,
11208 { &hf_mms_ServiceSupportOptions_terminateDownloadSequence
,
11209 { "terminateDownloadSequence", "mms.ServiceSupportOptions.terminateDownloadSequence",
11210 FT_BOOLEAN
, 8, NULL
, 0x08,
11212 { &hf_mms_ServiceSupportOptions_initiateUploadSequence
,
11213 { "initiateUploadSequence", "mms.ServiceSupportOptions.initiateUploadSequence",
11214 FT_BOOLEAN
, 8, NULL
, 0x04,
11216 { &hf_mms_ServiceSupportOptions_uploadSegment
,
11217 { "uploadSegment", "mms.ServiceSupportOptions.uploadSegment",
11218 FT_BOOLEAN
, 8, NULL
, 0x02,
11220 { &hf_mms_ServiceSupportOptions_terminateUploadSequence
,
11221 { "terminateUploadSequence", "mms.ServiceSupportOptions.terminateUploadSequence",
11222 FT_BOOLEAN
, 8, NULL
, 0x01,
11224 { &hf_mms_ServiceSupportOptions_requestDomainDownload
,
11225 { "requestDomainDownload", "mms.ServiceSupportOptions.requestDomainDownload",
11226 FT_BOOLEAN
, 8, NULL
, 0x80,
11228 { &hf_mms_ServiceSupportOptions_requestDomainUpload
,
11229 { "requestDomainUpload", "mms.ServiceSupportOptions.requestDomainUpload",
11230 FT_BOOLEAN
, 8, NULL
, 0x40,
11232 { &hf_mms_ServiceSupportOptions_loadDomainContent
,
11233 { "loadDomainContent", "mms.ServiceSupportOptions.loadDomainContent",
11234 FT_BOOLEAN
, 8, NULL
, 0x20,
11236 { &hf_mms_ServiceSupportOptions_storeDomainContent
,
11237 { "storeDomainContent", "mms.ServiceSupportOptions.storeDomainContent",
11238 FT_BOOLEAN
, 8, NULL
, 0x10,
11240 { &hf_mms_ServiceSupportOptions_deleteDomain
,
11241 { "deleteDomain", "mms.ServiceSupportOptions.deleteDomain",
11242 FT_BOOLEAN
, 8, NULL
, 0x08,
11244 { &hf_mms_ServiceSupportOptions_getDomainAttributes
,
11245 { "getDomainAttributes", "mms.ServiceSupportOptions.getDomainAttributes",
11246 FT_BOOLEAN
, 8, NULL
, 0x04,
11248 { &hf_mms_ServiceSupportOptions_createProgramInvocation
,
11249 { "createProgramInvocation", "mms.ServiceSupportOptions.createProgramInvocation",
11250 FT_BOOLEAN
, 8, NULL
, 0x02,
11252 { &hf_mms_ServiceSupportOptions_deleteProgramInvocation
,
11253 { "deleteProgramInvocation", "mms.ServiceSupportOptions.deleteProgramInvocation",
11254 FT_BOOLEAN
, 8, NULL
, 0x01,
11256 { &hf_mms_ServiceSupportOptions_start
,
11257 { "start", "mms.ServiceSupportOptions.start",
11258 FT_BOOLEAN
, 8, NULL
, 0x80,
11260 { &hf_mms_ServiceSupportOptions_stop
,
11261 { "stop", "mms.ServiceSupportOptions.stop",
11262 FT_BOOLEAN
, 8, NULL
, 0x40,
11264 { &hf_mms_ServiceSupportOptions_resume
,
11265 { "resume", "mms.ServiceSupportOptions.resume",
11266 FT_BOOLEAN
, 8, NULL
, 0x20,
11268 { &hf_mms_ServiceSupportOptions_reset
,
11269 { "reset", "mms.ServiceSupportOptions.reset",
11270 FT_BOOLEAN
, 8, NULL
, 0x10,
11272 { &hf_mms_ServiceSupportOptions_kill
,
11273 { "kill", "mms.ServiceSupportOptions.kill",
11274 FT_BOOLEAN
, 8, NULL
, 0x08,
11276 { &hf_mms_ServiceSupportOptions_getProgramInvocationAttributes
,
11277 { "getProgramInvocationAttributes", "mms.ServiceSupportOptions.getProgramInvocationAttributes",
11278 FT_BOOLEAN
, 8, NULL
, 0x04,
11280 { &hf_mms_ServiceSupportOptions_obtainFile
,
11281 { "obtainFile", "mms.ServiceSupportOptions.obtainFile",
11282 FT_BOOLEAN
, 8, NULL
, 0x02,
11284 { &hf_mms_ServiceSupportOptions_defineEventCondition
,
11285 { "defineEventCondition", "mms.ServiceSupportOptions.defineEventCondition",
11286 FT_BOOLEAN
, 8, NULL
, 0x01,
11288 { &hf_mms_ServiceSupportOptions_deleteEventCondition
,
11289 { "deleteEventCondition", "mms.ServiceSupportOptions.deleteEventCondition",
11290 FT_BOOLEAN
, 8, NULL
, 0x80,
11292 { &hf_mms_ServiceSupportOptions_getEventConditionAttributes
,
11293 { "getEventConditionAttributes", "mms.ServiceSupportOptions.getEventConditionAttributes",
11294 FT_BOOLEAN
, 8, NULL
, 0x40,
11296 { &hf_mms_ServiceSupportOptions_reportEventConditionStatus
,
11297 { "reportEventConditionStatus", "mms.ServiceSupportOptions.reportEventConditionStatus",
11298 FT_BOOLEAN
, 8, NULL
, 0x20,
11300 { &hf_mms_ServiceSupportOptions_alterEventConditionMonitoring
,
11301 { "alterEventConditionMonitoring", "mms.ServiceSupportOptions.alterEventConditionMonitoring",
11302 FT_BOOLEAN
, 8, NULL
, 0x10,
11304 { &hf_mms_ServiceSupportOptions_triggerEvent
,
11305 { "triggerEvent", "mms.ServiceSupportOptions.triggerEvent",
11306 FT_BOOLEAN
, 8, NULL
, 0x08,
11308 { &hf_mms_ServiceSupportOptions_defineEventAction
,
11309 { "defineEventAction", "mms.ServiceSupportOptions.defineEventAction",
11310 FT_BOOLEAN
, 8, NULL
, 0x04,
11312 { &hf_mms_ServiceSupportOptions_deleteEventAction
,
11313 { "deleteEventAction", "mms.ServiceSupportOptions.deleteEventAction",
11314 FT_BOOLEAN
, 8, NULL
, 0x02,
11316 { &hf_mms_ServiceSupportOptions_getEventActionAttributes
,
11317 { "getEventActionAttributes", "mms.ServiceSupportOptions.getEventActionAttributes",
11318 FT_BOOLEAN
, 8, NULL
, 0x01,
11320 { &hf_mms_ServiceSupportOptions_reportActionStatus
,
11321 { "reportActionStatus", "mms.ServiceSupportOptions.reportActionStatus",
11322 FT_BOOLEAN
, 8, NULL
, 0x80,
11324 { &hf_mms_ServiceSupportOptions_defineEventEnrollment
,
11325 { "defineEventEnrollment", "mms.ServiceSupportOptions.defineEventEnrollment",
11326 FT_BOOLEAN
, 8, NULL
, 0x40,
11328 { &hf_mms_ServiceSupportOptions_deleteEventEnrollment
,
11329 { "deleteEventEnrollment", "mms.ServiceSupportOptions.deleteEventEnrollment",
11330 FT_BOOLEAN
, 8, NULL
, 0x20,
11332 { &hf_mms_ServiceSupportOptions_alterEventEnrollment
,
11333 { "alterEventEnrollment", "mms.ServiceSupportOptions.alterEventEnrollment",
11334 FT_BOOLEAN
, 8, NULL
, 0x10,
11336 { &hf_mms_ServiceSupportOptions_reportEventEnrollmentStatus
,
11337 { "reportEventEnrollmentStatus", "mms.ServiceSupportOptions.reportEventEnrollmentStatus",
11338 FT_BOOLEAN
, 8, NULL
, 0x08,
11340 { &hf_mms_ServiceSupportOptions_getEventEnrollmentAttributes
,
11341 { "getEventEnrollmentAttributes", "mms.ServiceSupportOptions.getEventEnrollmentAttributes",
11342 FT_BOOLEAN
, 8, NULL
, 0x04,
11344 { &hf_mms_ServiceSupportOptions_acknowledgeEventNotification
,
11345 { "acknowledgeEventNotification", "mms.ServiceSupportOptions.acknowledgeEventNotification",
11346 FT_BOOLEAN
, 8, NULL
, 0x02,
11348 { &hf_mms_ServiceSupportOptions_getAlarmSummary
,
11349 { "getAlarmSummary", "mms.ServiceSupportOptions.getAlarmSummary",
11350 FT_BOOLEAN
, 8, NULL
, 0x01,
11352 { &hf_mms_ServiceSupportOptions_getAlarmEnrollmentSummary
,
11353 { "getAlarmEnrollmentSummary", "mms.ServiceSupportOptions.getAlarmEnrollmentSummary",
11354 FT_BOOLEAN
, 8, NULL
, 0x80,
11356 { &hf_mms_ServiceSupportOptions_readJournal
,
11357 { "readJournal", "mms.ServiceSupportOptions.readJournal",
11358 FT_BOOLEAN
, 8, NULL
, 0x40,
11360 { &hf_mms_ServiceSupportOptions_writeJournal
,
11361 { "writeJournal", "mms.ServiceSupportOptions.writeJournal",
11362 FT_BOOLEAN
, 8, NULL
, 0x20,
11364 { &hf_mms_ServiceSupportOptions_initializeJournal
,
11365 { "initializeJournal", "mms.ServiceSupportOptions.initializeJournal",
11366 FT_BOOLEAN
, 8, NULL
, 0x10,
11368 { &hf_mms_ServiceSupportOptions_reportJournalStatus
,
11369 { "reportJournalStatus", "mms.ServiceSupportOptions.reportJournalStatus",
11370 FT_BOOLEAN
, 8, NULL
, 0x08,
11372 { &hf_mms_ServiceSupportOptions_createJournal
,
11373 { "createJournal", "mms.ServiceSupportOptions.createJournal",
11374 FT_BOOLEAN
, 8, NULL
, 0x04,
11376 { &hf_mms_ServiceSupportOptions_deleteJournal
,
11377 { "deleteJournal", "mms.ServiceSupportOptions.deleteJournal",
11378 FT_BOOLEAN
, 8, NULL
, 0x02,
11380 { &hf_mms_ServiceSupportOptions_getCapabilityList
,
11381 { "getCapabilityList", "mms.ServiceSupportOptions.getCapabilityList",
11382 FT_BOOLEAN
, 8, NULL
, 0x01,
11384 { &hf_mms_ServiceSupportOptions_fileOpen
,
11385 { "fileOpen", "mms.ServiceSupportOptions.fileOpen",
11386 FT_BOOLEAN
, 8, NULL
, 0x80,
11388 { &hf_mms_ServiceSupportOptions_fileRead
,
11389 { "fileRead", "mms.ServiceSupportOptions.fileRead",
11390 FT_BOOLEAN
, 8, NULL
, 0x40,
11392 { &hf_mms_ServiceSupportOptions_fileClose
,
11393 { "fileClose", "mms.ServiceSupportOptions.fileClose",
11394 FT_BOOLEAN
, 8, NULL
, 0x20,
11396 { &hf_mms_ServiceSupportOptions_fileRename
,
11397 { "fileRename", "mms.ServiceSupportOptions.fileRename",
11398 FT_BOOLEAN
, 8, NULL
, 0x10,
11400 { &hf_mms_ServiceSupportOptions_fileDelete
,
11401 { "fileDelete", "mms.ServiceSupportOptions.fileDelete",
11402 FT_BOOLEAN
, 8, NULL
, 0x08,
11404 { &hf_mms_ServiceSupportOptions_fileDirectory
,
11405 { "fileDirectory", "mms.ServiceSupportOptions.fileDirectory",
11406 FT_BOOLEAN
, 8, NULL
, 0x04,
11408 { &hf_mms_ServiceSupportOptions_unsolicitedStatus
,
11409 { "unsolicitedStatus", "mms.ServiceSupportOptions.unsolicitedStatus",
11410 FT_BOOLEAN
, 8, NULL
, 0x02,
11412 { &hf_mms_ServiceSupportOptions_informationReport
,
11413 { "informationReport", "mms.ServiceSupportOptions.informationReport",
11414 FT_BOOLEAN
, 8, NULL
, 0x01,
11416 { &hf_mms_ServiceSupportOptions_eventNotification
,
11417 { "eventNotification", "mms.ServiceSupportOptions.eventNotification",
11418 FT_BOOLEAN
, 8, NULL
, 0x80,
11420 { &hf_mms_ServiceSupportOptions_attachToEventCondition
,
11421 { "attachToEventCondition", "mms.ServiceSupportOptions.attachToEventCondition",
11422 FT_BOOLEAN
, 8, NULL
, 0x40,
11424 { &hf_mms_ServiceSupportOptions_attachToSemaphore
,
11425 { "attachToSemaphore", "mms.ServiceSupportOptions.attachToSemaphore",
11426 FT_BOOLEAN
, 8, NULL
, 0x20,
11428 { &hf_mms_ServiceSupportOptions_conclude
,
11429 { "conclude", "mms.ServiceSupportOptions.conclude",
11430 FT_BOOLEAN
, 8, NULL
, 0x10,
11432 { &hf_mms_ServiceSupportOptions_cancel
,
11433 { "cancel", "mms.ServiceSupportOptions.cancel",
11434 FT_BOOLEAN
, 8, NULL
, 0x08,
11436 { &hf_mms_Transitions_idle_to_disabled
,
11437 { "idle-to-disabled", "mms.Transitions.idle.to.disabled",
11438 FT_BOOLEAN
, 8, NULL
, 0x80,
11440 { &hf_mms_Transitions_active_to_disabled
,
11441 { "active-to-disabled", "mms.Transitions.active.to.disabled",
11442 FT_BOOLEAN
, 8, NULL
, 0x40,
11444 { &hf_mms_Transitions_disabled_to_idle
,
11445 { "disabled-to-idle", "mms.Transitions.disabled.to.idle",
11446 FT_BOOLEAN
, 8, NULL
, 0x20,
11448 { &hf_mms_Transitions_active_to_idle
,
11449 { "active-to-idle", "mms.Transitions.active.to.idle",
11450 FT_BOOLEAN
, 8, NULL
, 0x10,
11452 { &hf_mms_Transitions_disabled_to_active
,
11453 { "disabled-to-active", "mms.Transitions.disabled.to.active",
11454 FT_BOOLEAN
, 8, NULL
, 0x08,
11456 { &hf_mms_Transitions_idle_to_active
,
11457 { "idle-to-active", "mms.Transitions.idle.to.active",
11458 FT_BOOLEAN
, 8, NULL
, 0x04,
11460 { &hf_mms_Transitions_any_to_deleted
,
11461 { "any-to-deleted", "mms.Transitions.any.to.deleted",
11462 FT_BOOLEAN
, 8, NULL
, 0x02,
11466 /* List of subtrees */
11467 static int* ett
[] = {
11469 &ett_mms_iec61850_quality_bitstring
,
11470 &ett_mms_iec61850_check_bitstring
,
11471 &ett_mms_ReportedOptFlds
,
11473 &ett_mms_Confirmed_RequestPDU
,
11474 &ett_mms_SEQUENCE_OF_Modifier
,
11475 &ett_mms_Unconfirmed_PDU
,
11476 &ett_mms_Confirmed_ResponsePDU
,
11477 &ett_mms_Confirmed_ErrorPDU
,
11478 &ett_mms_UnconfirmedService
,
11480 &ett_mms_ConfirmedServiceRequest
,
11481 &ett_mms_CS_Request_Detail
,
11482 &ett_mms_ConfirmedServiceResponse
,
11484 &ett_mms_ObjectName
,
11485 &ett_mms_T_domain_specific
,
11486 &ett_mms_ApplicationReference
,
11487 &ett_mms_Initiate_RequestPDU
,
11488 &ett_mms_InitRequestDetail
,
11489 &ett_mms_Initiate_ResponsePDU
,
11490 &ett_mms_InitResponseDetail
,
11491 &ett_mms_ParameterSupportOptions
,
11492 &ett_mms_ServiceSupportOptions
,
11493 &ett_mms_Cancel_ErrorPDU
,
11494 &ett_mms_ServiceError
,
11495 &ett_mms_T_errorClass
,
11496 &ett_mms_T_serviceSpecificInformation
,
11497 &ett_mms_AdditionalService_Error
,
11498 &ett_mms_RemoveEventConditionListReference_Error
,
11499 &ett_mms_InitiateUnitControl_Error
,
11500 &ett_mms_StartUnitControl_Error
,
11501 &ett_mms_StopUnitControl_Error
,
11502 &ett_mms_DeleteUnitControl_Error
,
11503 &ett_mms_LoadUnitControlFromFile_Error
,
11504 &ett_mms_RejectPDU
,
11505 &ett_mms_T_rejectReason
,
11506 &ett_mms_Status_Response
,
11507 &ett_mms_ObjectScope
,
11508 &ett_mms_GetNameList_Request
,
11509 &ett_mms_T_extendedObjectClass
,
11510 &ett_mms_GetNameList_Response
,
11511 &ett_mms_SEQUENCE_OF_Identifier
,
11512 &ett_mms_Identify_Response
,
11513 &ett_mms_T_listOfAbstractSyntaxes
,
11514 &ett_mms_Rename_Request
,
11515 &ett_mms_T_extendedObjectClass_01
,
11516 &ett_mms_GetCapabilityList_Request
,
11517 &ett_mms_GetCapabilityList_Response
,
11518 &ett_mms_T_listOfCapabilities
,
11519 &ett_mms_InitiateDownloadSequence_Request
,
11520 &ett_mms_T_listOfCapabilities_01
,
11521 &ett_mms_DownloadSegment_Response
,
11522 &ett_mms_T_loadData
,
11523 &ett_mms_TerminateDownloadSequence_Request
,
11524 &ett_mms_InitiateUploadSequence_Response
,
11525 &ett_mms_T_listOfCapabilities_02
,
11526 &ett_mms_UploadSegment_Response
,
11527 &ett_mms_T_loadData_01
,
11528 &ett_mms_RequestDomainDownload_Request
,
11529 &ett_mms_T_listOfCapabilities_03
,
11530 &ett_mms_RequestDomainUpload_Request
,
11531 &ett_mms_LoadDomainContent_Request
,
11532 &ett_mms_T_listOfCapabilities_04
,
11533 &ett_mms_StoreDomainContent_Request
,
11534 &ett_mms_GetDomainAttributes_Response
,
11535 &ett_mms_T_listOfCapabilities_05
,
11536 &ett_mms_CreateProgramInvocation_Request
,
11537 &ett_mms_Start_Request
,
11538 &ett_mms_T_executionArgument
,
11539 &ett_mms_Stop_Request
,
11540 &ett_mms_Resume_Request
,
11541 &ett_mms_T_executionArgument_01
,
11542 &ett_mms_Reset_Request
,
11543 &ett_mms_Kill_Request
,
11544 &ett_mms_GetProgramInvocationAttributes_Response
,
11545 &ett_mms_T_executionArgument_02
,
11546 &ett_mms_TypeSpecification
,
11548 &ett_mms_T_structure
,
11549 &ett_mms_T_components
,
11550 &ett_mms_T_components_item
,
11551 &ett_mms_AlternateAccess
,
11552 &ett_mms_AlternateAccess_item
,
11554 &ett_mms_AlternateAccessSelection
,
11555 &ett_mms_T_selectAlternateAccess
,
11556 &ett_mms_T_accessSelection
,
11557 &ett_mms_T_indexRange
,
11558 &ett_mms_T_selectAccess
,
11559 &ett_mms_T_indexRange_01
,
11560 &ett_mms_Read_Request
,
11561 &ett_mms_Read_Response
,
11562 &ett_mms_SEQUENCE_OF_AccessResult
,
11563 &ett_mms_Write_Request
,
11564 &ett_mms_T_listOfData
,
11565 &ett_mms_Write_Response
,
11566 &ett_mms_Write_Response_item
,
11567 &ett_mms_InformationReport
,
11568 &ett_mms_T_listOfAccessResult
,
11569 &ett_mms_GetVariableAccessAttributes_Request
,
11570 &ett_mms_GetVariableAccessAttributes_Response
,
11571 &ett_mms_DefineNamedVariable_Request
,
11572 &ett_mms_DefineScatteredAccess_Request
,
11573 &ett_mms_GetScatteredAccessAttributes_Response
,
11574 &ett_mms_DeleteVariableAccess_Request
,
11575 &ett_mms_SEQUENCE_OF_ObjectName
,
11576 &ett_mms_DeleteVariableAccess_Response
,
11577 &ett_mms_DefineNamedVariableList_Request
,
11578 &ett_mms_T_listOfVariable
,
11579 &ett_mms_T_listOfVariable_item
,
11580 &ett_mms_GetNamedVariableListAttributes_Response
,
11581 &ett_mms_T_listOfVariable_01
,
11582 &ett_mms_T_listOfVariable_item_01
,
11583 &ett_mms_DeleteNamedVariableList_Request
,
11584 &ett_mms_DeleteNamedVariableList_Response
,
11585 &ett_mms_DefineNamedType_Request
,
11586 &ett_mms_GetNamedTypeAttributes_Response
,
11587 &ett_mms_DeleteNamedType_Request
,
11588 &ett_mms_DeleteNamedType_Response
,
11589 &ett_mms_AccessResult
,
11591 &ett_mms_SEQUENCE_OF_Data
,
11592 &ett_mms_T_structure_01
,
11593 &ett_mms_VariableAccessSpecification
,
11594 &ett_mms_T_listOfVariable_02
,
11595 &ett_mms_T_listOfVariable_item_02
,
11596 &ett_mms_ScatteredAccessDescription
,
11597 &ett_mms_ScatteredAccessDescription_item
,
11598 &ett_mms_VariableSpecification
,
11599 &ett_mms_T_variableDescription
,
11601 &ett_mms_TakeControl_Request
,
11602 &ett_mms_TakeControl_Response
,
11603 &ett_mms_RelinquishControl_Request
,
11604 &ett_mms_DefineSemaphore_Request
,
11605 &ett_mms_ReportSemaphoreStatus_Response
,
11606 &ett_mms_ReportPoolSemaphoreStatus_Request
,
11607 &ett_mms_ReportPoolSemaphoreStatus_Response
,
11608 &ett_mms_T_listOfNamedTokens
,
11609 &ett_mms_T_listOfNamedTokens_item
,
11610 &ett_mms_ReportSemaphoreEntryStatus_Request
,
11611 &ett_mms_ReportSemaphoreEntryStatus_Response
,
11612 &ett_mms_SEQUENCE_OF_SemaphoreEntry
,
11613 &ett_mms_AttachToSemaphore
,
11614 &ett_mms_SemaphoreEntry
,
11615 &ett_mms_Input_Request
,
11616 &ett_mms_T_listOfPromptData
,
11617 &ett_mms_Output_Request
,
11618 &ett_mms_T_listOfOutputData
,
11619 &ett_mms_DefineEventCondition_Request
,
11620 &ett_mms_DeleteEventCondition_Request
,
11621 &ett_mms_GetEventConditionAttributes_Response
,
11622 &ett_mms_T_monitoredVariable
,
11623 &ett_mms_ReportEventConditionStatus_Response
,
11624 &ett_mms_AlterEventConditionMonitoring_Request
,
11625 &ett_mms_TriggerEvent_Request
,
11626 &ett_mms_DefineEventAction_Request
,
11627 &ett_mms_DeleteEventAction_Request
,
11628 &ett_mms_GetEventActionAttributes_Response
,
11629 &ett_mms_DefineEventEnrollment_Request
,
11630 &ett_mms_DeleteEventEnrollment_Request
,
11631 &ett_mms_GetEventEnrollmentAttributes_Request
,
11632 &ett_mms_EventEnrollment
,
11633 &ett_mms_T_eventConditionName
,
11634 &ett_mms_T_eventActionName
,
11635 &ett_mms_GetEventEnrollmentAttributes_Response
,
11636 &ett_mms_SEQUENCE_OF_EventEnrollment
,
11637 &ett_mms_ReportEventEnrollmentStatus_Response
,
11638 &ett_mms_AlterEventEnrollment_Request
,
11639 &ett_mms_AlterEventEnrollment_Response
,
11640 &ett_mms_T_currentState
,
11641 &ett_mms_AcknowledgeEventNotification_Request
,
11642 &ett_mms_GetAlarmSummary_Request
,
11643 &ett_mms_T_severityFilter
,
11644 &ett_mms_GetAlarmSummary_Response
,
11645 &ett_mms_SEQUENCE_OF_AlarmSummary
,
11646 &ett_mms_AlarmSummary
,
11647 &ett_mms_GetAlarmEnrollmentSummary_Request
,
11648 &ett_mms_T_severityFilter_01
,
11649 &ett_mms_GetAlarmEnrollmentSummary_Response
,
11650 &ett_mms_SEQUENCE_OF_AlarmEnrollmentSummary
,
11651 &ett_mms_AlarmEnrollmentSummary
,
11652 &ett_mms_EventNotification
,
11653 &ett_mms_T_eventConditionName_01
,
11654 &ett_mms_T_actionResult
,
11655 &ett_mms_T_eventActionResult
,
11656 &ett_mms_AttachToEventCondition
,
11657 &ett_mms_EventTime
,
11658 &ett_mms_Transitions
,
11659 &ett_mms_ReadJournal_Request
,
11660 &ett_mms_T_rangeStartSpecification
,
11661 &ett_mms_T_rangeStopSpecification
,
11662 &ett_mms_T_listOfVariables
,
11663 &ett_mms_T_entryToStartAfter
,
11664 &ett_mms_ReadJournal_Response
,
11665 &ett_mms_SEQUENCE_OF_JournalEntry
,
11666 &ett_mms_JournalEntry
,
11667 &ett_mms_WriteJournal_Request
,
11668 &ett_mms_SEQUENCE_OF_EntryContent
,
11669 &ett_mms_InitializeJournal_Request
,
11670 &ett_mms_T_limitSpecification
,
11671 &ett_mms_ReportJournalStatus_Response
,
11672 &ett_mms_CreateJournal_Request
,
11673 &ett_mms_DeleteJournal_Request
,
11674 &ett_mms_EntryContent
,
11675 &ett_mms_T_entryForm
,
11678 &ett_mms_T_listOfVariables_01
,
11679 &ett_mms_T_listOfVariables_item
,
11680 &ett_mms_ObtainFile_Request
,
11681 &ett_mms_FileOpen_Request
,
11682 &ett_mms_FileOpen_Response
,
11683 &ett_mms_FileRead_Response
,
11684 &ett_mms_FileRename_Request
,
11685 &ett_mms_FileDirectory_Request
,
11686 &ett_mms_FileDirectory_Response
,
11687 &ett_mms_SEQUENCE_OF_DirectoryEntry
,
11688 &ett_mms_DirectoryEntry
,
11689 &ett_mms_FileAttributes
,
11692 static ei_register_info ei
[] = {
11693 { &ei_mms_mal_timeofday_encoding
, { "mms.malformed.timeofday_encoding", PI_MALFORMED
, PI_WARN
, "BER Error: malformed TimeOfDay encoding", EXPFILL
}},
11694 { &ei_mms_mal_utctime_encoding
, { "mms.malformed.utctime", PI_MALFORMED
, PI_WARN
, "BER Error: malformed IEC61850 UTCTime encoding", EXPFILL
}},
11695 { &ei_mms_zero_pdu
, { "mms.zero_pdu", PI_PROTOCOL
, PI_ERROR
, "Internal error, zero-byte MMS PDU", EXPFILL
}},
11698 expert_module_t
* expert_mms
;
11700 /* Register protocol */
11701 proto_mms
= proto_register_protocol(PNAME
, PSNAME
, PFNAME
);
11702 register_dissector("mms", dissect_mms
, proto_mms
);
11703 /* Register fields and subtrees */
11704 proto_register_field_array(proto_mms
, hf
, array_length(hf
));
11705 proto_register_subtree_array(ett
, array_length(ett
));
11706 expert_mms
= expert_register_protocol(proto_mms
);
11707 expert_register_field_array(expert_mms
, ei
, array_length(ei
));
11709 /* Setting to enable/disable the IEC-61850 mapping on MMS */
11710 module_t
* mms_module
= prefs_register_protocol(proto_mms
, NULL
);
11712 prefs_register_bool_preference(mms_module
, "use_iec61850_mapping",
11713 "Dissect MMS as IEC-61850",
11714 "Enables or disables dissection as IEC-61850 on top of MMS",
11715 &use_iec61850_mapping
);
11720 dissect_mms_heur(tvbuff_t
* tvb
, packet_info
* pinfo
, proto_tree
* parent_tree
, void* data
)
11722 /* must check that this really is an mms packet */
11724 uint32_t length
= 0;
11732 /* first, check do we have at least 2 bytes (pdu) */
11733 if (!tvb_bytes_exist(tvb
, 0, 2))
11734 return false; /* no */
11736 /* can we recognize MMS PDU ? Return false if not */
11737 /* get MMS PDU type */
11738 offset
= get_ber_identifier(tvb
, offset
, &tmp_class
, &tmp_pc
, &tmp_tag
);
11740 /* check MMS type */
11742 /* Class should be constructed */
11743 if (tmp_class
!= BER_CLASS_CON
)
11746 /* see if the tag is a valid MMS PDU */
11747 try_val_to_str_idx(tmp_tag
, mms_MMSpdu_vals
, &idx
);
11749 return false; /* no, it isn't an MMS PDU */
11752 /* check MMS length */
11753 oct
= tvb_get_uint8(tvb
, offset
) & 0x7F;
11755 /* MMS requires length after tag so not MMS if indefinite length*/
11758 offset
= get_ber_length(tvb
, offset
, &length
, NULL
);
11759 /* do we have enough bytes? */
11760 if (!tvb_bytes_exist(tvb
, offset
, length
))
11763 dissect_mms(tvb
, pinfo
, parent_tree
, data
);
11767 /*--- proto_reg_handoff_mms --- */
11768 void proto_reg_handoff_mms(void) {
11769 register_ber_oid_dissector("1.0.9506.2.3", dissect_mms
, proto_mms
, "MMS");
11770 register_ber_oid_dissector("1.0.9506.2.1", dissect_mms
, proto_mms
, "mms-abstract-syntax-version1(1)");
11771 heur_dissector_add("cotp", dissect_mms_heur
, "MMS over COTP", "mms_cotp", proto_mms
, HEURISTIC_ENABLE
);
11772 heur_dissector_add("cotp_is", dissect_mms_heur
, "MMS over COTP (inactive subset)", "mms_cotp_is", proto_mms
, HEURISTIC_ENABLE
);