#ifndef _IWEB_TASK_H_ #define _IWEB_TASK_H_ #include "type.h" #include "config.h" #include "web_server.h" #define NEW_EMV7_ONESHU 1 #define SHU_TEST 0 #define _DEBUG_DISPLAY_SOCKET_WEB_ 0 #define _LOAD_RAM_PARA_ 1 #define _LOAD_FILE_PARA_ 1 #define _STORE_FILE_PARA_ 1 #define _TOTAL_STATUS_ 0 #define _TOTAL_SET_ 1 #define OUTPUT_LOG_FILE_SHELL "sh /aw/anywave/web/sh/output_log_file.sh" //获取最开始的5条日志信息 #define LOG_WEB_PER_FRAME_NUM 5 #define CGI_PRINT 1 #define configTICK_RATE_HZ 100 #define OS_TICKS_PER_SEC (configTICK_RATE_HZ) #define TCP_SOCKET_SERVER_PORT 30002 //7777 //#define CHECK_UPGRADE_PACKAGE "sh /aw/anywave/web/sh/upgrade_shell/check_package.sh" //#define DO_UPGRADE_RUN "sh /aw/anywave/web/sh/upgrade_shell/extract_run_package.sh" #define CGI_CTTB_WEB_SYSPARA 1 #define CGI_CTTB_WEB_RFPARA 2 #define CGI_CTTB_WEB_MODE_MFN 3 #define CGI_CTTB_WEB_MODE_SFN 4 /*#define CGI_CTTB_WEB_TS2IP_1 5 #define CGI_CTTB_WEB_TS2IP_2 6 #define CGI_CTTB_SYS_ADMIN_IPCFG 7*/ #define CGI_ATSC_WEB_SYSPARA 1 #define CGI_ATSC_WEB_RFPARA 2 #define CGI_ATSC_WEB_MODE_MFN 3 #define CGI_ATSC_WEB_MODE_SFN 4 /* typedef enum { WEB_LOGIN = 0, WEB_STATUS, WEB_SET, WEB_RF, WEB_MODE, WEB_TS, WEB_LATCH, WEB_NET, WEB_LOG, WEB_PSIP, WEB_STATUS_1, WEB_SET_1, WEB_RF_1, WEB_MODE_1, WEB_TS_1, WEB_LATCH_1, WEB_NET_1, WEB_INDEX_END, WEB_SET_FREQ } WEB_FLAG_INDEX; */ typedef struct { uint32 ip_out; uint32 ip_out_rate_kbps; uint32 asi_out; uint32 asi_out_rate_kbps; }S_CGI_STATE_PARA_TSOIP; //--------------------------------------------------- #define __usr_confirm_webh__ 1 #if __usr_confirm_webh__ typedef enum { GET_METHOD=0, SET_METHOD, UPDATE_METHOD }en_MSG_TYPE; //key enum { COM_STATUS_FORMS0_KEY, WEB_UPGRADE, /* sysstatus */ CGIKEY_SYS_STATUS, CGIKEY_STATUS_TUNER, CGIKEY_STATUS_PAC, CGIKEY_STATUS_GPS, CGIKEY_SYS_VER, CGIKEY_STATUS_MAC_SN, /* sys cfg */ CGIKEY_SYS_CFG, CGIKEY_SYS_NET, CGIKEY_SYS_DPD_STATE, CGIKEY_SYS_RST, CGIKEY_SYS_TIME, // time /* RF cfg */ CGIKEY_RF_CFG, /* RF cfg */ CGIKEY_TSID_PSIP, CGIKEY_TSID_PSIP_CFG, CGIKEY_TSOIP_NUM, /* tsoip_info */ CGIKEY_TSOIP_INFO, /* tsoip */ CGIKEY_TSOIP_SYSTS1, CGIKEY_TSOIP_SYSTS2, CGIKEY_TSOIP_NET1, CGIKEY_TSOIP_NET2, /* log */ LOG_FILE_OUTPUT, CGIKEY_WEB_TITLE, CGIKEY_ATSC1_LICENCES, CGIKEY_ATSC1_SYSTEM_KEY, CGIKEY_SYS_NTP, CGIKEY_SYS_TIMEZONE, CGIKEY_CFG_USR_PASSWD, #if 0 /* Mode cfg */ CGIKEY_MODE_MFN_CFG, CGIKEY_MODE_SFN_CFG, #endif /* 10 MHz reference output enable (PR07). Appended at the very end so no * existing key value is renumbered — the CGI<->app socket keyType must * stay byte-aligned with every cgi_socket.h copy. */ CGIKEY_M10_CFG, /* IQ spectrum/8VSB analysis enable; keep appended to preserve old values. */ CGIKEY_SPEC_CFG, END_KEY }; struct cgi_key_list { char *key; char *value; struct cgi_key_list *next; }; typedef int (*get_func_t)(char *buf,short maxlen); typedef int (*set_func_t)(char *value,short maxlen); typedef int (*read_func_t)(char *value,short maxlen); typedef int (*save_func_t)(char *value,short maxlen); typedef struct cgi_func_list { uint16 keyNum; get_func_t get_func; set_func_t set_func; read_func_t read_func; save_func_t save_func; }cgi_func_list; typedef struct cgi_process_elem { int method; int keyType; char data[1024]; }cgi_process_elem_t,st_CGI_SOCK_PKG; typedef enum { TYPE_U8=0, TYPE_I8, TYPE_U16, TYPE_I16, TYPE_U32, TYPE_I32, TYPE_FLOAT, TYPE_DOUBLE, TYPE_STRING, }en_PARA_TYPE; typedef enum { FACTOR_1=0, FACTOR_100, FACTOR_OTHER }en_FACTOR; typedef struct { void* paraVal; en_PARA_TYPE paraType; en_FACTOR paraFactor; }st_CGI_PARA; #endif//__usr_confirm_webh__ //--------------------------------------------------- typedef struct { unsigned char addr4; unsigned char addr3; unsigned char addr2; unsigned char addr1; }st_NET_PART_BYTE; typedef enum { NET_INFO_IP=1, NET_INFO_MASK, NET_INFO_GATEWAY }en_NET_PARA_TYPE; /* typedef union { struct { unsigned char addr4; unsigned char addr3; unsigned char addr2; unsigned char addr1; }PART; unsigned int addr; }IPV4,*PIPV4;*/ typedef struct { IPV4 ip; IPV4 mask; IPV4 gateway; }st_CAB_NET_PARA; #define MSG_DATA_LEN 256 typedef struct _msg_cgi_sock_ { unsigned char msgtype; // 0:get 1:set 2:update char key[10]; // char data[MSG_DATA_LEN]; }msg_t, *msg_t_p; typedef enum { SET_SYS_BOOT, SET_SYS_SHUTDOWN, SET_SYS_WAIT }en_BOOT_SHUTDOWN; /* typedef struct { uint8 asi_input; // 码流选择 u8_sw asi_status; u8_sw rate_status; uint8 gps_status; u8_sw sip_status; u8_sw pps_status; uint8 tsnr;// 7 uint8 l_imd; uint8 r_imd; uint8 sfn_status; //单频网状态 0:正常 1:失效 uint8 rf_cry; //射频本振 0:正常 1:失效 uint32 temp; uint32 max_dly; uint32 net_dly; uint32 lcl_dly; uint32 ts1_pure_rate; uint32 ts2_pure_rate; }S_CGI_STATE_PARA_T; typedef struct { uint8 ldpc_qam; uint8 pn; uint8 zbpilot; uint8 int_int; }S_CGI_MODE_MFN_PARA_T; typedef struct { uint32 delay; uint16 txid; u8_sw cf; u8_sw sipdel; uint8 zp; }S_CGI_MODE_SFN_PARA_T; */ extern void *web_thr(void *ppara); extern void http_save_change_para(void *p); extern void http_load_default_para(uint32 type, void *p); void ntp_manual_sync(void); void check_ntp_sync_state(void); int set_ntp_server_ip_to_system(u8 *pip, u8 ntp_switch, u8 only_manual_sync); #endif//_IWEB_TASK_H_