Mercurial > projects > ddbg_continued
diff win32/httpext.d @ 1:4a9dcbd9e54f
-files of 0.13 beta
-fixes so that it now compiles with the current dmd version
author | marton@basel.hu |
---|---|
date | Tue, 05 Apr 2011 20:44:01 +0200 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/win32/httpext.d Tue Apr 05 20:44:01 2011 +0200 @@ -0,0 +1,114 @@ +/***********************************************************************\ +* httpext.d * +* * +* Windows API header module * +* * +* Translated from MinGW Windows headers * +* * +* Placed into public domain * +\***********************************************************************/ +module win32.httpext; + +/* Comment from MinGW + 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. +*/ + +private import win32.windows; + +enum { + HSE_VERSION_MAJOR = 2, + HSE_VERSION_MINOR = 0, + HSE_LOG_BUFFER_LEN = 80, + HSE_MAX_EXT_DLL_NAME_LEN = 256, + HSE_STATUS_SUCCESS = 1, + HSE_STATUS_SUCCESS_AND_KEEP_CONN, + HSE_STATUS_PENDING, + HSE_STATUS_ERROR, + HSE_REQ_BASE = 0, + HSE_REQ_SEND_URL_REDIRECT_RESP, + HSE_REQ_SEND_URL, + HSE_REQ_SEND_RESPONSE_HEADER, + HSE_REQ_DONE_WITH_SESSION, + HSE_REQ_SEND_RESPONSE_HEADER_EX = 1016, + HSE_REQ_END_RESERVED = 1000, + HSE_TERM_ADVISORY_UNLOAD = 0x00000001, + HSE_TERM_MUST_UNLOAD, + HSE_IO_SYNC = 0x00000001, + HSE_IO_ASYNC, + HSE_IO_DISCONNECT_AFTER_SEND = 0x00000004, + HSE_IO_SEND_HEADERS = 0x00000008 +} + +alias HANDLE HCONN; + +struct HSE_VERSION_INFO { + DWORD dwExtensionVersion; + CHAR[HSE_MAX_EXT_DLL_NAME_LEN] lpszExtensionDesc; +} +alias HSE_VERSION_INFO* LPHSE_VERSION_INFO; + +struct EXTENSION_CONTROL_BLOCK { + DWORD cbSize = EXTENSION_CONTROL_BLOCK.sizeof; + DWORD dwVersion; + HCONN ConnID; + DWORD dwHttpStatusCode; + CHAR[HSE_LOG_BUFFER_LEN] lpszLogData; + LPSTR lpszMethod; + LPSTR lpszQueryString; + LPSTR lpszPathInfo; + LPSTR lpszPathTranslated; + DWORD cbTotalBytes; + DWORD cbAvailable; + LPBYTE lpbData; + LPSTR lpszContentType; + extern(Pascal) BOOL function(HCONN, LPSTR, LPVOID, LPDWORD) + GetServerVariable; + extern(Pascal) BOOL function(HCONN, LPVOID, LPDWORD, DWORD) WriteClient; + extern(Pascal) BOOL function(HCONN, LPVOID, LPDWORD) ReadClient; + extern(Pascal) BOOL function(HCONN, DWORD, LPVOID, LPDWORD, LPDWORD) + ServerSupportFunction; +} +alias EXTENSION_CONTROL_BLOCK* LPEXTENSION_CONTROL_BLOCK; + +extern (Pascal) { + alias BOOL function(HSE_VERSION_INFO*) PFN_GETEXTENSIONVERSION; + alias DWORD function(EXTENSION_CONTROL_BLOCK*) PFN_HTTPEXTENSIONPROC; + alias BOOL function(DWORD) PFN_TERMINATEEXTENSION; + alias VOID function(EXTENSION_CONTROL_BLOCK*, PVOID, DWORD, DWORD) PFN_HSE_IO_COMPLETION; +} + +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; +} +alias HSE_TF_INFO* LPHSE_TF_INFO; + +struct HSE_SEND_HEADER_EX_INFO { + LPCSTR pszStatus; + LPCSTR pszHeader; + DWORD cchStatus; + DWORD cchHeader; + BOOL fKeepConn; +} +alias HSE_SEND_HEADER_EX_INFO* LPHSE_SEND_HEADER_EX_INF; + +extern (Pascal) { + BOOL GetExtensionVersion(HSE_VERSION_INFO*); + DWORD HttpExtensionProc(EXTENSION_CONTROL_BLOCK*); + BOOL TerminateExtension(DWORD); +}