| #ifndef ZTE_WEB_HTTPSHARE_H |
| #define ZTE_WEB_HTTPSHARE_H |
| |
| |
| #include <stdio.h> |
| #include <stdlib.h> |
| #include <string.h> |
| #include <errno.h> |
| #include <string.h> |
| #include <dirent.h> |
| #include <sys/statvfs.h> |
| |
| #include <sys/stat.h> |
| #include <sys/types.h> |
| #include <fcntl.h> |
| #include <utime.h> |
| |
| #include <linux/stat.h> |
| |
| #include "zte_web_interface.h" |
| |
| |
| #ifndef uint16 |
| #define uint16 unsigned short |
| #endif |
| |
| #ifndef uint32 |
| #define uint32 unsigned long |
| #endif |
| |
| #ifndef boolean |
| #define boolean unsigned char |
| #endif |
| |
| #ifndef TRUE |
| #define TRUE 1 |
| #endif |
| |
| #ifndef FALSE |
| #define FALSE 0 |
| #endif |
| |
| #ifndef NULL |
| #define NULL 0 |
| #endif |
| |
| #ifndef WEBS_SOCKET_BUFSIZ |
| #define WEBS_SOCKET_BUFSIZ 4096 /* Bytes read from socket */ |
| #endif |
| |
| #define ZTE_HTTPSHARE_PATH_NAME_MAX_LEN 4096 |
| #define ZTE_HTTPSHARE_FILE_NAME_MAX_LEN 1024 |
| #define ZTE_HTTPSHARE_DEFAULT_LEN 100 |
| #define ZTE_HTTPSHARE_MAX_NUM_SHOW_RECORD 10 |
| #define ZTE_IP_ADDRESS_LENGTH 40 |
| #define FILE_BUFFER_LEN 65536 |
| |
| #define ZTE_HTTPSHARE_LEN_50 50 |
| #define ZTE_HTTPSHARE_LEN_64 64 |
| #define ZTE_HTTPSHARE_LEN_100 100 |
| #define ZTE_HTTPSHARE_LEN_12 12 |
| #define ZTE_HTTPSHARE_MAC_ADDR_MAX_LEN 18 |
| |
| //#define ZTE_HTTPSHARE_TIMEOUT 600 |
| #define ZTE_PARSE_CGI_TAIL_LEN 100 |
| #define MAX_LEN_FOR_SQL 1024 |
| |
| #define HTTPSHARE_BUF_NORMAL_LEN_MAX 255 |
| #define DECCHK( c ) ((c) >= '0' && (c) <= '9') |
| |
| |
| #define ZTE_FOLDER_STR "document" |
| #define ZTE_FILE_STR "file" |
| #define SD_CARD_USB_MOUNT_PATH "/tmp/sd" |
| #define ZTE_CREATE_TABLE_DOWNLOAD_SQL "CREATE TABLE IF NOT EXISTS download(id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,path TEXT)" |
| |
| #define SD_CARD_PATH "/etc_rw/config/mmc2" // "/mmc2" |
| #define SD_CARD_PATH_PR "/etc_rw/config" |
| #define ZTE_HTTPSHARE_DB_DIR "/etc_rw/config/httpshare_db" //usr/httpshare_db |
| #define ZTE_HTTPSHARE_DB_PATH "/etc_rw/config/httpshare_db/httpshare.db" //"/usr/httpshare_db/httpshare.db" |
| #define TCARD_UPLOAD_FILE "/etc_rw/config/upload.data" |
| |
| #define SD_CARD_PATH_NAN "/mmc2/mmc2/mmc2" |
| #define SD_CARD_SOFT_LINK "/usr/zte_web/web/mmc2" |
| #define USB_DEV_SDCARD_PATH "/dev/mmcblk0p1" |
| #define USB_DEV_SDCARD_PATH_BACK "/dev/mmcblk0" |
| #define SDCARD_EXIST_FLAGE_FILE "/sys/class/android_usb/android0/tcard" |
| #define NO_SDCARD "no_sdcad" |
| #define ZTE_HTTPSHARE_TIME "path_SD_CARD_time_unix" |
| |
| #define SET_MODE_SHELL "./etc/init.d/mmchost" |
| #define SET_MODE_USB "usb" |
| #define SET_MODE_HTTP_SHARE "httpshare" |
| |
| #define USB_MODE "usb_mode" |
| #define HTTP_SHARE_MODE "http_share_mode" |
| #define ZTE_HTTPSHARE_DB_NAME "httpshare" |
| |
| #define TCARD_SIZE_FILE "/proc/proc_sd/size" |
| |
| //httpshare password |
| #define HTTPSHARE_LOGIN_SUCCESS "0" // "share_login_ok" |
| #define HTTPSHARE_LOGIN_FAIL "1" //"share_login_failure" |
| #define HTTPSHARE_LOGIN_CHECK_FAIL "2" //"share_login_check_fail" |
| #define HTTPSHARE_LOGIN_BAD_PASSWORD "3" // "share_login_bad_password" |
| #define HTTPSHARE_LOGIN_ALREADY_LOGIN "4" //"share_login_already" |
| #define HTTPSHARE_LOGIN_LOGIN_BEFORE "5" //"share_login_before" |
| |
| |
| #define HTTPSHARE_LOGIN_TIMEOK "6" // "share_timeok" |
| #define HTTPSHARE_LOGIN_TIMEOUT "7" //"share_timeout" |
| #define HTTPSHARE_LOGIN_TIMEFAIL "8" //"share_timefail" |
| |
| |
| #define ZTE_CREATE_TABLE_HTTPSHARE_SQL "CREATE TABLE IF NOT EXISTS httpshare(id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,ip TEXT,path TEXT)" |
| |
| #define HTTPSHARE_PATH_INLEGAL "/mmc2/.." // user document path |
| |
| typedef enum { |
| ZTE_HTTPSHARE_DB_OK = 0, |
| ZTE_HTTPSHARE_DB_ERROR_INVAILD_PTR = 100, |
| ZTE_HTTPSHARE_DB_ERROR_NOT_OPEN_DB, |
| ZTE_HTTPSHARE_DB_ERROR_FULL, |
| ZTE_HTTPSHARE_DB_ERROR = -1 |
| } zte_httpshare_db_result_e_type; |
| |
| |
| typedef enum { |
| ZTE_HTTPSHARE_FAILURE = -1, |
| ZTE_HTTPSHARE_SUCCESS = 0, |
| ZTE_HTTPSHARE_NOT_SUPPORT = 1, |
| ZTE_HTTPSHARE_MAX |
| } zte_httpshare_return_e_type; |
| |
| |
| typedef enum { |
| ZTE_CGI_PARSE_FILE_HEAD_BEGIN = 0, |
| ZTE_CGI_PARSE_FINDE_HEAD_FIRST = 1, //13 |
| ZTE_CGI_PARSE_FINDE_HEAD_SEC = 2, //10 |
| ZTE_CGI_PARSE_FINDE_HEAD_THIRD = 3, //13 |
| ZTE_CGI_PARSE_FINDE_HEAD_FOUTH = 4, //10 |
| ZTE_CGI_PARSE_FINDE_FILE_HEAD = 5, //10 |
| } zte_cgi_parse_file_head_type_e; |
| |
| |
| typedef enum { |
| ZTE_CGI_PARSE_FILE_TAIL_ADD_BEGIN = 0, |
| ZTE_CGI_PARSE_FINDE_TAIL_ADD_FIRST = 1, //13 |
| ZTE_CGI_PARSE_FINDE_TAIL_ADD_SEC = 2, //10 |
| ZTE_CGI_PARSE_FINDE_TAIL_ADD_THIRD = 3, //13 |
| ZTE_CGI_PARSE_FINDE_TAIL_ADD_FOUTH = 4, //10 |
| ZTE_CGI_PARSE_FINDE_FILE_TAIL_ADD = 5, //10 |
| } zte_cgi_parse_file_tail_addres_type_e; |
| |
| |
| |
| |
| typedef enum { |
| ZTE_CGI_PARSE_FILE_TAIL_BEGIN = 0, |
| ZTE_CGI_PARSE_FINDE_TAIL_IN_FILE = 1, |
| ZTE_CGI_PARSE_FINDE_TAIL_IN_POOL = 2, |
| ZTE_CGI_PARSE_FINDE_TAIL_PROCESS = 3, |
| |
| |
| } zte_cgi_parse_file_tail_type_e; |
| |
| |
| typedef enum { |
| ZTE_CGI_WRITE_THE_FIRST_DATA = 0, |
| ZTE_CGI_WRITE_THE_SEC_DATA = 1, |
| } zte_cgi_write_e; |
| |
| |
| struct user_upload_infor { |
| char file_tail_pool[ZTE_PARSE_CGI_TAIL_LEN]; |
| int file_tail_pool_len; |
| int file_tail_len; |
| int file_head_len; |
| uint32 file_raw_size; |
| zte_cgi_parse_file_head_type_e file_head; |
| zte_cgi_parse_file_tail_type_e file_tail; |
| zte_cgi_parse_file_tail_addres_type_e file_tail_addres; |
| zte_cgi_write_e data_no; |
| }; |
| |
| typedef struct user_upload_infor USER_UPLOAD_INFOR; |
| |
| typedef struct user_common_infor_type { |
| char address[ZTE_IP_ADDRESS_LENGTH]; /* current user ip address of user */ |
| char file_name[ZTE_HTTPSHARE_FILE_NAME_MAX_LEN]; /* curretn user user name for specific if it is the same user else reset infor. */ |
| char path[ZTE_HTTPSHARE_FILE_NAME_MAX_LEN]; |
| USER_UPLOAD_INFOR infor; |
| int requst_sid; |
| int card_full; |
| int cnt; |
| //int unixTime; |
| char UnixYMDTime[ZTE_IP_ADDRESS_LENGTH]; |
| //struct user_common_infor_type *next; |
| } USER_COMMON_INFOR; |
| |
| |
| typedef struct { |
| int id; |
| char fileName[ZTE_HTTPSHARE_PATH_NAME_MAX_LEN + 1]; |
| char attribute[ZTE_HTTPSHARE_DEFAULT_LEN]; |
| uint32 size; |
| char lastUpdateTime[ZTE_HTTPSHARE_DEFAULT_LEN]; |
| |
| } zte_file_record_s_type; |
| |
| |
| typedef enum { |
| ZTE_ERROR_MODE = -1, |
| ZTE_HTTPSHARE_USB = 0, |
| ZTE_HTTPSHARE_HTTPSHARE = 1, |
| ZTE_RESERVE_MODE |
| } zte_httpshare_current_mode_type; |
| |
| typedef struct { |
| char *dev_path; |
| } httpshare_usb_mmc_dev; |
| |
| typedef enum { |
| ZTE_CHANGE_MODE_ERROR = 0, |
| ZTE_CHANGE_MODE_OK |
| } zte_httpshare_change_mode_type; |
| |
| |
| /*Óû§Ä£Ê½Ï³öUSB start*/ |
| |
| #define ZTE_GET_USB_INFO_DEV "/dev/usbNVDev" |
| #define ZTE_AT_PROXY4_DEV "/dev/ctrm_atproxy4" |
| |
| static int g_get_usb_info_fd = -1; |
| static int g_at_proxy4_fd = -1; |
| |
| #define USBNV_IOCTL_W_CFGCDROMCHARGER 0x16 |
| |
| typedef struct _T_REF_NV_USB_CFG { |
| UINT16 pid; |
| UINT16 vid; |
| UINT8 f_Tcard; |
| UINT8 f_Cdrom; |
| UINT8 f_AtExt; |
| UINT8 f_AtExt2; |
| CHAR Sn[64]; |
| } T_REF_NV_USB_CFG; |
| |
| /*Óû§Ä£Ê½Ï³öUSB end*/ |
| |
| USER_COMMON_INFOR* zte_process_user_auth(webs_t wp); |
| |
| //record a defined count file record to show user |
| extern zte_file_record_s_type httpshare_file_record[ZTE_HTTPSHARE_MAX_NUM_SHOW_RECORD]; |
| extern int zte_httpshare_change_current_mode(zte_httpshare_current_mode_type curr_mode); |
| //extern void zte_httpshare_call_system(char * cmd); |
| |
| int save_upload_info_to_file(const char *file, char *name); |
| int read_upload_info_from_file(const char *file, char *name); |
| #endif |