| |
| #ifndef _h_WEBS_INTERNAL |
| #define _h_WEBS_INTERNAL 1 |
| |
| |
| #include <ctype.h> |
| #include <stdlib.h> |
| #include <string.h> |
| #include <stdarg.h> |
| |
| #ifdef NETWARE |
| #include <fcntl.h> |
| #include <sys/stat.h> |
| #include <signal.h> |
| #include <io.h> |
| #endif |
| |
| #ifdef WIN |
| #include <fcntl.h> |
| #include <sys/stat.h> |
| #include <io.h> |
| #endif |
| |
| #ifdef CE |
| #ifndef UEMF |
| #include <io.h> |
| #endif |
| #endif |
| |
| #ifdef NW |
| #include <fcntl.h> |
| #include <sys/stat.h> |
| #endif |
| |
| #ifdef SCOV5 |
| #include <fcntl.h> |
| #include <sys/stat.h> |
| #include <signal.h> |
| #include <unistd.h> |
| #endif |
| |
| #ifdef LYNX |
| #include <fcntl.h> |
| #include <sys/stat.h> |
| #include <signal.h> |
| #include <unistd.h> |
| #endif |
| |
| #ifdef UNIX |
| #include <fcntl.h> |
| #include <sys/stat.h> |
| #include <signal.h> |
| #include <unistd.h> |
| #endif |
| |
| #ifdef QNX4 |
| #include <fcntl.h> |
| #include <sys/stat.h> |
| #include <signal.h> |
| #include <unistd.h> |
| #include <unix.h> |
| #endif |
| |
| #ifdef SOLARIS |
| #include <macros.h> |
| #include <fcntl.h> |
| #include <sys/stat.h> |
| #endif |
| |
| #ifdef VXWORKS |
| #include <vxWorks.h> |
| #include <fcntl.h> |
| #include <sys/stat.h> |
| #endif |
| |
| #ifdef UW |
| #include <fcntl.h> |
| #include <sys/stat.h> |
| #endif |
| |
| #ifdef UEMF |
| #include "uemf.h" |
| #include "ejIntrn.h" |
| #else |
| #include "emf/emfInternal.h" |
| #include "ej/ejIntrn.h" |
| #endif |
| |
| #include "webs.h" |
| |
| |
| #define WEBS_BEGIN 0x1 |
| #define WEBS_HEADER 0x2 |
| #define WEBS_POST 0x4 |
| #define WEBS_POST_CLEN 0x8 |
| #define WEBS_PROCESSING 0x10 |
| #define WEBS_KEEP_TIMEOUT 15000 |
| #define WEBS_TIMEOUT 60000 |
| |
| #define PAGE_READ_BUFSIZE 512 |
| #define MAX_PORT_LEN 10 |
| #define WEBS_SYM_INIT 64 |
| |
| |
| typedef struct { |
| int (*handler)(webs_t wp, char_t *urlPrefix, char_t *webDir, int arg, |
| char_t *url, char_t *path, |
| char_t *query); |
| char_t *webDir; |
| char_t *urlPrefix; |
| int len; |
| int arg; |
| int flags; |
| } websUrlHandlerType; |
| |
| |
| typedef struct { |
| long errors; |
| long redirects; |
| long net_requests; |
| long activeNetRequests; |
| long activeBrowserRequests; |
| long timeouts; |
| long access; |
| long localHits; |
| long remoteHits; |
| long formHits; |
| long cgiHits; |
| long handlerHits; |
| } websStatsType; |
| |
| extern websStatsType websStats; |
| |
| typedef struct { |
| int code; |
| char_t *msg; |
| } websErrorType; |
| |
| |
| typedef struct { |
| char_t *type; |
| char_t *ext; |
| } websMimeType; |
| |
| |
| typedef struct { |
| unsigned long size; |
| int isDir; |
| time_t mtime; |
| } websStatType; |
| |
| |
| typedef struct { |
| char_t *path; |
| unsigned char *page; |
| int size; |
| int pos; |
| } websRomPageIndexType; |
| |
| |
| #ifndef CE |
| #define SOCKET_RDONLY O_RDONLY |
| #define SOCKET_BINARY O_BINARY |
| #else /* CE */ |
| #define SOCKET_RDONLY 0x1 |
| #define SOCKET_BINARY 0x2 |
| #endif /* CE */ |
| |
| //#define DOWNLOAD_INTERVAL 1048576 //4194304 |
| extern int zte_process_cgi_end(webs_t wp); |
| extern int zte_check_downloading_file(); |
| extern int websCgiDownLoadHandler(webs_t wp, char_t *urlPrefix, |
| char_t *webDir, int arg, char_t *url, char_t *path, |
| char_t *query); |
| |
| #define DOWNLOAD_INTERVAL 1048576 //4194304 |
| #define UPLOAD_INTERVAL 65536 |
| |
| #ifdef FEATURE_ZTE_WEB_TCARD |
| //added by guo shoupeng 10124224 for http share 20111001 start |
| #define UPLOAD_INTERVAL 65536 |
| #define DOWNLOAD_INTERVAL 1048576 //4194304 |
| #define PATH_SD_CARD "/mmc2" |
| #define PATH_SD_MNT "/mnt" |
| |
| extern int sd_card_isExist(); |
| extern int sd_card_isClose (webs_t wp); |
| extern int zte_process_cgi(webs_t wp); |
| extern int zte_process_cgi_end(webs_t wp); |
| extern int websGetState(webs_t wp); |
| extern int websGetlen(webs_t wp); |
| extern char_t * websGetURL(webs_t wp); |
| extern int zte_efs_write(webs_t wp); |
| |
| extern int zte_http_share_process_flagfile_exist(const char *i_filename ); |
| extern int websCgiDownLoadHandler(webs_t wp, char_t *urlPrefix, |
| char_t *webDir, int arg, char_t *url, char_t *path, |
| char_t *query); |
| |
| //added by guo shoupeng 10124224 for http share 20111001 end |
| #endif |
| extern websRomPageIndexType websRomPageIndex[]; |
| extern websMimeType websMimeList[]; |
| extern sym_fd_t websMime; |
| extern webs_t* webs; |
| extern int websMax; |
| extern char_t websHost[64]; |
| extern char_t websIpaddr[64]; |
| extern char_t *websHostUrl; |
| extern char_t *websIpaddrUrl; |
| extern int websPort; |
| |
| extern char_t* websGetDateString(websStatType* sbuf); |
| |
| extern int strcmpci(char_t* s1, char_t* s2); |
| |
| extern int websAspOpen(); |
| extern void websAspClose(); |
| |
| extern int websAspWrite(int ejid, webs_t wp, int argc, char_t **argv); |
| |
| extern void websFormOpen(); |
| extern void websFormClose(); |
| |
| extern int websCgiHandler(webs_t wp, char_t *urlPrefix, char_t *webDir, |
| int arg, char_t *url, char_t *path, char_t *query); |
| extern void websCgiCleanup(); |
| extern int websCheckCgiProc(int handle, int *status); |
| extern char_t *websGetCgiCommName(); |
| |
| extern int websLaunchCgiProc(char_t *cgiPath, char_t **argp, |
| char_t **envp, char_t *stdIn, char_t *stdOut); |
| |
| extern void websDefaultClose(); |
| |
| extern void websUrlHandlerClose(); |
| extern int websUrlHandlerOpen(); |
| |
| extern int websDefaultHandler(webs_t wp, char_t *urlPrefix, |
| char_t *webDir, int arg, char_t *url, char_t *path, |
| char_t *query); |
| extern int websFormHandler(webs_t wp, char_t *urlPrefix, char_t *webDir, |
| int arg, char_t *url, char_t *path, char_t *query); |
| |
| extern int websOpen(int sid); |
| extern void websResponse(webs_t wp, int code, char_t *msg, |
| char_t *redirect); |
| extern int websJavaScriptEval(webs_t wp, char_t *script); |
| extern int websPageReadData(webs_t wp, char *buf, int nBytes); |
| |
| extern void websPageSeek(webs_t wp, long offset); |
| extern int websPageStat(webs_t wp, char_t *lpath, char_t *path, |
| websStatType *sbuf); |
| extern int websPageIsDirectory(char_t *lpath); |
| |
| extern int websPageOpen(webs_t wp, char_t *lpath, char_t *path, int mode, |
| int perm); |
| extern void websPageClose(webs_t wp); |
| |
| |
| extern int websRomPageOpen(webs_t wp, char_t *path, int mode, int perm); |
| extern void websRomPageClose(int fd); |
| extern int websRomPageReadData(webs_t wp, char *buf, int len); |
| extern int websRomPageStat(char_t *path, websStatType *sbuf); |
| extern long websRomPageSeek(webs_t wp, long offset, int origin); |
| |
| extern int websRomOpen(); |
| extern void websRomClose(); |
| |
| extern void websSetRequestSocketHandler(webs_t wp, int mask, |
| void (*fn)(webs_t wp)); |
| extern int websSolutionHandler(webs_t wp, char_t *urlPrefix, |
| char_t *webDir, int arg, char_t *url, char_t *path, |
| char_t *query); |
| |
| extern int websOpenServer(int port, int retries); |
| extern void websCloseServer(); |
| |
| #ifdef CE |
| extern int writeUniToAsc(int fid, void *buf, unsigned int len); |
| extern int readAscToUni(int fid, void **buf, unsigned int len); |
| #endif |
| |
| #ifdef EMF |
| extern int websEmfOpen(); |
| extern void websSetEmfEnvironment(webs_t wp); |
| extern void websEmfClose(); |
| #endif |
| |
| |
| #endif /* _h_WEBS_INTERNAL */ |
| |