Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygenhttpext.h
Go to the documentation of this file.
00001 /* 00002 httpext.h - Header for ISAPI extensions. 00003 00004 This file is part of a free library for the Win32 API. 00005 00006 This library is distributed in the hope that it will be useful, 00007 but WITHOUT ANY WARRANTY; without even the implied warranty of 00008 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 00009 */ 00010 00011 #ifndef _HTTPEXT_H 00012 #define _HTTPEXT_H 00013 00014 #include <windows.h> 00015 00016 #ifdef __cplusplus 00017 extern "C" { 00018 #endif 00019 00020 #define HSE_VERSION_MAJOR 2 00021 #define HSE_VERSION_MINOR 0 00022 #define HSE_LOG_BUFFER_LEN 80 00023 #define HSE_MAX_EXT_DLL_NAME_LEN 256 00024 #define HSE_STATUS_SUCCESS 1 00025 #define HSE_STATUS_SUCCESS_AND_KEEP_CONN 2 00026 #define HSE_STATUS_PENDING 3 00027 #define HSE_STATUS_ERROR 4 00028 #define HSE_REQ_BASE 0 00029 #define HSE_REQ_SEND_URL_REDIRECT_RESP 1 00030 #define HSE_REQ_SEND_URL 2 00031 #define HSE_REQ_SEND_RESPONSE_HEADER 3 00032 #define HSE_REQ_DONE_WITH_SESSION 4 00033 #define HSE_REQ_END_RESERVED 1000 00034 #define HSE_TERM_ADVISORY_UNLOAD 0x00000001 00035 #define HSE_TERM_MUST_UNLOAD 0x00000002 00036 #define HSE_IO_SYNC 0x00000001 00037 #define HSE_IO_ASYNC 0x00000002 00038 #define HSE_IO_DISCONNECT_AFTER_SEND 0x00000004 00039 #define HSE_IO_SEND_HEADERS 0x00000008 00040 typedef LPVOID HCONN; 00041 typedef struct _HSE_VERSION_INFO { 00042 DWORD dwExtensionVersion; 00043 CHAR lpszExtensionDesc[HSE_MAX_EXT_DLL_NAME_LEN]; 00044 } HSE_VERSION_INFO, *LPHSE_VERSION_INFO; 00045 typedef struct _EXTENSION_CONTROL_BLOCK { 00046 DWORD cbSize; 00047 DWORD dwVersion; 00048 HCONN ConnID; 00049 DWORD dwHttpStatusCode; 00050 CHAR lpszLogData[HSE_LOG_BUFFER_LEN]; 00051 LPSTR lpszMethod; 00052 LPSTR lpszQueryString; 00053 LPSTR lpszPathInfo; 00054 LPSTR lpszPathTranslated; 00055 DWORD cbTotalBytes; 00056 DWORD cbAvailable; 00057 LPBYTE lpbData; 00058 LPSTR lpszContentType; 00059 BOOL (PASCAL *GetServerVariable)(HCONN,LPSTR,LPVOID,LPDWORD); 00060 BOOL (PASCAL *WriteClient)(HCONN,LPVOID,LPDWORD,DWORD); 00061 BOOL (PASCAL *ReadClient)(HCONN,LPVOID,LPDWORD); 00062 BOOL (PASCAL *ServerSupportFunction)(HCONN,DWORD,LPVOID,LPDWORD,LPDWORD); 00063 } EXTENSION_CONTROL_BLOCK, *LPEXTENSION_CONTROL_BLOCK; 00064 typedef BOOL (PASCAL *PFN_GETEXTENSIONVERSION)(HSE_VERSION_INFO*); 00065 typedef DWORD (PASCAL *PFN_HTTPEXTENSIONPROC)(EXTENSION_CONTROL_BLOCK*); 00066 typedef BOOL (PASCAL *PFN_TERMINATEEXTENSION)(DWORD); 00067 typedef VOID (PASCAL *PFN_HSE_IO_COMPLETION)(EXTENSION_CONTROL_BLOCK*,PVOID,DWORD,DWORD); 00068 typedef struct _HSE_TF_INFO { 00069 PFN_HSE_IO_COMPLETION pfnHseIO; 00070 PVOID pContext; 00071 HANDLE hFile; 00072 LPCSTR pszStatusCode; 00073 DWORD BytesToWrite; 00074 DWORD Offset; 00075 PVOID pHead; 00076 DWORD HeadLength; 00077 PVOID pTail; 00078 DWORD TailLength; 00079 DWORD dwFlags; 00080 } HSE_TF_INFO, *LPHSE_TF_INFO; 00081 BOOL PASCAL GetExtensionVersion(HSE_VERSION_INFO*); 00082 DWORD PASCAL HttpExtensionProc(EXTENSION_CONTROL_BLOCK*); 00083 BOOL PASCAL TerminateExtension(DWORD); 00084 #ifdef __cplusplus 00085 } 00086 #endif 00087 #endif /* _HTTPEXT_H */ Generated on Sat May 26 2012 04:30:12 for ReactOS by
1.7.6.1
|