summaryrefslogtreecommitdiffstats
path: root/src/collectors/windows-events.plugin/windows-events-sources.h
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-11-25 17:33:56 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-11-25 17:34:10 +0000
commit83ba6762cc43d9db581b979bb5e3445669e46cc2 (patch)
tree2e69833b43f791ed253a7a20318b767ebe56cdb8 /src/collectors/windows-events.plugin/windows-events-sources.h
parentReleasing debian version 1.47.5-1. (diff)
downloadnetdata-83ba6762cc43d9db581b979bb5e3445669e46cc2.tar.xz
netdata-83ba6762cc43d9db581b979bb5e3445669e46cc2.zip
Merging upstream version 2.0.3+dfsg (Closes: #923993, #1042533, #1045145).
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/collectors/windows-events.plugin/windows-events-sources.h')
-rw-r--r--src/collectors/windows-events.plugin/windows-events-sources.h78
1 files changed, 78 insertions, 0 deletions
diff --git a/src/collectors/windows-events.plugin/windows-events-sources.h b/src/collectors/windows-events.plugin/windows-events-sources.h
new file mode 100644
index 000000000..4ad4880d7
--- /dev/null
+++ b/src/collectors/windows-events.plugin/windows-events-sources.h
@@ -0,0 +1,78 @@
+// SPDX-License-Identifier: GPL-3.0-or-later
+
+#ifndef NETDATA_WINDOWS_EVENTS_SOURCES_H
+#define NETDATA_WINDOWS_EVENTS_SOURCES_H
+
+#include "libnetdata/libnetdata.h"
+
+typedef enum {
+ WEVTS_NONE = 0,
+ WEVTS_ALL = (1 << 0),
+ WEVTS_ADMIN = (1 << 1),
+ WEVTS_OPERATIONAL = (1 << 2),
+ WEVTS_ANALYTIC = (1 << 3),
+ WEVTS_DEBUG = (1 << 4),
+ WEVTS_WINDOWS = (1 << 5),
+ WEVTS_ENABLED = (1 << 6),
+ WEVTS_DISABLED = (1 << 7),
+ WEVTS_FORWARDED = (1 << 8),
+ WEVTS_CLASSIC = (1 << 9),
+ WEVTS_BACKUP_MODE = (1 << 10),
+ WEVTS_OVERWRITE_MODE = (1 << 11),
+ WEVTS_STOP_WHEN_FULL_MODE = (1 << 12),
+ WEVTS_RETAIN_AND_BACKUP_MODE = (1 << 13),
+} WEVT_SOURCE_TYPE;
+
+BITMAP_STR_DEFINE_FUNCTIONS_EXTERN(WEVT_SOURCE_TYPE)
+
+#define WEVT_SOURCE_ALL_NAME "All"
+#define WEVT_SOURCE_ALL_ADMIN_NAME "All-Admin"
+#define WEVT_SOURCE_ALL_OPERATIONAL_NAME "All-Operational"
+#define WEVT_SOURCE_ALL_ANALYTIC_NAME "All-Analytic"
+#define WEVT_SOURCE_ALL_DEBUG_NAME "All-Debug"
+#define WEVT_SOURCE_ALL_WINDOWS_NAME "All-Windows"
+#define WEVT_SOURCE_ALL_ENABLED_NAME "All-Enabled"
+#define WEVT_SOURCE_ALL_DISABLED_NAME "All-Disabled"
+#define WEVT_SOURCE_ALL_FORWARDED_NAME "All-Forwarded"
+#define WEVT_SOURCE_ALL_CLASSIC_NAME "All-Classic"
+#define WEVT_SOURCE_ALL_BACKUP_MODE_NAME "All-In-Backup-Mode"
+#define WEVT_SOURCE_ALL_OVERWRITE_MODE_NAME "All-In-Overwrite-Mode"
+#define WEVT_SOURCE_ALL_STOP_WHEN_FULL_MODE_NAME "All-In-StopWhenFull-Mode"
+#define WEVT_SOURCE_ALL_RETAIN_AND_BACKUP_MODE_NAME "All-In-RetainAndBackup-Mode"
+
+#define WEVT_SOURCE_ALL_OF_PROVIDER_PREFIX "All-Of-"
+
+typedef struct {
+ const char *fullname;
+ size_t fullname_len;
+
+ const wchar_t *custom_query;
+
+ STRING *source;
+ STRING *provider;
+ WEVT_SOURCE_TYPE source_type;
+ usec_t msg_first_ut;
+ usec_t msg_last_ut;
+ size_t size;
+
+ usec_t last_scan_monotonic_ut;
+
+ uint64_t msg_first_id;
+ uint64_t msg_last_id;
+ uint64_t entries;
+} LOGS_QUERY_SOURCE;
+
+extern DICTIONARY *wevt_sources;
+extern DICTIONARY *used_hashes_registry;
+
+void wevt_sources_init(void);
+void wevt_sources_scan(void);
+void buffer_json_wevt_versions(BUFFER *wb);
+
+void wevt_sources_to_json_array(BUFFER *wb);
+WEVT_SOURCE_TYPE wevt_internal_source_type(const char *value);
+
+int wevt_sources_dict_items_backward_compar(const void *a, const void *b);
+int wevt_sources_dict_items_forward_compar(const void *a, const void *b);
+
+#endif //NETDATA_WINDOWS_EVENTS_SOURCES_H