ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

httpext.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 doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.