1 /******************************************************************************
2 ** Copyright (C) 2006-2015 ascolab GmbH. All Rights Reserved.
3 ** Web: http://www.ascolab.com
4 **
5 ** SPDX-License-Identifier: GPL-2.0-or-later
6 **
7 ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
8 ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
9 **
10 ** Project: OpcUa Wireshark Plugin
11 **
12 ** Description: Service table and service dispatcher.
13 **
14 ** This file was autogenerated on 13.10.2015.
15 ** DON'T MODIFY THIS FILE!
16 **
17 ******************************************************************************/
18 
19 #include "config.h"
20 
21 #include <epan/packet.h>
22 #include "opcua_identifiers.h"
23 #include "opcua_serviceparser.h"
24 #include "opcua_serviceids.h"
25 #include "opcua_servicetable.h"
26 
27 ParserEntry g_arParserTable[] = {
28     { OpcUaId_ServiceFault_Encoding_DefaultBinary, parseServiceFault },
29     { OpcUaId_FindServersRequest_Encoding_DefaultBinary, parseFindServersRequest },
30     { OpcUaId_FindServersResponse_Encoding_DefaultBinary, parseFindServersResponse },
31     { OpcUaId_FindServersOnNetworkRequest_Encoding_DefaultBinary, parseFindServersOnNetworkRequest },
32     { OpcUaId_FindServersOnNetworkResponse_Encoding_DefaultBinary, parseFindServersOnNetworkResponse },
33     { OpcUaId_GetEndpointsRequest_Encoding_DefaultBinary, parseGetEndpointsRequest },
34     { OpcUaId_GetEndpointsResponse_Encoding_DefaultBinary, parseGetEndpointsResponse },
35     { OpcUaId_RegisterServerRequest_Encoding_DefaultBinary, parseRegisterServerRequest },
36     { OpcUaId_RegisterServerResponse_Encoding_DefaultBinary, parseRegisterServerResponse },
37     { OpcUaId_RegisterServer2Request_Encoding_DefaultBinary, parseRegisterServer2Request },
38     { OpcUaId_RegisterServer2Response_Encoding_DefaultBinary, parseRegisterServer2Response },
39     { OpcUaId_OpenSecureChannelRequest_Encoding_DefaultBinary, parseOpenSecureChannelRequest },
40     { OpcUaId_OpenSecureChannelResponse_Encoding_DefaultBinary, parseOpenSecureChannelResponse },
41     { OpcUaId_CloseSecureChannelRequest_Encoding_DefaultBinary, parseCloseSecureChannelRequest },
42     { OpcUaId_CloseSecureChannelResponse_Encoding_DefaultBinary, parseCloseSecureChannelResponse },
43     { OpcUaId_CreateSessionRequest_Encoding_DefaultBinary, parseCreateSessionRequest },
44     { OpcUaId_CreateSessionResponse_Encoding_DefaultBinary, parseCreateSessionResponse },
45     { OpcUaId_ActivateSessionRequest_Encoding_DefaultBinary, parseActivateSessionRequest },
46     { OpcUaId_ActivateSessionResponse_Encoding_DefaultBinary, parseActivateSessionResponse },
47     { OpcUaId_CloseSessionRequest_Encoding_DefaultBinary, parseCloseSessionRequest },
48     { OpcUaId_CloseSessionResponse_Encoding_DefaultBinary, parseCloseSessionResponse },
49     { OpcUaId_CancelRequest_Encoding_DefaultBinary, parseCancelRequest },
50     { OpcUaId_CancelResponse_Encoding_DefaultBinary, parseCancelResponse },
51     { OpcUaId_AddNodesRequest_Encoding_DefaultBinary, parseAddNodesRequest },
52     { OpcUaId_AddNodesResponse_Encoding_DefaultBinary, parseAddNodesResponse },
53     { OpcUaId_AddReferencesRequest_Encoding_DefaultBinary, parseAddReferencesRequest },
54     { OpcUaId_AddReferencesResponse_Encoding_DefaultBinary, parseAddReferencesResponse },
55     { OpcUaId_DeleteNodesRequest_Encoding_DefaultBinary, parseDeleteNodesRequest },
56     { OpcUaId_DeleteNodesResponse_Encoding_DefaultBinary, parseDeleteNodesResponse },
57     { OpcUaId_DeleteReferencesRequest_Encoding_DefaultBinary, parseDeleteReferencesRequest },
58     { OpcUaId_DeleteReferencesResponse_Encoding_DefaultBinary, parseDeleteReferencesResponse },
59     { OpcUaId_BrowseRequest_Encoding_DefaultBinary, parseBrowseRequest },
60     { OpcUaId_BrowseResponse_Encoding_DefaultBinary, parseBrowseResponse },
61     { OpcUaId_BrowseNextRequest_Encoding_DefaultBinary, parseBrowseNextRequest },
62     { OpcUaId_BrowseNextResponse_Encoding_DefaultBinary, parseBrowseNextResponse },
63     { OpcUaId_TranslateBrowsePathsToNodeIdsRequest_Encoding_DefaultBinary, parseTranslateBrowsePathsToNodeIdsRequest },
64     { OpcUaId_TranslateBrowsePathsToNodeIdsResponse_Encoding_DefaultBinary, parseTranslateBrowsePathsToNodeIdsResponse },
65     { OpcUaId_RegisterNodesRequest_Encoding_DefaultBinary, parseRegisterNodesRequest },
66     { OpcUaId_RegisterNodesResponse_Encoding_DefaultBinary, parseRegisterNodesResponse },
67     { OpcUaId_UnregisterNodesRequest_Encoding_DefaultBinary, parseUnregisterNodesRequest },
68     { OpcUaId_UnregisterNodesResponse_Encoding_DefaultBinary, parseUnregisterNodesResponse },
69     { OpcUaId_QueryFirstRequest_Encoding_DefaultBinary, parseQueryFirstRequest },
70     { OpcUaId_QueryFirstResponse_Encoding_DefaultBinary, parseQueryFirstResponse },
71     { OpcUaId_QueryNextRequest_Encoding_DefaultBinary, parseQueryNextRequest },
72     { OpcUaId_QueryNextResponse_Encoding_DefaultBinary, parseQueryNextResponse },
73     { OpcUaId_ReadRequest_Encoding_DefaultBinary, parseReadRequest },
74     { OpcUaId_ReadResponse_Encoding_DefaultBinary, parseReadResponse },
75     { OpcUaId_HistoryReadRequest_Encoding_DefaultBinary, parseHistoryReadRequest },
76     { OpcUaId_HistoryReadResponse_Encoding_DefaultBinary, parseHistoryReadResponse },
77     { OpcUaId_WriteRequest_Encoding_DefaultBinary, parseWriteRequest },
78     { OpcUaId_WriteResponse_Encoding_DefaultBinary, parseWriteResponse },
79     { OpcUaId_HistoryUpdateRequest_Encoding_DefaultBinary, parseHistoryUpdateRequest },
80     { OpcUaId_HistoryUpdateResponse_Encoding_DefaultBinary, parseHistoryUpdateResponse },
81     { OpcUaId_CallRequest_Encoding_DefaultBinary, parseCallRequest },
82     { OpcUaId_CallResponse_Encoding_DefaultBinary, parseCallResponse },
83     { OpcUaId_CreateMonitoredItemsRequest_Encoding_DefaultBinary, parseCreateMonitoredItemsRequest },
84     { OpcUaId_CreateMonitoredItemsResponse_Encoding_DefaultBinary, parseCreateMonitoredItemsResponse },
85     { OpcUaId_ModifyMonitoredItemsRequest_Encoding_DefaultBinary, parseModifyMonitoredItemsRequest },
86     { OpcUaId_ModifyMonitoredItemsResponse_Encoding_DefaultBinary, parseModifyMonitoredItemsResponse },
87     { OpcUaId_SetMonitoringModeRequest_Encoding_DefaultBinary, parseSetMonitoringModeRequest },
88     { OpcUaId_SetMonitoringModeResponse_Encoding_DefaultBinary, parseSetMonitoringModeResponse },
89     { OpcUaId_SetTriggeringRequest_Encoding_DefaultBinary, parseSetTriggeringRequest },
90     { OpcUaId_SetTriggeringResponse_Encoding_DefaultBinary, parseSetTriggeringResponse },
91     { OpcUaId_DeleteMonitoredItemsRequest_Encoding_DefaultBinary, parseDeleteMonitoredItemsRequest },
92     { OpcUaId_DeleteMonitoredItemsResponse_Encoding_DefaultBinary, parseDeleteMonitoredItemsResponse },
93     { OpcUaId_CreateSubscriptionRequest_Encoding_DefaultBinary, parseCreateSubscriptionRequest },
94     { OpcUaId_CreateSubscriptionResponse_Encoding_DefaultBinary, parseCreateSubscriptionResponse },
95     { OpcUaId_ModifySubscriptionRequest_Encoding_DefaultBinary, parseModifySubscriptionRequest },
96     { OpcUaId_ModifySubscriptionResponse_Encoding_DefaultBinary, parseModifySubscriptionResponse },
97     { OpcUaId_SetPublishingModeRequest_Encoding_DefaultBinary, parseSetPublishingModeRequest },
98     { OpcUaId_SetPublishingModeResponse_Encoding_DefaultBinary, parseSetPublishingModeResponse },
99     { OpcUaId_PublishRequest_Encoding_DefaultBinary, parsePublishRequest },
100     { OpcUaId_PublishResponse_Encoding_DefaultBinary, parsePublishResponse },
101     { OpcUaId_RepublishRequest_Encoding_DefaultBinary, parseRepublishRequest },
102     { OpcUaId_RepublishResponse_Encoding_DefaultBinary, parseRepublishResponse },
103     { OpcUaId_TransferSubscriptionsRequest_Encoding_DefaultBinary, parseTransferSubscriptionsRequest },
104     { OpcUaId_TransferSubscriptionsResponse_Encoding_DefaultBinary, parseTransferSubscriptionsResponse },
105     { OpcUaId_DeleteSubscriptionsRequest_Encoding_DefaultBinary, parseDeleteSubscriptionsRequest },
106     { OpcUaId_DeleteSubscriptionsResponse_Encoding_DefaultBinary, parseDeleteSubscriptionsResponse },
107     { OpcUaId_TestStackRequest_Encoding_DefaultBinary, parseTestStackRequest },
108     { OpcUaId_TestStackResponse_Encoding_DefaultBinary, parseTestStackResponse },
109     { OpcUaId_TestStackExRequest_Encoding_DefaultBinary, parseTestStackExRequest },
110     { OpcUaId_TestStackExResponse_Encoding_DefaultBinary, parseTestStackExResponse },
111 };
112 const int g_NumServices = sizeof(g_arParserTable) / sizeof(ParserEntry);
113 
114 /** Service type table */
115 const value_string g_requesttypes[] = {
116     { OpcUaId_ServiceFault_Encoding_DefaultBinary, "ServiceFault" },
117     { OpcUaId_FindServersRequest_Encoding_DefaultBinary, "FindServersRequest" },
118     { OpcUaId_FindServersResponse_Encoding_DefaultBinary, "FindServersResponse" },
119     { OpcUaId_FindServersOnNetworkRequest_Encoding_DefaultBinary, "FindServersOnNetworkRequest" },
120     { OpcUaId_FindServersOnNetworkResponse_Encoding_DefaultBinary, "FindServersOnNetworkResponse" },
121     { OpcUaId_GetEndpointsRequest_Encoding_DefaultBinary, "GetEndpointsRequest" },
122     { OpcUaId_GetEndpointsResponse_Encoding_DefaultBinary, "GetEndpointsResponse" },
123     { OpcUaId_RegisterServerRequest_Encoding_DefaultBinary, "RegisterServerRequest" },
124     { OpcUaId_RegisterServerResponse_Encoding_DefaultBinary, "RegisterServerResponse" },
125     { OpcUaId_RegisterServer2Request_Encoding_DefaultBinary, "RegisterServer2Request" },
126     { OpcUaId_RegisterServer2Response_Encoding_DefaultBinary, "RegisterServer2Response" },
127     { OpcUaId_OpenSecureChannelRequest_Encoding_DefaultBinary, "OpenSecureChannelRequest" },
128     { OpcUaId_OpenSecureChannelResponse_Encoding_DefaultBinary, "OpenSecureChannelResponse" },
129     { OpcUaId_CloseSecureChannelRequest_Encoding_DefaultBinary, "CloseSecureChannelRequest" },
130     { OpcUaId_CloseSecureChannelResponse_Encoding_DefaultBinary, "CloseSecureChannelResponse" },
131     { OpcUaId_CreateSessionRequest_Encoding_DefaultBinary, "CreateSessionRequest" },
132     { OpcUaId_CreateSessionResponse_Encoding_DefaultBinary, "CreateSessionResponse" },
133     { OpcUaId_ActivateSessionRequest_Encoding_DefaultBinary, "ActivateSessionRequest" },
134     { OpcUaId_ActivateSessionResponse_Encoding_DefaultBinary, "ActivateSessionResponse" },
135     { OpcUaId_CloseSessionRequest_Encoding_DefaultBinary, "CloseSessionRequest" },
136     { OpcUaId_CloseSessionResponse_Encoding_DefaultBinary, "CloseSessionResponse" },
137     { OpcUaId_CancelRequest_Encoding_DefaultBinary, "CancelRequest" },
138     { OpcUaId_CancelResponse_Encoding_DefaultBinary, "CancelResponse" },
139     { OpcUaId_AddNodesRequest_Encoding_DefaultBinary, "AddNodesRequest" },
140     { OpcUaId_AddNodesResponse_Encoding_DefaultBinary, "AddNodesResponse" },
141     { OpcUaId_AddReferencesRequest_Encoding_DefaultBinary, "AddReferencesRequest" },
142     { OpcUaId_AddReferencesResponse_Encoding_DefaultBinary, "AddReferencesResponse" },
143     { OpcUaId_DeleteNodesRequest_Encoding_DefaultBinary, "DeleteNodesRequest" },
144     { OpcUaId_DeleteNodesResponse_Encoding_DefaultBinary, "DeleteNodesResponse" },
145     { OpcUaId_DeleteReferencesRequest_Encoding_DefaultBinary, "DeleteReferencesRequest" },
146     { OpcUaId_DeleteReferencesResponse_Encoding_DefaultBinary, "DeleteReferencesResponse" },
147     { OpcUaId_BrowseRequest_Encoding_DefaultBinary, "BrowseRequest" },
148     { OpcUaId_BrowseResponse_Encoding_DefaultBinary, "BrowseResponse" },
149     { OpcUaId_BrowseNextRequest_Encoding_DefaultBinary, "BrowseNextRequest" },
150     { OpcUaId_BrowseNextResponse_Encoding_DefaultBinary, "BrowseNextResponse" },
151     { OpcUaId_TranslateBrowsePathsToNodeIdsRequest_Encoding_DefaultBinary, "TranslateBrowsePathsToNodeIdsRequest" },
152     { OpcUaId_TranslateBrowsePathsToNodeIdsResponse_Encoding_DefaultBinary, "TranslateBrowsePathsToNodeIdsResponse" },
153     { OpcUaId_RegisterNodesRequest_Encoding_DefaultBinary, "RegisterNodesRequest" },
154     { OpcUaId_RegisterNodesResponse_Encoding_DefaultBinary, "RegisterNodesResponse" },
155     { OpcUaId_UnregisterNodesRequest_Encoding_DefaultBinary, "UnregisterNodesRequest" },
156     { OpcUaId_UnregisterNodesResponse_Encoding_DefaultBinary, "UnregisterNodesResponse" },
157     { OpcUaId_QueryFirstRequest_Encoding_DefaultBinary, "QueryFirstRequest" },
158     { OpcUaId_QueryFirstResponse_Encoding_DefaultBinary, "QueryFirstResponse" },
159     { OpcUaId_QueryNextRequest_Encoding_DefaultBinary, "QueryNextRequest" },
160     { OpcUaId_QueryNextResponse_Encoding_DefaultBinary, "QueryNextResponse" },
161     { OpcUaId_ReadRequest_Encoding_DefaultBinary, "ReadRequest" },
162     { OpcUaId_ReadResponse_Encoding_DefaultBinary, "ReadResponse" },
163     { OpcUaId_HistoryReadRequest_Encoding_DefaultBinary, "HistoryReadRequest" },
164     { OpcUaId_HistoryReadResponse_Encoding_DefaultBinary, "HistoryReadResponse" },
165     { OpcUaId_WriteRequest_Encoding_DefaultBinary, "WriteRequest" },
166     { OpcUaId_WriteResponse_Encoding_DefaultBinary, "WriteResponse" },
167     { OpcUaId_HistoryUpdateRequest_Encoding_DefaultBinary, "HistoryUpdateRequest" },
168     { OpcUaId_HistoryUpdateResponse_Encoding_DefaultBinary, "HistoryUpdateResponse" },
169     { OpcUaId_CallRequest_Encoding_DefaultBinary, "CallRequest" },
170     { OpcUaId_CallResponse_Encoding_DefaultBinary, "CallResponse" },
171     { OpcUaId_CreateMonitoredItemsRequest_Encoding_DefaultBinary, "CreateMonitoredItemsRequest" },
172     { OpcUaId_CreateMonitoredItemsResponse_Encoding_DefaultBinary, "CreateMonitoredItemsResponse" },
173     { OpcUaId_ModifyMonitoredItemsRequest_Encoding_DefaultBinary, "ModifyMonitoredItemsRequest" },
174     { OpcUaId_ModifyMonitoredItemsResponse_Encoding_DefaultBinary, "ModifyMonitoredItemsResponse" },
175     { OpcUaId_SetMonitoringModeRequest_Encoding_DefaultBinary, "SetMonitoringModeRequest" },
176     { OpcUaId_SetMonitoringModeResponse_Encoding_DefaultBinary, "SetMonitoringModeResponse" },
177     { OpcUaId_SetTriggeringRequest_Encoding_DefaultBinary, "SetTriggeringRequest" },
178     { OpcUaId_SetTriggeringResponse_Encoding_DefaultBinary, "SetTriggeringResponse" },
179     { OpcUaId_DeleteMonitoredItemsRequest_Encoding_DefaultBinary, "DeleteMonitoredItemsRequest" },
180     { OpcUaId_DeleteMonitoredItemsResponse_Encoding_DefaultBinary, "DeleteMonitoredItemsResponse" },
181     { OpcUaId_CreateSubscriptionRequest_Encoding_DefaultBinary, "CreateSubscriptionRequest" },
182     { OpcUaId_CreateSubscriptionResponse_Encoding_DefaultBinary, "CreateSubscriptionResponse" },
183     { OpcUaId_ModifySubscriptionRequest_Encoding_DefaultBinary, "ModifySubscriptionRequest" },
184     { OpcUaId_ModifySubscriptionResponse_Encoding_DefaultBinary, "ModifySubscriptionResponse" },
185     { OpcUaId_SetPublishingModeRequest_Encoding_DefaultBinary, "SetPublishingModeRequest" },
186     { OpcUaId_SetPublishingModeResponse_Encoding_DefaultBinary, "SetPublishingModeResponse" },
187     { OpcUaId_PublishRequest_Encoding_DefaultBinary, "PublishRequest" },
188     { OpcUaId_PublishResponse_Encoding_DefaultBinary, "PublishResponse" },
189     { OpcUaId_RepublishRequest_Encoding_DefaultBinary, "RepublishRequest" },
190     { OpcUaId_RepublishResponse_Encoding_DefaultBinary, "RepublishResponse" },
191     { OpcUaId_TransferSubscriptionsRequest_Encoding_DefaultBinary, "TransferSubscriptionsRequest" },
192     { OpcUaId_TransferSubscriptionsResponse_Encoding_DefaultBinary, "TransferSubscriptionsResponse" },
193     { OpcUaId_DeleteSubscriptionsRequest_Encoding_DefaultBinary, "DeleteSubscriptionsRequest" },
194     { OpcUaId_DeleteSubscriptionsResponse_Encoding_DefaultBinary, "DeleteSubscriptionsResponse" },
195     { OpcUaId_TestStackRequest_Encoding_DefaultBinary, "TestStackRequest" },
196     { OpcUaId_TestStackResponse_Encoding_DefaultBinary, "TestStackResponse" },
197     { OpcUaId_TestStackExRequest_Encoding_DefaultBinary, "TestStackExRequest" },
198     { OpcUaId_TestStackExResponse_Encoding_DefaultBinary, "TestStackExResponse" },
199     { OpcUaId_ServiceFault_Encoding_DefaultXml, "ServiceFault (XML Encoding)" },
200     { OpcUaId_FindServersRequest_Encoding_DefaultXml, "FindServersRequest (XML Encoding)" },
201     { OpcUaId_FindServersResponse_Encoding_DefaultXml, "FindServersResponse (XML Encoding)" },
202     { OpcUaId_FindServersOnNetworkRequest_Encoding_DefaultXml, "FindServersOnNetworkRequest (XML Encoding)" },
203     { OpcUaId_FindServersOnNetworkResponse_Encoding_DefaultXml, "FindServersOnNetworkResponse (XML Encoding)" },
204     { OpcUaId_GetEndpointsRequest_Encoding_DefaultXml, "GetEndpointsRequest (XML Encoding)" },
205     { OpcUaId_GetEndpointsResponse_Encoding_DefaultXml, "GetEndpointsResponse (XML Encoding)" },
206     { OpcUaId_RegisterServerRequest_Encoding_DefaultXml, "RegisterServerRequest (XML Encoding)" },
207     { OpcUaId_RegisterServerResponse_Encoding_DefaultXml, "RegisterServerResponse (XML Encoding)" },
208     { OpcUaId_RegisterServer2Request_Encoding_DefaultXml, "RegisterServer2Request (XML Encoding)" },
209     { OpcUaId_RegisterServer2Response_Encoding_DefaultXml, "RegisterServer2Response (XML Encoding)" },
210     { OpcUaId_OpenSecureChannelRequest_Encoding_DefaultXml, "OpenSecureChannelRequest (XML Encoding)" },
211     { OpcUaId_OpenSecureChannelResponse_Encoding_DefaultXml, "OpenSecureChannelResponse (XML Encoding)" },
212     { OpcUaId_CloseSecureChannelRequest_Encoding_DefaultXml, "CloseSecureChannelRequest (XML Encoding)" },
213     { OpcUaId_CloseSecureChannelResponse_Encoding_DefaultXml, "CloseSecureChannelResponse (XML Encoding)" },
214     { OpcUaId_CreateSessionRequest_Encoding_DefaultXml, "CreateSessionRequest (XML Encoding)" },
215     { OpcUaId_CreateSessionResponse_Encoding_DefaultXml, "CreateSessionResponse (XML Encoding)" },
216     { OpcUaId_ActivateSessionRequest_Encoding_DefaultXml, "ActivateSessionRequest (XML Encoding)" },
217     { OpcUaId_ActivateSessionResponse_Encoding_DefaultXml, "ActivateSessionResponse (XML Encoding)" },
218     { OpcUaId_CloseSessionRequest_Encoding_DefaultXml, "CloseSessionRequest (XML Encoding)" },
219     { OpcUaId_CloseSessionResponse_Encoding_DefaultXml, "CloseSessionResponse (XML Encoding)" },
220     { OpcUaId_CancelRequest_Encoding_DefaultXml, "CancelRequest (XML Encoding)" },
221     { OpcUaId_CancelResponse_Encoding_DefaultXml, "CancelResponse (XML Encoding)" },
222     { OpcUaId_AddNodesRequest_Encoding_DefaultXml, "AddNodesRequest (XML Encoding)" },
223     { OpcUaId_AddNodesResponse_Encoding_DefaultXml, "AddNodesResponse (XML Encoding)" },
224     { OpcUaId_AddReferencesRequest_Encoding_DefaultXml, "AddReferencesRequest (XML Encoding)" },
225     { OpcUaId_AddReferencesResponse_Encoding_DefaultXml, "AddReferencesResponse (XML Encoding)" },
226     { OpcUaId_DeleteNodesRequest_Encoding_DefaultXml, "DeleteNodesRequest (XML Encoding)" },
227     { OpcUaId_DeleteNodesResponse_Encoding_DefaultXml, "DeleteNodesResponse (XML Encoding)" },
228     { OpcUaId_DeleteReferencesRequest_Encoding_DefaultXml, "DeleteReferencesRequest (XML Encoding)" },
229     { OpcUaId_DeleteReferencesResponse_Encoding_DefaultXml, "DeleteReferencesResponse (XML Encoding)" },
230     { OpcUaId_BrowseRequest_Encoding_DefaultXml, "BrowseRequest (XML Encoding)" },
231     { OpcUaId_BrowseResponse_Encoding_DefaultXml, "BrowseResponse (XML Encoding)" },
232     { OpcUaId_BrowseNextRequest_Encoding_DefaultXml, "BrowseNextRequest (XML Encoding)" },
233     { OpcUaId_BrowseNextResponse_Encoding_DefaultXml, "BrowseNextResponse (XML Encoding)" },
234     { OpcUaId_TranslateBrowsePathsToNodeIdsRequest_Encoding_DefaultXml, "TranslateBrowsePathsToNodeIdsRequest (XML Encoding)" },
235     { OpcUaId_TranslateBrowsePathsToNodeIdsResponse_Encoding_DefaultXml, "TranslateBrowsePathsToNodeIdsResponse (XML Encoding)" },
236     { OpcUaId_RegisterNodesRequest_Encoding_DefaultXml, "RegisterNodesRequest (XML Encoding)" },
237     { OpcUaId_RegisterNodesResponse_Encoding_DefaultXml, "RegisterNodesResponse (XML Encoding)" },
238     { OpcUaId_UnregisterNodesRequest_Encoding_DefaultXml, "UnregisterNodesRequest (XML Encoding)" },
239     { OpcUaId_UnregisterNodesResponse_Encoding_DefaultXml, "UnregisterNodesResponse (XML Encoding)" },
240     { OpcUaId_QueryFirstRequest_Encoding_DefaultXml, "QueryFirstRequest (XML Encoding)" },
241     { OpcUaId_QueryFirstResponse_Encoding_DefaultXml, "QueryFirstResponse (XML Encoding)" },
242     { OpcUaId_QueryNextRequest_Encoding_DefaultXml, "QueryNextRequest (XML Encoding)" },
243     { OpcUaId_QueryNextResponse_Encoding_DefaultXml, "QueryNextResponse (XML Encoding)" },
244     { OpcUaId_ReadRequest_Encoding_DefaultXml, "ReadRequest (XML Encoding)" },
245     { OpcUaId_ReadResponse_Encoding_DefaultXml, "ReadResponse (XML Encoding)" },
246     { OpcUaId_HistoryReadRequest_Encoding_DefaultXml, "HistoryReadRequest (XML Encoding)" },
247     { OpcUaId_HistoryReadResponse_Encoding_DefaultXml, "HistoryReadResponse (XML Encoding)" },
248     { OpcUaId_WriteRequest_Encoding_DefaultXml, "WriteRequest (XML Encoding)" },
249     { OpcUaId_WriteResponse_Encoding_DefaultXml, "WriteResponse (XML Encoding)" },
250     { OpcUaId_HistoryUpdateRequest_Encoding_DefaultXml, "HistoryUpdateRequest (XML Encoding)" },
251     { OpcUaId_HistoryUpdateResponse_Encoding_DefaultXml, "HistoryUpdateResponse (XML Encoding)" },
252     { OpcUaId_CallRequest_Encoding_DefaultXml, "CallRequest (XML Encoding)" },
253     { OpcUaId_CallResponse_Encoding_DefaultXml, "CallResponse (XML Encoding)" },
254     { OpcUaId_CreateMonitoredItemsRequest_Encoding_DefaultXml, "CreateMonitoredItemsRequest (XML Encoding)" },
255     { OpcUaId_CreateMonitoredItemsResponse_Encoding_DefaultXml, "CreateMonitoredItemsResponse (XML Encoding)" },
256     { OpcUaId_ModifyMonitoredItemsRequest_Encoding_DefaultXml, "ModifyMonitoredItemsRequest (XML Encoding)" },
257     { OpcUaId_ModifyMonitoredItemsResponse_Encoding_DefaultXml, "ModifyMonitoredItemsResponse (XML Encoding)" },
258     { OpcUaId_SetMonitoringModeRequest_Encoding_DefaultXml, "SetMonitoringModeRequest (XML Encoding)" },
259     { OpcUaId_SetMonitoringModeResponse_Encoding_DefaultXml, "SetMonitoringModeResponse (XML Encoding)" },
260     { OpcUaId_SetTriggeringRequest_Encoding_DefaultXml, "SetTriggeringRequest (XML Encoding)" },
261     { OpcUaId_SetTriggeringResponse_Encoding_DefaultXml, "SetTriggeringResponse (XML Encoding)" },
262     { OpcUaId_DeleteMonitoredItemsRequest_Encoding_DefaultXml, "DeleteMonitoredItemsRequest (XML Encoding)" },
263     { OpcUaId_DeleteMonitoredItemsResponse_Encoding_DefaultXml, "DeleteMonitoredItemsResponse (XML Encoding)" },
264     { OpcUaId_CreateSubscriptionRequest_Encoding_DefaultXml, "CreateSubscriptionRequest (XML Encoding)" },
265     { OpcUaId_CreateSubscriptionResponse_Encoding_DefaultXml, "CreateSubscriptionResponse (XML Encoding)" },
266     { OpcUaId_ModifySubscriptionRequest_Encoding_DefaultXml, "ModifySubscriptionRequest (XML Encoding)" },
267     { OpcUaId_ModifySubscriptionResponse_Encoding_DefaultXml, "ModifySubscriptionResponse (XML Encoding)" },
268     { OpcUaId_SetPublishingModeRequest_Encoding_DefaultXml, "SetPublishingModeRequest (XML Encoding)" },
269     { OpcUaId_SetPublishingModeResponse_Encoding_DefaultXml, "SetPublishingModeResponse (XML Encoding)" },
270     { OpcUaId_PublishRequest_Encoding_DefaultXml, "PublishRequest (XML Encoding)" },
271     { OpcUaId_PublishResponse_Encoding_DefaultXml, "PublishResponse (XML Encoding)" },
272     { OpcUaId_RepublishRequest_Encoding_DefaultXml, "RepublishRequest (XML Encoding)" },
273     { OpcUaId_RepublishResponse_Encoding_DefaultXml, "RepublishResponse (XML Encoding)" },
274     { OpcUaId_TransferSubscriptionsRequest_Encoding_DefaultXml, "TransferSubscriptionsRequest (XML Encoding)" },
275     { OpcUaId_TransferSubscriptionsResponse_Encoding_DefaultXml, "TransferSubscriptionsResponse (XML Encoding)" },
276     { OpcUaId_DeleteSubscriptionsRequest_Encoding_DefaultXml, "DeleteSubscriptionsRequest (XML Encoding)" },
277     { OpcUaId_DeleteSubscriptionsResponse_Encoding_DefaultXml, "DeleteSubscriptionsResponse (XML Encoding)" },
278     { OpcUaId_TestStackRequest_Encoding_DefaultXml, "TestStackRequest (XML Encoding)" },
279     { OpcUaId_TestStackResponse_Encoding_DefaultXml, "TestStackResponse (XML Encoding)" },
280     { OpcUaId_TestStackExRequest_Encoding_DefaultXml, "TestStackExRequest (XML Encoding)" },
281     { OpcUaId_TestStackExResponse_Encoding_DefaultXml, "TestStackExResponse (XML Encoding)" },
282     { 0, NULL }
283 };
284 
285 /** Dispatch all services to a special parser function. */
dispatchService(proto_tree * tree,tvbuff_t * tvb,packet_info * pinfo,gint * pOffset,int ServiceId)286 void dispatchService(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, int ServiceId)
287 {
288     int indx = 0;
289 
290     while (indx < g_NumServices)
291     {
292         if (g_arParserTable[indx].iRequestId == ServiceId)
293         {
294             (*g_arParserTable[indx].pParser)(tree, tvb, pinfo, pOffset);
295             break;
296         }
297         indx++;
298     }
299 }
300 
301