File Annotation

Not logged in
4e2933c620 2015-04-21        kinaba: /***********************************************************************\
4e2933c620 2015-04-21        kinaba: *                               httpext.d                               *
4e2933c620 2015-04-21        kinaba: *                                                                       *
4e2933c620 2015-04-21        kinaba: *                       Windows API header module                       *
4e2933c620 2015-04-21        kinaba: *                                                                       *
4e2933c620 2015-04-21        kinaba: *                 Translated from MinGW Windows headers                 *
4e2933c620 2015-04-21        kinaba: *                                                                       *
4e2933c620 2015-04-21        kinaba: *                       Placed into public domain                       *
4e2933c620 2015-04-21        kinaba: \***********************************************************************/
4e2933c620 2015-04-21        kinaba: module win32.httpext;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: /* Comment from MinGW
4e2933c620 2015-04-21        kinaba:        httpext.h - Header for ISAPI extensions.
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba:        This file is part of a free library for the Win32 API.
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba:        This library is distributed in the hope that it will be useful,
4e2933c620 2015-04-21        kinaba:        but WITHOUT ANY WARRANTY; without even the implied warranty of
4e2933c620 2015-04-21        kinaba:        MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
4e2933c620 2015-04-21        kinaba: */
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: private import win32.windows;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: enum {
4e2933c620 2015-04-21        kinaba:     HSE_VERSION_MAJOR               = 2,
4e2933c620 2015-04-21        kinaba:     HSE_VERSION_MINOR               = 0,
4e2933c620 2015-04-21        kinaba:     HSE_LOG_BUFFER_LEN              = 80,
4e2933c620 2015-04-21        kinaba:     HSE_MAX_EXT_DLL_NAME_LEN        = 256,
4e2933c620 2015-04-21        kinaba:     HSE_STATUS_SUCCESS              = 1,
4e2933c620 2015-04-21        kinaba:     HSE_STATUS_SUCCESS_AND_KEEP_CONN,
4e2933c620 2015-04-21        kinaba:     HSE_STATUS_PENDING,
4e2933c620 2015-04-21        kinaba:     HSE_STATUS_ERROR,
4e2933c620 2015-04-21        kinaba:     HSE_REQ_BASE                    = 0,
4e2933c620 2015-04-21        kinaba:     HSE_REQ_SEND_URL_REDIRECT_RESP,
4e2933c620 2015-04-21        kinaba:     HSE_REQ_SEND_URL,
4e2933c620 2015-04-21        kinaba:     HSE_REQ_SEND_RESPONSE_HEADER,
4e2933c620 2015-04-21        kinaba:     HSE_REQ_DONE_WITH_SESSION,
4e2933c620 2015-04-21        kinaba:     HSE_REQ_SEND_RESPONSE_HEADER_EX = 1016,
4e2933c620 2015-04-21        kinaba:     HSE_REQ_END_RESERVED            = 1000,
4e2933c620 2015-04-21        kinaba:     HSE_TERM_ADVISORY_UNLOAD        = 0x00000001,
4e2933c620 2015-04-21        kinaba:     HSE_TERM_MUST_UNLOAD,
4e2933c620 2015-04-21        kinaba:     HSE_IO_SYNC                     = 0x00000001,
4e2933c620 2015-04-21        kinaba:     HSE_IO_ASYNC,
4e2933c620 2015-04-21        kinaba:     HSE_IO_DISCONNECT_AFTER_SEND    = 0x00000004,
4e2933c620 2015-04-21        kinaba:     HSE_IO_SEND_HEADERS             = 0x00000008
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: alias HANDLE HCONN;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct HSE_VERSION_INFO {
4e2933c620 2015-04-21        kinaba: 	DWORD dwExtensionVersion;
4e2933c620 2015-04-21        kinaba: 	CHAR[HSE_MAX_EXT_DLL_NAME_LEN] lpszExtensionDesc;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias HSE_VERSION_INFO* LPHSE_VERSION_INFO;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct EXTENSION_CONTROL_BLOCK {
4e2933c620 2015-04-21        kinaba: 	DWORD  cbSize = EXTENSION_CONTROL_BLOCK.sizeof;
4e2933c620 2015-04-21        kinaba: 	DWORD  dwVersion;
4e2933c620 2015-04-21        kinaba: 	HCONN  ConnID;
4e2933c620 2015-04-21        kinaba: 	DWORD  dwHttpStatusCode;
4e2933c620 2015-04-21        kinaba: 	CHAR[HSE_LOG_BUFFER_LEN] lpszLogData;
4e2933c620 2015-04-21        kinaba: 	LPSTR  lpszMethod;
4e2933c620 2015-04-21        kinaba: 	LPSTR  lpszQueryString;
4e2933c620 2015-04-21        kinaba: 	LPSTR  lpszPathInfo;
4e2933c620 2015-04-21        kinaba: 	LPSTR  lpszPathTranslated;
4e2933c620 2015-04-21        kinaba: 	DWORD  cbTotalBytes;
4e2933c620 2015-04-21        kinaba: 	DWORD  cbAvailable;
4e2933c620 2015-04-21        kinaba: 	LPBYTE lpbData;
4e2933c620 2015-04-21        kinaba: 	LPSTR  lpszContentType;
4e2933c620 2015-04-21        kinaba: 	extern(Pascal) BOOL function(HCONN, LPSTR, LPVOID, LPDWORD)
4e2933c620 2015-04-21        kinaba: 	  GetServerVariable;
4e2933c620 2015-04-21        kinaba: 	extern(Pascal) BOOL function(HCONN, LPVOID, LPDWORD, DWORD) WriteClient;
4e2933c620 2015-04-21        kinaba: 	extern(Pascal) BOOL function(HCONN, LPVOID, LPDWORD) ReadClient;
4e2933c620 2015-04-21        kinaba: 	extern(Pascal) BOOL function(HCONN, DWORD, LPVOID, LPDWORD, LPDWORD)
4e2933c620 2015-04-21        kinaba: 	  ServerSupportFunction;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias EXTENSION_CONTROL_BLOCK* LPEXTENSION_CONTROL_BLOCK;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: extern (Pascal) {
4e2933c620 2015-04-21        kinaba: 	alias BOOL function(HSE_VERSION_INFO*) PFN_GETEXTENSIONVERSION;
4e2933c620 2015-04-21        kinaba: 	alias DWORD function(EXTENSION_CONTROL_BLOCK*) PFN_HTTPEXTENSIONPROC;
4e2933c620 2015-04-21        kinaba: 	alias BOOL function(DWORD) PFN_TERMINATEEXTENSION;
4e2933c620 2015-04-21        kinaba: 	alias VOID function(EXTENSION_CONTROL_BLOCK*, PVOID, DWORD, DWORD) PFN_HSE_IO_COMPLETION;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct HSE_TF_INFO {
4e2933c620 2015-04-21        kinaba: 	PFN_HSE_IO_COMPLETION pfnHseIO;
4e2933c620 2015-04-21        kinaba: 	PVOID  pContext;
4e2933c620 2015-04-21        kinaba: 	HANDLE hFile;
4e2933c620 2015-04-21        kinaba: 	LPCSTR pszStatusCode;
4e2933c620 2015-04-21        kinaba: 	DWORD  BytesToWrite;
4e2933c620 2015-04-21        kinaba: 	DWORD  Offset;
4e2933c620 2015-04-21        kinaba: 	PVOID  pHead;
4e2933c620 2015-04-21        kinaba: 	DWORD  HeadLength;
4e2933c620 2015-04-21        kinaba: 	PVOID  pTail;
4e2933c620 2015-04-21        kinaba: 	DWORD  TailLength;
4e2933c620 2015-04-21        kinaba: 	DWORD  dwFlags;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias HSE_TF_INFO* LPHSE_TF_INFO;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct HSE_SEND_HEADER_EX_INFO {
4e2933c620 2015-04-21        kinaba: 	LPCSTR pszStatus;
4e2933c620 2015-04-21        kinaba: 	LPCSTR pszHeader;
4e2933c620 2015-04-21        kinaba: 	DWORD  cchStatus;
4e2933c620 2015-04-21        kinaba: 	DWORD  cchHeader;
4e2933c620 2015-04-21        kinaba: 	BOOL   fKeepConn;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias HSE_SEND_HEADER_EX_INFO* LPHSE_SEND_HEADER_EX_INF;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: extern (Pascal) {
4e2933c620 2015-04-21        kinaba: 	BOOL GetExtensionVersion(HSE_VERSION_INFO*);
4e2933c620 2015-04-21        kinaba: 	DWORD HttpExtensionProc(EXTENSION_CONTROL_BLOCK*);
4e2933c620 2015-04-21        kinaba: 	BOOL TerminateExtension(DWORD);
4e2933c620 2015-04-21        kinaba: }