mingw-5.1.4/win32/include/httpext.h
author jjkang
Fri, 11 Jun 2010 15:22:19 +0800
changeset 3 d6b1fbb42aec
parent 0 76b1f169d9fe
permissions -rw-r--r--
Change SFL to EPL
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
76b1f169d9fe DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
     1
/*
76b1f169d9fe DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
     2
       httpext.h - Header for ISAPI extensions.
76b1f169d9fe DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
     3
76b1f169d9fe DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
     4
       This file is part of a free library for the Win32 API.
76b1f169d9fe DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
     5
76b1f169d9fe DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
     6
       This library is distributed in the hope that it will be useful,
76b1f169d9fe DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
     7
       but WITHOUT ANY WARRANTY; without even the implied warranty of
76b1f169d9fe DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
     8
       MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
76b1f169d9fe DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
     9
*/
76b1f169d9fe DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
    10
76b1f169d9fe DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
    11
#ifndef _HTTPEXT_H
76b1f169d9fe DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
    12
#define _HTTPEXT_H
76b1f169d9fe DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
    13
#if __GNUC__ >=3
76b1f169d9fe DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
    14
#pragma GCC system_header
76b1f169d9fe DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
    15
#endif
76b1f169d9fe DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
    16
76b1f169d9fe DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
    17
#include <windows.h>
76b1f169d9fe DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
    18
76b1f169d9fe DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
    19
#ifdef __cplusplus
76b1f169d9fe DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
    20
