ReactOS  0.4.15-dev-1386-g5cb9f87
httpext.h
Go to the documentation of this file.
1 /*
2  httpext.h - Header for ISAPI extensions.
3 
4  This file is part of a free library for the Win32 API.
5 
6  This library is distributed in the hope that it will be useful,
7  but WITHOUT ANY WARRANTY; without even the implied warranty of
8  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
9 */
10 
11 #ifndef _HTTPEXT_H
12 #define _HTTPEXT_H
13 
14 #include <windows.h>
15 
16 #ifdef __cplusplus
17 extern "C" {
18 #endif
19 
20 #define HSE_VERSION_MAJOR 2
21 #define HSE_VERSION_MINOR 0
22 #define HSE_LOG_BUFFER_LEN 80
23 #define HSE_MAX_EXT_DLL_NAME_LEN 256
24 #define HSE_STATUS_SUCCESS 1
25 #define HSE_STATUS_SUCCESS_AND_KEEP_CONN 2
26 #define HSE_STATUS_PENDING 3
27 #define HSE_STATUS_ERROR 4
28 #define HSE_REQ_BASE 0
29 #define HSE_REQ_SEND_URL_REDIRECT_RESP 1
30 #define HSE_REQ_SEND_URL 2
31 #define HSE_REQ_SEND_RESPONSE_HEADER 3
32 #define HSE_REQ_DONE_WITH_SESSION 4
33 #define HSE_REQ_END_RESERVED 1000
34 #define HSE_TERM_ADVISORY_UNLOAD 0x00000001
35 #define HSE_TERM_MUST_UNLOAD 0x00000002
36 #define HSE_IO_SYNC 0x00000001
37 #define HSE_IO_ASYNC 0x00000002
38 #define HSE_IO_DISCONNECT_AFTER_SEND 0x00000004
39 #define HSE_IO_SEND_HEADERS 0x00000008
40 typedef LPVOID HCONN;
41 typedef struct _HSE_VERSION_INFO {
45 typedef struct _EXTENSION_CONTROL_BLOCK {
59  BOOL (PASCAL *GetServerVariable)(HCONN,LPSTR,LPVOID,LPDWORD);
60  BOOL (PASCAL *WriteClient)(HCONN,LPVOID,LPDWORD,DWORD);
61  BOOL (PASCAL *ReadClient)(HCONN,LPVOID,LPDWORD);
62  BOOL (PASCAL *ServerSupportFunction)(HCONN,DWORD,LPVOID,LPDWORD,LPDWORD);
68 typedef struct _HSE_TF_INFO {
84 #ifdef __cplusplus
85 }
86 #endif
87 #endif /* _HTTPEXT_H */
BOOL(PASCAL * PFN_TERMINATEEXTENSION)(DWORD)
Definition: httpext.h:66
BOOL(PASCAL *GetServerVariable)(HCONN
PVOID pContext
Definition: httpext.h:70
char CHAR
Definition: xmlstorage.h:175
DWORD dwExtensionVersion
Definition: httpext.h:42
DWORD PASCAL HttpExtensionProc(EXTENSION_CONTROL_BLOCK *)
char * LPSTR
Definition: xmlstorage.h:182
DWORD(PASCAL * PFN_HTTPEXTENSIONPROC)(EXTENSION_CONTROL_BLOCK *)
Definition: httpext.h:65
#define BOOL
Definition: nt_native.h:43
#define DWORD
Definition: nt_native.h:44
BOOL PASCAL GetExtensionVersion(HSE_VERSION_INFO *)
unsigned char * LPBYTE
Definition: typedefs.h:53
unsigned int BOOL
Definition: ntddk_ex.h:94
PVOID pHead
Definition: httpext.h:75
struct _EXTENSION_CONTROL_BLOCK * LPEXTENSION_CONTROL_BLOCK
const char * LPCSTR
Definition: xmlstorage.h:183
void * PVOID
Definition: retypes.h:9
DWORD HeadLength
Definition: httpext.h:76
LPVOID HCONN
Definition: httpext.h:40
DWORD BytesToWrite
Definition: httpext.h:73
PFN_HSE_IO_COMPLETION pfnHseIO
Definition: httpext.h:69
#define HSE_LOG_BUFFER_LEN
Definition: httpext.h:22
unsigned long DWORD
Definition: ntddk_ex.h:95
BOOL(PASCAL * PFN_GETEXTENSIONVERSION)(HSE_VERSION_INFO *)
Definition: httpext.h:64
struct _HSE_VERSION_INFO HSE_VERSION_INFO
CHAR lpszExtensionDesc[HSE_MAX_EXT_DLL_NAME_LEN]
Definition: httpext.h:43
DWORD dwFlags
Definition: httpext.h:79
#define VOID
Definition: acefi.h:82
LPCSTR pszStatusCode
Definition: httpext.h:72
#define PASCAL
Definition: windef.h:133
DWORD Offset
Definition: httpext.h:74
struct _EXTENSION_CONTROL_BLOCK EXTENSION_CONTROL_BLOCK
VOID(PASCAL * PFN_HSE_IO_COMPLETION)(EXTENSION_CONTROL_BLOCK *, PVOID, DWORD, DWORD)
Definition: httpext.h:67
BOOL PASCAL TerminateExtension(DWORD)
DWORD TailLength
Definition: httpext.h:78
CHAR lpszLogData[HSE_LOG_BUFFER_LEN]
Definition: httpext.h:50
#define HSE_MAX_EXT_DLL_NAME_LEN
Definition: httpext.h:23
struct _HSE_TF_INFO * LPHSE_TF_INFO
struct _HSE_VERSION_INFO * LPHSE_VERSION_INFO
HANDLE hFile
Definition: httpext.h:71
PVOID pTail
Definition: httpext.h:77
struct _HSE_TF_INFO HSE_TF_INFO