code refactoring; preparation for zoning support
[public/netxms.git] / include / nms_cscp.h
CommitLineData
145f8fd9 1/*
7ac71e60 2** NetXMS - Network Management System
1a5e0c22 3** Copyright (C) 2003-2011 Victor Kirhenshtein
145f8fd9
VK
4**
5** This program is free software; you can redistribute it and/or modify
68f384ea
VK
6** it under the terms of the GNU Lesser General Public License as published
7** by the Free Software Foundation; either version 3 of the License, or
145f8fd9
VK
8** (at your option) any later version.
9**
10** This program is distributed in the hope that it will be useful,
11** but WITHOUT ANY WARRANTY; without even the implied warranty of
12** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13** GNU General Public License for more details.
14**
68f384ea 15** You should have received a copy of the GNU Lesser General Public License
145f8fd9
VK
16** along with this program; if not, write to the Free Software
17** Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
18**
cd00d133 19** File: nms_cscp.h
145f8fd9
VK
20**
21**/
22
23#ifndef _nms_cscp_h_
24#define _nms_cscp_h_
25
b04752b5
VK
26
27//
28// Constants
29//
30
4bd3d6c5
VK
31#define NXCP_VERSION 2
32
e44ac467
VK
33#define SERVER_LISTEN_PORT 4701
34#define MAX_DCI_STRING_VALUE 256
158803a4 35#define CLIENT_CHALLENGE_SIZE 256
e44ac467
VK
36#define CSCP_HEADER_SIZE 16
37#define CSCP_ENCRYPTION_HEADER_SIZE 16
38#define CSCP_EH_UNENCRYPTED_BYTES 8
39#define CSCP_EH_ENCRYPTED_BYTES (CSCP_ENCRYPTION_HEADER_SIZE - CSCP_EH_UNENCRYPTED_BYTES)
f1448d17 40#ifdef __64BIT__
3973f74b 41#define PROXY_ENCRYPTION_CTX ((CSCP_ENCRYPTION_CONTEXT *)_ULL(0xFFFFFFFFFFFFFFFF))
f1448d17 42#else
3c3d2729 43#define PROXY_ENCRYPTION_CTX ((CSCP_ENCRYPTION_CONTEXT *)0xFFFFFFFF)
f1448d17 44#endif
e44ac467 45
9c0619bd
VK
46#ifndef EVP_MAX_IV_LENGTH
47#define EVP_MAX_IV_LENGTH 16
48#endif
49
30639d32
VK
50#define RECORD_ORDER_NORMAL 0
51#define RECORD_ORDER_REVERSED 1
52
e647245b
VK
53#define CSCP_TEMP_BUF_SIZE 65536
54
e44ac467
VK
55
56//
57// Ciphers
58//
59
60#define CSCP_CIPHER_AES_256 0
61#define CSCP_CIPHER_BLOWFISH 1
62#define CSCP_CIPHER_IDEA 2
63#define CSCP_CIPHER_3DES 3
64
65#define CSCP_SUPPORT_AES_256 0x01
66#define CSCP_SUPPORT_BLOWFISH 0x02
67#define CSCP_SUPPORT_IDEA 0x04
68#define CSCP_SUPPORT_3DES 0x08
b04752b5
VK
69
70
145f8fd9
VK
71//
72// Data field structure
73//
74
2407e1c4 75#ifdef __HP_aCC
086a0d5b 76#pragma pack 1
2407e1c4
VK
77#else
78#pragma pack(1)
086a0d5b 79#endif
2d2906c0 80
145f8fd9
VK
81typedef struct
82{
a5f8dbb8
VK
83 DWORD dwVarId; // Variable identifier
84 BYTE bType; // Data type
6d8aee95 85 BYTE bPadding; // Padding
358d83ac 86 WORD wInt16;
145f8fd9
VK
87 union
88 {
358d83ac
VK
89 DWORD dwInteger;
90 QWORD qwInt64;
91 double dFloat;
145f8fd9
VK
92 struct
93 {
ad441c6e 94 DWORD dwLen;
7b702ea4 95 WORD szValue[1];
145f8fd9 96 } string;
145f8fd9
VK
97 } data;
98} CSCP_DF;
99
358d83ac
VK
100#define df_int16 wInt16
101#define df_int32 data.dwInteger
102#define df_int64 data.qwInt64
103#define df_real data.dFloat
104#define df_string data.string
105
145f8fd9
VK
106
107//
108// Message structure
109//
110
111typedef struct
112{
8df7ba23
VK
113 WORD wCode; // Message (command) code
114 WORD wFlags; // Message flags
115 DWORD dwSize; // Message size (including header) in bytes
116 DWORD dwId; // Unique message identifier
117 DWORD dwNumVars; // Number of variables in message
118 CSCP_DF df[1]; // Data fields
145f8fd9
VK
119} CSCP_MESSAGE;
120
8df7ba23
VK
121
122//
e44ac467
VK
123// Encrypted payload header
124//
125
126typedef struct
127{
128 DWORD dwChecksum;
129 DWORD dwReserved; // Align to 8-byte boundary
130} CSCP_ENCRYPTED_PAYLOAD_HEADER;
131
132
133//
134// Encrypted message structure
135//
136
137typedef struct
138{
139 WORD wCode; // Should be CMD_ENCRYPTED_MESSAGE
140 BYTE nPadding; // Number of bytes added to the end of message
141 BYTE nReserved;
142 DWORD dwSize; // Size of encrypted message (including encryption header and padding)
143 BYTE data[1]; // Encrypted payload
144} CSCP_ENCRYPTED_MESSAGE;
145
146
147//
8df7ba23
VK
148// DCI data header structure
149//
150
151typedef struct
152{
153 DWORD dwItemId;
154 DWORD dwNumRows;
155 DWORD dwDataType;
156} DCI_DATA_HEADER;
157
158
159//
160// DCI data row structure
161//
162
163typedef struct
164{
165 DWORD dwTimeStamp;
166 union
167 {
4c20673b
VK
168 DWORD dwInteger;
169 QWORD qwInt64;
8df7ba23 170 double dFloat;
273da39a 171 UCS2CHAR szString[MAX_DCI_STRING_VALUE];
8df7ba23
VK
172 } value;
173} DCI_DATA_ROW;
174
2407e1c4 175#ifdef __HP_aCC
086a0d5b 176#pragma pack
2407e1c4
VK
177#else
178#pragma pack()
086a0d5b 179#endif
2d2906c0 180
145f8fd9
VK
181
182//
e44ac467
VK
183// CSCP encryption context
184//
185
186typedef struct
187{
188 int nCipher; // Encryption algorithm
189 BYTE *pSessionKey; // Current session key
190 int nKeyLen; // Session key length in bytes
cf4cbe24 191 BYTE iv[EVP_MAX_IV_LENGTH]; // Current IV
e44ac467
VK
192} CSCP_ENCRYPTION_CONTEXT;
193
194
195//
e9246d26
VK
196// Data types
197//
198
42d7ed00
VK
199#define CSCP_DT_INTEGER 0
200#define CSCP_DT_STRING 1
201#define CSCP_DT_INT64 2
202#define CSCP_DT_INT16 3
203#define CSCP_DT_BINARY 4
204#define CSCP_DT_FLOAT 5
e9246d26
VK
205
206
207//
a5f8dbb8
VK
208// Message flags
209//
210
e44ac467 211#define MF_BINARY 0x0001
23b8cd4f 212#define MF_END_OF_FILE 0x0002
e44ac467 213#define MF_DONT_ENCRYPT 0x0004
23b8cd4f 214#define MF_END_OF_SEQUENCE 0x0008
30639d32 215#define MF_REVERSE_ORDER 0x0010
4bd3d6c5 216#define MF_CONTROL 0x0020
a5f8dbb8
VK
217
218
219//
145f8fd9
VK
220// Message (command) codes
221//
222
a5f8dbb8
VK
223#define CMD_LOGIN 0x0001
224#define CMD_LOGIN_RESP 0x0002
225#define CMD_KEEPALIVE 0x0003
c94fa5c2 226#define CMD_SET_ALARM_HD_STATE 0x0004
a5f8dbb8
VK
227#define CMD_GET_OBJECTS 0x0005
228#define CMD_OBJECT 0x0006
229#define CMD_DELETE_OBJECT 0x0007
effb51ab 230#define CMD_MODIFY_OBJECT 0x0008
a5f8dbb8
VK
231#define CMD_OBJECT_LIST_END 0x0009
232#define CMD_OBJECT_UPDATE 0x000A
233#define CMD_GET_EVENTS 0x000B
240ab52a 234#define CMD_EVENTLOG_RECORDS 0x000C
a5f8dbb8
VK
235#define CMD_GET_CONFIG_VARLIST 0x000D
236#define CMD_SET_CONFIG_VARIABLE 0x000E
b7a391d7 237#define CMD_GET_OBJECT_TOOLS 0x000F
fb335418 238#define CMD_EXECUTE_ACTION 0x0010
a5f8dbb8 239#define CMD_DELETE_CONFIG_VARIABLE 0x0011
b601b1fa 240#define CMD_NOTIFY 0x0012
8f7e2482
VK
241#define CMD_TRAP 0x0013
242#define CMD_OPEN_EPP 0x0014
243#define CMD_CLOSE_EPP 0x0015
4997be5c
VK
244#define CMD_SAVE_EPP 0x0016
245#define CMD_EPP_RECORD 0x0017
870d2546 246#define CMD_EVENT_DB_UPDATE 0x0018
15edffbf 247#define CMD_TRAP_CFG_UPDATE 0x0019
4997be5c
VK
248#define CMD_SET_EVENT_INFO 0x001A
249#define CMD_EVENT_DB_RECORD 0x001B
37c4d6aa 250#define CMD_LOAD_EVENT_DB 0x001C
878c92bc 251#define CMD_REQUEST_COMPLETED 0x001D
5ac3236b
VK
252#define CMD_LOAD_USER_DB 0x001E
253#define CMD_USER_DATA 0x001F
254#define CMD_GROUP_DATA 0x0020
255#define CMD_USER_DB_EOF 0x0021
34d95c13
VK
256#define CMD_UPDATE_USER 0x0022
257#define CMD_DELETE_USER 0x0023
258#define CMD_CREATE_USER 0x0024
259#define CMD_LOCK_USER_DB 0x0025
260#define CMD_UNLOCK_USER_DB 0x0026
984542f8 261#define CMD_USER_DB_UPDATE 0x0027
8c18110a 262#define CMD_SET_PASSWORD 0x0028
85b1c3c4
VK
263#define CMD_GET_NODE_DCI_LIST 0x0029
264#define CMD_NODE_DCI 0x002A
e05b1945 265#define CMD_GET_LOG_DATA 0x002B
85b1c3c4
VK
266#define CMD_DELETE_NODE_DCI 0x002C
267#define CMD_MODIFY_NODE_DCI 0x002D
268#define CMD_UNLOCK_NODE_DCI_LIST 0x002E
c1c39152 269#define CMD_SET_OBJECT_MGMT_STATUS 0x002F
9ed4eaff 270#define CMD_CREATE_NEW_DCI 0x0030
7ac0c0a8 271#define CMD_GET_DCI_DATA 0x0031
8df7ba23 272#define CMD_DCI_DATA 0x0032
1dcd1bee 273#define CMD_GET_MIB_TIMESTAMP 0x0033
a7d07192 274#define CMD_GET_MIB 0x0034
ccc34207 275#define CMD_TEST_DCI_TRANSFORMATION 0x0035
ab621f39 276#define CMD_GET_JOB_LIST 0x0036
ef44d5ea 277#define CMD_CREATE_OBJECT 0x0037
3421c063
VK
278#define CMD_GET_EVENT_NAMES 0x0038
279#define CMD_EVENT_NAME_LIST 0x0039
e6b958c4
VK
280#define CMD_BIND_OBJECT 0x003A
281#define CMD_UNBIND_OBJECT 0x003B
93599cfd 282#define CMD_UNINSTALL_AGENT_POLICY 0x003C
e05b1945
VK
283#define CMD_OPEN_SERVER_LOG 0x003D
284#define CMD_CLOSE_SERVER_LOG 0x003E
285#define CMD_QUERY_LOG 0x003F
deaa4491
VK
286#define CMD_AUTHENTICATE 0x0040
287#define CMD_GET_PARAMETER 0x0041
288#define CMD_GET_LIST 0x0042
8f7e2482 289#define CMD_ACTION 0x0043
d83dc1f0
VK
290#define CMD_GET_CURRENT_USER_ATTR 0x0044
291#define CMD_SET_CURRENT_USER_ATTR 0x0045
03482383
VK
292#define CMD_GET_ALL_ALARMS 0x0046
293#define CMD_GET_ALARM 0x0047
294#define CMD_ACK_ALARM 0x0048
295#define CMD_ALARM_UPDATE 0x0049
296#define CMD_ALARM_DATA 0x004A
9e41df77 297#define CMD_DELETE_ALARM 0x004B
1da08bc6 298#define CMD_ADD_CLUSTER_NODE 0x004C
1f385e47 299#define CMD_GET_POLICY_INVENTORY 0x004D
c9363772
VK
300#define CMD_LOAD_ACTIONS 0x004E
301#define CMD_ACTION_DB_UPDATE 0x004F
302#define CMD_MODIFY_ACTION 0x0050
303#define CMD_CREATE_ACTION 0x0051
304#define CMD_DELETE_ACTION 0x0052
31115ff9 305#define CMD_ACTION_DATA 0x0053
6849d9be
VK
306#define CMD_GET_CONTAINER_CAT_LIST 0x0054
307#define CMD_CONTAINER_CAT_DATA 0x0055
308#define CMD_DELETE_CONTAINER_CAT 0x0056
309#define CMD_CREATE_CONTAINER_CAT 0x0057
310#define CMD_MODIFY_CONTAINER_CAT 0x0058
0b89f5fb
VK
311#define CMD_POLL_NODE 0x0059
312#define CMD_POLLING_INFO 0x005A
933aee5c 313#define CMD_COPY_DCI 0x005B
ed1140dc 314#define CMD_WAKEUP_NODE 0x005C
37c4d6aa 315#define CMD_DELETE_EVENT_TEMPLATE 0x005D
c19b2871 316#define CMD_GENERATE_EVENT_CODE 0x005E
630e15d6 317#define CMD_FIND_NODE_CONNECTION 0x005F
06a93345 318#define CMD_FIND_MAC_LOCATION 0x0060
b4895bbe
VK
319#define CMD_CREATE_TRAP 0x0061
320#define CMD_MODIFY_TRAP 0x0062
321#define CMD_DELETE_TRAP 0x0063
840eb902
VK
322#define CMD_LOAD_TRAP_CFG 0x0064
323#define CMD_TRAP_CFG_RECORD 0x0065
2e0596dd 324#define CMD_QUERY_PARAMETER 0x0066
693119d6 325#define CMD_GET_SERVER_INFO 0x0067
5b9a1c7b 326#define CMD_SET_DCI_STATUS 0x0068
a551fe4d 327#define CMD_FILE_DATA 0x0069
d096bcdd 328#define CMD_TRANSFER_FILE 0x006A
e925a5fc 329#define CMD_UPGRADE_AGENT 0x006B
1c8b8363
VK
330#define CMD_GET_PACKAGE_LIST 0x006C
331#define CMD_PACKAGE_INFO 0x006D
332#define CMD_REMOVE_PACKAGE 0x006E
333#define CMD_INSTALL_PACKAGE 0x006F
5be45ff2
VK
334#define CMD_LOCK_PACKAGE_DB 0x0070
335#define CMD_UNLOCK_PACKAGE_DB 0x0071
257defd7 336#define CMD_ABORT_FILE_TRANSFER 0x0072
bebf4833
VK
337#define CMD_CHECK_NETWORK_SERVICE 0x0073
338#define CMD_GET_AGENT_CONFIG 0x0074
339#define CMD_UPDATE_AGENT_CONFIG 0x0075
a72a1fb1 340#define CMD_GET_PARAMETER_LIST 0x0076
092a449c 341#define CMD_DEPLOY_PACKAGE 0x0077
8288659d 342#define CMD_INSTALLER_INFO 0x0078
20aaa307 343#define CMD_GET_LAST_VALUES 0x0079
b5b72be8 344#define CMD_APPLY_TEMPLATE 0x007A
510f1295
VK
345#define CMD_SET_USER_VARIABLE 0x007B
346#define CMD_GET_USER_VARIABLE 0x007C
347#define CMD_ENUM_USER_VARIABLES 0x007D
348#define CMD_DELETE_USER_VARIABLE 0x007E
a63ffcdd
VK
349#define CMD_ADM_MESSAGE 0x007F
350#define CMD_ADM_REQUEST 0x0080
445efa42 351#define CMD_CHANGE_IP_ADDR 0x0081
e44ac467
VK
352#define CMD_REQUEST_SESSION_KEY 0x0082
353#define CMD_ENCRYPTED_MESSAGE 0x0083
354#define CMD_SESSION_KEY 0x0084
5f743326 355#define CMD_REQUEST_ENCRYPTION 0x0085
fb335418 356#define CMD_GET_ROUTING_TABLE 0x0086
f0feeb32
VK
357#define CMD_EXEC_TABLE_TOOL 0x0087
358#define CMD_TABLE_DATA 0x0088
f40831eb 359#define CMD_CANCEL_JOB 0x0089
50b7854e
VK
360#define CMD_CHANGE_SUBSCRIPTION 0x008A
361#define CMD_GET_SYSLOG 0x008B
362#define CMD_SYSLOG_RECORDS 0x008C
ab621f39 363#define CMD_JOB_CHANGE_NOTIFICATION 0x008D
fc61a868 364#define CMD_DEPLOY_AGENT_POLICY 0x008E
e05b1945 365#define CMD_LOG_DATA 0x008F
dc813908 366#define CMD_GET_OBJECT_TOOL_DETAILS 0x0090
f69c6203 367#define CMD_EXECUTE_SERVER_COMMAND 0x0091
619e5c9b 368#define CMD_UPLOAD_FILE_TO_AGENT 0x0092
dc813908
VK
369#define CMD_UPDATE_OBJECT_TOOL 0x0093
370#define CMD_DELETE_OBJECT_TOOL 0x0094
f1448d17 371#define CMD_SETUP_PROXY_CONNECTION 0x0095
d3637d82 372#define CMD_GENERATE_OBJECT_TOOL_ID 0x0096
64a495ad 373#define CMD_GET_SERVER_STATS 0x0097
ae30e099 374#define CMD_GET_SCRIPT_LIST 0x0098
3b4689f6
VK
375#define CMD_GET_SCRIPT 0x0099
376#define CMD_UPDATE_SCRIPT 0x009A
1f0cfca5
VK
377#define CMD_DELETE_SCRIPT 0x009B
378#define CMD_RENAME_SCRIPT 0x009C
99b949c1
VK
379#define CMD_GET_SESSION_LIST 0x009D
380#define CMD_KILL_SESSION 0x009E
30639d32
VK
381#define CMD_GET_TRAP_LOG 0x009F
382#define CMD_TRAP_LOG_RECORDS 0x00A0
f3010fc1
VK
383#define CMD_START_SNMP_WALK 0x00A1
384#define CMD_SNMP_WALK_DATA 0x00A2
8b56eec1
VK
385#define CMD_GET_MAP_LIST 0x00A3
386#define CMD_LOAD_MAP 0x00A4
387#define CMD_SAVE_MAP 0x00A5
388#define CMD_DELETE_MAP 0x00A6
389#define CMD_RESOLVE_MAP_NAME 0x00A7
390#define CMD_SUBMAP_DATA 0x00A8
a2cdb3a4
VK
391#define CMD_UPLOAD_SUBMAP_BK_IMAGE 0x00A9
392#define CMD_GET_SUBMAP_BK_IMAGE 0x00AA
15952045
VK
393#define CMD_GET_MODULE_LIST 0x00AB
394#define CMD_UPDATE_MODULE_INFO 0x00AC
388a9d53 395#define CMD_COPY_USER_VARIABLE 0x00AD
553cdbcb 396#define CMD_RESOLVE_DCI_NAMES 0x00AE
d2d7327c
VK
397#define CMD_GET_MY_CONFIG 0x00AF
398#define CMD_GET_AGENT_CFG_LIST 0x00B0
45542367
VK
399#define CMD_OPEN_AGENT_CONFIG 0x00B1
400#define CMD_SAVE_AGENT_CONFIG 0x00B2
401#define CMD_DELETE_AGENT_CONFIG 0x00B3
a3c76aba 402#define CMD_SWAP_AGENT_CONFIGS 0x00B4
45b766ca 403#define CMD_TERMINATE_ALARM 0x00B5
4bd3d6c5
VK
404#define CMD_GET_NXCP_CAPS 0x00B6
405#define CMD_NXCP_CAPS 0x00B7
0bbe89f6
VK
406#define CMD_GET_OBJECT_COMMENTS 0x00B8
407#define CMD_UPDATE_OBJECT_COMMENTS 0x00B9
15c8cf46 408#define CMD_ENABLE_AGENT_TRAPS 0x00BA
4e3e69ce 409#define CMD_PUSH_DCI_DATA 0x00BB
e2ce7f94
VK
410#define CMD_GET_ADDR_LIST 0x00BC
411#define CMD_SET_ADDR_LIST 0x00BD
dd5b3364 412#define CMD_RESET_COMPONENT 0x00BE
97e09882 413#define CMD_GET_DCI_EVENTS_LIST 0x00BF
a7ff20a5
VK
414#define CMD_EXPORT_CONFIGURATION 0x00C0
415#define CMD_IMPORT_CONFIGURATION 0x00C1
c0177331 416#define CMD_GET_TRAP_CFG_RO 0x00C2
439c93c0 417#define CMD_SNMP_REQUEST 0x00C3
d53161c8 418#define CMD_GET_DCI_INFO 0x00C4
cd00d133
VK
419#define CMD_GET_GRAPH_LIST 0x00C5
420#define CMD_DEFINE_GRAPH 0x00C6
421#define CMD_DELETE_GRAPH 0x00C7
74526d25 422#define CMD_GET_PERFTAB_DCI_LIST 0x00C8
3d1058ed
VK
423#define CMD_ADD_CA_CERTIFICATE 0x00C9
424#define CMD_DELETE_CERTIFICATE 0x00CA
425#define CMD_GET_CERT_LIST 0x00CB
7767fbb8 426#define CMD_UPDATE_CERT_COMMENTS 0x00CC
0e0da2f1 427#define CMD_QUERY_L2_TOPOLOGY 0x00CD
785923ff
VK
428#define CMD_AUDIT_RECORD 0x00CE
429#define CMD_GET_AUDIT_LOG 0x00CF
b13fd0b7 430#define CMD_SEND_SMS 0x00D0
72c0e661
VK
431#define CMD_GET_COMMUNITY_LIST 0x00D1
432#define CMD_UPDATE_COMMUNITY_LIST 0x00D2
431f302b
VK
433#define CMD_GET_SITUATION_LIST 0x00D3
434#define CMD_DELETE_SITUATION 0x00D4
435#define CMD_CREATE_SITUATION 0x00D5
436#define CMD_DEL_SITUATION_INSTANCE 0x00D6
437#define CMD_UPDATE_SITUATION 0x00D7
438#define CMD_SITUATION_DATA 0x00D8
1223092b 439#define CMD_SITUATION_CHANGE 0x00D9
56c58457 440#define CMD_CREATE_MAP 0x00DA
07f58d3c
VK
441#define CMD_WEBMAP_ADD 0x00DB
442#define CMD_WEBMAP_UPDATE_PROPS 0x00DC
443#define CMD_WEBMAP_UPDATE_DATA 0x00DD
444#define CMD_WEBMAP_DELETE 0x00DE
445#define CMD_WEBMAP_GET_DATA 0x00DF
446#define CMD_WEBMAP_GET_LIST 0x00E0
447#define CMD_CONFIG_SET_CLOB 0x00E1
448#define CMD_CONFIG_GET_CLOB 0x00E2
3992452b 449#define CMD_RENAME_MAP 0x00E3
c83f8219 450#define CMD_CLEAR_DCI_DATA 0x00E4
62b6daae
VK
451#define CMD_GET_LICENSE 0x00E5
452#define CMD_CHECK_LICENSE 0x00E6
453#define CMD_RELEASE_LICENSE 0x00E7
454#define CMD_ISC_CONNECT_TO_SERVICE 0x00E8
522f6f07
VK
455#define CMD_REGISTER_AGENT 0x00E9
456#define CMD_GET_SERVER_FILE 0x00EA
d5c0e78d 457#define CMD_FORWARD_EVENT 0x00EB
df8a4ca2
VK
458#define CMD_GET_USM_CREDENTIALS 0x00EC
459#define CMD_UPDATE_USM_CREDENTIALS 0x00ED
071fd171 460#define CMD_GET_DCI_THRESHOLDS 0x00EE
e6b9439a
AK
461#define CMD_GET_IMAGE 0x00EF
462#define CMD_CREATE_IMAGE 0x00F0
463#define CMD_DELETE_IMAGE 0x00F1
464#define CMD_MODIFY_IMAGE 0x00F2
465#define CMD_LIST_IMAGES 0x00F3
1a5e0c22 466#define CMD_LIST_SERVER_FILES 0x00F4
4687826e 467#define CMD_GET_TABLE 0x00F5
adac28be 468#define CMD_QUERY_TABLE 0x00F6
200d662d
VK
469#define CMD_OPEN_CONSOLE 0x00F7
470#define CMD_CLOSE_CONSOLE 0x00F8
62768df3 471#define CMD_GET_SELECTED_OBJECTS 0x00F9
a5f8dbb8
VK
472
473
474//
475// Variable identifiers
476//
477
552faa91
VK
478#define VID_LOGIN_NAME ((DWORD)1)
479#define VID_PASSWORD ((DWORD)2)
480#define VID_OBJECT_ID ((DWORD)3)
481#define VID_OBJECT_NAME ((DWORD)4)
482#define VID_OBJECT_CLASS ((DWORD)5)
8c18110a 483#define VID_SNMP_VERSION ((DWORD)6)
552faa91
VK
484#define VID_PARENT_CNT ((DWORD)7)
485#define VID_IP_ADDRESS ((DWORD)8)
486#define VID_IP_NETMASK ((DWORD)9)
487#define VID_OBJECT_STATUS ((DWORD)10)
488#define VID_IF_INDEX ((DWORD)11)
489#define VID_IF_TYPE ((DWORD)12)
490#define VID_FLAGS ((DWORD)13)
f74a7ee9 491#define VID_CREATION_FLAGS ((DWORD)14)
552faa91
VK
492#define VID_AGENT_PORT ((DWORD)15)
493#define VID_AUTH_METHOD ((DWORD)16)
494#define VID_SHARED_SECRET ((DWORD)17)
4b7d8903 495#define VID_SNMP_AUTH_OBJECT ((DWORD)18)
552faa91
VK
496#define VID_SNMP_OID ((DWORD)19)
497#define VID_NAME ((DWORD)20)
498#define VID_VALUE ((DWORD)21)
a11d8dab 499#define VID_PEER_GATEWAY ((DWORD)22)
552faa91 500#define VID_NOTIFICATION_CODE ((DWORD)23)
c19b2871 501#define VID_EVENT_CODE ((DWORD)24)
552faa91
VK
502#define VID_SEVERITY ((DWORD)25)
503#define VID_MESSAGE ((DWORD)26)
504#define VID_DESCRIPTION ((DWORD)27)
505#define VID_RCC ((DWORD)28) /* RCC == Request Completion Code */
506#define VID_LOCKED_BY ((DWORD)29)
507#define VID_IS_DELETED ((DWORD)30)
508#define VID_CHILD_CNT ((DWORD)31)
effb51ab
VK
509#define VID_ACL_SIZE ((DWORD)32)
510#define VID_INHERIT_RIGHTS ((DWORD)33)
5ac3236b
VK
511#define VID_USER_NAME ((DWORD)34)
512#define VID_USER_ID ((DWORD)35)
513#define VID_USER_SYS_RIGHTS ((DWORD)36)
514#define VID_USER_FLAGS ((DWORD)37)
515#define VID_NUM_MEMBERS ((DWORD)38) /* Number of members in users group */
34d95c13 516#define VID_IS_GROUP ((DWORD)39)
54abbe0e
VK
517#define VID_USER_FULL_NAME ((DWORD)40)
518#define VID_USER_DESCRIPTION ((DWORD)41)
984542f8 519#define VID_UPDATE_TYPE ((DWORD)42)
85b1c3c4
VK
520#define VID_DCI_ID ((DWORD)43)
521#define VID_POLLING_INTERVAL ((DWORD)44)
522#define VID_RETENTION_TIME ((DWORD)45)
523#define VID_DCI_SOURCE_TYPE ((DWORD)46)
524#define VID_DCI_DATA_TYPE ((DWORD)47)
525#define VID_DCI_STATUS ((DWORD)48)
c1c39152 526#define VID_MGMT_STATUS ((DWORD)49)
f599c1d1
VK
527#define VID_MAX_ROWS ((DWORD)50)
528#define VID_TIME_FROM ((DWORD)51)
529#define VID_TIME_TO ((DWORD)52)
b9b4ec17 530#define VID_DCI_DATA ((DWORD)53)
f86ffdd2
VK
531#define VID_NUM_THRESHOLDS ((DWORD)54)
532#define VID_DCI_NUM_MAPS ((DWORD)55)
533#define VID_DCI_MAP_IDS ((DWORD)56)
534#define VID_DCI_MAP_INDEXES ((DWORD)57)
a7d07192
VK
535#define VID_NUM_MIBS ((DWORD)58)
536#define VID_MIB_NAME ((DWORD)59)
537#define VID_MIB_FILE_SIZE ((DWORD)60)
538#define VID_MIB_FILE ((DWORD)61)
aa6cc51e 539#define VID_PROPERTIES ((DWORD)62)
a7d07192
VK
540#define VID_ALARM_SEVERITY ((DWORD)63)
541#define VID_ALARM_KEY ((DWORD)64)
fa585702 542#define VID_ALARM_TIMEOUT ((DWORD)65)
a7d07192
VK
543#define VID_ALARM_MESSAGE ((DWORD)66)
544#define VID_RULE_ID ((DWORD)67)
545#define VID_NUM_SOURCES ((DWORD)68)
546#define VID_NUM_EVENTS ((DWORD)69)
547#define VID_NUM_ACTIONS ((DWORD)70)
548#define VID_RULE_SOURCES ((DWORD)71)
549#define VID_RULE_EVENTS ((DWORD)72)
550#define VID_RULE_ACTIONS ((DWORD)73)
551#define VID_NUM_RULES ((DWORD)74)
ef44d5ea 552#define VID_CATEGORY ((DWORD)75)
e6b958c4
VK
553#define VID_UPDATED_CHILD_LIST ((DWORD)76)
554#define VID_EVENT_NAME_TABLE ((DWORD)77)
555#define VID_PARENT_ID ((DWORD)78)
556#define VID_CHILD_ID ((DWORD)79)
65e2005b 557#define VID_SNMP_PORT ((DWORD)80)
45d84f8a 558#define VID_CONFIG_FILE_DATA ((DWORD)81)
94cb27b3 559#define VID_COMMENTS ((DWORD)82)
45d84f8a 560#define VID_POLICY_ID ((DWORD)83)
4b7d8903 561#define VID_SNMP_USM_METHODS ((DWORD)84)
deaa4491 562#define VID_PARAMETER ((DWORD)85)
901c96c7 563#define VID_NUM_STRINGS ((DWORD)86)
3c774461
VK
564#define VID_ACTION_NAME ((DWORD)87)
565#define VID_NUM_ARGS ((DWORD)88)
4b7d8903 566#define VID_SNMP_AUTH_PASSWORD ((DWORD)89)
2a51a458 567#define VID_CLASS_ID_LIST ((DWORD)90)
4b7d8903 568#define VID_SNMP_PRIV_PASSWORD ((DWORD)91)
4de204a3 569#define VID_NOTIFICATION_DATA ((DWORD)92)
03482383
VK
570#define VID_ALARM_ID ((DWORD)93)
571#define VID_TIMESTAMP ((DWORD)94)
572#define VID_ACK_BY_USER ((DWORD)95)
573#define VID_IS_ACK ((DWORD)96)
c9363772 574#define VID_ACTION_ID ((DWORD)97)
15b8d488
VK
575#define VID_IS_DISABLED ((DWORD)98)
576#define VID_ACTION_TYPE ((DWORD)99)
577#define VID_ACTION_DATA ((DWORD)100)
578#define VID_EMAIL_SUBJECT ((DWORD)101)
579#define VID_RCPT_ADDR ((DWORD)102)
6849d9be
VK
580#define VID_CATEGORY_NAME ((DWORD)103)
581#define VID_CATEGORY_ID ((DWORD)104)
333ece94
VK
582#define VID_DCI_DELTA_CALCULATION ((DWORD)105)
583#define VID_DCI_FORMULA ((DWORD)106)
0b89f5fb
VK
584#define VID_POLL_TYPE ((DWORD)107)
585#define VID_POLLER_MESSAGE ((DWORD)108)
933aee5c
VK
586#define VID_SOURCE_OBJECT_ID ((DWORD)109)
587#define VID_DESTINATION_OBJECT_ID ((DWORD)110)
588#define VID_NUM_ITEMS ((DWORD)111)
589#define VID_ITEM_LIST ((DWORD)112)
b50f1100 590#define VID_MAC_ADDR ((DWORD)113)
70573ffe 591#define VID_TEMPLATE_VERSION ((DWORD)114)
18e26ff8 592#define VID_NODE_TYPE ((DWORD)115)
22c38feb 593#define VID_INSTANCE ((DWORD)116)
840eb902
VK
594#define VID_TRAP_ID ((DWORD)117)
595#define VID_TRAP_OID ((DWORD)118)
596#define VID_TRAP_OID_LEN ((DWORD)119)
597#define VID_TRAP_NUM_MAPS ((DWORD)120)
693119d6
VK
598#define VID_SERVER_VERSION ((DWORD)121)
599#define VID_SUPPORTED_ENCRYPTION ((DWORD)122)
c19b2871 600#define VID_EVENT_ID ((DWORD)123)
d096bcdd
VK
601#define VID_AGENT_VERSION ((DWORD)124)
602#define VID_FILE_NAME ((DWORD)125)
1c8b8363
VK
603#define VID_PACKAGE_ID ((DWORD)126)
604#define VID_PACKAGE_VERSION ((DWORD)127)
605#define VID_PLATFORM_NAME ((DWORD)128)
257defd7 606#define VID_PACKAGE_NAME ((DWORD)129)
bebf4833
VK
607#define VID_SERVICE_TYPE ((DWORD)130)
608#define VID_IP_PROTO ((DWORD)131)
609#define VID_IP_PORT ((DWORD)132)
610#define VID_SERVICE_REQUEST ((DWORD)133)
1a17feb0 611#define VID_SERVICE_RESPONSE ((DWORD)134)
d780a7bc 612#define VID_POLLER_NODE_ID ((DWORD)135)
13b78f74 613#define VID_SERVICE_STATUS ((DWORD)136)
a72a1fb1 614#define VID_NUM_PARAMETERS ((DWORD)137)
3b158c80
VK
615#define VID_NUM_OBJECTS ((DWORD)138)
616#define VID_OBJECT_LIST ((DWORD)139)
4d92bf3c 617#define VID_DEPLOYMENT_STATUS ((DWORD)140)
28531273 618#define VID_ERROR_MESSAGE ((DWORD)141)
b1c6ea4a 619#define VID_SERVER_ID ((DWORD)142)
510f1295
VK
620#define VID_SEARCH_PATTERN ((DWORD)143)
621#define VID_NUM_VARIABLES ((DWORD)144)
a63ffcdd 622#define VID_COMMAND ((DWORD)145)
5b7b9f00 623#define VID_PROTOCOL_VERSION ((DWORD)146)
52c31148
VK
624#define VID_ZONE_ID ((DWORD)147)
625#define VID_AGENT_PROXY ((DWORD)148)
626#define VID_ICMP_PROXY ((DWORD)149)
84adcf70
VK
627#define VID_ADDR_LIST_SIZE ((DWORD)150)
628#define VID_IP_ADDR_LIST ((DWORD)151)
629#define VID_REMOVE_DCI ((DWORD)152)
1fc5b221 630#define VID_TEMPLATE_ID ((DWORD)153)
e44ac467
VK
631#define VID_PUBLIC_KEY ((DWORD)154)
632#define VID_SESSION_KEY ((DWORD)155)
633#define VID_CIPHER ((DWORD)156)
634#define VID_KEY_LENGTH ((DWORD)157)
c1b635ce 635#define VID_SESSION_IV ((DWORD)158)
cb27dff1 636#define VID_CONFIG_FILE ((DWORD)159)
b6ce3970 637#define VID_STATUS_CALCULATION_ALG ((DWORD)160)
a11d8dab
VK
638#define VID_NUM_LOCAL_NETS ((DWORD)161)
639#define VID_NUM_REMOTE_NETS ((DWORD)162)
6b1b7aed 640#define VID_APPLY_FLAG ((DWORD)163)
b7a391d7 641#define VID_NUM_TOOLS ((DWORD)164)
f0feeb32
VK
642#define VID_TOOL_ID ((DWORD)165)
643#define VID_NUM_COLUMNS ((DWORD)166)
53902f72 644#define VID_NUM_ROWS ((DWORD)167)
180bef1e 645#define VID_TABLE_TITLE ((DWORD)168)
b4fe4886 646#define VID_EVENT_NAME ((DWORD)169)
ccc34207 647#define VID_AUTO_APPLY ((DWORD)170)
b522b89b 648#define VID_LOG_NAME ((DWORD)171)
50b7854e 649#define VID_OPERATION ((DWORD)172)
6ffe9c6c 650#define VID_MAX_RECORDS ((DWORD)173)
23b8cd4f 651#define VID_NUM_RECORDS ((DWORD)174)
03ed7e4f
VK
652#define VID_CLIENT_INFO ((DWORD)175)
653#define VID_OS_INFO ((DWORD)176)
654#define VID_LIBNXCL_VERSION ((DWORD)177)
eea5b752
VK
655#define VID_VERSION ((DWORD)178)
656#define VID_NUM_NODES ((DWORD)179)
657#define VID_LOG_FILE ((DWORD)180)
b9ce1c9d
VK
658#define VID_ADV_SCHEDULE ((DWORD)181)
659#define VID_NUM_SCHEDULES ((DWORD)182)
b6ce3970
VK
660#define VID_STATUS_PROPAGATION_ALG ((DWORD)183)
661#define VID_FIXED_STATUS ((DWORD)184)
662#define VID_STATUS_SHIFT ((DWORD)185)
663#define VID_STATUS_TRANSLATION_1 ((DWORD)186)
664#define VID_STATUS_TRANSLATION_2 ((DWORD)187)
665#define VID_STATUS_TRANSLATION_3 ((DWORD)188)
666#define VID_STATUS_TRANSLATION_4 ((DWORD)189)
667#define VID_STATUS_SINGLE_THRESHOLD ((DWORD)190)
668#define VID_STATUS_THRESHOLD_1 ((DWORD)191)
669#define VID_STATUS_THRESHOLD_2 ((DWORD)192)
670#define VID_STATUS_THRESHOLD_3 ((DWORD)193)
671#define VID_STATUS_THRESHOLD_4 ((DWORD)194)
c8686da4 672#define VID_PROXY_NODE ((DWORD)195)
c4096dd8
VK
673#define VID_TOOL_TYPE ((DWORD)196)
674#define VID_TOOL_DATA ((DWORD)197)
675#define VID_ACL ((DWORD)198)
1b282e44 676#define VID_TOOL_OID ((DWORD)199)
64a495ad
VK
677#define VID_SERVER_UPTIME ((DWORD)200)
678#define VID_NUM_ALARMS ((DWORD)201)
679#define VID_ALARMS_BY_SEVERITY ((DWORD)202)
680#define VID_NETXMSD_PROCESS_WKSET ((DWORD)203)
681#define VID_NETXMSD_PROCESS_VMSIZE ((DWORD)204)
682#define VID_NUM_SESSIONS ((DWORD)205)
ae30e099 683#define VID_NUM_SCRIPTS ((DWORD)206)
3b4689f6
VK
684#define VID_SCRIPT_ID ((DWORD)207)
685#define VID_SCRIPT_CODE ((DWORD)208)
1de1b062 686#define VID_SESSION_ID ((DWORD)209)
30639d32 687#define VID_RECORDS_ORDER ((DWORD)210)
38d4688c 688#define VID_NUM_SUBMAPS ((DWORD)211)
d2e22d5c
VK
689#define VID_SUBMAP_LIST ((DWORD)212)
690#define VID_SUBMAP_ATTR ((DWORD)213)
691#define VID_NUM_LINKS ((DWORD)214)
692#define VID_LINK_LIST ((DWORD)215)
8b56eec1
VK
693#define VID_MAP_ID ((DWORD)216)
694#define VID_NUM_MAPS ((DWORD)217)
15952045 695#define VID_NUM_MODULES ((DWORD)218)
388a9d53
VK
696#define VID_DST_USER_ID ((DWORD)219)
697#define VID_MOVE_FLAG ((DWORD)220)
d46f2345 698#define VID_CHANGE_PASSWD_FLAG ((DWORD)221)
95b6a1b6 699#define VID_GUID ((DWORD)222)
383b42a1
VK
700#define VID_ACTIVATION_EVENT ((DWORD)223)
701#define VID_DEACTIVATION_EVENT ((DWORD)224)
702#define VID_SOURCE_OBJECT ((DWORD)225)
703#define VID_ACTIVE_STATUS ((DWORD)226)
704#define VID_INACTIVE_STATUS ((DWORD)227)
705#define VID_SCRIPT ((DWORD)228)
4473ffc5
VK
706#define VID_NODE_LIST ((DWORD)229)
707#define VID_DCI_LIST ((DWORD)230)
45542367
VK
708#define VID_CONFIG_ID ((DWORD)231)
709#define VID_FILTER ((DWORD)232)
710#define VID_SEQUENCE_NUMBER ((DWORD)233)
711#define VID_VERSION_MAJOR ((DWORD)234)
712#define VID_VERSION_MINOR ((DWORD)235)
713#define VID_VERSION_RELEASE ((DWORD)236)
a3c76aba 714#define VID_CONFIG_ID_2 ((DWORD)237)
cf4cbe24 715#define VID_IV_LENGTH ((DWORD)238)
a695bb77 716#define VID_DBCONN_STATUS ((DWORD)239)
3c4ea156
VK
717#define VID_CREATION_TIME ((DWORD)240)
718#define VID_LAST_CHANGE_TIME ((DWORD)241)
45b766ca 719#define VID_TERMINATED_BY_USER ((DWORD)242)
3c4ea156
VK
720#define VID_STATE ((DWORD)243)
721#define VID_CURRENT_SEVERITY ((DWORD)244)
722#define VID_ORIGINAL_SEVERITY ((DWORD)245)
723#define VID_HELPDESK_STATE ((DWORD)246)
724#define VID_HELPDESK_REF ((DWORD)247)
725#define VID_REPEAT_COUNT ((DWORD)248)
625ad507 726#define VID_ALL_THRESHOLDS ((DWORD)249)
a463d430 727#define VID_CONFIRMATION_TEXT ((DWORD)250)
b95506f7 728#define VID_FAILED_DCI_INDEX ((DWORD)251)
e2ce7f94 729#define VID_ADDR_LIST_TYPE ((DWORD)252)
dd5b3364 730#define VID_COMPONENT_ID ((DWORD)253)
c402ee3e 731#define VID_SYNC_COMMENTS ((DWORD)254)
97e09882 732#define VID_EVENT_LIST ((DWORD)255)
8bad8476
VK
733#define VID_NUM_TRAPS ((DWORD)256)
734#define VID_TRAP_LIST ((DWORD)257)
735#define VID_NXMP_CONTENT ((DWORD)258)
55499dcd 736#define VID_ERROR_TEXT ((DWORD)259)
21d9d6e2 737#define VID_COMPONENT ((DWORD)260)
a0856b0d 738#define VID_CONSOLE_UPGRADE_URL ((DWORD)261)
7f79b20d
VK
739#define VID_CLUSTER_TYPE ((DWORD)262)
740#define VID_NUM_SYNC_SUBNETS ((DWORD)263)
741#define VID_SYNC_SUBNETS ((DWORD)264)
6f512367 742#define VID_NUM_RESOURCES ((DWORD)265)
48d28327
VK
743#define VID_RESOURCE_ID ((DWORD)266)
744#define VID_SNMP_PROXY ((DWORD)267)
439c93c0
VK
745#define VID_PORT ((DWORD)268)
746#define VID_PDU ((DWORD)269)
747#define VID_PDU_SIZE ((DWORD)270)
a850fcdd 748#define VID_IS_SYSTEM ((DWORD)271)
cd00d133 749#define VID_GRAPH_CONFIG ((DWORD)272)
0aa59db6
VK
750#define VID_NUM_GRAPHS ((DWORD)273)
751#define VID_GRAPH_ID ((DWORD)274)
bb8136f7
VK
752#define VID_AUTH_TYPE ((DWORD)275)
753#define VID_CERTIFICATE ((DWORD)276)
754#define VID_SIGNATURE ((DWORD)277)
158803a4 755#define VID_CHALLENGE ((DWORD)278)
1f4cd940
VK
756#define VID_CERT_MAPPING_METHOD ((DWORD)279)
757#define VID_CERT_MAPPING_DATA ((DWORD)280)
3d1058ed
VK
758#define VID_CERTIFICATE_ID ((DWORD)281)
759#define VID_NUM_CERTIFICATES ((DWORD)282)
fa585702 760#define VID_ALARM_TIMEOUT_EVENT ((DWORD)283)
8ab158c4 761#define VID_NUM_GROUPS ((DWORD)284)
f42f158b
VK
762#define VID_QSIZE_CONDITION_POLLER ((DWORD)285)
763#define VID_QSIZE_CONF_POLLER ((DWORD)286)
764#define VID_QSIZE_DCI_POLLER ((DWORD)287)
765#define VID_QSIZE_DBWRITER ((DWORD)288)
766#define VID_QSIZE_EVENT ((DWORD)289)
767#define VID_QSIZE_DISCOVERY ((DWORD)290)
768#define VID_QSIZE_NODE_POLLER ((DWORD)291)
769#define VID_QSIZE_ROUTE_POLLER ((DWORD)292)
770#define VID_QSIZE_STATUS_POLLER ((DWORD)293)
fc5e6cb9 771#define VID_SYNTHETIC_MASK ((DWORD)294)
785923ff
VK
772#define VID_SUBSYSTEM ((DWORD)295)
773#define VID_SUCCESS_AUDIT ((DWORD)296)
774#define VID_WORKSTATION ((DWORD)297)
0b4ebe8b 775#define VID_USER_TAG ((DWORD)298)
7c2ea1c1 776#define VID_REQUIRED_POLLS ((DWORD)299)
72c0e661 777#define VID_SYS_DESCRIPTION ((DWORD)300)
e638b3f3
VK
778#define VID_SITUATION_ID ((DWORD)301)
779#define VID_SITUATION_INSTANCE ((DWORD)302)
780#define VID_SITUATION_NUM_ATTRS ((DWORD)303)
431f302b
VK
781#define VID_INSTANCE_COUNT ((DWORD)304)
782#define VID_SITUATION_COUNT ((DWORD)305)
d51ccc0d
VK
783#define VID_NUM_TRUSTED_NODES ((DWORD)306)
784#define VID_TRUSTED_NODES ((DWORD)307)
b2e6efb0 785#define VID_TIMEZONE ((DWORD)308)
0b16a7bf 786#define VID_NUM_CUSTOM_ATTRIBUTES ((DWORD)309)
aa6cc51e 787#define VID_MAP_DATA ((DWORD)310)
62b6daae
VK
788#define VID_PRODUCT_ID ((DWORD)311)
789#define VID_CLIENT_ID ((DWORD)312)
790#define VID_LICENSE_DATA ((DWORD)313)
33625935 791#define VID_TOKEN ((DWORD)314)
8ff2df88 792#define VID_SERVICE_ID ((DWORD)315)
d8e9f98e
AK
793#define VID_TOKEN_SOFTLIMIT ((DWORD)316)
794#define VID_TOKEN_HARDLIMIT ((DWORD)317)
4d0d4896 795#define VID_USE_IFXTABLE ((DWORD)318)
ccc34207
VK
796#define VID_APPLY_FILTER ((DWORD)319)
797#define VID_ENABLE_AUTO_BIND ((DWORD)320)
798#define VID_AUTO_BIND_FILTER ((DWORD)321)
799#define VID_BASE_UNITS ((DWORD)322)
800#define VID_MULTIPLIER ((DWORD)323)
801#define VID_CUSTOM_UNITS_NAME ((DWORD)324)
802#define VID_PERFTAB_SETTINGS ((DWORD)325)
803#define VID_EXECUTION_STATUS ((DWORD)326)
804#define VID_EXECUTION_RESULT ((DWORD)327)
805#define VID_TABLE_NUM_ROWS ((DWORD)328)
806#define VID_TABLE_NUM_COLS ((DWORD)329)
ab621f39
VK
807#define VID_JOB_COUNT ((DWORD)330)
808#define VID_JOB_ID ((DWORD)331)
809#define VID_JOB_TYPE ((DWORD)332)
810#define VID_JOB_STATUS ((DWORD)333)
811#define VID_JOB_PROGRESS ((DWORD)334)
812#define VID_FAILURE_MESSAGE ((DWORD)335)
6ca3b41c 813#define VID_POLICY_TYPE ((DWORD)336)
c20ec6c6 814#define VID_FIELDS ((DWORD)337)
e05b1945
VK
815#define VID_LOG_HANDLE ((DWORD)338)
816#define VID_START_ROW ((DWORD)339)
3d5610eb 817#define VID_TABLE_OFFSET ((DWORD)340)
27c66fcb 818#define VID_NUM_FILTERS ((DWORD)341)
40bd1038
VK
819#define VID_GEOLOCATION_TYPE ((DWORD)342)
820#define VID_LATITUDE ((DWORD)343)
821#define VID_LONGITUDE ((DWORD)344)
8bfa4384 822#define VID_NUM_ORDERING_COLUMNS ((DWORD)345)
54bb335a 823#define VID_SYSTEM_TAG ((DWORD)346)
f480bdd4
VK
824#define VID_NUM_ENUMS ((DWORD)347)
825#define VID_NUM_PUSH_PARAMETERS ((DWORD)348)
75fb79a3 826#define VID_OLD_PASSWORD ((DWORD)349)
ab185583
VK
827#define VID_MIN_PASSWORD_LENGTH ((DWORD)350)
828#define VID_LAST_LOGIN ((DWORD)351)
829#define VID_LAST_PASSWORD_CHANGE ((DWORD)352)
830#define VID_DISABLED_UNTIL ((DWORD)353)
831#define VID_AUTH_FAILURES ((DWORD)354)
fa6173b9 832#define VID_RUNTIME_FLAGS ((DWORD)355)
efe5ef2b 833#define VID_FILE_SIZE ((DWORD)356)
8a9913fa
VK
834#define VID_MAP_TYPE ((DWORD)357)
835#define VID_LAYOUT ((DWORD)358)
836#define VID_SEED_OBJECT ((DWORD)359)
837#define VID_BACKGROUND ((DWORD)360)
838#define VID_NUM_ELEMENTS ((DWORD)361)
f42b8099 839#define VID_INTERFACE_ID ((DWORD)362)
06a93345
VK
840#define VID_LOCAL_INTERFACE_ID ((DWORD)363)
841#define VID_LOCAL_NODE_ID ((DWORD)364)
0ecc2200
VK
842#define VID_SYS_NAME ((DWORD)365)
843#define VID_LLDP_NODE_ID ((DWORD)366)
76f9abfd
VK
844#define VID_IF_SLOT ((DWORD)367)
845#define VID_IF_PORT ((DWORD)368)
e6b9439a
AK
846#define VID_IMAGE_DATA ((DWORD)369)
847#define VID_IMAGE_PROTECTED ((DWORD)370)
848#define VID_NUM_IMAGES ((DWORD)371)
9cd5201a 849#define VID_IMAGE_MIMETYPE ((DWORD)372)
a9ad9f61
VK
850#define VID_PEER_NODE_ID ((DWORD)373)
851#define VID_PEER_INTERFACE_ID ((DWORD)374)
0d75ea88
VK
852#define VID_VRRP_VERSION ((DWORD)375)
853#define VID_VRRP_VR_COUNT ((DWORD)376)
f0c1d2a4 854#define VID_DESTINATION_FILE_NAME ((DWORD)377)
4687826e 855#define VID_NUM_TABLES ((DWORD)378)
f25b0d12 856#define VID_IMAGE ((DWORD)379)
9796ce45
VK
857#define VID_DRIVER_NAME ((DWORD)380)
858#define VID_DRIVER_VERSION ((DWORD)381)
8a9913fa
VK
859
860// Map elements list base
861#define VID_ELEMENT_LIST_BASE ((DWORD)0x10000000)
ef3ebcdf 862#define VID_LINK_LIST_BASE ((DWORD)0x40000000)
552faa91 863
effb51ab
VK
864// Variable ranges for object's ACL
865#define VID_ACL_USER_BASE ((DWORD)0x00001000)
866#define VID_ACL_USER_LAST ((DWORD)0x00001FFF)
867#define VID_ACL_RIGHTS_BASE ((DWORD)0x00002000)
868#define VID_ACL_RIGHTS_LAST ((DWORD)0x00002FFF)
552faa91 869
5ac3236b
VK
870// Variable range for user group members
871#define VID_GROUP_MEMBER_BASE ((DWORD)0x00004000)
872#define VID_GROUP_MEMBER_LAST ((DWORD)0x00004FFF)
873
f86ffdd2 874// Variable range for data collection thresholds
d9ae1904
VK
875#define VID_DCI_THRESHOLD_BASE ((DWORD)0x20000000)
876#define VID_DCI_SCHEDULE_BASE ((DWORD)0x10000000)
f86ffdd2 877
f6eade3f
VK
878// Variable range for event argument list
879#define VID_EVENT_ARG_BASE ((DWORD)0x00008000)
880#define VID_EVENT_ARG_LAST ((DWORD)0x00008FFF)
881
840eb902
VK
882// Variable range for trap parameter list
883#define VID_TRAP_PLEN_BASE ((DWORD)0x00009000)
565f6f86
VK
884#define VID_TRAP_PLEN_LAST ((DWORD)0x000093FF)
885#define VID_TRAP_PNAME_BASE ((DWORD)0x00009400)
886#define VID_TRAP_PNAME_LAST ((DWORD)0x000097FF)
887#define VID_TRAP_PDESCR_BASE ((DWORD)0x00009800)
888#define VID_TRAP_PDESCR_LAST ((DWORD)0x00009BFF)
840eb902 889
552faa91 890// Object information can contain variable number of parent and child objects' ids.
a5f8dbb8 891// Because each variable in message have to have unique identifier,
552faa91 892// we reserver a two range ids for this variables.
effb51ab
VK
893#define VID_PARENT_ID_BASE ((DWORD)0x00003000)
894#define VID_PARENT_ID_LAST ((DWORD)0x00003FFF)
552faa91
VK
895
896// Reservation of 0x7FFFFFFF ids for child object's list
897#define VID_CHILD_ID_BASE ((DWORD)0x80000000)
898#define VID_CHILD_ID_LAST ((DWORD)0xFFFFFFFE)
a5f8dbb8 899
0b16a7bf
VK
900// Base value for custom attributes
901#define VID_CUSTOM_ATTRIBUTES_BASE ((DWORD)0x70000000)
902
6f512367
VK
903// Base value for cluster resource list
904#define VID_RESOURCE_LIST_BASE ((DWORD)0x20000000)
905
901c96c7
VK
906// Base value for agent's enum values
907#define VID_ENUM_VALUE_BASE ((DWORD)0x10000000)
908
3c774461
VK
909// Base value for agent's action arguments
910#define VID_ACTION_ARG_BASE ((DWORD)0x10000000)
911
a72a1fb1
VK
912// Base value for agent's parameter list
913#define VID_PARAM_LIST_BASE ((DWORD)0x10000000)
f480bdd4
VK
914#define VID_ENUM_LIST_BASE ((DWORD)0x20000000)
915#define VID_PUSHPARAM_LIST_BASE ((DWORD)0x30000000)
4687826e 916#define VID_TABLE_LIST_BASE ((DWORD)0x40000000)
a72a1fb1 917
20aaa307
VK
918// Base value for DCI last values
919#define VID_DCI_VALUES_BASE ((DWORD)0x10000000)
a5f8dbb8 920
510f1295
VK
921// Base value for variable names
922#define VID_VARLIST_BASE ((DWORD)0x10000000)
923
a11d8dab
VK
924// Base value for network list
925#define VID_VPN_NETWORK_BASE ((DWORD)0x10000000)
926
b7a391d7
VK
927// Base value for network list
928#define VID_OBJECT_TOOLS_BASE ((DWORD)0x10000000)
929
f0feeb32 930// Base values for table data
c4096dd8 931#define VID_COLUMN_INFO_BASE ((DWORD)0x10000000)
f0feeb32 932#define VID_COLUMN_NAME_BASE ((DWORD)0x10000000)
53902f72
VK
933#define VID_COLUMN_FMT_BASE ((DWORD)0x20000000)
934#define VID_ROW_DATA_BASE ((DWORD)0x30000000)
f0feeb32 935
240ab52a
VK
936// Base value for event log records
937#define VID_EVENTLOG_MSG_BASE ((DWORD)0x10000000)
938
23b8cd4f
VK
939// Base value for syslog records
940#define VID_SYSLOG_MSG_BASE ((DWORD)0x10000000)
941
30639d32
VK
942// Base value for trap log records
943#define VID_TRAP_LOG_MSG_BASE ((DWORD)0x10000000)
944
ae30e099
VK
945// Base value for script list
946#define VID_SCRIPT_LIST_BASE ((DWORD)0x10000000)
947
99b949c1
VK
948// Base value for session data
949#define VID_SESSION_DATA_BASE ((DWORD)0x10000000)
950
f3010fc1
VK
951// Base value for SNMP walker data
952#define VID_SNMP_WALKER_DATA_BASE ((DWORD)0x10000000)
953
8b56eec1
VK
954// Base value for map list
955#define VID_MAP_LIST_BASE ((DWORD)0x10000000)
956
15952045
VK
957// Base value for module list
958#define VID_MODULE_LIST_BASE ((DWORD)0x10000000)
959
d2d7327c
VK
960// Base value for agent configs list
961#define VID_AGENT_CFG_LIST_BASE ((DWORD)0x10000000)
962
383b42a1
VK
963// Base and last values for condition's DCI list
964#define VID_DCI_LIST_BASE ((DWORD)0x40000000)
965#define VID_DCI_LIST_LAST ((DWORD)0x4FFFFFFF)
966
4e3e69ce
VK
967// Base value for DCI push data
968#define VID_PUSH_DCI_DATA_BASE ((DWORD)0x10000000)
969
e2ce7f94
VK
970// Base value for address list
971#define VID_ADDR_LIST_BASE ((DWORD)0x10000000)
972
c0177331
VK
973// Base value for trap configuration records
974#define VID_TRAP_INFO_BASE ((DWORD)0x10000000)
975
0aa59db6
VK
976// Base value for graph list
977#define VID_GRAPH_LIST_BASE ((DWORD)0x10000000)
978#define VID_GRAPH_ACL_BASE ((DWORD)0x20000000)
979
bb7a686c
VK
980// Base value for system DCI list
981#define VID_SYSDCI_LIST_BASE ((DWORD)0x10000000)
982
3d1058ed
VK
983// Base value for certificate list
984#define VID_CERT_LIST_BASE ((DWORD)0x10000000)
985
72c0e661
VK
986// Base value for various string lists
987#define VID_STRING_LIST_BASE ((DWORD)0x10000000)
988
431f302b 989// Base values for situation lists
e638b3f3 990#define VID_SITUATION_ATTR_LIST_BASE ((DWORD)0x10000000)
431f302b 991#define VID_INSTANCE_LIST_BASE ((DWORD)0x20000000)
e638b3f3 992
0e0da2f1
VK
993// Base value for object links list
994#define VID_OBJECT_LINKS_BASE ((DWORD)0x10000000)
f193cf5c 995#define VID_SUBMAP_LINK_NAMES_BASE ((DWORD)0x20000000)
0e0da2f1 996
aa6cc51e
VK
997#define VID_WEBMAP_LIST_BASE ((DWORD)0x30000000)
998
ccc34207
VK
999#define VID_TABLE_COLUMN_INFO_BASE ((DWORD)0x10000000)
1000#define VID_TABLE_DATA_BASE ((DWORD)0x20000000)
1001
ab621f39
VK
1002#define VID_JOB_LIST_BASE ((DWORD)0x10000000)
1003
27c66fcb 1004#define VID_COLUMN_FILTERS_BASE ((DWORD)0x10000000)
8bfa4384 1005#define VID_ORDERING_COLUMNS_BASE ((DWORD)0x40000000)
27c66fcb 1006
df8a4ca2
VK
1007#define VID_USM_CRED_LIST_BASE ((DWORD)0x10000000)
1008
e6b9439a
AK
1009#define VID_IMAGE_LIST_BASE ((DWORD)0x10000000)
1010
a11d8dab 1011
a5f8dbb8
VK
1012//
1013// Inline functions
1014//
1015
b50f1100
VK
1016#ifdef __cplusplus
1017
a5f8dbb8
VK
1018inline BOOL IsBinaryMsg(CSCP_MESSAGE *pMsg)
1019{
8df7ba23 1020 return ntohs(pMsg->wFlags) & MF_BINARY;
a5f8dbb8 1021}
145f8fd9 1022
b50f1100
VK
1023#endif
1024
145f8fd9
VK
1025
1026#endif /* _nms_cscp_h_ */