libnxagent.dll added to installers
[public/netxms.git] / include / nxcldefs.h
CommitLineData
bf6fb6c3
VK
1/*
2** NetXMS - Network Management System
3** Common defines for client library and server
4** Copyright (C) 2003-2014 Victor Kirhenshtein
5**
6** This program is free software; you can redistribute it and/or modify
7** it under the terms of the GNU Lesser General Public License as published by
8** the Free Software Foundation; either version 3 of the License, or
9** (at your option) any later version.
10**
11** This program is distributed in the hope that it will be useful,
12** but WITHOUT ANY WARRANTY; without even the implied warranty of
13** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14** GNU General Public License for more details.
15**
16** You should have received a copy of the GNU Lesser General Public License
17** along with this program; if not, write to the Free Software
18** Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
19**
20** File: nxcldefs.h
21**
22**/
23
24#ifndef _nxcldefs_h_
25#define _nxcldefs_h_
26
27#include <nxlog.h>
28
29/**
30 * Some constants
31 */
32#define MAX_COMMUNITY_LENGTH 128
33#define MAX_OID_LENGTH 1024
34#define MAX_EVENT_MSG_LENGTH 2000
35#define MAX_EVENT_NAME 64
36#define MAX_USERTAG_LENGTH 64
37#define MAX_SESSION_NAME 256
38#define MAX_USER_NAME 64
39#define MAX_USER_FULLNAME 128
40#define MAX_USER_DESCR 256
41#define MAX_ITEM_NAME 1024
42#define MAX_STRING_VALUE 256
43#define MAX_VARIABLE_NAME 256
44#define MAX_AGENT_VERSION_LEN 64
45#define MAX_PLATFORM_NAME_LEN 64
46#define MAX_PACKAGE_NAME_LEN 64
47#define GROUP_EVERYONE ((UINT32)0x80000000)
48#define INVALID_UID ((UINT32)0xFFFFFFFF)
49#define OBJECT_STATUS_COUNT 9
50#define MAX_RCPT_ADDR_LEN 256
51#define MAX_EMAIL_SUBJECT_LEN 256
52#define MAC_ADDR_LENGTH 6
53#define CURRENT_USER ((UINT32)0xFFFFFFFF)
54#define MAX_DCI_DATA_RECORDS 200000
55#define MAX_POLICY_CONFIG_NAME 64
56
57/**
58 * NetXMS agent authentication methods
59 */
60#define AUTH_NONE 0
61#define AUTH_PLAINTEXT 1
62#define AUTH_MD5_HASH 2
63#define AUTH_SHA1_HASH 3
64
65/**
66 * Client-server authentication types
67 */
68#define NETXMS_AUTH_TYPE_PASSWORD 0
69#define NETXMS_AUTH_TYPE_CERTIFICATE 1
70#define NETXMS_AUTH_TYPE_SSO_TICKET 2
71
72/**
73 * Client type
74 */
75#define CLIENT_TYPE_DESKTOP 0
76#define CLIENT_TYPE_WEB 1
77#define CLIENT_TYPE_MOBILE 2
78#define CLIENT_TYPE_TABLET 3
79#define CLIENT_TYPE_APPLICATION 4
80
81/**
82 * Forced poll types
83 */
f7e3eb5a
VK
84#define POLL_STATUS 1
85#define POLL_CONFIGURATION_FULL 2
86#define POLL_INTERFACE_NAMES 3
87#define POLL_TOPOLOGY 4
88#define POLL_CONFIGURATION_NORMAL 5
89#define POLL_INSTANCE_DISCOVERY 6
bf6fb6c3
VK
90
91/**
92 * Object types
93 */
94#define OBJECT_GENERIC 0
95#define OBJECT_SUBNET 1
96#define OBJECT_NODE 2
97#define OBJECT_INTERFACE 3
98#define OBJECT_NETWORK 4
99#define OBJECT_CONTAINER 5
100#define OBJECT_ZONE 6
101#define OBJECT_SERVICEROOT 7
102#define OBJECT_TEMPLATE 8
103#define OBJECT_TEMPLATEGROUP 9
104#define OBJECT_TEMPLATEROOT 10
105#define OBJECT_NETWORKSERVICE 11
106#define OBJECT_VPNCONNECTOR 12
107#define OBJECT_CONDITION 13
108#define OBJECT_CLUSTER 14
109#define OBJECT_POLICYGROUP 15
110#define OBJECT_POLICYROOT 16
111#define OBJECT_AGENTPOLICY 17
112#define OBJECT_AGENTPOLICY_CONFIG 18
113#define OBJECT_NETWORKMAPROOT 19
114#define OBJECT_NETWORKMAPGROUP 20
115#define OBJECT_NETWORKMAP 21
116#define OBJECT_DASHBOARDROOT 22
117#define OBJECT_DASHBOARD 23
118#define OBJECT_BUSINESSSERVICEROOT 27
119#define OBJECT_BUSINESSSERVICE 28
120#define OBJECT_NODELINK 29
121#define OBJECT_SLMCHECK 30
122#define OBJECT_MOBILEDEVICE 31
123#define OBJECT_RACK 32
124#define OBJECT_ACCESSPOINT 33
125
126/** Base value for custom object classes */
127#define OBJECT_CUSTOM 10000
128
129/**
130 * Object's status
131 */
132#define STATUS_NORMAL 0
133#define STATUS_WARNING 1
134#define STATUS_MINOR 2
135#define STATUS_MAJOR 3
136#define STATUS_CRITICAL 4
137#define STATUS_UNKNOWN 5
138#define STATUS_UNMANAGED 6
139#define STATUS_DISABLED 7
140#define STATUS_TESTING 8
141
142/**
143 * Event and alarm severity
144 */
145#define SEVERITY_NORMAL 0
146#define SEVERITY_WARNING 1
147#define SEVERITY_MINOR 2
148#define SEVERITY_MAJOR 3
149#define SEVERITY_CRITICAL 4
150#define SEVERITY_FROM_EVENT 5
151#define SEVERITY_TERMINATE 6
152#define SEVERITY_RESOLVE 7
153
154/**
155 * Alarm states
156 */
157#define ALARM_STATE_OUTSTANDING 0x00
158#define ALARM_STATE_ACKNOWLEDGED 0x01
159#define ALARM_STATE_RESOLVED 0x02
160#define ALARM_STATE_TERMINATED 0x03
161#define ALARM_STATE_MASK 0x0F /* mask for selecting alarm state */
162#define ALARM_STATE_STICKY 0x10 /* bit flag indicating sticky state */
163
164/**
165 * Alarm state in help desk system
166 */
167#define ALARM_HELPDESK_IGNORED 0
168#define ALARM_HELPDESK_OPEN 1
169#define ALARM_HELPDESK_CLOSED 2
170
171/**
172 * Node flags
173 */
174#define NF_SYSTEM_FLAGS 0x003FFF7F
175#define NF_USER_FLAGS 0xFFC00080
176
177#define NF_IS_SNMP 0x00000001
178#define NF_IS_NATIVE_AGENT 0x00000002
179#define NF_IS_BRIDGE 0x00000004
180#define NF_IS_ROUTER 0x00000008
181#define NF_IS_LOCAL_MGMT 0x00000010
182#define NF_IS_PRINTER 0x00000020
183#define NF_IS_OSPF 0x00000040
184#define NF_REMOTE_AGENT 0x00000080
185#define NF_IS_CPSNMP 0x00000100 /* CheckPoint SNMP agent on port 260 */
186#define NF_IS_CDP 0x00000200
187#define NF_IS_NDP 0x00000400 /* Supports Nortel (Synoptics/Bay Networks) topology discovery */
188#define NF_IS_SONMP 0x00000400 /* SONMP is an old name for NDP */
189#define NF_IS_LLDP 0x00000800 /* Supports Link Layer Discovery Protocol */
190#define NF_IS_VRRP 0x00001000 /* VRRP support */
191#define NF_HAS_VLANS 0x00002000 /* VLAN information available */
192#define NF_IS_8021X 0x00004000 /* 802.1x support enabled on node */
193#define NF_IS_STP 0x00008000 /* Spanning Tree (IEEE 802.1d) enabled on node */
194#define NF_HAS_ENTITY_MIB 0x00010000 /* Supports ENTITY-MIB */
195#define NF_HAS_IFXTABLE 0x00020000 /* Supports ifXTable */
196#define NF_HAS_AGENT_IFXCOUNTERS 0x00040000 /* Agent supports 64-bit interface counters */
197#define NF_HAS_WINPDH 0x00080000 /* Node supports Windows PDH parameters */
198#define NF_IS_WIFI_CONTROLLER 0x00100000 /* Node is wireless network controller */
199#define NF_IS_SMCLP 0x00200000 /* Node supports SMCLP protocol */
200#define NF_DISABLE_DISCOVERY_POLL 0x00400000
201#define NF_DISABLE_TOPOLOGY_POLL 0x00800000
202#define NF_DISABLE_SNMP 0x01000000
203#define NF_DISABLE_NXCP 0x02000000
204#define NF_DISABLE_ICMP 0x04000000
205#define NF_FORCE_ENCRYPTION 0x08000000
206#define NF_DISABLE_STATUS_POLL 0x10000000
207#define NF_DISABLE_CONF_POLL 0x20000000
208#define NF_DISABLE_ROUTE_POLL 0x40000000
209#define NF_DISABLE_DATA_COLLECT 0x80000000
210
211/**
212 * Template flags
213 */
214#define TF_AUTO_APPLY 0x00000001
215#define TF_AUTO_REMOVE 0x00000002
216
217/**
218 * Container flags
219 */
220#define CF_AUTO_BIND 0x00000001
221#define CF_AUTO_UNBIND 0x00000002
222
223/**
224 * Interface flags
225 */
226#define IF_SYNTHETIC_MASK 0x00000001
227#define IF_PHYSICAL_PORT 0x00000002
228#define IF_EXCLUDE_FROM_TOPOLOGY 0x00000004
229#define IF_LOOPBACK 0x00000008
230#define IF_CREATED_MANUALLY 0x00000010
231#define IF_PEER_REFLECTION 0x00000020 /* topology information obtained by reflection */
232#define IF_EXPECTED_STATE_MASK 0x30000000 /* 2-bit field holding expected interface state */
233#define IF_USER_FLAGS_MASK (IF_EXCLUDE_FROM_TOPOLOGY) /* flags that can be changed by user */
234
235/**
236 * Expected interface states
237 */
238#define IF_EXPECTED_STATE_UP 0
239#define IF_EXPECTED_STATE_DOWN 1
240#define IF_EXPECTED_STATE_IGNORE 2
241
242/**
243 * Interface administrative states
244 */
42c6d15b
VK
245enum InterfaceAdminState
246{
247 IF_ADMIN_STATE_UNKNOWN = 0,
248 IF_ADMIN_STATE_UP = 1,
249 IF_ADMIN_STATE_DOWN = 2,
250 IF_ADMIN_STATE_TESTING = 3
251};
bf6fb6c3
VK
252
253/**
254 * Interface operational states
255 */
42c6d15b
VK
256enum InterfaceOperState
257{
258 IF_OPER_STATE_UNKNOWN = 0,
259 IF_OPER_STATE_UP = 1,
260 IF_OPER_STATE_DOWN = 2,
261 IF_OPER_STATE_TESTING = 3
262};
bf6fb6c3
VK
263
264/**
265 * Node ifXTable usage mode
266 */
267#define IFXTABLE_DEFAULT 0
268#define IFXTABLE_ENABLED 1
269#define IFXTABLE_DISABLED 2
270
271/**
272 * Status calculation and propagation algorithms
273 */
274#define SA_CALCULATE_DEFAULT 0
275#define SA_CALCULATE_MOST_CRITICAL 1
276#define SA_CALCULATE_SINGLE_THRESHOLD 2
277#define SA_CALCULATE_MULTIPLE_THRESHOLDS 3
278
279#define SA_PROPAGATE_DEFAULT 0
280#define SA_PROPAGATE_UNCHANGED 1
281#define SA_PROPAGATE_FIXED 2
282#define SA_PROPAGATE_RELATIVE 3
283#define SA_PROPAGATE_TRANSLATED 4
284
285/**
286 * Network map types
287 */
288#define MAP_TYPE_CUSTOM 0
289#define MAP_TYPE_LAYER2_TOPOLOGY 1
290#define MAP_TYPE_IP_TOPOLOGY 2
291
292/**
293 * Components that can be locked by management pack installer
294 */
295#define NXMP_LC_EVENTDB 0
296#define NXMP_LC_EPP 1
297#define NXMP_LC_TRAPCFG 2
298
299/**
300 * Network service types
301 */
302enum
303{
304 NETSRV_CUSTOM,
305 NETSRV_SSH,
306 NETSRV_POP3,
307 NETSRV_SMTP,
308 NETSRV_FTP,
309 NETSRV_HTTP,
310 NETSRV_HTTPS,
311 NETSRV_TELNET
312};
313
314/**
315 * Address list types
316 */
317#define ADDR_LIST_DISCOVERY_TARGETS 1
318#define ADDR_LIST_DISCOVERY_FILTER 2
319
320/**
321 * Discovery filter flags
322 */
323#define DFF_ALLOW_AGENT 0x0001
324#define DFF_ALLOW_SNMP 0x0002
325#define DFF_ONLY_RANGE 0x0004
326
327/**
328 * Connection point types
329 */
330#define CP_TYPE_INDIRECT 0
331#define CP_TYPE_DIRECT 1
332#define CP_TYPE_WIRELESS 2
333
334/**
335 * Events
336 */
337#define NXC_EVENT_CONNECTION_BROKEN 1
338#define NXC_EVENT_NEW_ELOG_RECORD 2
339#define NXC_EVENT_USER_DB_CHANGED 3
340#define NXC_EVENT_OBJECT_CHANGED 4
341#define NXC_EVENT_NOTIFICATION 5
342#define NXC_EVENT_DEPLOYMENT_STATUS 6
343#define NXC_EVENT_NEW_SYSLOG_RECORD 7
344#define NXC_EVENT_NEW_SNMP_TRAP 8
345#define NXC_EVENT_SITUATION_UPDATE 9
346#define NXC_EVENT_JOB_CHANGE 10
347
348/**
349 * Session states (used both by client library and server)
350 */
351enum SessionState
352{
353 STATE_DISCONNECTED = 0,
354 STATE_CONNECTING = 1,
355 STATE_CONNECTED = 2,
356 STATE_AUTHENTICATED = 3
357};
358
359/**
360 * Notification codes
361 */
362#define NX_NOTIFY_SHUTDOWN 1
8d9ee864 363#define NX_NOTIFY_RELOAD_EVENT_DB 2
bf6fb6c3
VK
364#define NX_NOTIFY_ALARM_DELETED 3
365#define NX_NOTIFY_NEW_ALARM 4
366#define NX_NOTIFY_ALARM_CHANGED 5
367#define NX_NOTIFY_ACTION_CREATED 6
368#define NX_NOTIFY_ACTION_MODIFIED 7
369#define NX_NOTIFY_ACTION_DELETED 8
370#define NX_NOTIFY_OBJTOOLS_CHANGED 9
371#define NX_NOTIFY_DBCONN_STATUS 10
372#define NX_NOTIFY_ALARM_TERMINATED 11
373#define NX_NOTIFY_GRAPHS_CHANGED 12
374#define NX_NOTIFY_ETMPL_CHANGED 13
375#define NX_NOTIFY_ETMPL_DELETED 14
376#define NX_NOTIFY_OBJTOOL_DELETED 15
377#define NX_NOTIFY_TRAPCFG_CREATED 16
378#define NX_NOTIFY_TRAPCFG_MODIFIED 17
379#define NX_NOTIFY_TRAPCFG_DELETED 18
380#define NX_NOTIFY_MAPTBL_CHANGED 19
381#define NX_NOTIFY_MAPTBL_DELETED 20
382#define NX_NOTIFY_DCISUMTBL_CHANGED 21
383#define NX_NOTIFY_DCISUMTBL_DELETED 22
384#define NX_NOTIFY_CERTIFICATE_CHANGED 23
385#define NX_NOTIFY_ALARM_STATUS_FLOW_CHANGED 24
386#define NX_NOTIFY_FILE_LIST_CHANGED 25
387#define NX_NOTIFY_FILE_MONITORING_FAILED 26
388#define NX_NOTIFY_SESSION_KILLED 27
8284dc9a 389#define NX_NOTIFY_GRAPHS_DELETED 28
bf6fb6c3
VK
390
391/**
392 * Request completion codes
393 */
394#define RCC_SUCCESS ((UINT32)0)
395#define RCC_COMPONENT_LOCKED ((UINT32)1)
396#define RCC_ACCESS_DENIED ((UINT32)2)
397#define RCC_INVALID_REQUEST ((UINT32)3)
398#define RCC_TIMEOUT ((UINT32)4)
399#define RCC_OUT_OF_STATE_REQUEST ((UINT32)5)
400#define RCC_DB_FAILURE ((UINT32)6)
401#define RCC_INVALID_OBJECT_ID ((UINT32)7)
402#define RCC_ALREADY_EXIST ((UINT32)8)
403#define RCC_COMM_FAILURE ((UINT32)9)
404#define RCC_SYSTEM_FAILURE ((UINT32)10)
405#define RCC_INVALID_USER_ID ((UINT32)11)
406#define RCC_INVALID_ARGUMENT ((UINT32)12)
407#define RCC_DUPLICATE_DCI ((UINT32)13)
408#define RCC_INVALID_DCI_ID ((UINT32)14)
409#define RCC_OUT_OF_MEMORY ((UINT32)15)
410#define RCC_IO_ERROR ((UINT32)16)
411#define RCC_INCOMPATIBLE_OPERATION ((UINT32)17)
412#define RCC_OBJECT_CREATION_FAILED ((UINT32)18)
413#define RCC_OBJECT_LOOP ((UINT32)19)
414#define RCC_INVALID_OBJECT_NAME ((UINT32)20)
415#define RCC_INVALID_ALARM_ID ((UINT32)21)
416#define RCC_INVALID_ACTION_ID ((UINT32)22)
417#define RCC_OPERATION_IN_PROGRESS ((UINT32)23)
418#define RCC_DCI_COPY_ERRORS ((UINT32)24)
419#define RCC_INVALID_EVENT_CODE ((UINT32)25)
420#define RCC_NO_WOL_INTERFACES ((UINT32)26)
421#define RCC_NO_MAC_ADDRESS ((UINT32)27)
422#define RCC_NOT_IMPLEMENTED ((UINT32)28)
423#define RCC_INVALID_TRAP_ID ((UINT32)29)
424#define RCC_DCI_NOT_SUPPORTED ((UINT32)30)
425#define RCC_VERSION_MISMATCH ((UINT32)31)
426#define RCC_NPI_PARSE_ERROR ((UINT32)32)
427#define RCC_DUPLICATE_PACKAGE ((UINT32)33)
428#define RCC_PACKAGE_FILE_EXIST ((UINT32)34)
429#define RCC_RESOURCE_BUSY ((UINT32)35)
430#define RCC_INVALID_PACKAGE_ID ((UINT32)36)
431#define RCC_INVALID_IP_ADDR ((UINT32)37)
432#define RCC_ACTION_IN_USE ((UINT32)38)
433#define RCC_VARIABLE_NOT_FOUND ((UINT32)39)
434#define RCC_BAD_PROTOCOL ((UINT32)40)
435#define RCC_ADDRESS_IN_USE ((UINT32)41)
436#define RCC_NO_CIPHERS ((UINT32)42)
437#define RCC_INVALID_PUBLIC_KEY ((UINT32)43)
438#define RCC_INVALID_SESSION_KEY ((UINT32)44)
439#define RCC_NO_ENCRYPTION_SUPPORT ((UINT32)45)
440#define RCC_INTERNAL_ERROR ((UINT32)46)
441#define RCC_EXEC_FAILED ((UINT32)47)
442#define RCC_INVALID_TOOL_ID ((UINT32)48)
443#define RCC_SNMP_ERROR ((UINT32)49)
444#define RCC_BAD_REGEXP ((UINT32)50)
445#define RCC_UNKNOWN_PARAMETER ((UINT32)51)
446#define RCC_FILE_IO_ERROR ((UINT32)52)
447#define RCC_CORRUPTED_MIB_FILE ((UINT32)53)
448#define RCC_TRANSFER_IN_PROGRESS ((UINT32)54)
449#define RCC_INVALID_JOB_ID ((UINT32)55)
450#define RCC_INVALID_SCRIPT_ID ((UINT32)56)
451#define RCC_INVALID_SCRIPT_NAME ((UINT32)57)
452#define RCC_UNKNOWN_MAP_NAME ((UINT32)58)
453#define RCC_INVALID_MAP_ID ((UINT32)59)
454#define RCC_ACCOUNT_DISABLED ((UINT32)60)
455#define RCC_NO_GRACE_LOGINS ((UINT32)61)
456#define RCC_CONNECTION_BROKEN ((UINT32)62)
457#define RCC_INVALID_CONFIG_ID ((UINT32)63)
458#define RCC_DB_CONNECTION_LOST ((UINT32)64)
459#define RCC_ALARM_OPEN_IN_HELPDESK ((UINT32)65)
460#define RCC_ALARM_NOT_OUTSTANDING ((UINT32)66)
461#define RCC_NOT_PUSH_DCI ((UINT32)67)
462#define RCC_CONFIG_PARSE_ERROR ((UINT32)68)
463#define RCC_CONFIG_VALIDATION_ERROR ((UINT32)69)
464#define RCC_INVALID_GRAPH_ID ((UINT32)70)
465#define RCC_LOCAL_CRYPTO_ERROR ((UINT32)71)
466#define RCC_UNSUPPORTED_AUTH_TYPE ((UINT32)72)
467#define RCC_BAD_CERTIFICATE ((UINT32)73)
468#define RCC_INVALID_CERT_ID ((UINT32)74)
469#define RCC_SNMP_FAILURE ((UINT32)75)
470#define RCC_NO_L2_TOPOLOGY_SUPPORT ((UINT32)76)
471#define RCC_INVALID_SITUATION_ID ((UINT32)77)
472#define RCC_INSTANCE_NOT_FOUND ((UINT32)78)
473#define RCC_INVALID_EVENT_ID ((UINT32)79)
474#define RCC_AGENT_ERROR ((UINT32)80)
475#define RCC_UNKNOWN_VARIABLE ((UINT32)81)
476#define RCC_RESOURCE_NOT_AVAILABLE ((UINT32)82)
477#define RCC_JOB_CANCEL_FAILED ((UINT32)83)
478#define RCC_INVALID_POLICY_ID ((UINT32)84)
479#define RCC_UNKNOWN_LOG_NAME ((UINT32)85)
480#define RCC_INVALID_LOG_HANDLE ((UINT32)86)
481#define RCC_WEAK_PASSWORD ((UINT32)87)
482#define RCC_REUSED_PASSWORD ((UINT32)88)
483#define RCC_INVALID_SESSION_HANDLE ((UINT32)89)
484#define RCC_CLUSTER_MEMBER_ALREADY ((UINT32)90)
485#define RCC_JOB_HOLD_FAILED ((UINT32)91)
486#define RCC_JOB_UNHOLD_FAILED ((UINT32)92)
487#define RCC_ZONE_ID_ALREADY_IN_USE ((UINT32)93)
488#define RCC_INVALID_ZONE_ID ((UINT32)94)
489#define RCC_ZONE_NOT_EMPTY ((UINT32)95)
490#define RCC_NO_COMPONENT_DATA ((UINT32)96)
491#define RCC_INVALID_ALARM_NOTE_ID ((UINT32)97)
492#define RCC_ENCRYPTION_ERROR ((UINT32)98)
493#define RCC_INVALID_MAPPING_TABLE_ID ((UINT32)99)
494#define RCC_NO_SOFTWARE_PACKAGE_DATA ((UINT32)100)
495#define RCC_INVALID_SUMMARY_TABLE_ID ((UINT32)101)
496#define RCC_USER_LOGGED_IN ((UINT32)102)
497#define RCC_XML_PARSE_ERROR ((UINT32)103)
498#define RCC_HIGH_QUERY_COST ((UINT32)104)
499#define RCC_LICENSE_VIOLATION ((UINT32)105)
500#define RCC_CLIENT_LICENSE_EXCEEDED ((UINT32)106)
501#define RCC_OBJECT_ALREADY_EXISTS ((UINT32)107)
502#define RCC_NO_HDLINK ((UINT32)108)
503#define RCC_HDLINK_COMM_FAILURE ((UINT32)109)
504#define RCC_HDLINK_ACCESS_DENIED ((UINT32)110)
505#define RCC_HDLINK_INTERNAL_ERROR ((UINT32)111)
506#define RCC_NO_LDAP_CONNECTION ((UINT32)112)
507#define RCC_NO_ROUTING_TABLE ((UINT32)113)
508#define RCC_NO_FDB ((UINT32)114)
509#define RCC_NO_LOCATION_HISTORY ((UINT32)115)
510#define RCC_OBJECT_IN_USE ((UINT32)116)
511#define RCC_NXSL_COMPILATION_ERROR ((UINT32)117)
512#define RCC_NXSL_EXECUTION_ERROR ((UINT32)118)
513
514/**
515 * Mask bits for NXCModifyEventTemplate()
516 */
517#define EM_SEVERITY ((UINT32)0x01)
518#define EM_FLAGS ((UINT32)0x02)
519#define EM_NAME ((UINT32)0x04)
520#define EM_MESSAGE ((UINT32)0x08)
521#define EM_DESCRIPTION ((UINT32)0x10)
522#define EM_ALL ((UINT32)0x1F)
523
524/**
525 * Mask bits (flags) for NXCModifyObject()
526 */
527#define OBJ_UPDATE_NAME ((QWORD)_ULL(0x0000000001))
528#define OBJ_UPDATE_AGENT_PORT ((QWORD)_ULL(0x0000000002))
529#define OBJ_UPDATE_AGENT_AUTH ((QWORD)_ULL(0x0000000004))
530#define OBJ_UPDATE_AGENT_SECRET ((QWORD)_ULL(0x0000000008))
531#define OBJ_UPDATE_SNMP_VERSION ((QWORD)_ULL(0x0000000010))
532#define OBJ_UPDATE_SNMP_AUTH ((QWORD)_ULL(0x0000000020))
533#define OBJ_UPDATE_ACL ((QWORD)_ULL(0x0000000040))
534#define OBJ_UPDATE_GEOLOCATION ((QWORD)_ULL(0x0000000080))
535#define OBJ_UPDATE_SYNC_NETS ((QWORD)_ULL(0x0000000100))
536#define OBJ_UPDATE_SERVICE_TYPE ((QWORD)_ULL(0x0000000200))
537#define OBJ_UPDATE_IP_PROTO ((QWORD)_ULL(0x0000000400))
538#define OBJ_UPDATE_IP_PORT ((QWORD)_ULL(0x0000000800))
539#define OBJ_UPDATE_CHECK_REQUEST ((QWORD)_ULL(0x0000001000))
540#define OBJ_UPDATE_CHECK_RESPONSE ((QWORD)_ULL(0x0000002000))
541#define OBJ_UPDATE_POLLER_NODE ((QWORD)_ULL(0x0000004000))
542#define OBJ_UPDATE_IP_ADDR ((QWORD)_ULL(0x0000008000))
543#define OBJ_UPDATE_PEER_GATEWAY ((QWORD)_ULL(0x0000010000))
544#define OBJ_UPDATE_NETWORK_LIST ((QWORD)_ULL(0x0000020000))
545#define OBJ_UPDATE_STATUS_ALG ((QWORD)_ULL(0x0000040000))
546#define OBJ_UPDATE_PROXY_NODE ((QWORD)_ULL(0x0000080000))
547#define OBJ_UPDATE_FLAGS ((QWORD)_ULL(0x0000100000))
548#define OBJ_UPDATE_ACT_EVENT ((QWORD)_ULL(0x0000200000))
549#define OBJ_UPDATE_DEACT_EVENT ((QWORD)_ULL(0x0000400000))
550#define OBJ_UPDATE_SOURCE_OBJECT ((QWORD)_ULL(0x0000800000))
551#define OBJ_UPDATE_ACTIVE_STATUS ((QWORD)_ULL(0x0001000000))
552#define OBJ_UPDATE_INACTIVE_STATUS ((QWORD)_ULL(0x0002000000))
553#define OBJ_UPDATE_DCI_LIST ((QWORD)_ULL(0x0004000000))
554#define OBJ_UPDATE_SCRIPT ((QWORD)_ULL(0x0008000000))
555#define OBJ_UPDATE_CLUSTER_TYPE ((QWORD)_ULL(0x0010000000))
556#define OBJ_UPDATE_RESOURCES ((QWORD)_ULL(0x0020000000))
557#define OBJ_UPDATE_SNMP_PROXY ((QWORD)_ULL(0x0040000000))
558#define OBJ_UPDATE_REQUIRED_POLLS ((QWORD)_ULL(0x0080000000))
559#define OBJ_UPDATE_TRUSTED_NODES ((QWORD)_ULL(0x0100000000))
560#define OBJ_UPDATE_CUSTOM_ATTRS ((QWORD)_ULL(0x0200000000))
561#define OBJ_UPDATE_USE_IFXTABLE ((QWORD)_ULL(0x0400000000))
562#define OBJ_UPDATE_AUTOBIND ((QWORD)_ULL(0x1000000000))
563#define OBJ_UPDATE_SNMP_PORT ((QWORD)_ULL(0x2000000000))
564#define OBJ_UPDATE_PRIMARY_NAME ((QWORD)_ULL(0x4000000000))
565
566/**
567 * Global user rights
568 */
569#ifndef NETXMS_CUSTOM_USER_RIGHTS
570
571#define SYSTEM_ACCESS_MANAGE_USERS _ULL(0x00000001)
572#define SYSTEM_ACCESS_SERVER_CONFIG _ULL(0x00000002)
573#define SYSTEM_ACCESS_CONFIGURE_TRAPS _ULL(0x00000004)
574#define SYSTEM_ACCESS_MANAGE_SESSIONS _ULL(0x00000008)
575#define SYSTEM_ACCESS_VIEW_EVENT_DB _ULL(0x00000010)
576#define SYSTEM_ACCESS_EDIT_EVENT_DB _ULL(0x00000020)
577#define SYSTEM_ACCESS_EPP _ULL(0x00000040)
578#define SYSTEM_ACCESS_MANAGE_ACTIONS _ULL(0x00000080)
579#define SYSTEM_ACCESS_DELETE_ALARMS _ULL(0x00000100)
580#define SYSTEM_ACCESS_MANAGE_PACKAGES _ULL(0x00000200)
581#define SYSTEM_ACCESS_VIEW_EVENT_LOG _ULL(0x00000400)
582#define SYSTEM_ACCESS_MANAGE_TOOLS _ULL(0x00000800)
583#define SYSTEM_ACCESS_MANAGE_SCRIPTS _ULL(0x00001000)
584#define SYSTEM_ACCESS_VIEW_TRAP_LOG _ULL(0x00002000)
585#define SYSTEM_ACCESS_VIEW_AUDIT_LOG _ULL(0x00004000)
586#define SYSTEM_ACCESS_MANAGE_AGENT_CFG _ULL(0x00008000)
587#define SYSTEM_ACCESS_MANAGE_SITUATIONS _ULL(0x00010000)
588#define SYSTEM_ACCESS_SEND_SMS _ULL(0x00020000)
589#define SYSTEM_ACCESS_MOBILE_DEVICE_LOGIN _ULL(0x00040000)
590#define SYSTEM_ACCESS_REGISTER_AGENTS _ULL(0x00080000)
591#define SYSTEM_ACCESS_READ_FILES _ULL(0x00100000)
592#define SYSTEM_ACCESS_SERVER_CONSOLE _ULL(0x00200000)
593#define SYSTEM_ACCESS_MANAGE_FILES _ULL(0x00400000)
594#define SYSTEM_ACCESS_MANAGE_MAPPING_TBLS _ULL(0x00800000)
595#define SYSTEM_ACCESS_MANAGE_SUMMARY_TBLS _ULL(0x01000000)
596#define SYSTEM_ACCESS_REPORTING_SERVER _ULL(0x02000000)
597#define SYSTEM_ACCESS_XMPP_COMMANDS _ULL(0x04000000)
598#define SYSTEM_ACCESS_MANAGE_IMAGE_LIB _ULL(0x08000000)
599#define SYSTEM_ACCESS_UNLINK_ISSUES _ULL(0x10000000)
600#define SYSTEM_ACCESS_VIEW_SYSLOG _ULL(0x20000000)
601
602#define SYSTEM_ACCESS_FULL _ULL(0x3FFFFFFF)
603
604#endif /* NETXMS_CUSTOM_USER_RIGHTS */
605
606/**
607 * Object access rights
608 */
609#define OBJECT_ACCESS_READ 0x00000001
610#define OBJECT_ACCESS_MODIFY 0x00000002
611#define OBJECT_ACCESS_CREATE 0x00000004
612#define OBJECT_ACCESS_DELETE 0x00000008
613#define OBJECT_ACCESS_READ_ALARMS 0x00000010
614#define OBJECT_ACCESS_ACL 0x00000020
615#define OBJECT_ACCESS_UPDATE_ALARMS 0x00000040
616#define OBJECT_ACCESS_SEND_EVENTS 0x00000080
617#define OBJECT_ACCESS_CONTROL 0x00000100
618#define OBJECT_ACCESS_TERM_ALARMS 0x00000200
619#define OBJECT_ACCESS_PUSH_DATA 0x00000400
620#define OBJECT_ACCESS_CREATE_ISSUE 0x00000800
621#define OBJECT_ACCESS_DOWNLOAD 0x00001000
622#define OBJECT_ACCESS_UPLOAD 0x00002000
623#define OBJECT_ACCESS_MANAGE_FILES 0x00004000
624
625/**
626 * Object sync flags
627 */
628#define OBJECT_SYNC_SEND_UPDATES 0x0001
629#define OBJECT_SYNC_DUAL_CONFIRM 0x0002
630
631/**
632 * User/group flags
633 */
634#define UF_MODIFIED 0x0001
635#define UF_DELETED 0x0002
636#define UF_DISABLED 0x0004
637#define UF_CHANGE_PASSWORD 0x0008
638#define UF_CANNOT_CHANGE_PASSWORD 0x0010
639#define UF_INTRUDER_LOCKOUT 0x0020
640#define UF_PASSWORD_NEVER_EXPIRES 0x0040
641#define UF_LDAP_USER 0x0080
642#define UF_SYNC_EXCEPTION 0x0100
643
644/**
645 * Fields for NXCModifyUserEx
646 */
647#define USER_MODIFY_LOGIN_NAME 0x00000001
648#define USER_MODIFY_DESCRIPTION 0x00000002
649#define USER_MODIFY_FULL_NAME 0x00000004
650#define USER_MODIFY_FLAGS 0x00000008
651#define USER_MODIFY_ACCESS_RIGHTS 0x00000010
652#define USER_MODIFY_MEMBERS 0x00000020
653#define USER_MODIFY_CERT_MAPPING 0x00000040
654#define USER_MODIFY_AUTH_METHOD 0x00000080
655#define USER_MODIFY_PASSWD_LENGTH 0x00000100
656#define USER_MODIFY_TEMP_DISABLE 0x00000200
657#define USER_MODIFY_CUSTOM_ATTRIBUTES 0x00000400
658#define USER_MODIFY_XMPP_ID 0x00000800
659#define USER_MODIFY_GROUP_MEMBERSHIP 0x00001000
660
661/**
662 * User certificate mapping methods
663 */
664#define USER_MAP_CERT_BY_SUBJECT 0
665#define USER_MAP_CERT_BY_PUBKEY 1
666#define USER_MAP_CERT_BY_CN 2
667
668/**
669 * User database change notification types
670 */
671#define USER_DB_CREATE 0
672#define USER_DB_DELETE 1
673#define USER_DB_MODIFY 2
674
675/**
676 * Situation change notification types
677 */
678#define SITUATION_CREATE 1
679#define SITUATION_DELETE 2
680#define SITUATION_UPDATE 3
681#define SITUATION_INSTANCE_UPDATE 4
682#define SITUATION_INSTANCE_DELETE 5
683
684/**
685 * Data collection object types
686 */
687#define DCO_TYPE_GENERIC 0
688#define DCO_TYPE_ITEM 1
689#define DCO_TYPE_TABLE 2
690
691/**
692 * DCI flags
693 */
694#define DCF_ADVANCED_SCHEDULE ((UINT16)0x0001)
695#define DCF_ALL_THRESHOLDS ((UINT16)0x0002)
696#define DCF_RAW_VALUE_OCTET_STRING ((UINT16)0x0004)
697#define DCF_SHOW_ON_OBJECT_TOOLTIP ((UINT16)0x0008)
698#define DCF_AGGREGATE_FUNCTION_MASK ((UINT16)0x0070)
699#define DCF_AGGREGATE_ON_CLUSTER ((UINT16)0x0080)
700#define DCF_TRANSFORM_AGGREGATED ((UINT16)0x0100)
701#define DCF_NO_STORAGE ((UINT16)0x0200)
1fa2ca0e
VK
702#define DCF_CALCULATE_NODE_STATUS ((UINT16)0x0400)
703#define DCF_SHOW_IN_OBJECT_OVERVIEW ((UINT16)0x0800)
bf6fb6c3
VK
704
705/**
706 * Get cluster aggregation function from DCI flags
707 */
708#define DCF_GET_AGGREGATION_FUNCTION(flags) (((flags) & DCF_AGGREGATE_FUNCTION_MASK) >> 4)
709#define DCF_SET_AGGREGATION_FUNCTION(flags,func) (((flags) & ~DCF_AGGREGATE_FUNCTION_MASK) | (((func) & 0x07) << 4))
710
711/**
712 * DCTable column flags
713 */
714#define TCF_DATA_TYPE_MASK ((UINT16)0x000F)
715#define TCF_AGGREGATE_FUNCTION_MASK ((UINT16)0x0070)
716#define TCF_INSTANCE_COLUMN ((UINT16)0x0100)
717#define TCF_INSTANCE_LABEL_COLUMN ((UINT16)0x0200)
718
719/**
720 * Get cluster aggregation function from column flags
721 */
722#define TCF_GET_AGGREGATION_FUNCTION(flags) (((flags) & TCF_AGGREGATE_FUNCTION_MASK) >> 4)
723#define TCF_SET_AGGREGATION_FUNCTION(flags,func) (((flags) & ~DCF_AGGREGATE_FUNCTION_MASK) | (((func) & 0x07) << 4))
724
725/**
726 * Get data type from column flags
727 */
728#define TCF_GET_DATA_TYPE(flags) ((flags) & TCF_DATA_TYPE_MASK)
729#define TCF_SET_DATA_TYPE(flags,dt) (((flags) & ~TCF_DATA_TYPE_MASK) | ((dt) & 0x0F))
730
731/**
732 * Aggregation functions
733 */
734#define DCF_FUNCTION_SUM 0
735#define DCF_FUNCTION_AVG 1
736#define DCF_FUNCTION_MIN 2
737#define DCF_FUNCTION_MAX 3
738
739/**
740 * SNMP raw types
741 */
742#define SNMP_RAWTYPE_NONE 0
743#define SNMP_RAWTYPE_INT32 1
744#define SNMP_RAWTYPE_UINT32 2
745#define SNMP_RAWTYPE_INT64 3
746#define SNMP_RAWTYPE_UINT64 4
747#define SNMP_RAWTYPE_DOUBLE 5
748#define SNMP_RAWTYPE_IP_ADDR 6
749#define SNMP_RAWTYPE_MAC_ADDR 7
750
751/**
752 * Data sources
753 */
754#define DS_INTERNAL 0
755#define DS_NATIVE_AGENT 1
756#define DS_SNMP_AGENT 2
757#define DS_CHECKPOINT_AGENT 3
758#define DS_PUSH_AGENT 4
759#define DS_WINPERF 5
760#define DS_SMCLP 6
761#define DS_SCRIPT 7
762
763/**
764 * Item status
765 */
766#define ITEM_STATUS_ACTIVE 0
767#define ITEM_STATUS_DISABLED 1
768#define ITEM_STATUS_NOT_SUPPORTED 2
769
770/**
771 * Delta calculation methods for DCIs
772 */
773#define DCM_ORIGINAL_VALUE 0
774#define DCM_SIMPLE 1
775#define DCM_AVERAGE_PER_SECOND 2
776#define DCM_AVERAGE_PER_MINUTE 3
777
778/**
779 * Threshold functions
780 */
781#define F_LAST 0
782#define F_AVERAGE 1
783#define F_DEVIATION 2
784#define F_DIFF 3
785#define F_ERROR 4
786#define F_SUM 5
787#define F_SCRIPT 6
788
789/**
790 * DCI aggregation functions
791 */
792enum AggregationFunction
793{
794 DCI_AGG_LAST = 0,
795 DCI_AGG_MIN = 1,
796 DCI_AGG_MAX = 2,
797 DCI_AGG_AVG = 3,
798 DCI_AGG_SUM = 4
799};
800
801/**
802 * Threshold operations
803 */
804#define OP_LE 0
805#define OP_LE_EQ 1
806#define OP_EQ 2
807#define OP_GT_EQ 3
808#define OP_GT 4
809#define OP_NE 5
810#define OP_LIKE 6
811#define OP_NOTLIKE 7
812
813/**
814 * DCI base units
815 */
816#define DCI_BASEUNITS_OTHER 0
817#define DCI_BASEUNITS_CUSTOM 1
818#define DCI_BASEUNITS_BYTES 2
819#define DCI_BASEUNITS_BITS 3
820#define DCI_BASEUNITS_SECONDS 4
821#define DCI_BASEUNITS_PERCENTS 5
822#define DCI_BASEUNITS_BITS_PER_SECOND 6
823#define DCI_BASEUNITS_BYTES_PER_SECOND 7
824
825/**
826 * DCI instance discovery methods
827 */
828#define IDM_NONE 0
829#define IDM_AGENT_LIST 1
830#define IDM_AGENT_TABLE 2
831#define IDM_SNMP_WALK_VALUES 3
832#define IDM_SNMP_WALK_OIDS 4
833
834/**
835 * Event policy rule flags
836 */
837#define RF_STOP_PROCESSING 0x0001
838#define RF_NEGATED_SOURCE 0x0002
839#define RF_NEGATED_EVENTS 0x0004
840#define RF_GENERATE_ALARM 0x0008
841#define RF_DISABLED 0x0010
842#define RF_TERMINATE_BY_REGEXP 0x0020
843#define RF_SEVERITY_INFO 0x0100
844#define RF_SEVERITY_WARNING 0x0200
845#define RF_SEVERITY_MINOR 0x0400
846#define RF_SEVERITY_MAJOR 0x0800
847#define RF_SEVERITY_CRITICAL 0x1000
848
849/**
850 * Action types
851 */
852#define ACTION_EXEC 0
853#define ACTION_REMOTE 1
854#define ACTION_SEND_EMAIL 2
855#define ACTION_SEND_SMS 3
856#define ACTION_FORWARD_EVENT 4
857#define ACTION_NXSL_SCRIPT 5
858#define ACTION_XMPP_MESSAGE 6
859
860/**
861 * Network map types
862 */
863#define NETMAP_USER_DEFINED 0
864#define NETMAP_IP_TOPOLOGY 1
865#define NETMAP_L2_TOPOLOGY 2
866
867/**
868 * Network map flags
869 */
870#define MF_SHOW_STATUS_ICON 0x00000001
871#define MF_SHOW_STATUS_FRAME 0x00000002
872#define MF_SHOW_STATUS_BKGND 0x00000004
873#define MF_SHOW_END_NODES 0x00000008
874#define MF_CALCULATE_STATUS 0x00000010
875
876/**
877 * Network map layouts
878 */
879#define MAP_LAYOUT_MANUAL 0x7FFF
880#define MAP_LAYOUT_SPRING 0
881#define MAP_LAYOUT_RADIAL 1
882#define MAP_LAYOUT_HTREE 2
883#define MAP_LAYOUT_VTREE 3
884#define MAP_LAYOUT_SPARSE_VTREE 4
885
886
887//
888// Deployment manager status codes
889//
890
891#define DEPLOYMENT_STATUS_PENDING 0
892#define DEPLOYMENT_STATUS_TRANSFER 1
893#define DEPLOYMENT_STATUS_INSTALLATION 2
894#define DEPLOYMENT_STATUS_COMPLETED 3
895#define DEPLOYMENT_STATUS_FAILED 4
896#define DEPLOYMENT_STATUS_INITIALIZE 5
897#define DEPLOYMENT_STATUS_FINISHED 255
898
899/**
900 * Session subscription codes (data channels)
901 */
902#define NXC_CHANNEL_EVENTS 0x00000001
903#define NXC_CHANNEL_SYSLOG 0x00000002
904#define NXC_CHANNEL_ALARMS 0x00000004
905#define NXC_CHANNEL_OBJECTS 0x00000008
906#define NXC_CHANNEL_SNMP_TRAPS 0x00000010
907#define NXC_CHANNEL_AUDIT_LOG 0x00000020
908#define NXC_CHANNEL_SITUATIONS 0x00000040
909
910
911//
912// Node creation flags
913//
914
915#define NXC_NCF_DISABLE_ICMP 0x0001
916#define NXC_NCF_DISABLE_NXCP 0x0002
917#define NXC_NCF_DISABLE_SNMP 0x0004
918#define NXC_NCF_CREATE_UNMANAGED 0x0008
919
920
921//
922// Server components
923//
924
925#define SRV_COMPONENT_DISCOVERY_MGR 1
926
927
928//
929// Configuration import flags
930//
931
932#define CFG_IMPORT_REPLACE_EVENT_BY_CODE 0x0001
933#define CFG_IMPORT_REPLACE_EVENT_BY_NAME 0x0002
934
935
936//
937// Graph access flags
938//
939
940#define NXGRAPH_ACCESS_READ 0x01
941#define NXGRAPH_ACCESS_WRITE 0x02
942
943
944//
945// Cluster types
946//
947
948#define CLUSTER_TYPE_GENERIC 0
949
950
951//
952// SNMP trap flags
953//
954
955#define TRAP_VARBIND_FORCE_TEXT 0x0001
956
4e5a9b7b
VK
957#ifdef __cplusplus
958
bf6fb6c3
VK
959/**
960 * IP network
961 */
962typedef struct
963{
964 UINT32 dwAddr;
965 UINT32 dwMask;
966} IP_NETWORK;
967
968/**
969 * Agent's parameter information
970 */
971typedef struct
972{
973 TCHAR szName[MAX_PARAM_NAME];
974 TCHAR szDescription[MAX_DB_STRING];
975 int iDataType;
976} NXC_AGENT_PARAM;
977
978/**
979 * Server action definition structure
980 */
981typedef struct
982{
983 UINT32 dwId;
984 int iType;
985 BOOL bIsDisabled;
986 TCHAR szName[MAX_OBJECT_NAME];
987 TCHAR szRcptAddr[MAX_RCPT_ADDR_LEN];
988 TCHAR szEmailSubject[MAX_EMAIL_SUBJECT_LEN];
989 TCHAR *pszData;
990} NXC_ACTION;
991
992/**
993 * Alarm structure
994 */
995typedef struct
996{
997 QWORD qwSourceEventId; // Originating event ID
998 UINT32 dwAlarmId; // Unique alarm ID
999 UINT32 dwCreationTime; // Alarm creation time in UNIX time format
1000 UINT32 dwLastChangeTime; // Alarm's last change time in UNIX time format
1001 UINT32 dwSourceObject; // Source object ID
1002 UINT32 dwSourceEventCode;// Originating event code
1003 BYTE nCurrentSeverity; // Alarm's current severity
1004 BYTE nOriginalSeverity; // Alarm's original severity
1005 BYTE nState; // Current state
1006 BYTE nHelpDeskState; // State of alarm in helpdesk system
1007 UINT32 dwAckByUser; // ID of user who was acknowledged this alarm (0 for system)
1008 UINT32 dwResolvedByUser; // ID of user who was resolved this alarm (0 for system)
1009 UINT32 dwTermByUser; // ID of user who was terminated this alarm (0 for system)
1010 UINT32 dwRepeatCount;
1011 UINT32 dwTimeout;
1012 UINT32 dwTimeoutEvent;
1013 TCHAR szMessage[MAX_EVENT_MSG_LENGTH];
1014 TCHAR szKey[MAX_DB_STRING];
1015 TCHAR szHelpDeskRef[MAX_HELPDESK_REF_LEN];
1016 void *pUserData; // Can be freely used by client application
1017 UINT32 noteCount; // Number of notes added to alarm
1018 UINT32 ackTimeout; // Sticky acknowledgment end time. If acknowladgmant without timeout put 0
1019} NXC_ALARM;
1020
1021/**
1022 * Trap parameter mapping entry
1023 */
1024typedef struct
1025{
1026 UINT32 *pdwObjectId; // Trap OID
1027 UINT32 dwOidLen; // Trap OID length (if highest bit is set, then it's a position)
1028 UINT32 dwFlags;
1029 TCHAR szDescription[MAX_DB_STRING];
1030} NXC_OID_MAP;
1031
1032/**
1033 * Trap configuration entry
1034 */
1035typedef struct
1036{
1037 UINT32 dwId; // Entry ID
1038 UINT32 *pdwObjectId; // Trap OID
1039 UINT32 dwOidLen; // Trap OID length
1040 UINT32 dwEventCode; // Event code
1041 UINT32 dwNumMaps; // Number of parameter mappings
1042 NXC_OID_MAP *pMaps;
1043 TCHAR szDescription[MAX_DB_STRING];
1044 TCHAR szUserTag[MAX_USERTAG_LENGTH];
1045} NXC_TRAP_CFG_ENTRY;
1046
1047/**
1048 * Condition's input DCI definition
1049 */
1050typedef struct
1051{
1052 UINT32 id;
1053 UINT32 nodeId;
1054 int function; // Average, last, diff
1055 int polls; // Number of polls used for average
1056} INPUT_DCI;
1057
1058/**
1059 * Cluster resource
1060 */
1061typedef struct
1062{
1063 UINT32 dwId;
1064 TCHAR szName[MAX_DB_STRING];
c75e9ee4 1065 InetAddress ipAddr;
bf6fb6c3
VK
1066 UINT32 dwCurrOwner;
1067} CLUSTER_RESOURCE;
1068
4e5a9b7b
VK
1069#endif /* __cplusplus */
1070
bf6fb6c3 1071#endif /* _nxcldefs_h_ */