aboutsummaryrefslogtreecommitdiffstats
path: root/plugins/opcua/opcua_servicetable.c
blob: a839046dc554aeeb40ee8867413797a249bcc0b0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
/******************************************************************************
** Copyright (C) 2006-2014 ascolab GmbH. All Rights Reserved.
** Web: http://www.ascolab.com
**
** This program is free software; you can redistribute it and/or
** modify it under the terms of the GNU General Public License
** as published by the Free Software Foundation; either version 2
** of the License, or (at your option) any later version.
**
** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
**
** Project: OpcUa Wireshark Plugin
**
** Description: Service table and service dispatcher.
**
** This file was autogenerated on 16.10.2014.
** DON'T MODIFY THIS FILE!
**
******************************************************************************/

#include "config.h"

#include <glib.h>
#include <epan/packet.h>
#include "opcua_identifiers.h"
#include "opcua_serviceparser.h"
#include "opcua_serviceids.h"
#include "opcua_servicetable.h"

ParserEntry g_arParserTable[] = {
    { OpcUaId_ServiceFault_Encoding_DefaultBinary, parseServiceFault },
    { OpcUaId_FindServersRequest_Encoding_DefaultBinary, parseFindServersRequest },
    { OpcUaId_FindServersResponse_Encoding_DefaultBinary, parseFindServersResponse },
    { OpcUaId_GetEndpointsRequest_Encoding_DefaultBinary, parseGetEndpointsRequest },
    { OpcUaId_GetEndpointsResponse_Encoding_DefaultBinary, parseGetEndpointsResponse },
    { OpcUaId_RegisterServerRequest_Encoding_DefaultBinary, parseRegisterServerRequest },
    { OpcUaId_RegisterServerResponse_Encoding_DefaultBinary, parseRegisterServerResponse },
    { OpcUaId_OpenSecureChannelRequest_Encoding_DefaultBinary, parseOpenSecureChannelRequest },
    { OpcUaId_OpenSecureChannelResponse_Encoding_DefaultBinary, parseOpenSecureChannelResponse },
    { OpcUaId_CloseSecureChannelRequest_Encoding_DefaultBinary, parseCloseSecureChannelRequest },
    { OpcUaId_CloseSecureChannelResponse_Encoding_DefaultBinary, parseCloseSecureChannelResponse },
    { OpcUaId_CreateSessionRequest_Encoding_DefaultBinary, parseCreateSessionRequest },
    { OpcUaId_CreateSessionResponse_Encoding_DefaultBinary, parseCreateSessionResponse },
    { OpcUaId_ActivateSessionRequest_Encoding_DefaultBinary, parseActivateSessionRequest },
    { OpcUaId_ActivateSessionResponse_Encoding_DefaultBinary, parseActivateSessionResponse },
    { OpcUaId_CloseSessionRequest_Encoding_DefaultBinary, parseCloseSessionRequest },
    { OpcUaId_CloseSessionResponse_Encoding_DefaultBinary, parseCloseSessionResponse },
    { OpcUaId_CancelRequest_Encoding_DefaultBinary, parseCancelRequest },
    { OpcUaId_CancelResponse_Encoding_DefaultBinary, parseCancelResponse },
    { OpcUaId_AddNodesRequest_Encoding_DefaultBinary, parseAddNodesRequest },
    { OpcUaId_AddNodesResponse_Encoding_DefaultBinary, parseAddNodesResponse },
    { OpcUaId_AddReferencesRequest_Encoding_DefaultBinary, parseAddReferencesRequest },
    { OpcUaId_AddReferencesResponse_Encoding_DefaultBinary, parseAddReferencesResponse },
    { OpcUaId_DeleteNodesRequest_Encoding_DefaultBinary, parseDeleteNodesRequest },
    { OpcUaId_DeleteNodesResponse_Encoding_DefaultBinary, parseDeleteNodesResponse },
    { OpcUaId_DeleteReferencesRequest_Encoding_DefaultBinary, parseDeleteReferencesRequest },
    { OpcUaId_DeleteReferencesResponse_Encoding_DefaultBinary, parseDeleteReferencesResponse },
    { OpcUaId_BrowseRequest_Encoding_DefaultBinary, parseBrowseRequest },
    { OpcUaId_BrowseResponse_Encoding_DefaultBinary, parseBrowseResponse },
    { OpcUaId_BrowseNextRequest_Encoding_DefaultBinary, parseBrowseNextRequest },
    { OpcUaId_BrowseNextResponse_Encoding_DefaultBinary, parseBrowseNextResponse },
    { OpcUaId_TranslateBrowsePathsToNodeIdsRequest_Encoding_DefaultBinary, parseTranslateBrowsePathsToNodeIdsRequest },
    { OpcUaId_TranslateBrowsePathsToNodeIdsResponse_Encoding_DefaultBinary, parseTranslateBrowsePathsToNodeIdsResponse },
    { OpcUaId_RegisterNodesRequest_Encoding_DefaultBinary, parseRegisterNodesRequest },
    { OpcUaId_RegisterNodesResponse_Encoding_DefaultBinary, parseRegisterNodesResponse },
    { OpcUaId_UnregisterNodesRequest_Encoding_DefaultBinary, parseUnregisterNodesRequest },
    { OpcUaId_UnregisterNodesResponse_Encoding_DefaultBinary, parseUnregisterNodesResponse },
    { OpcUaId_QueryFirstRequest_Encoding_DefaultBinary, parseQueryFirstRequest },
    { OpcUaId_QueryFirstResponse_Encoding_DefaultBinary, parseQueryFirstResponse },
    { OpcUaId_QueryNextRequest_Encoding_DefaultBinary, parseQueryNextRequest },
    { OpcUaId_QueryNextResponse_Encoding_DefaultBinary, parseQueryNextResponse },
    { OpcUaId_ReadRequest_Encoding_DefaultBinary, parseReadRequest },
    { OpcUaId_ReadResponse_Encoding_DefaultBinary, parseReadResponse },
    { OpcUaId_HistoryReadRequest_Encoding_DefaultBinary, parseHistoryReadRequest },
    { OpcUaId_HistoryReadResponse_Encoding_DefaultBinary, parseHistoryReadResponse },
    { OpcUaId_WriteRequest_Encoding_DefaultBinary, parseWriteRequest },
    { OpcUaId_WriteResponse_Encoding_DefaultBinary, parseWriteResponse },
    { OpcUaId_HistoryUpdateRequest_Encoding_DefaultBinary, parseHistoryUpdateRequest },
    { OpcUaId_HistoryUpdateResponse_Encoding_DefaultBinary, parseHistoryUpdateResponse },
    { OpcUaId_CallRequest_Encoding_DefaultBinary, parseCallRequest },
    { OpcUaId_CallResponse_Encoding_DefaultBinary, parseCallResponse },
    { OpcUaId_CreateMonitoredItemsRequest_Encoding_DefaultBinary, parseCreateMonitoredItemsRequest },
    { OpcUaId_CreateMonitoredItemsResponse_Encoding_DefaultBinary, parseCreateMonitoredItemsResponse },
    { OpcUaId_ModifyMonitoredItemsRequest_Encoding_DefaultBinary, parseModifyMonitoredItemsRequest },
    { OpcUaId_ModifyMonitoredItemsResponse_Encoding_DefaultBinary, parseModifyMonitoredItemsResponse },
    { OpcUaId_SetMonitoringModeRequest_Encoding_DefaultBinary, parseSetMonitoringModeRequest },
    { OpcUaId_SetMonitoringModeResponse_Encoding_DefaultBinary, parseSetMonitoringModeResponse },
    { OpcUaId_SetTriggeringRequest_Encoding_DefaultBinary, parseSetTriggeringRequest },
    { OpcUaId_SetTriggeringResponse_Encoding_DefaultBinary, parseSetTriggeringResponse },
    { OpcUaId_DeleteMonitoredItemsRequest_Encoding_DefaultBinary, parseDeleteMonitoredItemsRequest },
    { OpcUaId_DeleteMonitoredItemsResponse_Encoding_DefaultBinary, parseDeleteMonitoredItemsResponse },
    { OpcUaId_CreateSubscriptionRequest_Encoding_DefaultBinary, parseCreateSubscriptionRequest },
    { OpcUaId_CreateSubscriptionResponse_Encoding_DefaultBinary, parseCreateSubscriptionResponse },
    { OpcUaId_ModifySubscriptionRequest_Encoding_DefaultBinary, parseModifySubscriptionRequest },
    { OpcUaId_ModifySubscriptionResponse_Encoding_DefaultBinary, parseModifySubscriptionResponse },
    { OpcUaId_SetPublishingModeRequest_Encoding_DefaultBinary, parseSetPublishingModeRequest },
    { OpcUaId_SetPublishingModeResponse_Encoding_DefaultBinary, parseSetPublishingModeResponse },
    { OpcUaId_PublishRequest_Encoding_DefaultBinary, parsePublishRequest },
    { OpcUaId_PublishResponse_Encoding_DefaultBinary, parsePublishResponse },
    { OpcUaId_RepublishRequest_Encoding_DefaultBinary, parseRepublishRequest },
    { OpcUaId_RepublishResponse_Encoding_DefaultBinary, parseRepublishResponse },
    { OpcUaId_TransferSubscriptionsRequest_Encoding_DefaultBinary, parseTransferSubscriptionsRequest },
    { OpcUaId_TransferSubscriptionsResponse_Encoding_DefaultBinary, parseTransferSubscriptionsResponse },
    { OpcUaId_DeleteSubscriptionsRequest_Encoding_DefaultBinary, parseDeleteSubscriptionsRequest },
    { OpcUaId_DeleteSubscriptionsResponse_Encoding_DefaultBinary, parseDeleteSubscriptionsResponse },
    { OpcUaId_TestStackRequest_Encoding_DefaultBinary, parseTestStackRequest },
    { OpcUaId_TestStackResponse_Encoding_DefaultBinary, parseTestStackResponse },
    { OpcUaId_TestStackExRequest_Encoding_DefaultBinary, parseTestStackExRequest },
    { OpcUaId_TestStackExResponse_Encoding_DefaultBinary, parseTestStackExResponse },
};
const int g_NumServices = sizeof(g_arParserTable) / sizeof(ParserEntry);

