46 lines
1.2 KiB
C
46 lines
1.2 KiB
C
#ifndef __TSG_RULE_H__
|
|
#define __TSG_RULE_H__
|
|
|
|
#include <MESA/Maat_rule.h>
|
|
#include "tsg_types.h"
|
|
|
|
#ifdef __cplusplus
|
|
extern "C"
|
|
{
|
|
#endif
|
|
|
|
|
|
typedef enum _PULL_RESULT_TYPE
|
|
{
|
|
PULL_KNI_RESULT,
|
|
PULL_FW_RESULT
|
|
}PULL_RESULT_TYPE;
|
|
|
|
enum tsg_protocol{
|
|
TSG_PROTOCOL_UNKNOWN = 0,
|
|
TSG_PROTOCOL_SSL,
|
|
TSG_PROTOCOL_HTTP
|
|
};
|
|
#define TSG_DOMAIN_MAX 256
|
|
|
|
extern Maat_feather_t g_tsg_maat_feather;
|
|
|
|
int tsg_rule_init(const char *conffile);
|
|
|
|
int tsg_scan_nesting_addr(Maat_feather_t maat_feather, const struct streaminfo *a_stream, tsg_protocol_t proto, scan_status_t *mid, Maat_rule_t*result, int result_num);
|
|
|
|
//return 0 if failed, return >0 on success;
|
|
int tsg_pull_policy_result(struct streaminfo *a_stream, PULL_RESULT_TYPE pull_result_type, Maat_rule_t *result, int result_num, enum tsg_protocol *protocol, char *domain, int *domain_len);
|
|
|
|
//return -1 if failed, return 0 on success;
|
|
int tsg_shared_table_init(const char *conffile, Maat_feather_t maat_feather, void *logger);
|
|
|
|
//return value: -1: failed, 0: not hit, >0: hit count
|
|
int tsg_scan_shared_policy(Maat_feather_t maat_feather, void *pkt, int pkt_len, Maat_rule_t *result, int result_num, char *domain, int *domain_len, scan_status_t *mid, void *logger, int thread_seq);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif
|