#ifndef __SELFCARE_RES_H__ #define __SELFCARE_RES_H__ #ifdef __cplusplus extern "C" { #endif #include "selfcare_httpsrv.h" #include "selfcare_config.h" typedef enum _selfcare_state_e { SELFCARE_IDLE = 0, SELFCARE_WAIT_SELFCARE_REQ, SELFCARE_WAIT_SEND2OCS_REQ, SELFCARE_WAIT_OCS_RESP, SELFCARE_WAIT_SEND2SELFCARE_RESP, SELFCARE_LOCAL_INIT_REQ, SELFCARE_LOCAL_INIT_RESP, SELFCARE_RELEASE, SELFCARE_STATE_MAX, }selfcare_state_e; #define SELFCARE_RES_NUM (1024) typedef struct _selfcare_res_s { int id; unsigned int timer; selfcare_state_e state; /* 状态 */ struct evhttp_request *req; /* selfcare 发过来的请求指针 */ char *arg; /* libevent 回调参数 */ SELFCARE_URL_E req_type; /* 请求类型 */ _rest_msg_s resp; /* OCS 回复的udp消息 */ int local_init_flag; int local_init_oc; int local_init_db_key; }selfcare_res_s; extern selfcare_res_s g_res_arr[SELFCARE_RES_NUM]; /* 申请资源id */ int selfcare_res_get(int *res_id); /* 释放id */ int selfcare_res_release(const int res_id); const char *selfcare_res_stateprint(selfcare_state_e state); /* 初始化 */ int selfcare_res_init(int argc, char **argv); /* 反初始化 */ void selfcare_res_uninit(void); #ifdef __cplusplus } #endif #endif /* __SELFCARE_RES_H__ */