xref: /reactos/sdk/include/psdk/http.h (revision c2c66aff)
1 /*
2  * HTTP Server API definitions
3  *
4  * Copyright (C) 2009 Andrey Turkin
5  *
6  * This library is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU Lesser General Public
8  * License as published by the Free Software Foundation; either
9  * version 2.1 of the License, or (at your option) any later version.
10  *
11  * This library is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14  * Lesser General Public License for more details.
15  *
16  * You should have received a copy of the GNU Lesser General Public
17  * License along with this library; if not, write to the Free Software
18  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
19  */
20 
21 #ifndef __WINE_HTTP_H
22 #define __WINE_HTTP_H
23 
24 #include <winsock2.h>
25 #include <ws2tcpip.h>
26 
27 #ifdef __cplusplus
28 extern "C" {
29 #endif
30 
31 typedef struct _HTTPAPI_VERSION
32 {
33     USHORT HttpApiMajorVersion;
34     USHORT HttpApiMinorVersion;
35 } HTTPAPI_VERSION, *PHTTPAPI_VERSION;
36 
37 #define HTTPAPI_VERSION_1 {1,0}
38 #define HTTPAPI_VERSION_2 {2,0}
39 
40 /* HttpInitialize and HttpTerminate flags */
41 #define HTTP_INITIALIZE_SERVER 0x00000001
42 #define HTTP_INITIALIZE_CONFIG 0x00000002
43 
44 typedef enum _HTTP_SERVICE_CONFIG_ID
45 {
46     HttpServiceConfigIPListenList,
47     HttpServiceConfigSSLCertInfo,
48     HttpServiceConfigUrlAclInfo,
49     HttpServiceConfigTimeout,
50     HttpServiceConfigMax
51 } HTTP_SERVICE_CONFIG_ID, *PHTTP_SERVICE_CONFIG_ID;
52 
53 typedef ULONGLONG HTTP_OPAQUE_ID, *PHTTP_OPAQUE_ID;
54 typedef HTTP_OPAQUE_ID HTTP_SERVER_SESSION_ID, *PHTTP_SERVER_SESSION_ID;
55 
56 ULONG WINAPI HttpInitialize(HTTPAPI_VERSION,ULONG,PVOID);
57 ULONG WINAPI HttpTerminate(ULONG,PVOID);
58 
59 ULONG WINAPI HttpAddUrl(HANDLE,PCWSTR,PVOID);
60 ULONG WINAPI HttpCreateHttpHandle(PHANDLE,ULONG);
61 ULONG WINAPI HttpCreateServerSession(HTTPAPI_VERSION,PHTTP_SERVER_SESSION_ID,ULONG);
62 ULONG WINAPI HttpDeleteServiceConfiguration(HANDLE,HTTP_SERVICE_CONFIG_ID,PVOID,ULONG,LPOVERLAPPED);
63 ULONG WINAPI HttpQueryServiceConfiguration(HANDLE,HTTP_SERVICE_CONFIG_ID,PVOID,ULONG,PVOID,ULONG,PULONG,LPOVERLAPPED);
64 ULONG WINAPI HttpSetServiceConfiguration(HANDLE,HTTP_SERVICE_CONFIG_ID,PVOID,ULONG,LPOVERLAPPED);
65 
66 #ifdef __cplusplus
67 }
68 #endif
69 
70 #endif  /* __WINE_HTTP_H */
71