Commit | Line | Data |
---|---|---|
cc022855 | 1 | /* |
7ac71e60 | 2 | ** NetXMS - Network Management System |
d02f6b92 | 3 | ** Copyright (C) 2003-2013 Victor Kirhenshtein |
cbcaf8c8 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 by |
7 | ** the Free Software Foundation; either version 3 of the License, or | |
cbcaf8c8 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 |
cbcaf8c8 VK |
16 | ** along with this program; if not, write to the Free Software |
17 | ** Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. | |
18 | ** | |
456d5d1c | 19 | ** File: nms_agent.h |
cbcaf8c8 VK |
20 | ** |
21 | **/ | |
22 | ||
23 | #ifndef _nms_agent_h_ | |
24 | #define _nms_agent_h_ | |
25 | ||
359784de VK |
26 | #ifdef _WIN32 |
27 | #ifdef LIBNXAGENT_EXPORTS | |
28 | #define LIBNXAGENT_EXPORTABLE __declspec(dllexport) | |
29 | #else | |
30 | #define LIBNXAGENT_EXPORTABLE __declspec(dllimport) | |
31 | #endif | |
32 | #else /* _WIN32 */ | |
33 | #define LIBNXAGENT_EXPORTABLE | |
34 | #endif | |
35 | ||
36 | ||
adc00755 | 37 | #include <nms_common.h> |
64584976 | 38 | #include <nms_util.h> |
e6c91aac | 39 | #include <nxconfig.h> |
bb48198e | 40 | #include <nxdbapi.h> |
b8b6cd2f | 41 | #include <nxcpapi.h> |
6827d635 | 42 | |
acc04d96 VK |
43 | /** |
44 | * Initialization function declaration macro | |
45 | */ | |
a0a945fb | 46 | #if defined(_STATIC_AGENT) || defined(_NETWARE) |
e6c91aac | 47 | #define DECLARE_SUBAGENT_ENTRY_POINT(name) extern "C" BOOL NxSubAgentRegister_##name(NETXMS_SUBAGENT_INFO **ppInfo, Config *config) |
a0a945fb | 48 | #else |
b5138dfb | 49 | #ifdef _WIN32 |
a0a945fb | 50 | #define DECLSPEC_EXPORT __declspec(dllexport) __cdecl |
b5138dfb VK |
51 | #else |
52 | #define DECLSPEC_EXPORT | |
53 | #endif | |
e6c91aac | 54 | #define DECLARE_SUBAGENT_ENTRY_POINT(name) extern "C" BOOL DECLSPEC_EXPORT NxSubAgentRegister(NETXMS_SUBAGENT_INFO **ppInfo, Config *config) |
b5138dfb VK |
55 | #endif |
56 | ||
86c126f5 VK |
57 | /** |
58 | * Constants | |
59 | */ | |
cbcaf8c8 | 60 | #define AGENT_LISTEN_PORT 4700 |
842378a4 | 61 | #define AGENT_TUNNEL_PORT 4703 |
deaa4491 | 62 | #define AGENT_PROTOCOL_VERSION 2 |
cbcaf8c8 | 63 | #define MAX_RESULT_LENGTH 256 |
e22f1644 VK |
64 | #define MAX_CMD_LEN 256 |
65 | #define COMMAND_TIMEOUT 60 | |
47e0446b | 66 | #define MAX_SUBAGENT_NAME 64 |
86c126f5 | 67 | #define MAX_INSTANCE_COLUMNS 8 |
cbcaf8c8 | 68 | |
d02f6b92 VK |
69 | /** |
70 | * Agent policy types | |
71 | */ | |
6ca3b41c | 72 | #define AGENT_POLICY_CONFIG 1 |
f47c176c | 73 | #define AGENT_POLICY_LOG_PARSER 2 |
6ca3b41c | 74 | |
d02f6b92 | 75 | /** |
169fa953 TD |
76 | * Agent log parser policy folder |
77 | */ | |
78 | #define LOGPARSER_AP_FOLDER _T("logparser_ap") | |
b123ecb3 | 79 | #define CONFIG_AP_FOLDER _T("config_ap") |
169fa953 TD |
80 | |
81 | /** | |
d02f6b92 VK |
82 | * Error codes |
83 | */ | |
967893bb VK |
84 | #define ERR_SUCCESS ((UINT32)0) |
85 | #define ERR_UNKNOWN_COMMAND ((UINT32)400) | |
86 | #define ERR_AUTH_REQUIRED ((UINT32)401) | |
87 | #define ERR_ACCESS_DENIED ((UINT32)403) | |
88 | #define ERR_UNKNOWN_PARAMETER ((UINT32)404) | |
89 | #define ERR_REQUEST_TIMEOUT ((UINT32)408) | |
90 | #define ERR_AUTH_FAILED ((UINT32)440) | |
91 | #define ERR_ALREADY_AUTHENTICATED ((UINT32)441) | |
92 | #define ERR_AUTH_NOT_REQUIRED ((UINT32)442) | |
93 | #define ERR_INTERNAL_ERROR ((UINT32)500) | |
94 | #define ERR_NOT_IMPLEMENTED ((UINT32)501) | |
95 | #define ERR_OUT_OF_RESOURCES ((UINT32)503) | |
96 | #define ERR_NOT_CONNECTED ((UINT32)900) | |
97 | #define ERR_CONNECTION_BROKEN ((UINT32)901) | |
98 | #define ERR_BAD_RESPONSE ((UINT32)902) | |
99 | #define ERR_IO_FAILURE ((UINT32)903) | |
100 | #define ERR_RESOURCE_BUSY ((UINT32)904) | |
101 | #define ERR_EXEC_FAILED ((UINT32)905) | |
102 | #define ERR_ENCRYPTION_REQUIRED ((UINT32)906) | |
103 | #define ERR_NO_CIPHERS ((UINT32)907) | |
104 | #define ERR_INVALID_PUBLIC_KEY ((UINT32)908) | |
105 | #define ERR_INVALID_SESSION_KEY ((UINT32)909) | |
106 | #define ERR_CONNECT_FAILED ((UINT32)910) | |
107 | #define ERR_MALFORMED_COMMAND ((UINT32)911) | |
108 | #define ERR_SOCKET_ERROR ((UINT32)912) | |
109 | #define ERR_BAD_ARGUMENTS ((UINT32)913) | |
110 | #define ERR_SUBAGENT_LOAD_FAILED ((UINT32)914) | |
111 | #define ERR_FILE_OPEN_ERROR ((UINT32)915) | |
112 | #define ERR_FILE_STAT_FAILED ((UINT32)916) | |
113 | #define ERR_MEM_ALLOC_FAILED ((UINT32)917) | |
114 | #define ERR_FILE_DELETE_FAILED ((UINT32)918) | |
9c786c0f | 115 | #define ERR_NO_SESSION_AGENT ((UINT32)919) |
87fff547 | 116 | #define ERR_SERVER_ID_UNSET ((UINT32)920) |
82493366 | 117 | #define ERR_NO_SUCH_INSTANCE ((UINT32)921) |
cce82c3a | 118 | #define ERR_OUT_OF_STATE_REQUEST ((UINT32)922) |
3b89a4c1 | 119 | #define ERR_ENCRYPTION_ERROR ((UINT32)923) |
c2b7d357 | 120 | #define ERR_MALFORMED_RESPONSE ((UINT32)924) |
ce9e00cc | 121 | #define ERR_INVALID_OBJECT ((UINT32)925) |
1c6a6656 | 122 | #define ERR_FILE_ALREADY_EXISTS ((UINT32)926) |
123 | #define ERR_FOLDER_ALREADY_EXISTS ((UINT32)927) | |
cbcaf8c8 | 124 | |
d02f6b92 | 125 | /** |
a1273b42 VK |
126 | * Bulk data reconciliation DCI processing status codes |
127 | */ | |
128 | #define BULK_DATA_REC_RETRY 0 | |
129 | #define BULK_DATA_REC_SUCCESS 1 | |
130 | #define BULK_DATA_REC_FAILURE 2 | |
131 | ||
132 | /** | |
f7319eac VK |
133 | * Max bulk data block size |
134 | */ | |
9cf1b53c | 135 | #define MAX_BULK_DATA_BLOCK_SIZE 8192 |
f7319eac VK |
136 | |
137 | /** | |
d02f6b92 VK |
138 | * Parameter handler return codes |
139 | */ | |
82493366 VK |
140 | #define SYSINFO_RC_SUCCESS 0 |
141 | #define SYSINFO_RC_UNSUPPORTED 1 | |
142 | #define SYSINFO_RC_ERROR 2 | |
143 | #define SYSINFO_RC_NO_SUCH_INSTANCE 3 | |
cbcaf8c8 | 144 | |
d02f6b92 VK |
145 | /** |
146 | * WinPerf features | |
147 | */ | |
967893bb VK |
148 | #define WINPERF_AUTOMATIC_SAMPLE_COUNT ((UINT32)0x00000001) |
149 | #define WINPERF_REMOTE_COUNTER_CONFIG ((UINT32)0x00000002) | |
cbcaf8c8 | 150 | |
d02f6b92 | 151 | /** |
74540dab VK |
152 | * User session states (used by session agents) |
153 | */ | |
154 | #define USER_SESSION_ACTIVE 0 | |
155 | #define USER_SESSION_CONNECTED 1 | |
156 | #define USER_SESSION_DISCONNECTED 2 | |
157 | #define USER_SESSION_IDLE 3 | |
158 | #define USER_SESSION_OTHER 4 | |
159 | ||
160 | /** | |
d02f6b92 VK |
161 | * Descriptions for common parameters |
162 | */ | |
bf3b7f79 VK |
163 | #define DCIDESC_FS_AVAIL _T("Available space on file system {instance}") |
164 | #define DCIDESC_FS_AVAILPERC _T("Percentage of available space on file system {instance}") | |
165 | #define DCIDESC_FS_FREE _T("Free space on file system {instance}") | |
166 | #define DCIDESC_FS_FREEPERC _T("Percentage of free space on file system {instance}") | |
167 | #define DCIDESC_FS_TOTAL _T("Total space on file system {instance}") | |
4a675f94 | 168 | #define DCIDESC_FS_TYPE _T("Type of file system {instance}") |
bf3b7f79 VK |
169 | #define DCIDESC_FS_USED _T("Used space on file system {instance}") |
170 | #define DCIDESC_FS_USEDPERC _T("Percentage of used space on file system {instance}") | |
f86273c9 VK |
171 | #define DCIDESC_LVM_LV_SIZE _T("Size of logical volume {instance}") |
172 | #define DCIDESC_LVM_LV_STATUS _T("Status of logical volume {instance}") | |
173 | #define DCIDESC_LVM_PV_FREE _T("Free space on physical volume {instance}") | |
174 | #define DCIDESC_LVM_PV_FREEPERC _T("Percentage of free space on physical volume {instance}") | |
175 | #define DCIDESC_LVM_PV_RESYNC_PART _T("Number of resynchronizing partitions on physical volume {instance}") | |
176 | #define DCIDESC_LVM_PV_STALE_PART _T("Number of stale partitions on physical volume {instance}") | |
177 | #define DCIDESC_LVM_PV_STATUS _T("Status of physical volume {instance}") | |
178 | #define DCIDESC_LVM_PV_TOTAL _T("Total size of physical volume {instance}") | |
179 | #define DCIDESC_LVM_PV_USED _T("Used space on physical volume {instance}") | |
180 | #define DCIDESC_LVM_PV_USEDPERC _T("Percentage of used space on physical volume {instance}") | |
181 | #define DCIDESC_LVM_VG_FREE _T("Free space in volume group {instance}") | |
182 | #define DCIDESC_LVM_VG_FREEPERC _T("Percentage of free space in volume group {instance}") | |
183 | #define DCIDESC_LVM_VG_LVOL_TOTAL _T("Number of logical volumes in volume group {instance}") | |
184 | #define DCIDESC_LVM_VG_PVOL_ACTIVE _T("Number of active physical volumes in volume group {instance}") | |
185 | #define DCIDESC_LVM_VG_PVOL_TOTAL _T("Number of physical volumes in volume group {instance}") | |
186 | #define DCIDESC_LVM_VG_RESYNC_PART _T("Number of resynchronizing partitions in volume group {instance}") | |
187 | #define DCIDESC_LVM_VG_STALE_PART _T("Number of stale partitions in volume group {instance}") | |
188 | #define DCIDESC_LVM_VG_STATUS _T("Status of volume group {instance}") | |
189 | #define DCIDESC_LVM_VG_TOTAL _T("Total size of volume group {instance}") | |
190 | #define DCIDESC_LVM_VG_USED _T("Used space in volume group {instance}") | |
191 | #define DCIDESC_LVM_VG_USEDPERC _T("Percentage of used space in volume group {instance}") | |
11b75b2e | 192 | #define DCIDESC_NET_INTERFACE_64BITCOUNTERS _T("Is 64bit interface counters supported") |
bf3b7f79 VK |
193 | #define DCIDESC_NET_INTERFACE_ADMINSTATUS _T("Administrative status of interface {instance}") |
194 | #define DCIDESC_NET_INTERFACE_BYTESIN _T("Number of input bytes on interface {instance}") | |
195 | #define DCIDESC_NET_INTERFACE_BYTESOUT _T("Number of output bytes on interface {instance}") | |
196 | #define DCIDESC_NET_INTERFACE_DESCRIPTION _T("Description of interface {instance}") | |
197 | #define DCIDESC_NET_INTERFACE_INERRORS _T("Number of input errors on interface {instance}") | |
198 | #define DCIDESC_NET_INTERFACE_LINK _T("Link status for interface {instance}") | |
199 | #define DCIDESC_NET_INTERFACE_MTU _T("MTU for interface {instance}") | |
200 | #define DCIDESC_NET_INTERFACE_OPERSTATUS _T("Operational status of interface {instance}") | |
201 | #define DCIDESC_NET_INTERFACE_OUTERRORS _T("Number of output errors on interface {instance}") | |
202 | #define DCIDESC_NET_INTERFACE_PACKETSIN _T("Number of input packets on interface {instance}") | |
203 | #define DCIDESC_NET_INTERFACE_PACKETSOUT _T("Number of output packets on interface {instance}") | |
204 | #define DCIDESC_NET_INTERFACE_SPEED _T("Speed of interface {instance}") | |
205 | #define DCIDESC_NET_IP_FORWARDING _T("IP forwarding status") | |
206 | #define DCIDESC_NET_IP6_FORWARDING _T("IPv6 forwarding status") | |
ecdf8898 VK |
207 | #define DCIDESC_NET_RESOLVER_ADDRBYNAME _T("Resolver: address for name {instance}") |
208 | #define DCIDESC_NET_RESOLVER_NAMEBYADDR _T("Resolver: name for address {instance}") | |
bf3b7f79 VK |
209 | #define DCIDESC_PHYSICALDISK_FIRMWARE _T("Firmware version of hard disk {instance}") |
210 | #define DCIDESC_PHYSICALDISK_MODEL _T("Model of hard disk {instance}") | |
211 | #define DCIDESC_PHYSICALDISK_SERIALNUMBER _T("Serial number of hard disk {instance}") | |
212 | #define DCIDESC_PHYSICALDISK_SMARTATTR _T("") | |
213 | #define DCIDESC_PHYSICALDISK_SMARTSTATUS _T("Status of hard disk {instance} reported by SMART") | |
214 | #define DCIDESC_PHYSICALDISK_TEMPERATURE _T("Temperature of hard disk {instance}") | |
41580924 VK |
215 | #define DCIDESC_SYSTEM_CPU_CACHE_SIZE _T("CPU {instance}: cache size (KB)") |
216 | #define DCIDESC_SYSTEM_CPU_CORE_ID _T("CPU {instance}: core ID") | |
bf3b7f79 | 217 | #define DCIDESC_SYSTEM_CPU_COUNT _T("Number of CPU in the system") |
41580924 VK |
218 | #define DCIDESC_SYSTEM_CPU_FREQUENCY _T("CPU {instance}: frequency") |
219 | #define DCIDESC_SYSTEM_CPU_MODEL _T("CPU {instance}: model") | |
220 | #define DCIDESC_SYSTEM_CPU_PHYSICAL_ID _T("CPU {instance}: physical ID") | |
7433df29 | 221 | #define DCIDESC_SYSTEM_FQDN _T("Fully qualified domain name") |
bf3b7f79 | 222 | #define DCIDESC_SYSTEM_HOSTNAME _T("Host name") |
1217cb75 | 223 | #define DCIDESC_SYSTEM_IS_VIRTUAL _T("Virtual system indicator") |
5741ae09 VK |
224 | #define DCIDESC_SYSTEM_MEMORY_PHYSICAL_AVAILABLE _T("Available physical memory") |
225 | #define DCIDESC_SYSTEM_MEMORY_PHYSICAL_AVAILABLE_PCT _T("Percentage of available physical memory") | |
226 | #define DCIDESC_SYSTEM_MEMORY_PHYSICAL_BUFFERS _T("Physical memory used for buffers") | |
227 | #define DCIDESC_SYSTEM_MEMORY_PHYSICAL_BUFFERS_PCT _T("Percentage of physical memory used for buffers") | |
228 | #define DCIDESC_SYSTEM_MEMORY_PHYSICAL_CACHED _T("Physical memory used for cache") | |
229 | #define DCIDESC_SYSTEM_MEMORY_PHYSICAL_CACHED_PCT _T("Percentage of physical memory used for cache") | |
bf3b7f79 VK |
230 | #define DCIDESC_SYSTEM_MEMORY_PHYSICAL_FREE _T("Free physical memory") |
231 | #define DCIDESC_SYSTEM_MEMORY_PHYSICAL_FREE_PCT _T("Percentage of free physical memory") | |
232 | #define DCIDESC_SYSTEM_MEMORY_PHYSICAL_TOTAL _T("Total amount of physical memory") | |
233 | #define DCIDESC_SYSTEM_MEMORY_PHYSICAL_USED _T("Used physical memory") | |
234 | #define DCIDESC_SYSTEM_MEMORY_PHYSICAL_USED_PCT _T("Percentage of used physical memory") | |
03a48429 VK |
235 | #define DCIDESC_SYSTEM_MEMORY_VIRTUAL_ACTIVE _T("Active virtual memory") |
236 | #define DCIDESC_SYSTEM_MEMORY_VIRTUAL_ACTIVE_PCT _T("Percentage of active virtual memory") | |
bf3b7f79 VK |
237 | #define DCIDESC_SYSTEM_MEMORY_VIRTUAL_FREE _T("Free virtual memory") |
238 | #define DCIDESC_SYSTEM_MEMORY_VIRTUAL_FREE_PCT _T("Percentage of free virtual memory") | |
239 | #define DCIDESC_SYSTEM_MEMORY_VIRTUAL_TOTAL _T("Total amount of virtual memory") | |
240 | #define DCIDESC_SYSTEM_MEMORY_VIRTUAL_USED _T("Used virtual memory") | |
241 | #define DCIDESC_SYSTEM_MEMORY_VIRTUAL_USED_PCT _T("Percentage of used virtual memory") | |
242 | #define DCIDESC_SYSTEM_MEMORY_VIRTUAL_AVAILABLE _T("Available virtual memory") | |
243 | #define DCIDESC_SYSTEM_MEMORY_VIRTUAL_AVAILABLE_PCT _T("Percentage of available virtual memory") | |
244 | #define DCIDESC_SYSTEM_MEMORY_SWAP_FREE _T("Free swap space") | |
245 | #define DCIDESC_SYSTEM_MEMORY_SWAP_FREE_PCT _T("Percentage of free swap space") | |
246 | #define DCIDESC_SYSTEM_MEMORY_SWAP_TOTAL _T("Total amount of swap space") | |
247 | #define DCIDESC_SYSTEM_MEMORY_SWAP_USED _T("Used swap space") | |
248 | #define DCIDESC_SYSTEM_MEMORY_SWAP_USED_PCT _T("Percentage of used swap space") | |
cd30e53b VK |
249 | #define DCIDESC_SYSTEM_MSGQUEUE_BYTES _T("Message queue {instance}: bytes in queue") |
250 | #define DCIDESC_SYSTEM_MSGQUEUE_BYTES_MAX _T("Message queue {instance}: maximum allowed bytes in queue") | |
251 | #define DCIDESC_SYSTEM_MSGQUEUE_CHANGE_TIME _T("Message queue {instance}: last change time") | |
252 | #define DCIDESC_SYSTEM_MSGQUEUE_MESSAGES _T("Message queue {instance}: number of messages") | |
253 | #define DCIDESC_SYSTEM_MSGQUEUE_RECV_TIME _T("Message queue {instance}: last receive time") | |
254 | #define DCIDESC_SYSTEM_MSGQUEUE_SEND_TIME _T("Message queue {instance}: last send time") | |
bf3b7f79 VK |
255 | #define DCIDESC_SYSTEM_UNAME _T("System uname") |
256 | #define DCIDESC_AGENT_ACCEPTEDCONNECTIONS _T("Number of connections accepted by agent") | |
257 | #define DCIDESC_AGENT_ACCEPTERRORS _T("Number of accept() call errors") | |
258 | #define DCIDESC_AGENT_ACTIVECONNECTIONS _T("Number of active connections to agent") | |
259 | #define DCIDESC_AGENT_AUTHENTICATIONFAILURES _T("Number of authentication failures") | |
260 | #define DCIDESC_AGENT_CONFIG_SERVER _T("Configuration server address set on agent startup") | |
df26f039 | 261 | #define DCIDESC_AGENT_DATACOLLQUEUESIZE _T("Agent data collector queue size") |
bf3b7f79 VK |
262 | #define DCIDESC_AGENT_FAILEDREQUESTS _T("Number of failed requests to agent") |
263 | #define DCIDESC_AGENT_GENERATED_TRAPS _T("Number of traps generated by agent") | |
ec4679d1 VK |
264 | #define DCIDESC_AGENT_IS_EXT_SUBAGENT_CONNECTED _T("Check if external subagent {instance} is connected") |
265 | #define DCIDESC_AGENT_IS_SUBAGENT_LOADED _T("Check if subagent {instance} is loaded") | |
bf3b7f79 | 266 | #define DCIDESC_AGENT_LAST_TRAP_TIME _T("Timestamp of last generated trap") |
7b30e5ae VK |
267 | #define DCIDESC_AGENT_LOCALDB_FAILED_QUERIES _T("Agent local database: failed queries") |
268 | #define DCIDESC_AGENT_LOCALDB_SLOW_QUERIES _T("Agent local database: long running queries") | |
269 | #define DCIDESC_AGENT_LOCALDB_STATUS _T("Agent local database: status") | |
270 | #define DCIDESC_AGENT_LOCALDB_TOTAL_QUERIES _T("Agent local database: total queries executed") | |
271 | #define DCIDESC_AGENT_LOG_STATUS _T("Agent log status") | |
bf3b7f79 | 272 | #define DCIDESC_AGENT_PROCESSEDREQUESTS _T("Number of requests processed by agent") |
e1d760ac VK |
273 | #define DCIDESC_AGENT_PROXY_ACTIVESESSIONS _T("Number of active proxy sessions") |
274 | #define DCIDESC_AGENT_PROXY_CONNECTIONREQUESTS _T("Number of proxy connection requests") | |
275 | #define DCIDESC_AGENT_PROXY_ISENABLED _T("Check if agent proxy is enabled") | |
bf3b7f79 VK |
276 | #define DCIDESC_AGENT_REGISTRAR _T("Registrar server address set on agent startup") |
277 | #define DCIDESC_AGENT_REJECTEDCONNECTIONS _T("Number of connections rejected by agent") | |
278 | #define DCIDESC_AGENT_SENT_TRAPS _T("Number of traps successfully sent to server") | |
786773f7 VK |
279 | #define DCIDESC_AGENT_SNMP_ISPROXYENABLED _T("Check if SNMP proxy is enabled") |
280 | #define DCIDESC_AGENT_SNMP_REQUESTS _T("Number of SNMP requests sent") | |
281 | #define DCIDESC_AGENT_SNMP_RESPONSES _T("Number of SNMP responses received") | |
282 | #define DCIDESC_AGENT_SNMP_SERVERREQUESTS _T("Number of SNMP proxy requests received from server") | |
05db3127 | 283 | #define DCIDESC_AGENT_SOURCEPACKAGESUPPORT _T("Check if source packages are supported") |
bf3b7f79 | 284 | #define DCIDESC_AGENT_SUPPORTEDCIPHERS _T("List of ciphers supported by agent") |
786773f7 VK |
285 | #define DCIDESC_AGENT_SYSLOGPROXY_ISENABLED _T("Check if syslog proxy is enabled") |
286 | #define DCIDESC_AGENT_SYSLOGPROXY_RECEIVEDMSGS _T("Number of syslog messages received by agent") | |
287 | #define DCIDESC_AGENT_SYSLOGPROXY_QUEUESIZE _T("Agent syslog proxy queue size") | |
374afd7b VK |
288 | #define DCIDESC_AGENT_THREADPOOL_ACTIVEREQUESTS _T("Agent thread pool {instance}: active requests") |
289 | #define DCIDESC_AGENT_THREADPOOL_CURRSIZE _T("Agent thread pool {instance}: current size") | |
290 | #define DCIDESC_AGENT_THREADPOOL_LOAD _T("Agent thread pool {instance}: current load") | |
291 | #define DCIDESC_AGENT_THREADPOOL_LOADAVG _T("Agent thread pool {instance}: load average (1 minute)") | |
292 | #define DCIDESC_AGENT_THREADPOOL_LOADAVG_5 _T("Agent thread pool {instance}: load average (5 minutes)") | |
293 | #define DCIDESC_AGENT_THREADPOOL_LOADAVG_15 _T("Agent thread pool {instance}: load average (15 minutes)") | |
294 | #define DCIDESC_AGENT_THREADPOOL_MAXSIZE _T("Agent thread pool {instance}: max size") | |
295 | #define DCIDESC_AGENT_THREADPOOL_MINSIZE _T("Agent thread pool {instance}: min size") | |
296 | #define DCIDESC_AGENT_THREADPOOL_USAGE _T("Agent thread pool {instance}: usage") | |
bf3b7f79 VK |
297 | #define DCIDESC_AGENT_TIMEDOUTREQUESTS _T("Number of timed out requests to agent") |
298 | #define DCIDESC_AGENT_UNSUPPORTEDREQUESTS _T("Number of requests for unsupported parameters") | |
299 | #define DCIDESC_AGENT_UPTIME _T("Agent's uptime") | |
300 | #define DCIDESC_AGENT_VERSION _T("Agent's version") | |
301 | #define DCIDESC_FILE_COUNT _T("Number of files {instance}") | |
5ad4ed06 | 302 | #define DCIDESC_FILE_FOLDERCOUNT _T("Number of folders {instance}") |
bf3b7f79 VK |
303 | #define DCIDESC_FILE_HASH_CRC32 _T("CRC32 checksum of {instance}") |
304 | #define DCIDESC_FILE_HASH_MD5 _T("MD5 hash of {instance}") | |
305 | #define DCIDESC_FILE_HASH_SHA1 _T("SHA1 hash of {instance}") | |
306 | #define DCIDESC_FILE_SIZE _T("Size of file {instance}") | |
307 | #define DCIDESC_FILE_TIME_ACCESS _T("Time of last access to file {instance}") | |
308 | #define DCIDESC_FILE_TIME_CHANGE _T("Time of last status change of file {instance}") | |
309 | #define DCIDESC_FILE_TIME_MODIFY _T("Time of last modification of file {instance}") | |
8ce7501b | 310 | #define DCIDESC_SYSTEM_CURRENTTIME _T("Current system time") |
bf3b7f79 VK |
311 | #define DCIDESC_SYSTEM_PLATFORMNAME _T("Platform name") |
312 | #define DCIDESC_PROCESS_COUNT _T("Number of {instance} processes") | |
313 | #define DCIDESC_PROCESS_COUNTEX _T("Number of {instance} processes (extended)") | |
314 | #define DCIDESC_PROCESS_CPUTIME _T("Total execution time for process {instance}") | |
315 | #define DCIDESC_PROCESS_GDIOBJ _T("GDI objects used by process {instance}") | |
92b25da9 | 316 | #define DCIDESC_PROCESS_HANDLES _T("Number of handles in process {instance}") |
bf3b7f79 VK |
317 | #define DCIDESC_PROCESS_IO_OTHERB _T("") |
318 | #define DCIDESC_PROCESS_IO_OTHEROP _T("") | |
319 | #define DCIDESC_PROCESS_IO_READB _T("") | |
320 | #define DCIDESC_PROCESS_IO_READOP _T("") | |
321 | #define DCIDESC_PROCESS_IO_WRITEB _T("") | |
322 | #define DCIDESC_PROCESS_IO_WRITEOP _T("") | |
323 | #define DCIDESC_PROCESS_KERNELTIME _T("Total execution time in kernel mode for process {instance}") | |
324 | #define DCIDESC_PROCESS_PAGEFAULTS _T("Page faults for process {instance}") | |
325 | #define DCIDESC_PROCESS_SYSCALLS _T("Number of system calls made by process {instance}") | |
326 | #define DCIDESC_PROCESS_THREADS _T("Number of threads in process {instance}") | |
327 | #define DCIDESC_PROCESS_USEROBJ _T("USER objects used by process {instance}") | |
328 | #define DCIDESC_PROCESS_USERTIME _T("Total execution time in user mode for process {instance}") | |
329 | #define DCIDESC_PROCESS_VMSIZE _T("Virtual memory used by process {instance}") | |
330 | #define DCIDESC_PROCESS_WKSET _T("Physical memory used by process {instance}") | |
92b25da9 | 331 | #define DCIDESC_PROCESS_ZOMBIE_COUNT _T("Number of {instance} zombie processes") |
bf3b7f79 VK |
332 | #define DCIDESC_SYSTEM_APPADDRESSSPACE _T("Address space available to applications (MB)") |
333 | #define DCIDESC_SYSTEM_CONNECTEDUSERS _T("Number of logged in users") | |
92b25da9 | 334 | #define DCIDESC_SYSTEM_HANDLECOUNT _T("Total number of handles") |
bf3b7f79 VK |
335 | #define DCIDESC_SYSTEM_PROCESSCOUNT _T("Total number of processes") |
336 | #define DCIDESC_SYSTEM_SERVICESTATE _T("State of {instance} service") | |
bf3b7f79 VK |
337 | #define DCIDESC_SYSTEM_THREADCOUNT _T("Total number of threads") |
338 | #define DCIDESC_PDH_COUNTERVALUE _T("Value of PDH counter {instance}") | |
339 | #define DCIDESC_PDH_VERSION _T("Version of PDH.DLL") | |
340 | #define DCIDESC_SYSTEM_UPTIME _T("System uptime") | |
8c6b83ac | 341 | |
bf3b7f79 VK |
342 | #define DCIDESC_SYSTEM_CPU_LOADAVG _T("Average CPU load for last minute") |
343 | #define DCIDESC_SYSTEM_CPU_LOADAVG5 _T("Average CPU load for last 5 minutes") | |
344 | #define DCIDESC_SYSTEM_CPU_LOADAVG15 _T("Average CPU load for last 15 minutes") | |
8c6b83ac VK |
345 | |
346 | #define DCIDESC_SYSTEM_CPU_INTERRUPTS _T("CPU interrupt count") | |
347 | #define DCIDESC_SYSTEM_CPU_INTERRUPTS_EX _T("CPU {instance} interrupt count") | |
348 | #define DCIDESC_SYSTEM_CPU_CONTEXT_SWITCHES _T("CPU context switch count") | |
bf3b7f79 | 349 | |
bf3b7f79 VK |
350 | #define DCIDESC_SYSTEM_CPU_USAGE_EX _T("Average CPU {instance} utilization for last minute") |
351 | #define DCIDESC_SYSTEM_CPU_USAGE5_EX _T("Average CPU {instance} utilization for last 5 minutes") | |
352 | #define DCIDESC_SYSTEM_CPU_USAGE15_EX _T("Average CPU {instance} utilization for last 15 minutes") | |
353 | #define DCIDESC_SYSTEM_CPU_USAGE _T("Average CPU utilization for last minute") | |
354 | #define DCIDESC_SYSTEM_CPU_USAGE5 _T("Average CPU utilization for last 5 minutes") | |
355 | #define DCIDESC_SYSTEM_CPU_USAGE15 _T("Average CPU utilization for last 15 minutes") | |
efc43892 | 356 | #define DCIDESC_SYSTEM_CPU_USAGECURR _T("Current CPU utilization") |
6cbf26de | 357 | #define DCIDESC_SYSTEM_CPU_USAGECURR_EX _T("Current CPU {instance} utilization") |
bf3b7f79 VK |
358 | |
359 | #define DCIDESC_SYSTEM_CPU_USAGE_USER_EX _T("Average CPU {instance} utilization (user) for last minute") | |
360 | #define DCIDESC_SYSTEM_CPU_USAGE5_USER_EX _T("Average CPU {instance} utilization (user) for last 5 minutes") | |
361 | #define DCIDESC_SYSTEM_CPU_USAGE15_USER_EX _T("Average CPU {instance} utilization (user) for last 15 minutes") | |
362 | #define DCIDESC_SYSTEM_CPU_USAGE_USER _T("Average CPU utilization (user) for last minute") | |
363 | #define DCIDESC_SYSTEM_CPU_USAGE5_USER _T("Average CPU utilization (user) for last 5 minutes") | |
364 | #define DCIDESC_SYSTEM_CPU_USAGE15_USER _T("Average CPU utilization (user) for last 15 minutes") | |
6cbf26de VK |
365 | #define DCIDESC_SYSTEM_CPU_USAGECURR_USER _T("Current CPU utilization (user)") |
366 | #define DCIDESC_SYSTEM_CPU_USAGECURR_USER_EX _T("Current CPU {instance} utilization (user)") | |
bf3b7f79 VK |
367 | |
368 | #define DCIDESC_SYSTEM_CPU_USAGE_NICE_EX _T("Average CPU {instance} utilization (nice) for last minute") | |
369 | #define DCIDESC_SYSTEM_CPU_USAGE5_NICE_EX _T("Average CPU {instance} utilization (nice) for last 5 minutes") | |
370 | #define DCIDESC_SYSTEM_CPU_USAGE15_NICE_EX _T("Average CPU {instance} utilization (nice) for last 15 minutes") | |
371 | #define DCIDESC_SYSTEM_CPU_USAGE_NICE _T("Average CPU utilization (nice) for last minute") | |
372 | #define DCIDESC_SYSTEM_CPU_USAGE5_NICE _T("Average CPU utilization (nice) for last 5 minutes") | |
373 | #define DCIDESC_SYSTEM_CPU_USAGE15_NICE _T("Average CPU utilization (nice) for last 15 minutes") | |
6cbf26de VK |
374 | #define DCIDESC_SYSTEM_CPU_USAGECURR_NICE _T("Current CPU utilization (nice)") |
375 | #define DCIDESC_SYSTEM_CPU_USAGECURR_NICE_EX _T("Current CPU {instance} utilization (nice)") | |
bf3b7f79 VK |
376 | |
377 | #define DCIDESC_SYSTEM_CPU_USAGE_SYSTEM_EX _T("Average CPU {instance} utilization (system) for last minute") | |
378 | #define DCIDESC_SYSTEM_CPU_USAGE5_SYSTEM_EX _T("Average CPU {instance} utilization (system) for last 5 minutes") | |
379 | #define DCIDESC_SYSTEM_CPU_USAGE15_SYSTEM_EX _T("Average CPU {instance} utilization (system) for last 15 minutes") | |
380 | #define DCIDESC_SYSTEM_CPU_USAGE_SYSTEM _T("Average CPU utilization (system) for last minute") | |
381 | #define DCIDESC_SYSTEM_CPU_USAGE5_SYSTEM _T("Average CPU utilization (system) for last 5 minutes") | |
382 | #define DCIDESC_SYSTEM_CPU_USAGE15_SYSTEM _T("Average CPU utilization (system) for last 15 minutes") | |
6cbf26de VK |
383 | #define DCIDESC_SYSTEM_CPU_USAGECURR_SYSTEM _T("Current CPU utilization (system)") |
384 | #define DCIDESC_SYSTEM_CPU_USAGECURR_SYSTEM_EX _T("Current CPU {instance} utilization (system)") | |
bf3b7f79 | 385 | |
6cbf26de VK |
386 | #define DCIDESC_SYSTEM_CPU_USAGE_IDLE_EX _T("Average CPU {instance} utilization (idle) for last minute") |
387 | #define DCIDESC_SYSTEM_CPU_USAGE5_IDLE_EX _T("Average CPU {instance} utilization (idle) for last 5 minutes") | |
388 | #define DCIDESC_SYSTEM_CPU_USAGE15_IDLE_EX _T("Average CPU {instance} utilization (idle) for last 15 minutes") | |
389 | #define DCIDESC_SYSTEM_CPU_USAGE_IDLE _T("Average CPU utilization (idle) for last minute") | |
390 | #define DCIDESC_SYSTEM_CPU_USAGE5_IDLE _T("Average CPU utilization (idle) for last 5 minutes") | |
391 | #define DCIDESC_SYSTEM_CPU_USAGE15_IDLE _T("Average CPU utilization (idle) for last 15 minutes") | |
392 | #define DCIDESC_SYSTEM_CPU_USAGECURR_IDLE _T("Current CPU utilization (idle)") | |
393 | #define DCIDESC_SYSTEM_CPU_USAGECURR_IDLE_EX _T("Current CPU {instance} utilization (idle)") | |
bf3b7f79 | 394 | |
6cbf26de VK |
395 | #define DCIDESC_SYSTEM_CPU_USAGE_IOWAIT_EX _T("Average CPU {instance} utilization (iowait) for last minute") |
396 | #define DCIDESC_SYSTEM_CPU_USAGE5_IOWAIT_EX _T("Average CPU {instance} utilization (iowait) for last 5 minutes") | |
397 | #define DCIDESC_SYSTEM_CPU_USAGE15_IOWAIT_EX _T("Average CPU {instance} utilization (iowait) for last 15 minutes") | |
398 | #define DCIDESC_SYSTEM_CPU_USAGE_IOWAIT _T("Average CPU utilization (iowait) for last minute") | |
399 | #define DCIDESC_SYSTEM_CPU_USAGE5_IOWAIT _T("Average CPU utilization (iowait) for last 5 minutes") | |
400 | #define DCIDESC_SYSTEM_CPU_USAGE15_IOWAIT _T("Average CPU utilization (iowait) for last 15 minutes") | |
401 | #define DCIDESC_SYSTEM_CPU_USAGECURR_IOWAIT _T("Current CPU utilization (iowait)") | |
402 | #define DCIDESC_SYSTEM_CPU_USAGECURR_IOWAIT_EX _T("Current CPU {instance} utilization (iowait)") | |
bf3b7f79 | 403 | |
6cbf26de VK |
404 | #define DCIDESC_SYSTEM_CPU_USAGE_IRQ_EX _T("Average CPU {instance} utilization (irq) for last minute") |
405 | #define DCIDESC_SYSTEM_CPU_USAGE5_IRQ_EX _T("Average CPU {instance} utilization (irq) for last 5 minutes") | |
406 | #define DCIDESC_SYSTEM_CPU_USAGE15_IRQ_EX _T("Average CPU {instance} utilization (irq) for last 15 minutes") | |
407 | #define DCIDESC_SYSTEM_CPU_USAGE_IRQ _T("Average CPU utilization (irq) for last minute") | |
408 | #define DCIDESC_SYSTEM_CPU_USAGE5_IRQ _T("Average CPU utilization (irq) for last 5 minutes") | |
409 | #define DCIDESC_SYSTEM_CPU_USAGE15_IRQ _T("Average CPU utilization (irq) for last 15 minutes") | |
410 | #define DCIDESC_SYSTEM_CPU_USAGECURR_IRQ _T("Current CPU utilization (irq)") | |
411 | #define DCIDESC_SYSTEM_CPU_USAGECURR_IRQ_EX _T("Current CPU {instance} utilization (irq)") | |
bf3b7f79 | 412 | |
6cbf26de VK |
413 | #define DCIDESC_SYSTEM_CPU_USAGE_SOFTIRQ_EX _T("Average CPU {instance} utilization (softirq) for last minute") |
414 | #define DCIDESC_SYSTEM_CPU_USAGE5_SOFTIRQ_EX _T("Average CPU {instance} utilization (softirq) for last 5 minutes") | |
415 | #define DCIDESC_SYSTEM_CPU_USAGE15_SOFTIRQ_EX _T("Average CPU {instance} utilization (softirq) for last 15 minutes") | |
416 | #define DCIDESC_SYSTEM_CPU_USAGE_SOFTIRQ _T("Average CPU utilization (softirq) for last minute") | |
417 | #define DCIDESC_SYSTEM_CPU_USAGE5_SOFTIRQ _T("Average CPU utilization (softirq) for last 5 minutes") | |
418 | #define DCIDESC_SYSTEM_CPU_USAGE15_SOFTIRQ _T("Average CPU utilization (softirq) for last 15 minutes") | |
419 | #define DCIDESC_SYSTEM_CPU_USAGECURR_SOFTIRQ _T("Current CPU utilization (softirq)") | |
420 | #define DCIDESC_SYSTEM_CPU_USAGECURR_SOFTIRQ_EX _T("Current CPU {instance} utilization (softirq)") | |
bf3b7f79 VK |
421 | |
422 | #define DCIDESC_SYSTEM_CPU_USAGE_STEAL_EX _T("Average CPU {instance} utilization (steal) for last minute") | |
423 | #define DCIDESC_SYSTEM_CPU_USAGE5_STEAL_EX _T("Average CPU {instance} utilization (steal) for last 5 minutes") | |
424 | #define DCIDESC_SYSTEM_CPU_USAGE15_STEAL_EX _T("Average CPU {instance} utilization (steal) for last 15 minutes") | |
425 | #define DCIDESC_SYSTEM_CPU_USAGE_STEAL _T("Average CPU utilization (steal) for last minute") | |
426 | #define DCIDESC_SYSTEM_CPU_USAGE5_STEAL _T("Average CPU utilization (steal) for last 5 minutes") | |
427 | #define DCIDESC_SYSTEM_CPU_USAGE15_STEAL _T("Average CPU utilization (steal) for last 15 minutes") | |
6cbf26de VK |
428 | #define DCIDESC_SYSTEM_CPU_USAGECURR_STEAL _T("Current CPU utilization (steal)") |
429 | #define DCIDESC_SYSTEM_CPU_USAGECURR_STEAL_EX _T("Current CPU {instance} utilization (steal)") | |
bf3b7f79 VK |
430 | |
431 | #define DCIDESC_SYSTEM_CPU_USAGE_GUEST_EX _T("Average CPU {instance} utilization (guest) for last minute") | |
432 | #define DCIDESC_SYSTEM_CPU_USAGE5_GUEST_EX _T("Average CPU {instance} utilization (guest) for last 5 minutes") | |
433 | #define DCIDESC_SYSTEM_CPU_USAGE15_GUEST_EX _T("Average CPU {instance} utilization (guest) for last 15 minutes") | |
434 | #define DCIDESC_SYSTEM_CPU_USAGE_GUEST _T("Average CPU utilization (guest) for last minute") | |
435 | #define DCIDESC_SYSTEM_CPU_USAGE5_GUEST _T("Average CPU utilization (guest) for last 5 minutes") | |
436 | #define DCIDESC_SYSTEM_CPU_USAGE15_GUEST _T("Average CPU utilization (guest) for last 15 minutes") | |
6cbf26de VK |
437 | #define DCIDESC_SYSTEM_CPU_USAGECURR_GUEST _T("Current CPU utilization (guest)") |
438 | #define DCIDESC_SYSTEM_CPU_USAGECURR_GUEST_EX _T("Current CPU {instance} utilization (guest)") | |
bf3b7f79 VK |
439 | |
440 | #define DCIDESC_SYSTEM_IO_DISKQUEUE _T("Average disk queue length for last minute") | |
3e00a175 VK |
441 | #define DCIDESC_SYSTEM_IO_DISKQUEUE_MIN _T("Minimum disk queue length for last minute") |
442 | #define DCIDESC_SYSTEM_IO_DISKQUEUE_MAX _T("Maximum disk queue length for last minute") | |
bf3b7f79 | 443 | #define DCIDESC_SYSTEM_IO_DISKQUEUE_EX _T("Average disk queue length of device {instance} for last minute") |
3e00a175 VK |
444 | #define DCIDESC_SYSTEM_IO_DISKQUEUE_EX_MIN _T("Minimum disk queue length of device {instance} for last minute") |
445 | #define DCIDESC_SYSTEM_IO_DISKQUEUE_EX_MAX _T("Maximum disk queue length of device {instance} for last minute") | |
bf3b7f79 VK |
446 | #define DCIDESC_SYSTEM_IO_DISKTIME _T("Percent of CPU time spent on I/O for last minute") |
447 | #define DCIDESC_SYSTEM_IO_DISKTIME_EX _T("Percent of CPU time spent on I/O on device {instance} for last minute") | |
448 | #define DCIDESC_SYSTEM_IO_WAITTIME _T("Average I/O request wait time") | |
449 | #define DCIDESC_SYSTEM_IO_WAITTIME_EX _T("Average I/O request wait time for device {instance}") | |
450 | #define DCIDESC_SYSTEM_IO_READS _T("Average number of read operations for last minute") | |
3e00a175 VK |
451 | #define DCIDESC_SYSTEM_IO_READS_MIN _T("Minimum number of read operations for last minute") |
452 | #define DCIDESC_SYSTEM_IO_READS_MAX _T("Maximum number of read operations for last minute") | |
bf3b7f79 | 453 | #define DCIDESC_SYSTEM_IO_READS_EX _T("Average number of read operations on device {instance} for last minute") |
3e00a175 VK |
454 | #define DCIDESC_SYSTEM_IO_READS_EX_MIN _T("Minimum number of read operations on device {instance} for last minute") |
455 | #define DCIDESC_SYSTEM_IO_READS_EX_MAX _T("Maximum number of read operations on device {instance} for last minute") | |
bf3b7f79 | 456 | #define DCIDESC_SYSTEM_IO_WRITES _T("Average number of write operations for last minute") |
3e00a175 VK |
457 | #define DCIDESC_SYSTEM_IO_WRITES_MIN _T("Minimum number of write operations for last minute") |
458 | #define DCIDESC_SYSTEM_IO_WRITES_MAX _T("Maximum number of write operations for last minute") | |
bf3b7f79 | 459 | #define DCIDESC_SYSTEM_IO_WRITES_EX _T("Average number of write operations on device {instance} for last minute") |
3e00a175 VK |
460 | #define DCIDESC_SYSTEM_IO_WRITES_EX_MIN _T("Minimum number of write operations on device {instance} for last minute") |
461 | #define DCIDESC_SYSTEM_IO_WRITES_EX_MAX _T("Maximum number of write operations on device {instance} for last minute") | |
bf3b7f79 | 462 | #define DCIDESC_SYSTEM_IO_XFERS _T("Average number of I/O transfers for last minute") |
3e00a175 VK |
463 | #define DCIDESC_SYSTEM_IO_XFERS_MIN _T("Minimum number of I/O transfers for last minute") |
464 | #define DCIDESC_SYSTEM_IO_XFERS_MAX _T("Maximum number of I/O transfers for last minute") | |
bf3b7f79 | 465 | #define DCIDESC_SYSTEM_IO_XFERS_EX _T("Average number of I/O transfers on device {instance} for last minute") |
3e00a175 VK |
466 | #define DCIDESC_SYSTEM_IO_XFERS_EX_MIN _T("Minimum number of I/O transfers on device {instance} for last minute") |
467 | #define DCIDESC_SYSTEM_IO_XFERS_EX_MAX _T("Maximum number of I/O transfers on device {instance} for last minute") | |
bf3b7f79 | 468 | #define DCIDESC_SYSTEM_IO_BYTEREADS _T("Average number of bytes read for last minute") |
3e00a175 VK |
469 | #define DCIDESC_SYSTEM_IO_BYTEREADS_MIN _T("Minimum number of bytes read for last minute") |
470 | #define DCIDESC_SYSTEM_IO_BYTEREADS_MAX _T("Maximum number of bytes read for last minute") | |
bf3b7f79 | 471 | #define DCIDESC_SYSTEM_IO_BYTEREADS_EX _T("Average number of bytes read on device {instance} for last minute") |
3e00a175 VK |
472 | #define DCIDESC_SYSTEM_IO_BYTEREADS_EX_MIN _T("Minimum number of bytes read on device {instance} for last minute") |
473 | #define DCIDESC_SYSTEM_IO_BYTEREADS_EX_MAX _T("Maximum number of bytes read on device {instance} for last minute") | |
bf3b7f79 | 474 | #define DCIDESC_SYSTEM_IO_BYTEWRITES _T("Average number of bytes written for last minute") |
3e00a175 VK |
475 | #define DCIDESC_SYSTEM_IO_BYTEWRITES_MIN _T("Minimum number of bytes written for last minute") |
476 | #define DCIDESC_SYSTEM_IO_BYTEWRITES_MAX _T("Maximum number of bytes written for last minute") | |
bf3b7f79 | 477 | #define DCIDESC_SYSTEM_IO_BYTEWRITES_EX _T("Average number of bytes written on device {instance} for last minute") |
3e00a175 VK |
478 | #define DCIDESC_SYSTEM_IO_BYTEWRITES_EX_MIN _T("Minimum number of bytes written on device {instance} for last minute") |
479 | #define DCIDESC_SYSTEM_IO_BYTEWRITES_EX_MAX _T("Maximum number of bytes written on device {instance} for last minute") | |
bf3b7f79 VK |
480 | #define DCIDESC_SYSTEM_IO_OPENFILES _T("Number of open files") |
481 | ||
482 | ||
483 | #define DCIDESC_DEPRECATED _T("<deprecated>") | |
30c68fa1 AK |
484 | |
485 | ||
74540dab | 486 | #define DCTDESC_AGENT_SESSION_AGENTS _T("Registered session agents") |
ad12a86f | 487 | #define DCTDESC_AGENT_SUBAGENTS _T("Loaded subagents") |
a8799146 | 488 | #define DCTDESC_FILESYSTEM_VOLUMES _T("File system volumes") |
f86273c9 VK |
489 | #define DCTDESC_LVM_VOLUME_GROUPS _T("LVM volume groups") |
490 | #define DCTDESC_LVM_LOGICAL_VOLUMES _T("Logical volumes in volume group {instance}") | |
491 | #define DCTDESC_LVM_PHYSICAL_VOLUMES _T("Physical volumes in volume group {instance}") | |
ac60d715 | 492 | #define DCTDESC_SYSTEM_INSTALLED_PRODUCTS _T("Installed products") |
92b25da9 | 493 | #define DCTDESC_SYSTEM_OPEN_FILES _T("Open files") |
ad12a86f | 494 | #define DCTDESC_SYSTEM_PROCESSES _T("Processes") |
cc8ce218 | 495 | |
0f506caa | 496 | /** |
b8b6cd2f VK |
497 | * Class that stores information about file that will be received |
498 | */ | |
499 | class LIBNXAGENT_EXPORTABLE DownloadFileInfo | |
500 | { | |
501 | protected: | |
502 | TCHAR *m_fileName; | |
503 | time_t m_lastModTime; | |
504 | int m_file; | |
505 | StreamCompressor *m_compressor; // stream compressor for file transfer | |
506 | ||
507 | public: | |
508 | DownloadFileInfo(const TCHAR *name, time_t lastModTime = 0); | |
509 | virtual ~DownloadFileInfo(); | |
510 | ||
511 | virtual bool open(); | |
512 | virtual bool write(const BYTE *data, size_t dataSize, bool compressedStream); | |
513 | virtual void close(bool success); | |
514 | }; | |
515 | ||
516 | /** | |
5944946e VK |
517 | * API for CommSession |
518 | */ | |
6fbaa926 | 519 | class AbstractCommSession : public RefCountObject |
5944946e VK |
520 | { |
521 | public: | |
da8453a5 VK |
522 | virtual UINT32 getId() = 0; |
523 | ||
524 | virtual UINT64 getServerId() = 0; | |
525 | virtual const InetAddress& getServerAddress() = 0; | |
526 | ||
9319c166 VK |
527 | virtual bool isMasterServer() = 0; |
528 | virtual bool isControlServer() = 0; | |
d1dfba1a | 529 | virtual bool canAcceptData() = 0; |
0d956dd9 | 530 | virtual bool canAcceptTraps() = 0; |
e13420c1 | 531 | virtual bool canAcceptFileUpdates() = 0; |
da8453a5 | 532 | virtual bool isBulkReconciliationSupported() = 0; |
ea3993c8 VK |
533 | virtual bool isIPv6Aware() = 0; |
534 | ||
da8453a5 VK |
535 | virtual bool sendMessage(NXCPMessage *msg) = 0; |
536 | virtual void postMessage(NXCPMessage *msg) = 0; | |
537 | virtual bool sendRawMessage(NXCP_MESSAGE *msg) = 0; | |
538 | virtual void postRawMessage(NXCP_MESSAGE *msg) = 0; | |
b4879817 | 539 | virtual bool sendFile(UINT32 requestId, const TCHAR *file, long offset, bool allowCompression) = 0; |
63ff3c9d | 540 | virtual UINT32 doRequest(NXCPMessage *msg, UINT32 timeout) = 0; |
a1273b42 | 541 | virtual NXCPMessage *doRequestEx(NXCPMessage *msg, UINT32 timeout) = 0; |
6fbaa926 | 542 | virtual UINT32 generateRequestId() = 0; |
7b45b90d | 543 | virtual UINT32 openFile(TCHAR* nameOfFile, UINT32 requestId, time_t fileModTime = 0) = 0; |
da8453a5 | 544 | virtual void debugPrintf(int level, const TCHAR *format, ...) = 0; |
5944946e VK |
545 | }; |
546 | ||
547 | /** | |
45ac5dd0 EJ |
548 | * Execute server command |
549 | */ | |
5d49264c | 550 | class LIBNXAGENT_EXPORTABLE CommandExec |
45ac5dd0 EJ |
551 | { |
552 | private: | |
45ac5dd0 EJ |
553 | UINT32 m_streamId; |
554 | THREAD m_outputThread; | |
5d49264c VK |
555 | #ifdef _WIN32 |
556 | HANDLE m_phandle; | |
557 | HANDLE m_pipe; | |
558 | #else | |
559 | pid_t m_pid; | |
560 | int m_pipe[2]; | |
561 | #endif | |
45ac5dd0 EJ |
562 | |
563 | protected: | |
564 | TCHAR *m_cmd; | |
565 | bool m_sendOutput; | |
566 | ||
5d49264c VK |
567 | #ifdef _WIN32 |
568 | HANDLE getOutputPipe() { return m_pipe; } | |
569 | #else | |
45ac5dd0 | 570 | int getOutputPipe() { return m_pipe[0]; } |
5d49264c | 571 | #endif |
45ac5dd0 EJ |
572 | |
573 | static THREAD_RESULT THREAD_CALL readOutput(void *pArg); | |
574 | ||
575 | virtual void onOutput(const char *text); | |
576 | virtual void endOfOutput(); | |
577 | ||
578 | public: | |
579 | CommandExec(const TCHAR *cmd); | |
580 | CommandExec(); | |
581 | virtual ~CommandExec(); | |
582 | ||
583 | UINT32 getStreamId() const { return m_streamId; } | |
584 | const TCHAR *getCommand() const { return m_cmd; } | |
585 | ||
586 | bool execute(); | |
587 | void stop(); | |
45ac5dd0 EJ |
588 | }; |
589 | ||
590 | /** | |
0f506caa VK |
591 | * Subagent's parameter information |
592 | */ | |
6827d635 VK |
593 | typedef struct |
594 | { | |
4687826e | 595 | TCHAR name[MAX_PARAM_NAME]; |
060c5a11 | 596 | LONG (* handler)(const TCHAR *, const TCHAR *, TCHAR *, AbstractCommSession *); |
4687826e VK |
597 | const TCHAR *arg; |
598 | int dataType; // Use DT_DEPRECATED to indicate deprecated parameter | |
599 | TCHAR description[MAX_DB_STRING]; | |
6827d635 VK |
600 | } NETXMS_SUBAGENT_PARAM; |
601 | ||
0f506caa VK |
602 | /** |
603 | * Subagent's push parameter information | |
604 | */ | |
f480bdd4 VK |
605 | typedef struct |
606 | { | |
607 | TCHAR name[MAX_PARAM_NAME]; | |
608 | int dataType; | |
609 | TCHAR description[MAX_DB_STRING]; | |
610 | } NETXMS_SUBAGENT_PUSHPARAM; | |
611 | ||
0f506caa VK |
612 | /** |
613 | * Subagent's list information | |
614 | */ | |
901c96c7 VK |
615 | typedef struct |
616 | { | |
4687826e | 617 | TCHAR name[MAX_PARAM_NAME]; |
060c5a11 | 618 | LONG (* handler)(const TCHAR *, const TCHAR *, StringList *, AbstractCommSession *); |
4687826e | 619 | const TCHAR *arg; |
cb97f4dd | 620 | TCHAR description[MAX_DB_STRING]; |
4687826e VK |
621 | } NETXMS_SUBAGENT_LIST; |
622 | ||
0f506caa | 623 | /** |
cb97f4dd VK |
624 | * Subagent's table column information |
625 | */ | |
626 | typedef struct | |
627 | { | |
628 | TCHAR name[MAX_COLUMN_NAME]; | |
629 | TCHAR displayName[MAX_COLUMN_NAME]; | |
630 | int dataType; | |
631 | bool isInstance; | |
632 | } NETXMS_SUBAGENT_TABLE_COLUMN; | |
633 | ||
634 | /** | |
0f506caa VK |
635 | * Subagent's table information |
636 | */ | |
4687826e VK |
637 | typedef struct |
638 | { | |
639 | TCHAR name[MAX_PARAM_NAME]; | |
060c5a11 | 640 | LONG (* handler)(const TCHAR *, const TCHAR *, Table *, AbstractCommSession *); |
4687826e | 641 | const TCHAR *arg; |
52f5ee00 | 642 | TCHAR instanceColumns[MAX_COLUMN_NAME * MAX_INSTANCE_COLUMNS]; |
cc8ce218 | 643 | TCHAR description[MAX_DB_STRING]; |
cb97f4dd VK |
644 | int numColumns; |
645 | NETXMS_SUBAGENT_TABLE_COLUMN *columns; | |
4687826e | 646 | } NETXMS_SUBAGENT_TABLE; |
901c96c7 | 647 | |
0f506caa VK |
648 | /** |
649 | * Subagent's action information | |
650 | */ | |
37778a1d VK |
651 | typedef struct |
652 | { | |
4687826e | 653 | TCHAR name[MAX_PARAM_NAME]; |
060c5a11 | 654 | LONG (* handler)(const TCHAR *, StringList *, const TCHAR *, AbstractCommSession *); |
4687826e VK |
655 | const TCHAR *arg; |
656 | TCHAR description[MAX_DB_STRING]; | |
37778a1d VK |
657 | } NETXMS_SUBAGENT_ACTION; |
658 | ||
da8453a5 | 659 | #define NETXMS_SUBAGENT_INFO_MAGIC ((UINT32)0x20161127) |
ded831ac | 660 | |
b368969c | 661 | class NXCPMessage; |
d618c3ae | 662 | |
5944946e VK |
663 | /** |
664 | * Subagent initialization structure | |
665 | */ | |
6827d635 VK |
666 | typedef struct |
667 | { | |
967893bb | 668 | UINT32 magic; // Magic number to check if subagent uses correct version of this structure |
4687826e VK |
669 | TCHAR name[MAX_SUBAGENT_NAME]; |
670 | TCHAR version[32]; | |
671 | BOOL (* init)(Config *); // Called to initialize subagent. Can be NULL. | |
672 | void (* shutdown)(); // Called at subagent unload. Can be NULL. | |
b368969c | 673 | BOOL (* commandHandler)(UINT32 command, NXCPMessage *request, NXCPMessage *response, AbstractCommSession *session); |
967893bb | 674 | UINT32 numParameters; |
4687826e | 675 | NETXMS_SUBAGENT_PARAM *parameters; |
967893bb | 676 | UINT32 numLists; |
4687826e | 677 | NETXMS_SUBAGENT_LIST *lists; |
967893bb | 678 | UINT32 numTables; |
4687826e | 679 | NETXMS_SUBAGENT_TABLE *tables; |
967893bb | 680 | UINT32 numActions; |
4687826e | 681 | NETXMS_SUBAGENT_ACTION *actions; |
967893bb | 682 | UINT32 numPushParameters; |
4687826e | 683 | NETXMS_SUBAGENT_PUSHPARAM *pushParameters; |
6827d635 | 684 | } NETXMS_SUBAGENT_INFO; |
3b376ea0 | 685 | |
0f506caa VK |
686 | /** |
687 | * Inline functions for returning parameters | |
688 | */ | |
a765d97c | 689 | inline void ret_string(TCHAR *rbuf, const TCHAR *value) |
cbcaf8c8 | 690 | { |
a23d8e0d | 691 | nx_strncpy(rbuf, value, MAX_RESULT_LENGTH); |
cbcaf8c8 VK |
692 | } |
693 | ||
f3387429 VK |
694 | inline void ret_wstring(TCHAR *rbuf, const WCHAR *value) |
695 | { | |
696 | #ifdef UNICODE | |
697 | nx_strncpy(rbuf, value, MAX_RESULT_LENGTH); | |
698 | #else | |
699 | WideCharToMultiByte(CP_ACP, WC_COMPOSITECHECK | WC_DEFAULTCHAR, value, -1, rbuf, MAX_RESULT_LENGTH, NULL, NULL); | |
700 | rbuf[MAX_RESULT_LENGTH - 1] = 0; | |
701 | #endif | |
702 | } | |
703 | ||
704 | inline void ret_mbstring(TCHAR *rbuf, const char *value) | |
705 | { | |
706 | #ifdef UNICODE | |
707 | MultiByteToWideChar(CP_ACP, MB_PRECOMPOSED, value, -1, rbuf, MAX_RESULT_LENGTH); | |
708 | rbuf[MAX_RESULT_LENGTH - 1] = 0; | |
709 | #else | |
710 | nx_strncpy(rbuf, value, MAX_RESULT_LENGTH); | |
711 | #endif | |
712 | } | |
713 | ||
0212dc5a | 714 | inline void ret_int(TCHAR *rbuf, LONG value) |
cbcaf8c8 | 715 | { |
64a055a2 | 716 | #if defined(_WIN32) && (_MSC_VER >= 1300) && !defined(__clang__) |
6e38075b | 717 | _sntprintf_s(rbuf, MAX_RESULT_LENGTH, _TRUNCATE, _T("%ld"), (long)value); |
a23d8e0d | 718 | #else |
6e38075b | 719 | _sntprintf(rbuf, MAX_RESULT_LENGTH, _T("%ld"), (long)value); |
a23d8e0d | 720 | #endif |
cbcaf8c8 VK |
721 | } |
722 | ||
967893bb | 723 | inline void ret_uint(TCHAR *rbuf, UINT32 value) |
cbcaf8c8 | 724 | { |
64a055a2 | 725 | #if defined(_WIN32) && (_MSC_VER >= 1300) && !defined(__clang__) |
6e38075b | 726 | _sntprintf_s(rbuf, MAX_RESULT_LENGTH, _TRUNCATE, _T("%lu"), (unsigned long)value); |
a23d8e0d | 727 | #else |
6e38075b | 728 | _sntprintf(rbuf, MAX_RESULT_LENGTH, _T("%lu"), (unsigned long)value); |
a23d8e0d | 729 | #endif |
cbcaf8c8 VK |
730 | } |
731 | ||
eb077f61 | 732 | inline void ret_double(TCHAR *rbuf, double value, int digits = 6) |
cbcaf8c8 | 733 | { |
64a055a2 | 734 | #if defined(_WIN32) && (_MSC_VER >= 1300) && !defined(__clang__) |
eb077f61 | 735 | _sntprintf_s(rbuf, MAX_RESULT_LENGTH, _TRUNCATE, _T("%1.*f"), digits, value); |
a23d8e0d | 736 | #else |
eb077f61 | 737 | _sntprintf(rbuf, MAX_RESULT_LENGTH, _T("%1.*f"), digits, value); |
a23d8e0d | 738 | #endif |
cbcaf8c8 VK |
739 | } |
740 | ||
018fda4d | 741 | inline void ret_int64(TCHAR *rbuf, INT64 value) |
cbcaf8c8 | 742 | { |
64a055a2 | 743 | #if defined(_WIN32) && (_MSC_VER >= 1300) && !defined(__clang__) |
a23d8e0d | 744 | _sntprintf_s(rbuf, MAX_RESULT_LENGTH, _TRUNCATE, _T("%I64d"), value); |
cbcaf8c8 | 745 | #else /* _WIN32 */ |
ccc34207 | 746 | _sntprintf(rbuf, MAX_RESULT_LENGTH, INT64_FMT, value); |
cbcaf8c8 VK |
747 | #endif /* _WIN32 */ |
748 | } | |
749 | ||
018fda4d | 750 | inline void ret_uint64(TCHAR *rbuf, QWORD value) |
cbcaf8c8 | 751 | { |
64a055a2 | 752 | #if defined(_WIN32) && (_MSC_VER >= 1300) && !defined(__clang__) |
a23d8e0d | 753 | _sntprintf_s(rbuf, MAX_RESULT_LENGTH, _TRUNCATE, _T("%I64u"), value); |
cbcaf8c8 | 754 | #else /* _WIN32 */ |
ccc34207 | 755 | _sntprintf(rbuf, MAX_RESULT_LENGTH, UINT64_FMT, value); |
cbcaf8c8 VK |
756 | #endif /* _WIN32 */ |
757 | } | |
758 | ||
359784de VK |
759 | /** |
760 | * API for subagents | |
761 | */ | |
0e0867c6 | 762 | bool LIBNXAGENT_EXPORTABLE AgentGetParameterArgA(const TCHAR *param, int index, char *arg, int maxSize, bool inBrackets = true); |
763 | bool LIBNXAGENT_EXPORTABLE AgentGetParameterArgW(const TCHAR *param, int index, WCHAR *arg, int maxSize, bool inBrackets = true); | |
f3387429 VK |
764 | #ifdef UNICODE |
765 | #define AgentGetParameterArg AgentGetParameterArgW | |
766 | #else | |
767 | #define AgentGetParameterArg AgentGetParameterArgA | |
768 | #endif | |
769 | ||
359784de | 770 | void LIBNXAGENT_EXPORTABLE AgentWriteLog(int logLevel, const TCHAR *format, ...) |
6e383343 | 771 | #if !defined(UNICODE) && (defined(__GNUC__) || defined(__clang__)) |
640b6719 VK |
772 | __attribute__ ((format(printf, 2, 3))) |
773 | #endif | |
774 | ; | |
359784de VK |
775 | void LIBNXAGENT_EXPORTABLE AgentWriteLog2(int logLevel, const TCHAR *format, va_list args); |
776 | void LIBNXAGENT_EXPORTABLE AgentWriteDebugLog(int level, const TCHAR *format, ...) | |
6e383343 | 777 | #if !defined(UNICODE) && (defined(__GNUC__) || defined(__clang__)) |
640b6719 VK |
778 | __attribute__ ((format(printf, 2, 3))) |
779 | #endif | |
780 | ; | |
359784de VK |
781 | void LIBNXAGENT_EXPORTABLE AgentWriteDebugLog2(int level, const TCHAR *format, va_list args); |
782 | ||
783 | void LIBNXAGENT_EXPORTABLE AgentSendTrap(UINT32 dwEvent, const TCHAR *eventName, const char *pszFormat, ...); | |
784 | void LIBNXAGENT_EXPORTABLE AgentSendTrap2(UINT32 dwEvent, const TCHAR *eventName, int nCount, TCHAR **ppszArgList); | |
785 | ||
34b9a3e7 | 786 | bool LIBNXAGENT_EXPORTABLE AgentEnumerateSessions(EnumerationCallbackResult (* callback)(AbstractCommSession *, void *), void *data); |
6fbaa926 | 787 | AbstractCommSession LIBNXAGENT_EXPORTABLE *AgentFindServerSession(UINT64 serverId); |
359784de | 788 | |
b4879817 | 789 | bool LIBNXAGENT_EXPORTABLE AgentSendFileToServer(void *session, UINT32 requestId, const TCHAR *file, long offset, bool allowCompression); |
359784de VK |
790 | |
791 | bool LIBNXAGENT_EXPORTABLE AgentPushParameterData(const TCHAR *parameter, const TCHAR *value); | |
792 | bool LIBNXAGENT_EXPORTABLE AgentPushParameterDataInt32(const TCHAR *parameter, LONG value); | |
793 | bool LIBNXAGENT_EXPORTABLE AgentPushParameterDataUInt32(const TCHAR *parameter, UINT32 value); | |
794 | bool LIBNXAGENT_EXPORTABLE AgentPushParameterDataInt64(const TCHAR *parameter, INT64 value); | |
795 | bool LIBNXAGENT_EXPORTABLE AgentPushParameterDataUInt64(const TCHAR *parameter, QWORD value); | |
796 | bool LIBNXAGENT_EXPORTABLE AgentPushParameterDataDouble(const TCHAR *parameter, double value); | |
797 | ||
798 | CONDITION LIBNXAGENT_EXPORTABLE AgentGetShutdownCondition(); | |
799 | bool LIBNXAGENT_EXPORTABLE AgentSleepAndCheckForShutdown(UINT32 sleepTime); | |
359784de | 800 | const TCHAR LIBNXAGENT_EXPORTABLE *AgentGetDataDirectory(); |
23d3d35d | 801 | |
bb48198e | 802 | DB_HANDLE LIBNXAGENT_EXPORTABLE AgentGetLocalDatabaseHandle(); |
f1cfab13 | 803 | |
ac7a2e92 TD |
804 | TCHAR LIBNXAGENT_EXPORTABLE *ReadRegistryAsString(const TCHAR *attr, TCHAR *buffer = NULL, int bufSize = 0, const TCHAR *defaultValue = NULL); |
805 | INT32 LIBNXAGENT_EXPORTABLE ReadRegistryAsInt32(const TCHAR *attr, INT32 defaultValue); | |
806 | INT64 LIBNXAGENT_EXPORTABLE ReadRegistryAsInt64(const TCHAR *attr, INT64 defaultValue); | |
807 | bool LIBNXAGENT_EXPORTABLE WriteRegistry(const TCHAR *attr, const TCHAR *value); | |
f1cfab13 VK |
808 | bool LIBNXAGENT_EXPORTABLE WriteRegistry(const TCHAR *attr, INT32 value); |
809 | bool LIBNXAGENT_EXPORTABLE WriteRegistry(const TCHAR *attr, INT64 value); | |
ac7a2e92 | 810 | bool LIBNXAGENT_EXPORTABLE DeleteRegistryEntry(const TCHAR *attr); |
bb48198e | 811 | |
ce9e00cc VK |
812 | /** |
813 | * LoraWAN device payload | |
814 | */ | |
815 | typedef BYTE lorawan_payload_t[36]; | |
816 | ||
e590796d VK |
817 | /** |
818 | * Lora device data | |
819 | */ | |
ce9e00cc VK |
820 | class LIBNXAGENT_EXPORTABLE LoraDeviceData |
821 | { | |
822 | private: | |
823 | uuid m_guid; | |
824 | MacAddress m_devAddr; | |
825 | MacAddress m_devEui; | |
826 | lorawan_payload_t m_payload; | |
827 | INT32 m_decoder; | |
828 | char m_dataRate[24]; | |
829 | INT32 m_rssi; | |
830 | double m_snr; | |
831 | double m_freq; | |
832 | UINT32 m_fcnt; | |
833 | UINT32 m_port; | |
834 | time_t m_lastContact; | |
835 | ||
836 | public: | |
837 | LoraDeviceData(NXCPMessage *request); | |
838 | LoraDeviceData(DB_RESULT result, int row); | |
839 | ||
27b6740d EJ |
840 | UINT32 saveToDB (bool isNew = false) const; |
841 | UINT32 deleteFromDB () const; | |
ce9e00cc | 842 | |
27b6740d | 843 | bool isOtaa() const { return (m_devEui.length() > 0) ? true : false; } |
ce9e00cc | 844 | |
27b6740d | 845 | const uuid& getGuid() const { return m_guid; } |
ce9e00cc | 846 | |
27b6740d EJ |
847 | const MacAddress& getDevAddr() const { return m_devAddr; } |
848 | void setDevAddr(MacAddress devAddr) { m_devAddr = devAddr; saveToDB(); } | |
849 | const MacAddress& getDevEui() const { return m_devEui; } | |
ce9e00cc | 850 | |
27b6740d | 851 | const BYTE *getPayload() const { return m_payload; } |
ce9e00cc VK |
852 | void setPayload(const char *payload) { StrToBinA(payload, m_payload, 36); } |
853 | ||
854 | UINT32 getDecoder() { return m_decoder; } | |
855 | ||
27b6740d | 856 | const char *getDataRate() const { return m_dataRate; } |
ce9e00cc VK |
857 | void setDataRate(const char *dataRate) { strncpy(m_dataRate, dataRate, 24); } |
858 | ||
27b6740d | 859 | INT32 getRssi() const { return m_rssi; } |
ce9e00cc VK |
860 | void setRssi(INT32 rssi) { m_rssi = rssi; } |
861 | ||
27b6740d | 862 | double getSnr() const { return m_snr; } |
ce9e00cc VK |
863 | void setSnr(double snr) { m_snr = snr; } |
864 | ||
27b6740d | 865 | double getFreq() const { return m_freq; } |
ce9e00cc VK |
866 | void setFreq(double freq) { m_freq = freq; } |
867 | ||
27b6740d | 868 | UINT32 getFcnt() const { return m_fcnt; } |
ce9e00cc VK |
869 | void setFcnt(UINT32 fcnt) { m_fcnt = fcnt; } |
870 | ||
27b6740d | 871 | UINT32 getPort() const { return m_port; } |
ce9e00cc VK |
872 | void setPort(UINT32 port) { m_port = port; } |
873 | ||
27b6740d | 874 | INT32 getLastContact() const { return (INT32)m_lastContact; } |
ce9e00cc VK |
875 | void updateLastContact() { m_lastContact = time(NULL); } |
876 | }; | |
877 | ||
cbcaf8c8 | 878 | #endif /* _nms_agent_h_ */ |