cgi_config.h
来自「这是我自己写的用于嵌入式设备的CGI程序」· C头文件 代码 · 共 144 行
H
144 行
#ifndef _CGI_CONFIG_H#define _CGI_CONFIG_H 1#define CGI_SOFTWARE_VERSION "VER07100604"typedef unsigned char byte; /* Unsigned 8 bit value type. */typedef unsigned short word; /* Unsinged 16 bit value type. */typedef unsigned long dword; /* Unsigned 32 bit value type. *//*-----------------------------------------------------------------------* * 保存要替换的标记及其替换值 *-----------------------------------------------------------------------*/typedef struct rep_tag{ const char* tag; // 要替换的标记 const char* value; // 替换值}REPLACEABLE_TAG, * REPLACEABLE_TAG_LIST;extern char* read_template (const char* template_filename);extern int parse_template (char** template_content, REPLACEABLE_TAG_LIST tag_list, int tag_count);extern int StringReplace (char* Str, char* OldStr, char* NewStr);/*--------------------------------------------------------------------------* 一组操作二进制方式保存的配置文件的函数 *--------------------------------------------------------------------------*/extern int save_to_file (void * conf_var, int varsize, char * conf_path);extern int add_to_file (void * conf_var, int varsize, char * conf_path);extern int get_from_file (void * conf_var, int varsize, int record_no, char * conf_path);extern int update_record (void * conf_var, int varsize, int record_no, char * conf_path);extern int delete_record (int varsize, int record_no, char * conf_path);extern void* read_records (int varsize, int * num, char * conf_path);extern int add_user (USER_CONF user_add, char * conf_path);extern int match_usr_pwd (char * username, char * password, int * user_matched_num, char * conf_path);/*--------------------------------------------------------------------------* 读Ini配置文件,移自B2的cm_Common.c, Added by Kevin 08.31 2007 *--------------------------------------------------------------------------*/extern int _IniReadStr(char* Section, char* Ident, char* DefValue, char* file, char* Result,int ResultSize);/*--------------------------------------------------------------------------* 一组字符串检查处理函数, Writed by Kevin 09.04 2007 *--------------------------------------------------------------------------*/extern int check_str_all ( char* str );extern int check_str_normal ( char* str );extern int check_str_common ( char* str );extern int check_str_num ( char* str );extern int enc_str ( char* str, char* str_enc, int str_len);extern int dec_str ( char* str_dec, char* str, int str_len );/*--------------------------------------------------------------------------* 一组操作文本文件方式保存的配置文件的函数 说明:配置文件格式为文本文件,每行格式为[var_name+空格+var_value+\n] var_name和var_value均为不包含空格、?、"、'等以及tab等不可见控制字符的字符串(数据检查使用javascript在浏览器端处理。 Writed by Kevin 09.03 2007 *--------------------------------------------------------------------------*/typedef struct var_config{ char name[128]; char value[128];}varconfig;#define CONF_NUM 50extern int set_var_to_file (char *conf_path, char *set_name, char *set_value);extern int SetVarToFile (char *conf_path, char *set_name, char *default_value);extern char* get_var_from_file (char *conf_path, char *get_name, char *get_value);extern char* GetVarFromFile (char *conf_path, char *get_name, char *get_value, char *default_value);extern char* GetVarFromFileRB (char *conf_path, char *get_name, char *get_value, char *default_value);extern int match_var_from_file (char *conf_path, char *match_name, char *match_value);extern int add_var_to_file (char *conf_path, char *add_name, char *add_value);extern int del_var_from_file (char *conf_path, char *del_name);/*--------------------------------------------------------------------------* 一组操作用户配置的函数。Added by Kevin 09.22 2007 *--------------------------------------------------------------------------*/#define USER_NUM 50typedef struct _userpwd{ char pattern[512];}userpwd;typedef struct _uname{ char name[32];}uname;typedef struct _account{ uname user_name[USER_NUM]; int count;}account;extern int cgi_match_usr_pwd(char * username, char * password, char * conf_path);extern int cgi_get_user_priv(char * username, char * conf_path);extern int cgi_set_default_sysop();extern int cgi_add_user_pwd(char *add_user, char *add_passwd);extern int cgi_match_user_only (char *match_user);extern int cgi_del_user_pwd(char *del_user);extern int cgi_change_pwd(char *change_user, char *change_pwd);extern account cgi_list_all_account();extern int cgi_set_permission(const char *user,int permission);extern int cgi_remove_permission(const char *user);#define WAITER_KEY 1001extern int send_command(char *msg);// 网页模板文件名#define LAN_TEMPLATE "./template/lan.html"#define NET_CONFIG_PATH "/mnt/mtd/net_conf"#define DDNS_CONF_PATH "/mnt/mtd/ddns_conf"#define PPPOE_CONF_PATH "/mnt/mtd/pppoe_conf"#define WLAN_CONFIG_PATH "/mnt/mtd/wlan_conf"#define LOG_DB_PATH "/mnt/mtd/logs.db"/*---------------- Log Msg ID ----------------------*/#define OPT_USER_LOGIN 1 //用户登录=#define OPT_LAN_SET 2 //网络设置=/*-----------------Log Type -----------------------*/#define OPT_LOG 1#define SYSTEM_LOG 2#define ALARM_LOG 3/*--------------------------------------------------*/extern int send_log_msg (int msg_id, int log_type, char* username );extern void alert_redirect ( char * alert, char * redirect_url );#define USERS_NUM_MAX 10#define LOG_OPT 1#define LOG_ALARM 2#define LOG_SYS 3#define SERVER_NAME cgiServerName//下面這兩個路徑在system.ini中設定,應修改為從ini中讀取#define SD_MNT_PATH "/mnt/sddisk"#define USB_MNT_PATH "/mnt/Remote_USB_Disk"#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?