#pragma once #include #include #include #include #include #include #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);