
#ifndef __PCAP_COMMON_H
#define __PCAP_COMMON_H

/***************HEADER FILES****************/
#include <string.h>
#include <syslog.h>
#include <pcap.h>
#include "ipc_session.h"
#include "lnxall_list.h"
#include "dy_utils/dy_common.h"
#include "dy_utils/dy_ds.h"
#include "dy_utils/kv_array.h"
#include "dy_utils/dy_ipc.h"
#include "dy_utils/period_service.h"
/******************************************/

#define PCAP_NODE_STATUS_BAK_FILE "/app/pcap_status.bak"

typedef struct _net_sniffer_var_s net_sniffer_var_t;

typedef struct _connect_config_s
{
    struct list_head list;
    char sn[SN_MAX_LEN]; ///<设备SN
    char *addr;
    int port;
    net_sniffer_var_t *var;
} connect_config_t;

typedef struct _net_sniffer_var_s
{
    ipc_session_t *session; //内部broker的MQTT session，用于进程间通信
    struct list_head connect_list;
    nodes_cfg_table_t *nodes_cfg_table; //节点信息
    template_table_t *template_table;   //模板信息
    kv_array_t identifier_backup;
    dev_status_table_t *ds; //下挂节点的状态信息
    pcap_t *pcap;
    char adapter[64];
    char sn_str[SN_MAX_LEN];
    char proc_name[PROGRAM_NAME_LEN];
    int node_cnt;
} net_sniffer_var_t;

#endif 
