📄 srvctrl.h
字号:
/********************************************************************
** WebSrv -- SrvCtrl.h
**
** Steven Lee 2002.11
********************************************************************/
#ifndef SRVCTRL_H_
#define SRVCTRL_H_
#define HTTP_VERSION_MAJOR 1
#define HTTP_VERSION_MINOR 1
typedef struct
{
SOCKET hSrvSocket;
UINT nPort;
HANDLE hSrvThread;
BOOL bTerminate;
}SERVERINFOS,far* LPSERVERINFOS;
typedef enum
{
RES_OK = 0,
RES_MOVED = 1,
RES_BADREQ = 2,
RES_NOTFOUND = 3,
RES_NOTSUPPORT = 4,
}HTTPRES;
#define MAX_CONTENT_TYPE 128
typedef struct
{
HTTPRES httpRes;
DWORD dwData;
TCHAR szContentType[MAX_CONTENT_TYPE];
TCHAR szFileTime[MAX_CONTENT_TYPE];
}HTTPHEADER,far* LPHTTPHEADER;
void InitSrvCtrl();
void ReleaseSrvCtrl();
BOOL WINAPI ConsoleCtrlEvent(DWORD dwCtrlType);
BOOL StartServer(LPTSTR lpszError);
BOOL StopServer(DWORD dwTimeOut);
DWORD WINAPI SrvThrdProc(LPVOID lpParam);
DWORD WINAPI CltThrdProc(LPVOID lpParam);
BOOL SendSrvResponse(SOCKET hSocket,LPTSTR pszRecv);
BOOL GetHTTPFileName(LPCTSTR lpszHeader,LPSTR lpszHTTPFile,SOCKET s);
BOOL ReqHTTPFileExists(LPTSTR lpszFile);
BOOL GetHTTPVersion(LPCTSTR lpszHeader,int* lpnMajor,int* lpnMinor);
DWORD FillHTTPResHeader(LPTSTR lpszResponse,int nSize,LPHTTPHEADER lpHeader);
void GetContentType(LPCTSTR lpszReqFile,LPTSTR lpszType);
#define HTTPVersionSupport(nMajor,nMinor) \
( (nMajor < HTTP_VERSION_MAJOR)||((nMajor == HTTP_VERSION_MAJOR)&&(nMinor <= HTTP_VERSION_MINOR)) )
BOOL ServerRunning();
UINT SetServerPort(UINT nPort);
int SetMaxUsers(int dwMax);
const DWORD GetUsersNumber();
void LogServerMessage(LPCTSTR szLog,SOCKET s);
#endif //SRVCTRL_H_
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -