cf62424b92
cguid.h, commctrl.h, commdlg.h, cpl.h, cplext.h, custcntl.h, dbt.h, dde.h, ddeml.h, dlgs.h, excpt.h, httpext.h, imagehlp.h, imm.h, initguid.h, intshcut.h, ipexport.h, iphlpapi.h, ipifcons.h, iprtrmib.h, iptypes.h, isguids.h, largeint.h, lm.h, lmaccess.h, lmalert.h, lmapibuf.h, lmat.h, lmaudit.h, lmbrowsr.h, lmchdev.h, lmconfig.h, lmcons.h, lmerr.h, lmerrlog.h, lmmsg.h, lmremutl.h, lmrepl.h, lmserver.h, lmshare.h, lmsname.h, lmstats.h, lmsvc.h, lmuse.h, lmuseflg.h, lmwksta.h, lzexpand.h, mapi.h, mciavi.h, mcx.h, mmsystem.h, mswsock.h, nb30.h, nddeapi.h, nspapi.h, ntdef.h, ntsecapi.h, ntsecpkg.h, oaidl.h, objbase.h, objfwd.h, objidl.h, odbcinst.h, ole.h, ole2.h, ole2ver.h, oleauto.h, olectl.h, olectlid.h, oledlg.h, oleidl.h, pbt.h, prsht.h, psapi.h, rapi.h, ras.h, raserror.h, rassapi.h, regstr.h, richedit.h, richole.h, rpc.h, rpcdce.h, rpcdce2.h, rpcdcep.h, rpcndr.h, rpcnsi.h, rpcnsip.h, rpcnterr.h, rpcproxy.h, schannel.h, schnlsp.h, scrnsave.h, security.h, setupapi.h, shellapi.h, shlguid.h, shlobj.h, sql.h, sqlext.h, sqltypes.h, sqlucode.h, sspi.h, subauth.h, tlhelp32.h, unknwn.h, userenv.h, w32api.h, winbase.h, wincon.h, wincrypt.h, windef.h, windows.h, windowsx.h, winerror.h, wingdi.h, wininet.h, winioctl.h, winnetwk.h, winnls.h, winnt.h, winperf.h, winreg.h, winresrc.h, winsock.h, winsock2.h, winspool.h, winsvc.h, winuser.h, winver.h, ws2tcpip.h, wsnetbs.h, wtypes.h, zmouse.h: Add #pragma GCC system_header if __GNUC__ >= 3. * include/mapi.h: Change header guard name to _MAPI_H for consistency.
91 lines
2.6 KiB
C
91 lines
2.6 KiB
C
/*
|
|
httpext.h - Header for ISAPI extensions.
|
|
|
|
This file is part of a free library for the Win32 API.
|
|
|
|
This library is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|
*/
|
|
|
|
#ifndef _HTTPEXT_H
|
|
#define _HTTPEXT_H
|
|
#if __GNUC__ >=3
|
|
#pragma GCC system_header
|
|
#endif
|
|
|
|
#include <windows.h>
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
#define HSE_VERSION_MAJOR 2
|
|
#define HSE_VERSION_MINOR 0
|
|
#define HSE_LOG_BUFFER_LEN 80
|
|
#define HSE_MAX_EXT_DLL_NAME_LEN 256
|
|
#define HSE_STATUS_SUCCESS 1
|
|
#define HSE_STATUS_SUCCESS_AND_KEEP_CONN 2
|
|
#define HSE_STATUS_PENDING 3
|
|
#define HSE_STATUS_ERROR 4
|
|
#define HSE_REQ_BASE 0
|
|
#define HSE_REQ_SEND_URL_REDIRECT_RESP 1
|
|
#define HSE_REQ_SEND_URL 2
|
|
#define HSE_REQ_SEND_RESPONSE_HEADER 3
|
|
#define HSE_REQ_DONE_WITH_SESSION 4
|
|
#define HSE_REQ_END_RESERVED 1000
|
|
#define HSE_TERM_ADVISORY_UNLOAD 0x00000001
|
|
#define HSE_TERM_MUST_UNLOAD 0x00000002
|
|
#define HSE_IO_SYNC 0x00000001
|
|
#define HSE_IO_ASYNC 0x00000002
|
|
#define HSE_IO_DISCONNECT_AFTER_SEND 0x00000004
|
|
#define HSE_IO_SEND_HEADERS 0x00000008
|
|
typedef LPVOID HCONN;
|
|
typedef struct _HSE_VERSION_INFO {
|
|
DWORD dwExtensionVersion;
|
|
CHAR lpszExtensionDesc[HSE_MAX_EXT_DLL_NAME_LEN];
|
|
} HSE_VERSION_INFO, *LPHSE_VERSION_INFO;
|
|
typedef struct _EXTENSION_CONTROL_BLOCK {
|
|
DWORD cbSize;
|
|
DWORD dwVersion;
|
|
HCONN ConnID;
|
|
DWORD dwHttpStatusCode;
|
|
CHAR lpszLogData[HSE_LOG_BUFFER_LEN];
|
|
LPSTR lpszMethod;
|
|
LPSTR lpszQueryString;
|
|
LPSTR lpszPathInfo;
|
|
LPSTR lpszPathTranslated;
|
|
DWORD cbTotalBytes;
|
|
DWORD cbAvailable;
|
|
LPBYTE lpbData;
|
|
LPSTR lpszContentType;
|
|
BOOL (PASCAL *GetServerVariable)(HCONN,LPSTR,LPVOID,LPDWORD);
|
|
BOOL (PASCAL *WriteClient)(HCONN,LPVOID,LPDWORD,DWORD);
|
|
BOOL (PASCAL *ReadClient)(HCONN,LPVOID,LPDWORD);
|
|
BOOL (PASCAL *ServerSupportFunction)(HCONN,DWORD,LPVOID,LPDWORD,LPDWORD);
|
|
} EXTENSION_CONTROL_BLOCK, *LPEXTENSION_CONTROL_BLOCK;
|
|
typedef BOOL (PASCAL *PFN_GETEXTENSIONVERSION)(HSE_VERSION_INFO*);
|
|
typedef DWORD (PASCAL *PFN_HTTPEXTENSIONPROC)(EXTENSION_CONTROL_BLOCK*);
|
|
typedef BOOL (PASCAL *PFN_TERMINATEEXTENSION)(DWORD);
|
|
typedef VOID (PASCAL *PFN_HSE_IO_COMPLETION)(EXTENSION_CONTROL_BLOCK*,PVOID,DWORD,DWORD);
|
|
typedef struct _HSE_TF_INFO {
|
|
PFN_HSE_IO_COMPLETION pfnHseIO;
|
|
PVOID pContext;
|
|
HANDLE hFile;
|
|
LPCSTR pszStatusCode;
|
|
DWORD BytesToWrite;
|
|
DWORD Offset;
|
|
PVOID pHead;
|
|
DWORD HeadLength;
|
|
PVOID pTail;
|
|
DWORD TailLength;
|
|
DWORD dwFlags;
|
|
} HSE_TF_INFO, *LPHSE_TF_INFO;
|
|
BOOL PASCAL GetExtensionVersion(HSE_VERSION_INFO*);
|
|
DWORD PASCAL HttpExtensionProc(EXTENSION_CONTROL_BLOCK*);
|
|
BOOL PASCAL TerminateExtension(DWORD);
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
#endif /* _HTTPEXT_H */
|