extern "C" {
76b1f169d9fe DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
    21
#endif
76b1f169d9fe DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
    22
76b1f169d9fe DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
    23
#define	HSE_VERSION_MAJOR	2
76b1f169d9fe DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
    24
#define	HSE_VERSION_MINOR	0
76b1f169d9fe DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
    25
#define	HSE_LOG_BUFFER_LEN	80
76b1f169d9fe DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
    26
#define	HSE_MAX_EXT_DLL_NAME_LEN	256
76b1f169d9fe DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
    27
#define	HSE_STATUS_SUCCESS	1
76b1f169d9fe DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
    28
#define	HSE_STATUS_SUCCESS_AND_KEEP_CONN	2
76b1f169d9fe DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
    29
#define	HSE_STATUS_PENDING	3
76b1f169d9fe DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
    30
#define	HSE_STATUS_ERROR	4
76b1f169d9fe DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
    31
#define	HSE_REQ_BASE	0
76b1f169d9fe DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
    32
#define	HSE_REQ_SEND_URL_REDIRECT_RESP	1
76b1f169d9fe DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
    33
#define	HSE_REQ_SEND_URL	2
76b1f169d9fe DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
    34
#define	HSE_REQ_SEND_RESPONSE_HEADER	3
76b1f169d9fe DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
    35
#define	HSE_REQ_DONE_WITH_SESSION	4
76b1f169d9fe DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
    36
#define	HSE_REQ_SEND_RESPONSE_HEADER_EX	1016
76b1f169d9fe DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
    37
#define	HSE_REQ_END_RESERVED	1000
76b1f169d9fe DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
    38
#define	HSE_TERM_ADVISORY_UNLOAD	0x00000001
76b1f169d9fe DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
    39
#define	HSE_TERM_MUST_UNLOAD	0x00000002
76b1f169d9fe DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
    40
#define	HSE_IO_SYNC	0x00000001
76b1f169d9fe DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
    41
#define	HSE_IO_ASYNC	0x00000002
76b1f169d9fe DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
    42
#define	HSE_IO_DISCONNECT_AFTER_SEND	0x00000004
76b1f169d9fe DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
    43
#define	HSE_IO_SEND_HEADERS	0x00000008
76b1f169d9fe DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
    44
typedef	LPVOID HCONN;
76b1f169d9fe DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
    45
typedef	struct _HSE_VERSION_INFO {
76b1f169d9fe DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
    46
	DWORD	dwExtensionVersion;
76b1f169d9fe DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
    47
	CHAR	lpszExtensionDesc[HSE_MAX_EXT_DLL_NAME_LEN];
76b1f169d9fe DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
    48
} HSE_VERSION_INFO, *LPHSE_VERSION_INFO;
76b1f169d9fe DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
    49
typedef	struct _EXTENSION_CONTROL_BLOCK	{
76b1f169d9fe DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
    50
	DWORD	cbSize;
76b1f169d9fe DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
    51
	DWORD	dwVersion;
76b1f169d9fe DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
    52
	HCONN	ConnID;
76b1f169d9fe DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
    53
	DWORD	dwHttpStatusCode;
76b1f169d9fe DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
    54
	CHAR	lpszLogData[HSE_LOG_BUFFER_LEN];
76b1f169d9fe DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
    55
	LPSTR	lpszMethod;
76b1f169d9fe DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
    56
	LPSTR	lpszQueryString;
76b1f169d9fe DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
    57
	LPSTR	lpszPathInfo;
76b1f169d9fe DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
    58
	LPSTR	lpszPathTranslated;
76b1f169d9fe DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
    59
	DWORD	cbTotalBytes;
76b1f169d9fe DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
    60
	DWORD	cbAvailable;
76b1f169d9fe DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
    61
	LPBYTE	lpbData;
76b1f169d9fe DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
    62
	LPSTR	lpszContentType;
76b1f169d9fe DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
    63
	BOOL	(PASCAL	*GetServerVariable)(HCONN,LPSTR,LPVOID,LPDWORD);
76b1f169d9fe DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
    64
	BOOL	(PASCAL	*WriteClient)(HCONN,LPVOID,LPDWORD,DWORD);
76b1f169d9fe DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
    65
	BOOL	(PASCAL	*ReadClient)(HCONN,LPVOID,LPDWORD);
76b1f169d9fe DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
    66
	BOOL	(PASCAL	*ServerSupportFunction)(HCONN,DWORD,LPVOID,LPDWORD,LPDWORD);
76b1f169d9fe DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
    67
} EXTENSION_CONTROL_BLOCK, *LPEXTENSION_CONTROL_BLOCK;
76b1f169d9fe DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
    68
typedef	BOOL	(PASCAL	*PFN_GETEXTENSIONVERSION)(HSE_VERSION_INFO*);
76b1f169d9fe DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
    69
typedef	DWORD	(PASCAL	*PFN_HTTPEXTENSIONPROC)(EXTENSION_CONTROL_BLOCK*);
76b1f169d9fe DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
    70
typedef	BOOL	(PASCAL	*PFN_TERMINATEEXTENSION)(DWORD);
76b1f169d9fe DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
    71
typedef	VOID	(PASCAL	*PFN_HSE_IO_COMPLETION)(EXTENSION_CONTROL_BLOCK*,PVOID,DWORD,DWORD);
76b1f169d9fe DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
    72
typedef struct _HSE_TF_INFO {
76b1f169d9fe DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
    73
	PFN_HSE_IO_COMPLETION pfnHseIO;
76b1f169d9fe DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
    74
	PVOID pContext;
76b1f169d9fe DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
    75
	HANDLE hFile;
76b1f169d9fe DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
    76
	LPCSTR pszStatusCode;
76b1f169d9fe DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
    77
	DWORD BytesToWrite;
76b1f169d9fe DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
    78
	DWORD Offset;
76b1f169d9fe DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
    79
	PVOID pHead;
76b1f169d9fe DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
    80
	DWORD HeadLength;
76b1f169d9fe DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
    81
	PVOID pTail;
76b1f169d9fe DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
    82
	DWORD TailLength;
76b1f169d9fe DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
    83
	DWORD dwFlags;
76b1f169d9fe DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
    84
} HSE_TF_INFO, *LPHSE_TF_INFO;
76b1f169d9fe DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
    85
typedef struct _HSE_SEND_HEADER_EX_INFO {
76b1f169d9fe DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
    86
	LPCSTR pszStatus;
76b1f169d9fe DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
    87
	LPCSTR pszHeader;
76b1f169d9fe DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
    88
	DWORD cchStatus;
76b1f169d9fe DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
    89
	DWORD cchHeader;
76b1f169d9fe DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
    90
	BOOL fKeepConn;
76b1f169d9fe DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
    91
} HSE_SEND_HEADER_EX_INFO, * LPHSE_SEND_HEADER_EX_INF;
76b1f169d9fe DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
    92
BOOL	PASCAL	GetExtensionVersion(HSE_VERSION_INFO*);
76b1f169d9fe DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
    93
DWORD	PASCAL	HttpExtensionProc(EXTENSION_CONTROL_BLOCK*);
76b1f169d9fe DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
    94
BOOL	PASCAL	TerminateExtension(DWORD);
76b1f169d9fe DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
    95
#ifdef __cplusplus
76b1f169d9fe DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
    96
}
76b1f169d9fe DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
    97
#endif
76b1f169d9fe DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
    98
#endif /* _HTTPEXT_H */