summaryrefslogtreecommitdiff
path: root/scanner/scanner_module.h
diff options
context:
space:
mode:
authorliuxueli <[email protected]>2024-11-27 10:27:34 +0000
committerliuxueli <[email protected]>2024-11-27 10:27:34 +0000
commitad02793073353103ccccf3fab1afdd6cc30946d5 (patch)
treeb7d8bf1fad5567ccf830daa8ba6c64927b738a85 /scanner/scanner_module.h
parent38307ed232012dcbd44bd95167b8f37c7186d1fb (diff)
scanner and security enforcer rebase developdev-scanner
Diffstat (limited to 'scanner/scanner_module.h')
-rw-r--r--scanner/scanner_module.h65
1 files changed, 65 insertions, 0 deletions
diff --git a/scanner/scanner_module.h b/scanner/scanner_module.h
new file mode 100644
index 0000000..89a80a4
--- /dev/null
+++ b/scanner/scanner_module.h
@@ -0,0 +1,65 @@
+#pragma once
+
+#include <stdint.h>
+#include <stddef.h>
+#include <stdbool.h>
+#include <uuid/uuid.h>
+#include <limits.h>
+
+#include <uthash/utarray.h>
+
+#include "attribute_schema.h"
+
+enum IP_PROTOCOL
+{
+ IP_PROTOCOL_UNKNOWN=0,
+ IP_PROTOCOL_ICMP=1,
+ IP_PROTOCOL_TCP,
+ IP_PROTOCOL_UDP,
+ IP_PROTOCOL_MAX
+};
+
+struct global_parameter
+{
+ char sled_ip[NAME_MAX];
+ char device_id[NAME_MAX];
+ char device_sn[NAME_MAX];
+ char device_tag[NAME_MAX];
+ char data_center[NAME_MAX];
+ char device_group[NAME_MAX];
+
+ int traffic_vsystem_id;
+ int default_unknown_app_id;
+ int session_record_enabled;
+};
+
+struct default_parameter
+{
+ uuid_t boolean_true_object_uuid;
+ uuid_t boolean_false_object_uuid;
+ uuid_t ip_protocol_object_uuid[IP_PROTOCOL_MAX];
+};
+
+struct scanner_maat;
+struct packet_scanner;
+struct session_scanner;
+
+struct scanner
+{
+ struct logger *logger;
+ struct module_manager *mod_mgr;
+ struct default_parameter default_para;
+ struct global_parameter global_para;
+
+ struct scanner_maat *cm_maat;
+ struct scanner_maat *sd_maat;
+
+ struct packet_scanner *pkt_scanner;
+ struct session_scanner *sess_scanner;
+ struct attribute_schema attr_schema[ATTRIBUTE_SCHEMA_MAX];
+};
+
+uuid_t *scanner_get0_boolean_object_uuid(struct scanner *scanner, bool value);
+
+void scanner_print_debug_hit_object(struct scanner *scanner, const char *readable_addr, struct maat_hit_object *hit_object_list, size_t hit_object_num);
+void scanner_print_debug_hit_rule(struct scanner *scanner, const char *readable_addr, const char *tablename, uuid_t *rule_uuid_list, size_t rule_uuid_num);