40 lines
1.1 KiB
C
40 lines
1.1 KiB
C
|
|
#pragma once
|
||
|
|
|
||
|
|
enum STATISTICS_DIMENSION
|
||
|
|
{
|
||
|
|
DIMENSION_MAAT_RULE=0,
|
||
|
|
DIMENSION_MAAT_STATE,
|
||
|
|
DIMENSION_FQDN,
|
||
|
|
DIMENSION_CATEGORY_ID,
|
||
|
|
DIMENSION_APPLICATION,
|
||
|
|
DIMENSION_MAX
|
||
|
|
};
|
||
|
|
|
||
|
|
#ifndef MAX_CATEGORY_ID_NUM
|
||
|
|
#define MAX_CATEGORY_ID_NUM 8
|
||
|
|
#endif
|
||
|
|
struct server_fqdn_category
|
||
|
|
{
|
||
|
|
int n_ids;
|
||
|
|
unsigned int ids[MAX_CATEGORY_ID_NUM];
|
||
|
|
};
|
||
|
|
|
||
|
|
struct statistics_dimensions
|
||
|
|
{
|
||
|
|
enum STATISTICS_DIMENSION type;
|
||
|
|
union
|
||
|
|
{
|
||
|
|
char *server_fqdn;
|
||
|
|
char *application;
|
||
|
|
struct maat_state *maat_state;
|
||
|
|
struct matched_policy_rules *policy;
|
||
|
|
struct server_fqdn_category *category;
|
||
|
|
};
|
||
|
|
};
|
||
|
|
|
||
|
|
int session_dimension_server_fqdn_sync(const struct streaminfo *a_stream, char *server_fqdn);
|
||
|
|
int session_dimension_application_sync(const struct streaminfo *a_stream, char *application);
|
||
|
|
int session_dimension_maat_state_sync(const struct streaminfo *a_stream, struct maat_state *state);
|
||
|
|
int session_dimension_maat_rule_sync(const struct streaminfo *a_stream, struct matched_policy_rules *policy);
|
||
|
|
int session_dimension_category_id_sync(const struct streaminfo *a_stream, unsigned int *category_id, int n_category_id);
|