Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'winsup/w32api/include/httpext.h')
-rw-r--r--winsup/w32api/include/httpext.h87
1 files changed, 87 insertions, 0 deletions
diff --git a/winsup/w32api/include/httpext.h b/winsup/w32api/include/httpext.h
new file mode 100644
index 000000000..4b6f9e282
--- /dev/null
+++ b/winsup/w32api/include/httpext.h
@@ -0,0 +1,87 @@
+/*
+ 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
+
+#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 */