/** Service type table */
const value_string g_requesttypes[] = {
    { OpcUaId_ServiceFault_Encoding_DefaultBinary, "ServiceFault" },
    { OpcUaId_FindServersRequest_Encoding_DefaultBinary, "FindServersRequest" },
    { OpcUaId_FindServersResponse_Encoding_DefaultBinary, "FindServersResponse" },
    { OpcUaId_GetEndpointsRequest_Encoding_DefaultBinary, "GetEndpointsRequest" },
    { OpcUaId_GetEndpointsResponse_Encoding_DefaultBinary, "GetEndpointsResponse" },
    { OpcUaId_RegisterServerRequest_Encoding_DefaultBinary, "RegisterServerRequest" },
    { OpcUaId_RegisterServerResponse_Encoding_DefaultBinary, "RegisterServerResponse" },
    { OpcUaId_OpenSecureChannelRequest_Encoding_DefaultBinary, "OpenSecureChannelRequest" },
    { OpcUaId_OpenSecureChannelResponse_Encoding_DefaultBinary, "OpenSecureChannelResponse" },
    { OpcUaId_CloseSecureChannelRequest_Encoding_DefaultBinary, "CloseSecureChannelRequest" },
    { OpcUaId_CloseSecureChannelResponse_Encoding_DefaultBinary, "CloseSecureChannelResponse" },
    { OpcUaId_CreateSessionRequest_Encoding_DefaultBinary, "CreateSessionRequest" },
    { OpcUaId_CreateSessionResponse_Encoding_DefaultBinary, "CreateSessionResponse" },
    { OpcUaId_ActivateSessionRequest_Encoding_DefaultBinary, "ActivateSessionRequest" },
    { OpcUaId_ActivateSessionResponse_Encoding_DefaultBinary, "ActivateSessionResponse" },
    { OpcUaId_CloseSessionRequest_Encoding_DefaultBinary, "CloseSessionRequest" },
    { OpcUaId_CloseSessionResponse_Encoding_DefaultBinary, "CloseSessionResponse" },
    { OpcUaId_CancelRequest_Encoding_DefaultBinary, "CancelRequest" },
    { OpcUaId_CancelResponse_Encoding_DefaultBinary, "CancelResponse" },
    { OpcUaId_AddNodesRequest_Encoding_DefaultBinary, "AddNodesRequest" },
    { OpcUaId_AddNodesResponse_Encoding_DefaultBinary, "AddNodesResponse" },
    { OpcUaId_AddReferencesRequest_Encoding_DefaultBinary, "AddReferencesRequest" },
    { OpcUaId_AddReferencesResponse_Encoding_DefaultBinary, "AddReferencesResponse" },
    { OpcUaId_DeleteNodesRequest_Encoding_DefaultBinary, "DeleteNodesRequest" },
    { OpcUaId_DeleteNodesResponse_Encoding_DefaultBinary, "DeleteNodesResponse" },
    { OpcUaId_DeleteReferencesRequest_Encoding_DefaultBinary, "DeleteReferencesRequest" },
    { OpcUaId_DeleteReferencesResponse_Encoding_DefaultBinary, "DeleteReferencesResponse" },
    { OpcUaId_BrowseRequest_Encoding_DefaultBinary, "BrowseRequest" },
    { OpcUaId_BrowseResponse_Encoding_DefaultBinary, "BrowseResponse" },
    { OpcUaId_BrowseNextRequest_Encoding_DefaultBinary, "BrowseNextRequest" },
    { OpcUaId_BrowseNextResponse_Encoding_DefaultBinary, "BrowseNextResponse" },
    { OpcUaId_TranslateBrowsePathsToNodeIdsRequest_Encoding_DefaultBinary, "TranslateBrowsePathsToNodeIdsRequest" },
    { OpcUaId_TranslateBrowsePathsToNodeIdsResponse_Encoding_DefaultBinary, "TranslateBrowsePathsToNodeIdsResponse" },
    { OpcUaId_RegisterNodesRequest_Encoding_DefaultBinary, "RegisterNodesRequest" },
    { OpcUaId_RegisterNodesResponse_Encoding_DefaultBinary, "RegisterNodesResponse" },
    { OpcUaId_UnregisterNodesRequest_Encoding_DefaultBinary, "UnregisterNodesRequest" },
    { OpcUaId_UnregisterNodesResponse_Encoding_DefaultBinary, "UnregisterNodesResponse" },
    { OpcUaId_QueryFirstRequest_Encoding_DefaultBinary, "QueryFirstRequest" },
    { OpcUaId_QueryFirstResponse_Encoding_DefaultBinary, "QueryFirstResponse" },
    { OpcUaId_QueryNextRequest_Encoding_DefaultBinary, "QueryNextRequest" },
    { OpcUaId_QueryNextResponse_Encoding_DefaultBinary, "QueryNextResponse" },
    { OpcUaId_ReadRequest_Encoding_DefaultBinary, "ReadRequest" },
    { OpcUaId_ReadResponse_Encoding_DefaultBinary, "ReadResponse" },
    { OpcUaId_HistoryReadRequest_Encoding_DefaultBinary, "HistoryReadRequest" },
    { OpcUaId_HistoryReadResponse_Encoding_DefaultBinary, "HistoryReadResponse" },
    { OpcUaId_WriteRequest_Encoding_DefaultBinary, "WriteRequest" },
    { OpcUaId_WriteResponse_Encoding_DefaultBinary, "WriteResponse" },
    { OpcUaId_HistoryUpdateRequest_Encoding_DefaultBinary, "HistoryUpdateRequest" },
    { OpcUaId_HistoryUpdateResponse_Encoding_DefaultBinary, "HistoryUpdateResponse" },
    { OpcUaId_CallRequest_Encoding_DefaultBinary, "CallRequest" },
    { OpcUaId_CallResponse_Encoding_DefaultBinary, "CallResponse" },
    { OpcUaId_CreateMonitoredItemsRequest_Encoding_DefaultBinary, "CreateMonitoredItemsRequest" },
    { OpcUaId_CreateMonitoredItemsResponse_Encoding_DefaultBinary, "CreateMonitoredItemsResponse" },
    { OpcUaId_ModifyMonitoredItemsRequest_Encoding_DefaultBinary, "ModifyMonitoredItemsRequest" },
    { OpcUaId_ModifyMonitoredItemsResponse_Encoding_DefaultBinary, "ModifyMonitoredItemsResponse" },
    { OpcUaId_SetMonitoringModeRequest_Encoding_DefaultBinary, "SetMonitoringModeRequest" },
    { OpcUaId_SetMonitoringModeResponse_Encoding_DefaultBinary, "SetMonitoringModeResponse" },
    { OpcUaId_SetTriggeringRequest_Encoding_DefaultBinary, "SetTriggeringRequest" },
    { OpcUaId_SetTriggeringResponse_Encoding_DefaultBinary, "SetTriggeringResponse" },
    { OpcUaId_DeleteMonitoredItemsRequest_Encoding_DefaultBinary, "DeleteMonitoredItemsRequest" },
    { OpcUaId_DeleteMonitoredItemsResponse_Encoding_DefaultBinary, "DeleteMonitoredItemsResponse" },
    { OpcUaId_CreateSubscriptionRequest_Encoding_DefaultBinary, "CreateSubscriptionRequest" },
    { OpcUaId_CreateSubscriptionResponse_Encoding_DefaultBinary, "CreateSubscriptionResponse" },
    { OpcUaId_ModifySubscriptionRequest_Encoding_DefaultBinary, "ModifySubscriptionRequest" },
    { OpcUaId_ModifySubscriptionResponse_Encoding_DefaultBinary, "ModifySubscriptionResponse" },
    { OpcUaId_SetPublishingModeRequest_Encoding_DefaultBinary, "SetPublishingModeRequest" },
    { OpcUaId_SetPublishingModeResponse_Encoding_DefaultBinary, "SetPublishingModeResponse" },
    { OpcUaId_PublishRequest_Encoding_DefaultBinary, "PublishRequest" },
    { OpcUaId_PublishResponse_Encoding_DefaultBinary, "PublishResponse" },
    { OpcUaId_RepublishRequest_Encoding_DefaultBinary, "RepublishRequest" },
    { OpcUaId_RepublishResponse_Encoding_DefaultBinary, "RepublishResponse" },
    { OpcUaId_TransferSubscriptionsRequest_Encoding_DefaultBinary, "TransferSubscriptionsRequest" },
    { OpcUaId_TransferSubscriptionsResponse_Encoding_DefaultBinary, "TransferSubscriptionsResponse" },
    { OpcUaId_DeleteSubscriptionsRequest_Encoding_DefaultBinary, "DeleteSubscriptionsRequest" },
    { OpcUaId_DeleteSubscriptionsResponse_Encoding_DefaultBinary, "DeleteSubscriptionsResponse" },
    { OpcUaId_TestStackRequest_Encoding_DefaultBinary, "TestStackRequest" },
    { OpcUaId_TestStackResponse_Encoding_DefaultBinary, "TestStackResponse" },
    { OpcUaId_TestStackExRequest_Encoding_DefaultBinary, "TestStackExRequest" },
    { OpcUaId_TestStackExResponse_Encoding_DefaultBinary, "TestStackExResponse" },
    { 0, NULL }
};

/** Dispatch all services to a special parser function. */
void dispatchService(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, gint *pOffset, int ServiceId)
{
    int indx = 0;

    while (indx < g_NumServices)
    {
        if (g_arParserTable[indx].iRequestId == ServiceId)
        {
            (*g_arParserTable[indx].pParser)(tree, tvb, pinfo, pOffset);
            break;
        }
        indx++;
    }
}