#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
char *uuid;
char *tag_key;
char *tag_value;
enum category_type category;
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();