summaryrefslogtreecommitdiff
path: root/common/include/tfe_resource.h
blob: 2a254743ebcf69df5ad63000dfbd0b4fb1ee3918 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#pragma once

#include <uuid/uuid.h>

enum category_type
{
	CATEGORY_TYPE_UNKNOWN = 0,
	CATEGORY_TYPE_GEOIP,
	CATEGORY_TYPE_CONTRY_CODE,
	CATEGORY_TYPE_ASN,
	CATEGORY_TYPE_WEBSITE_CATEGORY,
	CATEGORY_TYPE_INTERNET_SERVICE,
	CATEGORY_TYPE_SECURITY_THREAT,
	CATEGORY_TYPE_RISK,
	CATEGORY_TYPE_MAX
};

struct app_id_dict
{
	int ref_cnt;
	int app_id;
	uuid_t object_uuid;

	pthread_mutex_t lock;
};

struct library_tag_ctx
{
	int ref_cnt;
    char *uuid;
	char *tag_key;
	char *tag_value;
	enum category_type category;

	pthread_mutex_t lock;
};

void app_id_dict_free(struct app_id_dict *app_dict);
void library_tag_free(struct library_tag_ctx *library_tags);

int tfe_env_init();

int tfe_get_vsys_id();
const char *tfe_get_device_id();
const char *tfe_get_data_center();
const char *tfe_get_device_group();
const char *tfe_get_device_tag();
const char *tfe_get_sled_ip();
struct kafka *tfe_get_kafka_handle();
struct maat *tfe_get_maat_handle();
struct tfe_fieldstat_easy_t *tfe_get_fieldstat_handle();