1 /******************************************************************************
4 ** Copyright (C) 2006-2007 ascolab GmbH. All Rights Reserved.
5 ** Web: http://www.ascolab.com
7 ** This program is free software; you can redistribute it and/or
8 ** modify it under the terms of the GNU General Public License
9 ** as published by the Free Software Foundation; either version 2
10 ** of the License, or (at your option) any later version.
12 ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
13 ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
15 ** Project: OpcUa Wireshark Plugin
17 ** Description: OpcUa Service Type Parser
19 ** This file was autogenerated on 8.5.2007 18:53:26.
20 ** DON'T MODIFY THIS FILE!
22 ******************************************************************************/
29 #include <epan/packet.h>
30 #include "opcua_serviceparser.h"
31 #include "opcua_complextypeparser.h"
32 #include "opcua_enumparser.h"
33 #include "opcua_simpletypes.h"
34 #include "opcua_hfindeces.h"
37 gint ett_opcua_TestStackRequest = -1;
\r
38 void parseTestStackRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
\r
40 proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "TestStackRequest");
\r
41 proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_TestStackRequest);
\r
43 parseRequestHeader(subtree, tvb, pOffset, "RequestHeader");
44 parseUInt32(subtree, tvb, pOffset, hf_opcua_TestId);
45 parseInt32(subtree, tvb, pOffset, hf_opcua_Iteration);
46 parseVariant(subtree, tvb, pOffset, "Input");
\r
49 gint ett_opcua_TestStackResponse = -1;
\r
50 void parseTestStackResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
\r
52 proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "TestStackResponse");
\r
53 proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_TestStackResponse);
\r
55 parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
56 parseVariant(subtree, tvb, pOffset, "Output");
\r
59 gint ett_opcua_TestStackExRequest = -1;
\r
60 void parseTestStackExRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
\r
62 proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "TestStackExRequest");
\r
63 proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_TestStackExRequest);
\r
65 parseRequestHeader(subtree, tvb, pOffset, "RequestHeader");
66 parseUInt32(subtree, tvb, pOffset, hf_opcua_TestId);
67 parseInt32(subtree, tvb, pOffset, hf_opcua_Iteration);
68 parseExtensionObject(subtree, tvb, pOffset, "Input");
\r
71 gint ett_opcua_TestStackExResponse = -1;
\r
72 void parseTestStackExResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
\r
74 proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "TestStackExResponse");
\r
75 proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_TestStackExResponse);
\r
77 parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
78 parseExtensionObject(subtree, tvb, pOffset, "Output");
\r
81 gint ett_opcua_FindServersRequest = -1;
\r
82 void parseFindServersRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
\r
84 proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "FindServersRequest");
\r
85 proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_FindServersRequest);
\r
87 parseRequestHeader(subtree, tvb, pOffset, "RequestHeader");
88 parseArrayComplex(subtree, tvb, pOffset, "LocaleIds", parseLocalizedText);
89 parseArraySimple(subtree, tvb, pOffset, hf_opcua_ServerUris, parseString);
\r
92 gint ett_opcua_FindServersResponse = -1;
\r
93 void parseFindServersResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
\r
95 proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "FindServersResponse");
\r
96 proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_FindServersResponse);
\r
98 parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
99 parseArrayComplex(subtree, tvb, pOffset, "Servers", parseServerDescription);
\r
102 gint ett_opcua_GetEndpointsRequest = -1;
\r
103 void parseGetEndpointsRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
\r
105 proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "GetEndpointsRequest");
\r
106 proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_GetEndpointsRequest);
\r
108 parseRequestHeader(subtree, tvb, pOffset, "RequestHeader");
109 parseArrayComplex(subtree, tvb, pOffset, "LocaleIds", parseLocalizedText);
110 parseArraySimple(subtree, tvb, pOffset, hf_opcua_ProfileUris, parseString);
\r
113 gint ett_opcua_GetEndpointsResponse = -1;
\r
114 void parseGetEndpointsResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
\r
116 proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "GetEndpointsResponse");
\r
117 proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_GetEndpointsResponse);
\r
119 parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
120 parseArrayComplex(subtree, tvb, pOffset, "Endpoints", parseEndpointDescription);
\r
123 gint ett_opcua_RegisterServerRequest = -1;
\r
124 void parseRegisterServerRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
\r
126 proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "RegisterServerRequest");
\r
127 proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_RegisterServerRequest);
\r
129 parseRequestHeader(subtree, tvb, pOffset, "RequestHeader");
130 parseRegisteredServer(subtree, tvb, pOffset, "Server");
\r
133 gint ett_opcua_RegisterServerResponse = -1;
\r
134 void parseRegisterServerResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
\r
136 proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "RegisterServerResponse");
\r
137 proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_RegisterServerResponse);
\r
139 parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
\r
142 gint ett_opcua_OpenSecureChannelRequest = -1;
\r
143 void parseOpenSecureChannelRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
\r
145 proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "OpenSecureChannelRequest");
\r
146 proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_OpenSecureChannelRequest);
\r
148 parseRequestHeader(subtree, tvb, pOffset, "RequestHeader");
149 parseByteString(subtree, tvb, pOffset, hf_opcua_ClientCertificate);
150 parseSecurityTokenRequestType(subtree, tvb, pOffset);
151 parseGuid(subtree, tvb, pOffset, hf_opcua_SecureChannelId);
152 parseMessageSecurityMode(subtree, tvb, pOffset);
153 parseString(subtree, tvb, pOffset, hf_opcua_SecurityPolicyUri);
154 parseSecurityPolicy(subtree, tvb, pOffset, "SecurityPolicy");
155 parseByteString(subtree, tvb, pOffset, hf_opcua_ClientNonce);
156 parseInt32(subtree, tvb, pOffset, hf_opcua_RequestedLifetime);
\r
159 gint ett_opcua_OpenSecureChannelResponse = -1;
\r
160 void parseOpenSecureChannelResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
\r
162 proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "OpenSecureChannelResponse");
\r
163 proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_OpenSecureChannelResponse);
\r
165 parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
166 parseByteString(subtree, tvb, pOffset, hf_opcua_ServerCertificate);
167 parseChannelSecurityToken(subtree, tvb, pOffset, "SecurityToken");
168 parseByteString(subtree, tvb, pOffset, hf_opcua_ServerNonce);
\r
171 gint ett_opcua_CloseSecureChannelRequest = -1;
\r
172 void parseCloseSecureChannelRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
\r
174 proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "CloseSecureChannelRequest");
\r
175 proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_CloseSecureChannelRequest);
\r
177 parseRequestHeader(subtree, tvb, pOffset, "RequestHeader");
178 parseGuid(subtree, tvb, pOffset, hf_opcua_SecureChannelId);
\r
181 gint ett_opcua_CloseSecureChannelResponse = -1;
\r
182 void parseCloseSecureChannelResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
\r
184 proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "CloseSecureChannelResponse");
\r
185 proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_CloseSecureChannelResponse);
\r
187 parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
\r
190 gint ett_opcua_CreateSessionRequest = -1;
\r
191 void parseCreateSessionRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
\r
193 proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "CreateSessionRequest");
\r
194 proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_CreateSessionRequest);
\r
196 parseRequestHeader(subtree, tvb, pOffset, "RequestHeader");
197 parseString(subtree, tvb, pOffset, hf_opcua_ClientName);
198 parseByteString(subtree, tvb, pOffset, hf_opcua_ClientNonce);
199 parseByteString(subtree, tvb, pOffset, hf_opcua_ClientCertificate);
200 parseInt32(subtree, tvb, pOffset, hf_opcua_RequestedSessionTimeout);
\r
203 gint ett_opcua_CreateSessionResponse = -1;
\r
204 void parseCreateSessionResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
\r
206 proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "CreateSessionResponse");
\r
207 proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_CreateSessionResponse);
\r
209 parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
210 parseUInt32(subtree, tvb, pOffset, hf_opcua_SessionId);
211 parseInt32(subtree, tvb, pOffset, hf_opcua_RevisedSessionTimeout);
212 parseByteString(subtree, tvb, pOffset, hf_opcua_ServerNonce);
213 parseByteString(subtree, tvb, pOffset, hf_opcua_ServerCertificate);
214 parseArrayComplex(subtree, tvb, pOffset, "ServerSoftwareCertificates", parseSignedSoftwareCertificate);
215 parseSignatureData(subtree, tvb, pOffset, "ServerSignature");
\r
218 gint ett_opcua_ActivateSessionRequest = -1;
\r
219 void parseActivateSessionRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
\r
221 proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "ActivateSessionRequest");
\r
222 proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_ActivateSessionRequest);
\r
224 parseRequestHeader(subtree, tvb, pOffset, "RequestHeader");
225 parseSignatureData(subtree, tvb, pOffset, "ClientSignature");
226 parseArrayComplex(subtree, tvb, pOffset, "ClientSoftwareCertificates", parseSignedSoftwareCertificate);
227 parseArraySimple(subtree, tvb, pOffset, hf_opcua_LocaleIds, parseString);
228 parseExtensionObject(subtree, tvb, pOffset, "UserIdentityToken");
229 parseSignatureData(subtree, tvb, pOffset, "UserTokenSignature");
\r
232 gint ett_opcua_ActivateSessionResponse = -1;
\r
233 void parseActivateSessionResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
\r
235 proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "ActivateSessionResponse");
\r
236 proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_ActivateSessionResponse);
\r
238 parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
239 parseByteString(subtree, tvb, pOffset, hf_opcua_ServerNonce);
240 parseArraySimple(subtree, tvb, pOffset, hf_opcua_CertificateResults, parseStatusCode);
241 parseArrayComplex(subtree, tvb, pOffset, "CertificateDiagnosticInfos", parseDiagnosticInfo);
\r
244 gint ett_opcua_CloseSessionRequest = -1;
\r
245 void parseCloseSessionRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
\r
247 proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "CloseSessionRequest");
\r
248 proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_CloseSessionRequest);
\r
250 parseRequestHeader(subtree, tvb, pOffset, "RequestHeader");
\r
253 gint ett_opcua_CloseSessionResponse = -1;
\r
254 void parseCloseSessionResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
\r
256 proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "CloseSessionResponse");
\r
257 proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_CloseSessionResponse);
\r
259 parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
\r
262 gint ett_opcua_CancelRequest = -1;
\r
263 void parseCancelRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
\r
265 proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "CancelRequest");
\r
266 proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_CancelRequest);
\r
268 parseRequestHeader(subtree, tvb, pOffset, "RequestHeader");
269 parseUInt32(subtree, tvb, pOffset, hf_opcua_SequenceNumber);
\r
272 gint ett_opcua_CancelResponse = -1;
\r
273 void parseCancelResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
\r
275 proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "CancelResponse");
\r
276 proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_CancelResponse);
\r
278 parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
\r
281 gint ett_opcua_AddNodesRequest = -1;
\r
282 void parseAddNodesRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
\r
284 proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "AddNodesRequest");
\r
285 proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_AddNodesRequest);
\r
287 parseRequestHeader(subtree, tvb, pOffset, "RequestHeader");
288 parseArrayComplex(subtree, tvb, pOffset, "NodesToAdd", parseAddNodesItem);
\r
291 gint ett_opcua_AddNodesResponse = -1;
\r
292 void parseAddNodesResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
\r
294 proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "AddNodesResponse");
\r
295 proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_AddNodesResponse);
\r
297 parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
298 parseArrayComplex(subtree, tvb, pOffset, "Results", parseAddNodesResult);
299 parseArrayComplex(subtree, tvb, pOffset, "DiagnosticInfos", parseDiagnosticInfo);
\r
302 gint ett_opcua_AddReferencesRequest = -1;
\r
303 void parseAddReferencesRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
\r
305 proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "AddReferencesRequest");
\r
306 proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_AddReferencesRequest);
\r
308 parseRequestHeader(subtree, tvb, pOffset, "RequestHeader");
309 parseArrayComplex(subtree, tvb, pOffset, "ReferencesToAdd", parseAddReferencesItem);
\r
312 gint ett_opcua_AddReferencesResponse = -1;
\r
313 void parseAddReferencesResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
\r
315 proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "AddReferencesResponse");
\r
316 proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_AddReferencesResponse);
\r
318 parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
319 parseArraySimple(subtree, tvb, pOffset, hf_opcua_Results, parseStatusCode);
320 parseArrayComplex(subtree, tvb, pOffset, "DiagnosticInfos", parseDiagnosticInfo);
\r
323 gint ett_opcua_DeleteNodesRequest = -1;
\r
324 void parseDeleteNodesRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
\r
326 proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "DeleteNodesRequest");
\r
327 proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_DeleteNodesRequest);
\r
329 parseRequestHeader(subtree, tvb, pOffset, "RequestHeader");
330 parseArrayComplex(subtree, tvb, pOffset, "NodesToDelete", parseDeleteNodesItem);
\r
333 gint ett_opcua_DeleteNodesResponse = -1;
\r
334 void parseDeleteNodesResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
\r
336 proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "DeleteNodesResponse");
\r
337 proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_DeleteNodesResponse);
\r
339 parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
340 parseArraySimple(subtree, tvb, pOffset, hf_opcua_Results, parseStatusCode);
341 parseArrayComplex(subtree, tvb, pOffset, "Diagnostics", parseDiagnosticInfo);
\r
344 gint ett_opcua_DeleteReferencesRequest = -1;
\r
345 void parseDeleteReferencesRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
\r
347 proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "DeleteReferencesRequest");
\r
348 proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_DeleteReferencesRequest);
\r
350 parseRequestHeader(subtree, tvb, pOffset, "RequestHeader");
351 parseArrayComplex(subtree, tvb, pOffset, "ReferencesToDelete", parseDeleteReferencesItem);
\r
354 gint ett_opcua_DeleteReferencesResponse = -1;
\r
355 void parseDeleteReferencesResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
\r
357 proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "DeleteReferencesResponse");
\r
358 proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_DeleteReferencesResponse);
\r
360 parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
361 parseArraySimple(subtree, tvb, pOffset, hf_opcua_Results, parseStatusCode);
362 parseArrayComplex(subtree, tvb, pOffset, "DiagnosticInfos", parseDiagnosticInfo);
\r
365 gint ett_opcua_BrowsePropertiesRequest = -1;
\r
366 void parseBrowsePropertiesRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
\r
368 proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "BrowsePropertiesRequest");
\r
369 proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_BrowsePropertiesRequest);
\r
371 parseRequestHeader(subtree, tvb, pOffset, "RequestHeader");
372 parseArrayComplex(subtree, tvb, pOffset, "NodesToAccess", parseNodeId);
373 parseArrayComplex(subtree, tvb, pOffset, "Properties", parseQualifiedName);
\r
376 gint ett_opcua_BrowsePropertiesResponse = -1;
\r
377 void parseBrowsePropertiesResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
\r
379 proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "BrowsePropertiesResponse");
\r
380 proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_BrowsePropertiesResponse);
\r
382 parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
383 parseArrayComplex(subtree, tvb, pOffset, "NodeResults", parseBrowsePropertiesResult);
384 parseArrayComplex(subtree, tvb, pOffset, "DiagnosticInfos", parseDiagnosticInfo);
\r
387 gint ett_opcua_BrowseRequest = -1;
\r
388 void parseBrowseRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
\r
390 proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "BrowseRequest");
\r
391 proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_BrowseRequest);
\r
393 parseRequestHeader(subtree, tvb, pOffset, "RequestHeader");
394 parseViewDescription(subtree, tvb, pOffset, "View");
395 parseNodeId(subtree, tvb, pOffset, "NodeToBrowse");
396 parseUInt32(subtree, tvb, pOffset, hf_opcua_MaxResultsToReturn);
397 parseBrowseDirection(subtree, tvb, pOffset);
398 parseNodeId(subtree, tvb, pOffset, "ReferenceTypeId");
399 parseBoolean(subtree, tvb, pOffset, hf_opcua_IncludeSubtypes);
400 parseInt32(subtree, tvb, pOffset, hf_opcua_NodeClassMask);
\r
403 gint ett_opcua_BrowseResponse = -1;
\r
404 void parseBrowseResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
\r
406 proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "BrowseResponse");
\r
407 proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_BrowseResponse);
\r
409 parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
410 parseByteString(subtree, tvb, pOffset, hf_opcua_ContinuationPoint);
411 parseArrayComplex(subtree, tvb, pOffset, "References", parseReferenceDescription);
\r
414 gint ett_opcua_BrowseNextRequest = -1;
\r
415 void parseBrowseNextRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
\r
417 proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "BrowseNextRequest");
\r
418 proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_BrowseNextRequest);
\r
420 parseRequestHeader(subtree, tvb, pOffset, "RequestHeader");
421 parseBoolean(subtree, tvb, pOffset, hf_opcua_ReleaseContinuationPoint);
422 parseByteString(subtree, tvb, pOffset, hf_opcua_ContinuationPoint);
\r
425 gint ett_opcua_BrowseNextResponse = -1;
\r
426 void parseBrowseNextResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
\r
428 proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "BrowseNextResponse");
\r
429 proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_BrowseNextResponse);
\r
431 parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
432 parseByteString(subtree, tvb, pOffset, hf_opcua_RevisedContinuationPoint);
433 parseArrayComplex(subtree, tvb, pOffset, "References", parseReferenceDescription);
\r
436 gint ett_opcua_TranslateBrowsePathsToNodeIdsRequest = -1;
\r
437 void parseTranslateBrowsePathsToNodeIdsRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
\r
439 proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "TranslateBrowsePathsToNodeIdsRequest");
\r
440 proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_TranslateBrowsePathsToNodeIdsRequest);
\r
442 parseRequestHeader(subtree, tvb, pOffset, "RequestHeader");
443 parseArrayComplex(subtree, tvb, pOffset, "BrowsePaths", parseBrowsePath);
\r
446 gint ett_opcua_TranslateBrowsePathsToNodeIdsResponse = -1;
\r
447 void parseTranslateBrowsePathsToNodeIdsResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
\r
449 proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "TranslateBrowsePathsToNodeIdsResponse");
\r
450 proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_TranslateBrowsePathsToNodeIdsResponse);
\r
452 parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
453 parseArrayComplex(subtree, tvb, pOffset, "Results", parseTranslateBrowsePathResult);
454 parseArrayComplex(subtree, tvb, pOffset, "DiagnosticInfos", parseDiagnosticInfo);
\r
457 gint ett_opcua_QueryFirstRequest = -1;
\r
458 void parseQueryFirstRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
\r
460 proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "QueryFirstRequest");
\r
461 proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_QueryFirstRequest);
\r
463 parseRequestHeader(subtree, tvb, pOffset, "RequestHeader");
464 parseViewDescription(subtree, tvb, pOffset, "View");
465 parseArrayComplex(subtree, tvb, pOffset, "NodeTypes", parseNodeTypeDescription);
466 parseContentFilter(subtree, tvb, pOffset, "Filter");
467 parseUInt32(subtree, tvb, pOffset, hf_opcua_MaxDescriptionsToReturn);
468 parseUInt32(subtree, tvb, pOffset, hf_opcua_MaxReferencesToReturn);
469 parseUInt32(subtree, tvb, pOffset, hf_opcua_MaxReferencedNodesToReturn);
470 parseUInt32(subtree, tvb, pOffset, hf_opcua_MaxTime);
\r
473 gint ett_opcua_QueryFirstResponse = -1;
\r
474 void parseQueryFirstResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
\r
476 proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "QueryFirstResponse");
\r
477 proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_QueryFirstResponse);
\r
479 parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
480 parseArrayComplex(subtree, tvb, pOffset, "QueryDataSets", parseQueryDataSet);
481 parseByteString(subtree, tvb, pOffset, hf_opcua_ContinuationPoint);
482 parseArrayComplex(subtree, tvb, pOffset, "Results", parseQueryResult);
483 parseArrayComplex(subtree, tvb, pOffset, "DiagnosticInfo", parseDiagnosticInfo);
484 parseContentFilterResult(subtree, tvb, pOffset, "ContentFilterResult");
\r
487 gint ett_opcua_QueryNextRequest = -1;
\r
488 void parseQueryNextRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
\r
490 proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "QueryNextRequest");
\r
491 proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_QueryNextRequest);
\r
493 parseRequestHeader(subtree, tvb, pOffset, "RequestHeader");
494 parseBoolean(subtree, tvb, pOffset, hf_opcua_ReleaseContinuationPoint);
495 parseByteString(subtree, tvb, pOffset, hf_opcua_ContinuationPoint);
\r
498 gint ett_opcua_QueryNextResponse = -1;
\r
499 void parseQueryNextResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
\r
501 proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "QueryNextResponse");
\r
502 proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_QueryNextResponse);
\r
504 parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
505 parseArrayComplex(subtree, tvb, pOffset, "QueryDataSets", parseQueryDataSet);
506 parseByteString(subtree, tvb, pOffset, hf_opcua_RevisedContinuationPoint);
\r
509 gint ett_opcua_ReadRequest = -1;
\r
510 void parseReadRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
\r
512 proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "ReadRequest");
\r
513 proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_ReadRequest);
\r
515 parseRequestHeader(subtree, tvb, pOffset, "RequestHeader");
516 parseInt32(subtree, tvb, pOffset, hf_opcua_MaxAge);
517 parseTimestampsToReturn(subtree, tvb, pOffset);
518 parseArrayComplex(subtree, tvb, pOffset, "NodesToRead", parseReadValueId);
\r
521 gint ett_opcua_ReadResponse = -1;
\r
522 void parseReadResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
\r
524 proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "ReadResponse");
\r
525 proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_ReadResponse);
\r
527 parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
528 parseArrayComplex(subtree, tvb, pOffset, "Results", parseDataValue);
529 parseArrayComplex(subtree, tvb, pOffset, "DiagnosticInfos", parseDiagnosticInfo);
\r
532 gint ett_opcua_HistoryReadRequest = -1;
\r
533 void parseHistoryReadRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
\r
535 proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "HistoryReadRequest");
\r
536 proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_HistoryReadRequest);
\r
538 parseRequestHeader(subtree, tvb, pOffset, "RequestHeader");
539 parseExtensionObject(subtree, tvb, pOffset, "HistoryReadDetails");
540 parseTimestampsToReturn(subtree, tvb, pOffset);
541 parseBoolean(subtree, tvb, pOffset, hf_opcua_ReleaseContinuationPoints);
542 parseArrayComplex(subtree, tvb, pOffset, "NodesToRead", parseHistoryReadValueId);
\r
545 gint ett_opcua_HistoryReadResponse = -1;
\r
546 void parseHistoryReadResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
\r
548 proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "HistoryReadResponse");
\r
549 proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_HistoryReadResponse);
\r
551 parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
552 parseArrayComplex(subtree, tvb, pOffset, "Results", parseHistoryReadResult);
553 parseArrayComplex(subtree, tvb, pOffset, "DiagnosticInfos", parseDiagnosticInfo);
\r
556 gint ett_opcua_WriteRequest = -1;
\r
557 void parseWriteRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
\r
559 proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "WriteRequest");
\r
560 proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_WriteRequest);
\r
562 parseRequestHeader(subtree, tvb, pOffset, "RequestHeader");
563 parseArrayComplex(subtree, tvb, pOffset, "NodesToWrite", parseWriteValue);
\r
566 gint ett_opcua_WriteResponse = -1;
\r
567 void parseWriteResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
\r
569 proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "WriteResponse");
\r
570 proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_WriteResponse);
\r
572 parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
573 parseArraySimple(subtree, tvb, pOffset, hf_opcua_Results, parseStatusCode);
574 parseArrayComplex(subtree, tvb, pOffset, "DiagnosticInfos", parseDiagnosticInfo);
\r
577 gint ett_opcua_HistoryUpdateRequest = -1;
\r
578 void parseHistoryUpdateRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
\r
580 proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "HistoryUpdateRequest");
\r
581 proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_HistoryUpdateRequest);
\r
583 parseRequestHeader(subtree, tvb, pOffset, "RequestHeader");
584 parseArrayComplex(subtree, tvb, pOffset, "HistoryUpdateDetails", parseExtensionObject);
\r
587 gint ett_opcua_HistoryUpdateResponse = -1;
\r
588 void parseHistoryUpdateResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
\r
590 proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "HistoryUpdateResponse");
\r
591 proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_HistoryUpdateResponse);
\r
593 parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
594 parseArrayComplex(subtree, tvb, pOffset, "Results", parseHistoryUpdateResult);
595 parseArrayComplex(subtree, tvb, pOffset, "DiagnosticInfos", parseDiagnosticInfo);
\r
598 gint ett_opcua_CallRequest = -1;
\r
599 void parseCallRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
\r
601 proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "CallRequest");
\r
602 proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_CallRequest);
\r
604 parseRequestHeader(subtree, tvb, pOffset, "RequestHeader");
605 parseArrayComplex(subtree, tvb, pOffset, "MethodsToCall", parseCallRequestItem);
\r
608 gint ett_opcua_CallResponse = -1;
\r
609 void parseCallResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
\r
611 proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "CallResponse");
\r
612 proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_CallResponse);
\r
614 parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
615 parseArrayComplex(subtree, tvb, pOffset, "Results", parseCallResultItem);
616 parseArrayComplex(subtree, tvb, pOffset, "DiagnosticInfos", parseDiagnosticInfo);
\r
619 gint ett_opcua_CreateMonitoredItemsRequest = -1;
\r
620 void parseCreateMonitoredItemsRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
\r
622 proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "CreateMonitoredItemsRequest");
\r
623 proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_CreateMonitoredItemsRequest);
\r
625 parseRequestHeader(subtree, tvb, pOffset, "RequestHeader");
626 parseUInt32(subtree, tvb, pOffset, hf_opcua_SubscriptionId);
627 parseTimestampsToReturn(subtree, tvb, pOffset);
628 parseArrayComplex(subtree, tvb, pOffset, "ItemsToCreate", parseMonitoredItemCreateRequest);
\r
631 gint ett_opcua_CreateMonitoredItemsResponse = -1;
\r
632 void parseCreateMonitoredItemsResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
\r
634 proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "CreateMonitoredItemsResponse");
\r
635 proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_CreateMonitoredItemsResponse);
\r
637 parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
638 parseArrayComplex(subtree, tvb, pOffset, "Results", parseMonitoredItemCreateResult);
639 parseArrayComplex(subtree, tvb, pOffset, "DiagnosticInfos", parseDiagnosticInfo);
\r
642 gint ett_opcua_ModifyMonitoredItemsRequest = -1;
\r
643 void parseModifyMonitoredItemsRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
\r
645 proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "ModifyMonitoredItemsRequest");
\r
646 proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_ModifyMonitoredItemsRequest);
\r
648 parseRequestHeader(subtree, tvb, pOffset, "RequestHeader");
649 parseUInt32(subtree, tvb, pOffset, hf_opcua_SubscriptionId);
650 parseTimestampsToReturn(subtree, tvb, pOffset);
651 parseArrayComplex(subtree, tvb, pOffset, "ItemsToModify", parseMonitoredItemModifyRequest);
\r
654 gint ett_opcua_ModifyMonitoredItemsResponse = -1;
\r
655 void parseModifyMonitoredItemsResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
\r
657 proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "ModifyMonitoredItemsResponse");
\r
658 proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_ModifyMonitoredItemsResponse);
\r
660 parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
661 parseArrayComplex(subtree, tvb, pOffset, "Results", parseMonitoredItemModifyResult);
662 parseArrayComplex(subtree, tvb, pOffset, "DiagnosticInfos", parseDiagnosticInfo);
\r
665 gint ett_opcua_SetMonitoringModeRequest = -1;
\r
666 void parseSetMonitoringModeRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
\r
668 proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "SetMonitoringModeRequest");
\r
669 proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_SetMonitoringModeRequest);
\r
671 parseRequestHeader(subtree, tvb, pOffset, "RequestHeader");
672 parseUInt32(subtree, tvb, pOffset, hf_opcua_SubscriptionId);
673 parseMonitoringMode(subtree, tvb, pOffset);
674 parseArraySimple(subtree, tvb, pOffset, hf_opcua_MonitoredItemIds, parseUInt32);
\r
677 gint ett_opcua_SetMonitoringModeResponse = -1;
\r
678 void parseSetMonitoringModeResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
\r
680 proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "SetMonitoringModeResponse");
\r
681 proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_SetMonitoringModeResponse);
\r
683 parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
684 parseArraySimple(subtree, tvb, pOffset, hf_opcua_Results, parseStatusCode);
685 parseArrayComplex(subtree, tvb, pOffset, "DiagnosticInfos", parseDiagnosticInfo);
\r
688 gint ett_opcua_SetTriggeringRequest = -1;
\r
689 void parseSetTriggeringRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
\r
691 proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "SetTriggeringRequest");
\r
692 proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_SetTriggeringRequest);
\r
694 parseRequestHeader(subtree, tvb, pOffset, "RequestHeader");
695 parseUInt32(subtree, tvb, pOffset, hf_opcua_SubscriptionId);
696 parseUInt32(subtree, tvb, pOffset, hf_opcua_TriggeringItemId);
697 parseArraySimple(subtree, tvb, pOffset, hf_opcua_LinksToAdd, parseUInt32);
698 parseArraySimple(subtree, tvb, pOffset, hf_opcua_LinksToRemove, parseUInt32);
\r
701 gint ett_opcua_SetTriggeringResponse = -1;
\r
702 void parseSetTriggeringResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
\r
704 proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "SetTriggeringResponse");
\r
705 proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_SetTriggeringResponse);
\r
707 parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
708 parseArraySimple(subtree, tvb, pOffset, hf_opcua_AddResults, parseStatusCode);
709 parseArrayComplex(subtree, tvb, pOffset, "AddDiagnosticInfos", parseDiagnosticInfo);
710 parseArraySimple(subtree, tvb, pOffset, hf_opcua_RemoveResults, parseStatusCode);
711 parseArrayComplex(subtree, tvb, pOffset, "RemoveDiagnosticInfos", parseDiagnosticInfo);
\r
714 gint ett_opcua_DeleteMonitoredItemsRequest = -1;
\r
715 void parseDeleteMonitoredItemsRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
\r
717 proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "DeleteMonitoredItemsRequest");
\r
718 proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_DeleteMonitoredItemsRequest);
\r
720 parseRequestHeader(subtree, tvb, pOffset, "RequestHeader");
721 parseUInt32(subtree, tvb, pOffset, hf_opcua_SubscriptionId);
722 parseArraySimple(subtree, tvb, pOffset, hf_opcua_MonitoredItemIds, parseUInt32);
\r
725 gint ett_opcua_DeleteMonitoredItemsResponse = -1;
\r
726 void parseDeleteMonitoredItemsResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
\r
728 proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "DeleteMonitoredItemsResponse");
\r
729 proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_DeleteMonitoredItemsResponse);
\r
731 parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
732 parseArraySimple(subtree, tvb, pOffset, hf_opcua_Results, parseStatusCode);
733 parseArrayComplex(subtree, tvb, pOffset, "DiagnosticInfos", parseDiagnosticInfo);
\r
736 gint ett_opcua_CreateSubscriptionRequest = -1;
\r
737 void parseCreateSubscriptionRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
\r
739 proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "CreateSubscriptionRequest");
\r
740 proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_CreateSubscriptionRequest);
\r
742 parseRequestHeader(subtree, tvb, pOffset, "RequestHeader");
743 parseInt32(subtree, tvb, pOffset, hf_opcua_RequestedPublishingInterval);
744 parseUInt32(subtree, tvb, pOffset, hf_opcua_RequestedLifetimeCounter);
745 parseUInt32(subtree, tvb, pOffset, hf_opcua_RequestedMaxKeepAliveCount);
746 parseBoolean(subtree, tvb, pOffset, hf_opcua_PublishingEnabled);
747 parseByte(subtree, tvb, pOffset, hf_opcua_Priority);
\r
750 gint ett_opcua_CreateSubscriptionResponse = -1;
\r
751 void parseCreateSubscriptionResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
\r
753 proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "CreateSubscriptionResponse");
\r
754 proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_CreateSubscriptionResponse);
\r
756 parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
757 parseUInt32(subtree, tvb, pOffset, hf_opcua_SubscriptionId);
758 parseInt32(subtree, tvb, pOffset, hf_opcua_RevisedPublishingInterval);
759 parseUInt32(subtree, tvb, pOffset, hf_opcua_RevisedLifetimeCounter);
760 parseUInt32(subtree, tvb, pOffset, hf_opcua_RevisedMaxKeepAliveCount);
\r
763 gint ett_opcua_ModifySubscriptionRequest = -1;
\r
764 void parseModifySubscriptionRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
\r
766 proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "ModifySubscriptionRequest");
\r
767 proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_ModifySubscriptionRequest);
\r
769 parseRequestHeader(subtree, tvb, pOffset, "RequestHeader");
770 parseUInt32(subtree, tvb, pOffset, hf_opcua_SubscriptionId);
771 parseInt32(subtree, tvb, pOffset, hf_opcua_RequestedPublishingInterval);
772 parseUInt32(subtree, tvb, pOffset, hf_opcua_RequestedLifetimeCounter);
773 parseUInt32(subtree, tvb, pOffset, hf_opcua_RequestedMaxKeepAliveCount);
774 parseByte(subtree, tvb, pOffset, hf_opcua_Priority);
\r
777 gint ett_opcua_ModifySubscriptionResponse = -1;
\r
778 void parseModifySubscriptionResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
\r
780 proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "ModifySubscriptionResponse");
\r
781 proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_ModifySubscriptionResponse);
\r
783 parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
784 parseInt32(subtree, tvb, pOffset, hf_opcua_RevisedPublishingInterval);
785 parseUInt32(subtree, tvb, pOffset, hf_opcua_RevisedLifetimeCounter);
786 parseUInt32(subtree, tvb, pOffset, hf_opcua_RevisedMaxKeepAliveCount);
\r
789 gint ett_opcua_SetPublishingModeRequest = -1;
\r
790 void parseSetPublishingModeRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
\r
792 proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "SetPublishingModeRequest");
\r
793 proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_SetPublishingModeRequest);
\r
795 parseRequestHeader(subtree, tvb, pOffset, "RequestHeader");
796 parseBoolean(subtree, tvb, pOffset, hf_opcua_PublishingEnabled);
797 parseArraySimple(subtree, tvb, pOffset, hf_opcua_SubscriptionIds, parseUInt32);
\r
800 gint ett_opcua_SetPublishingModeResponse = -1;
\r
801 void parseSetPublishingModeResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
\r
803 proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "SetPublishingModeResponse");
\r
804 proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_SetPublishingModeResponse);
\r
806 parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
807 parseArraySimple(subtree, tvb, pOffset, hf_opcua_Results, parseStatusCode);
808 parseArrayComplex(subtree, tvb, pOffset, "DiagnosticInfos", parseDiagnosticInfo);
\r
811 gint ett_opcua_PublishRequest = -1;
\r
812 void parsePublishRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
\r
814 proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "PublishRequest");
\r
815 proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_PublishRequest);
\r
817 parseRequestHeader(subtree, tvb, pOffset, "RequestHeader");
818 parseArrayComplex(subtree, tvb, pOffset, "SubscriptionAcknowledgements", parseSubscriptionAcknowledgement);
\r
821 gint ett_opcua_PublishResponse = -1;
\r
822 void parsePublishResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
\r
824 proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "PublishResponse");
\r
825 proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_PublishResponse);
\r
827 parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
828 parseUInt32(subtree, tvb, pOffset, hf_opcua_SubscriptionId);
829 parseArraySimple(subtree, tvb, pOffset, hf_opcua_AvailableSequenceNumbers, parseUInt32);
830 parseBoolean(subtree, tvb, pOffset, hf_opcua_MoreNotifications);
831 parseNotificationMessage(subtree, tvb, pOffset, "NotificationMessage");
832 parseArraySimple(subtree, tvb, pOffset, hf_opcua_Results, parseStatusCode);
833 parseArrayComplex(subtree, tvb, pOffset, "DiagnosticInfos", parseDiagnosticInfo);
\r
836 gint ett_opcua_RepublishRequest = -1;
\r
837 void parseRepublishRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
\r
839 proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "RepublishRequest");
\r
840 proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_RepublishRequest);
\r
842 parseRequestHeader(subtree, tvb, pOffset, "RequestHeader");
843 parseUInt32(subtree, tvb, pOffset, hf_opcua_SubscriptionId);
844 parseUInt32(subtree, tvb, pOffset, hf_opcua_RetransmitSequenceNumber);
\r
847 gint ett_opcua_RepublishResponse = -1;
\r
848 void parseRepublishResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
\r
850 proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "RepublishResponse");
\r
851 proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_RepublishResponse);
\r
853 parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
854 parseNotificationMessage(subtree, tvb, pOffset, "NotificationMessage");
\r
857 gint ett_opcua_TransferSubscriptionsRequest = -1;
\r
858 void parseTransferSubscriptionsRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
\r
860 proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "TransferSubscriptionsRequest");
\r
861 proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_TransferSubscriptionsRequest);
\r
863 parseRequestHeader(subtree, tvb, pOffset, "RequestHeader");
864 parseArraySimple(subtree, tvb, pOffset, hf_opcua_SubscriptionIds, parseUInt32);
\r
867 gint ett_opcua_TransferSubscriptionsResponse = -1;
\r
868 void parseTransferSubscriptionsResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
\r
870 proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "TransferSubscriptionsResponse");
\r
871 proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_TransferSubscriptionsResponse);
\r
873 parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
874 parseArrayComplex(subtree, tvb, pOffset, "Results", parseTransferResult);
875 parseArrayComplex(subtree, tvb, pOffset, "DiagnosticInfos", parseDiagnosticInfo);
\r
878 gint ett_opcua_DeleteSubscriptionsRequest = -1;
\r
879 void parseDeleteSubscriptionsRequest(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
\r
881 proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "DeleteSubscriptionsRequest");
\r
882 proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_DeleteSubscriptionsRequest);
\r
884 parseRequestHeader(subtree, tvb, pOffset, "RequestHeader");
885 parseArraySimple(subtree, tvb, pOffset, hf_opcua_SubscriptionIds, parseUInt32);
\r
888 gint ett_opcua_DeleteSubscriptionsResponse = -1;
\r
889 void parseDeleteSubscriptionsResponse(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
\r
891 proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "DeleteSubscriptionsResponse");
\r
892 proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_DeleteSubscriptionsResponse);
\r
894 parseResponseHeader(subtree, tvb, pOffset, "ResponseHeader");
895 parseArraySimple(subtree, tvb, pOffset, hf_opcua_Results, parseStatusCode);
896 parseArrayComplex(subtree, tvb, pOffset, "DiagnosticInfos", parseDiagnosticInfo);
\r
899 /** Setup protocol subtree array */
902 &ett_opcua_TestStackRequest,
903 &ett_opcua_TestStackResponse,
904 &ett_opcua_TestStackExRequest,
905 &ett_opcua_TestStackExResponse,
906 &ett_opcua_FindServersRequest,
907 &ett_opcua_FindServersResponse,
908 &ett_opcua_GetEndpointsRequest,
909 &ett_opcua_GetEndpointsResponse,
910 &ett_opcua_RegisterServerRequest,
911 &ett_opcua_RegisterServerResponse,
912 &ett_opcua_OpenSecureChannelRequest,
913 &ett_opcua_OpenSecureChannelResponse,
914 &ett_opcua_CloseSecureChannelRequest,
915 &ett_opcua_CloseSecureChannelResponse,
916 &ett_opcua_CreateSessionRequest,
917 &ett_opcua_CreateSessionResponse,
918 &ett_opcua_ActivateSessionRequest,
919 &ett_opcua_ActivateSessionResponse,
920 &ett_opcua_CloseSessionRequest,
921 &ett_opcua_CloseSessionResponse,
922 &ett_opcua_CancelRequest,
923 &ett_opcua_CancelResponse,
924 &ett_opcua_AddNodesRequest,
925 &ett_opcua_AddNodesResponse,
926 &ett_opcua_AddReferencesRequest,
927 &ett_opcua_AddReferencesResponse,
928 &ett_opcua_DeleteNodesRequest,
929 &ett_opcua_DeleteNodesResponse,
930 &ett_opcua_DeleteReferencesRequest,
931 &ett_opcua_DeleteReferencesResponse,
932 &ett_opcua_BrowsePropertiesRequest,
933 &ett_opcua_BrowsePropertiesResponse,
934 &ett_opcua_BrowseRequest,
935 &ett_opcua_BrowseResponse,
936 &ett_opcua_BrowseNextRequest,
937 &ett_opcua_BrowseNextResponse,
938 &ett_opcua_TranslateBrowsePathsToNodeIdsRequest,
939 &ett_opcua_TranslateBrowsePathsToNodeIdsResponse,
940 &ett_opcua_QueryFirstRequest,
941 &ett_opcua_QueryFirstResponse,
942 &ett_opcua_QueryNextRequest,
943 &ett_opcua_QueryNextResponse,
944 &ett_opcua_ReadRequest,
945 &ett_opcua_ReadResponse,
946 &ett_opcua_HistoryReadRequest,
947 &ett_opcua_HistoryReadResponse,
948 &ett_opcua_WriteRequest,
949 &ett_opcua_WriteResponse,
950 &ett_opcua_HistoryUpdateRequest,
951 &ett_opcua_HistoryUpdateResponse,
952 &ett_opcua_CallRequest,
953 &ett_opcua_CallResponse,
954 &ett_opcua_CreateMonitoredItemsRequest,
955 &ett_opcua_CreateMonitoredItemsResponse,
956 &ett_opcua_ModifyMonitoredItemsRequest,
957 &ett_opcua_ModifyMonitoredItemsResponse,
958 &ett_opcua_SetMonitoringModeRequest,
959 &ett_opcua_SetMonitoringModeResponse,
960 &ett_opcua_SetTriggeringRequest,
961 &ett_opcua_SetTriggeringResponse,
962 &ett_opcua_DeleteMonitoredItemsRequest,
963 &ett_opcua_DeleteMonitoredItemsResponse,
964 &ett_opcua_CreateSubscriptionRequest,
965 &ett_opcua_CreateSubscriptionResponse,
966 &ett_opcua_ModifySubscriptionRequest,
967 &ett_opcua_ModifySubscriptionResponse,
968 &ett_opcua_SetPublishingModeRequest,
969 &ett_opcua_SetPublishingModeResponse,
970 &ett_opcua_PublishRequest,
971 &ett_opcua_PublishResponse,
972 &ett_opcua_RepublishRequest,
973 &ett_opcua_RepublishResponse,
974 &ett_opcua_TransferSubscriptionsRequest,
975 &ett_opcua_TransferSubscriptionsResponse,
976 &ett_opcua_DeleteSubscriptionsRequest,
977 &ett_opcua_DeleteSubscriptionsResponse,
980 void registerServiceTypes()
982 proto_register_subtree_array(ett, array_length(ett));