]> git.proxmox.com Git - rustc.git/blame - vendor/windows-sys/src/Windows/Win32/Networking/HttpServer/mod.rs
New upstream version 1.63.0+dfsg1
[rustc.git] / vendor / windows-sys / src / Windows / Win32 / Networking / HttpServer / mod.rs
CommitLineData
5e7ed085
FG
1#[link(name = "windows")]
2extern "system" {
04454e1e 3 #[doc = "*Required features: `\"Win32_Networking_HttpServer\"`, `\"Win32_Foundation\"`, `\"Win32_System_IO\"`*"]
5e7ed085 4 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_IO"))]
04454e1e
FG
5 pub fn HttpAddFragmentToCache(requestqueuehandle: super::super::Foundation::HANDLE, urlprefix: ::windows_sys::core::PCWSTR, datachunk: *mut HTTP_DATA_CHUNK, cachepolicy: *mut HTTP_CACHE_POLICY, overlapped: *mut super::super::System::IO::OVERLAPPED) -> u32;
6 #[doc = "*Required features: `\"Win32_Networking_HttpServer\"`, `\"Win32_Foundation\"`*"]
5e7ed085 7 #[cfg(feature = "Win32_Foundation")]
04454e1e
FG
8 pub fn HttpAddUrl(requestqueuehandle: super::super::Foundation::HANDLE, fullyqualifiedurl: ::windows_sys::core::PCWSTR, reserved: *mut ::core::ffi::c_void) -> u32;
9 #[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
10 pub fn HttpAddUrlToUrlGroup(urlgroupid: u64, pfullyqualifiedurl: ::windows_sys::core::PCWSTR, urlcontext: u64, reserved: u32) -> u32;
11 #[doc = "*Required features: `\"Win32_Networking_HttpServer\"`, `\"Win32_Foundation\"`, `\"Win32_System_IO\"`*"]
5e7ed085
FG
12 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_IO"))]
13 pub fn HttpCancelHttpRequest(requestqueuehandle: super::super::Foundation::HANDLE, requestid: u64, overlapped: *mut super::super::System::IO::OVERLAPPED) -> u32;
04454e1e 14 #[doc = "*Required features: `\"Win32_Networking_HttpServer\"`, `\"Win32_Foundation\"`*"]
5e7ed085
FG
15 #[cfg(feature = "Win32_Foundation")]
16 pub fn HttpCloseRequestQueue(requestqueuehandle: super::super::Foundation::HANDLE) -> u32;
04454e1e 17 #[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 18 pub fn HttpCloseServerSession(serversessionid: u64) -> u32;
04454e1e 19 #[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 20 pub fn HttpCloseUrlGroup(urlgroupid: u64) -> u32;
04454e1e 21 #[doc = "*Required features: `\"Win32_Networking_HttpServer\"`, `\"Win32_Foundation\"`*"]
5e7ed085
FG
22 #[cfg(feature = "Win32_Foundation")]
23 pub fn HttpCreateHttpHandle(requestqueuehandle: *mut super::super::Foundation::HANDLE, reserved: u32) -> u32;
04454e1e 24 #[doc = "*Required features: `\"Win32_Networking_HttpServer\"`, `\"Win32_Foundation\"`, `\"Win32_Security\"`*"]
5e7ed085 25 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
04454e1e
FG
26 pub fn HttpCreateRequestQueue(version: HTTPAPI_VERSION, name: ::windows_sys::core::PCWSTR, securityattributes: *mut super::super::Security::SECURITY_ATTRIBUTES, flags: u32, requestqueuehandle: *mut super::super::Foundation::HANDLE) -> u32;
27 #[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 28 pub fn HttpCreateServerSession(version: HTTPAPI_VERSION, serversessionid: *mut u64, reserved: u32) -> u32;
04454e1e 29 #[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 30 pub fn HttpCreateUrlGroup(serversessionid: u64, purlgroupid: *mut u64, reserved: u32) -> u32;
04454e1e 31 #[doc = "*Required features: `\"Win32_Networking_HttpServer\"`, `\"Win32_Foundation\"`*"]
5e7ed085 32 #[cfg(feature = "Win32_Foundation")]
04454e1e
FG
33 pub fn HttpDeclarePush(requestqueuehandle: super::super::Foundation::HANDLE, requestid: u64, verb: HTTP_VERB, path: ::windows_sys::core::PCWSTR, query: ::windows_sys::core::PCSTR, headers: *const HTTP_REQUEST_HEADERS) -> u32;
34 #[doc = "*Required features: `\"Win32_Networking_HttpServer\"`, `\"Win32_Foundation\"`*"]
5e7ed085
FG
35 #[cfg(feature = "Win32_Foundation")]
36 pub fn HttpDelegateRequestEx(requestqueuehandle: super::super::Foundation::HANDLE, delegatequeuehandle: super::super::Foundation::HANDLE, requestid: u64, delegateurlgroupid: u64, propertyinfosetsize: u32, propertyinfoset: *const HTTP_DELEGATE_REQUEST_PROPERTY_INFO) -> u32;
04454e1e 37 #[doc = "*Required features: `\"Win32_Networking_HttpServer\"`, `\"Win32_Foundation\"`, `\"Win32_System_IO\"`*"]
5e7ed085
FG
38 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_IO"))]
39 pub fn HttpDeleteServiceConfiguration(servicehandle: super::super::Foundation::HANDLE, configid: HTTP_SERVICE_CONFIG_ID, pconfiginformation: *const ::core::ffi::c_void, configinformationlength: u32, poverlapped: *mut super::super::System::IO::OVERLAPPED) -> u32;
04454e1e 40 #[doc = "*Required features: `\"Win32_Networking_HttpServer\"`, `\"Win32_Foundation\"`*"]
5e7ed085 41 #[cfg(feature = "Win32_Foundation")]
04454e1e
FG
42 pub fn HttpFindUrlGroupId(fullyqualifiedurl: ::windows_sys::core::PCWSTR, requestqueuehandle: super::super::Foundation::HANDLE, urlgroupid: *mut u64) -> u32;
43 #[doc = "*Required features: `\"Win32_Networking_HttpServer\"`, `\"Win32_Foundation\"`, `\"Win32_System_IO\"`*"]
5e7ed085 44 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_IO"))]
04454e1e
FG
45 pub fn HttpFlushResponseCache(requestqueuehandle: super::super::Foundation::HANDLE, urlprefix: ::windows_sys::core::PCWSTR, flags: u32, overlapped: *mut super::super::System::IO::OVERLAPPED) -> u32;
46 #[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 47 pub fn HttpGetExtension(version: HTTPAPI_VERSION, extension: u32, buffer: *mut ::core::ffi::c_void, buffersize: u32) -> u32;
04454e1e 48 #[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 49 pub fn HttpInitialize(version: HTTPAPI_VERSION, flags: HTTP_INITIALIZE, preserved: *mut ::core::ffi::c_void) -> u32;
04454e1e 50 #[doc = "*Required features: `\"Win32_Networking_HttpServer\"`, `\"Win32_Foundation\"`*"]
5e7ed085
FG
51 #[cfg(feature = "Win32_Foundation")]
52 pub fn HttpIsFeatureSupported(featureid: HTTP_FEATURE_ID) -> super::super::Foundation::BOOL;
04454e1e
FG
53 #[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
54 pub fn HttpPrepareUrl(reserved: *mut ::core::ffi::c_void, flags: u32, url: ::windows_sys::core::PCWSTR, preparedurl: *mut ::windows_sys::core::PWSTR) -> u32;
55 #[doc = "*Required features: `\"Win32_Networking_HttpServer\"`, `\"Win32_Foundation\"`*"]
5e7ed085
FG
56 #[cfg(feature = "Win32_Foundation")]
57 pub fn HttpQueryRequestQueueProperty(requestqueuehandle: super::super::Foundation::HANDLE, property: HTTP_SERVER_PROPERTY, propertyinformation: *mut ::core::ffi::c_void, propertyinformationlength: u32, reserved1: u32, returnlength: *mut u32, reserved2: *mut ::core::ffi::c_void) -> u32;
04454e1e 58 #[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 59 pub fn HttpQueryServerSessionProperty(serversessionid: u64, property: HTTP_SERVER_PROPERTY, propertyinformation: *mut ::core::ffi::c_void, propertyinformationlength: u32, returnlength: *mut u32) -> u32;
04454e1e 60 #[doc = "*Required features: `\"Win32_Networking_HttpServer\"`, `\"Win32_Foundation\"`, `\"Win32_System_IO\"`*"]
5e7ed085
FG
61 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_IO"))]
62 pub fn HttpQueryServiceConfiguration(servicehandle: super::super::Foundation::HANDLE, configid: HTTP_SERVICE_CONFIG_ID, pinput: *const ::core::ffi::c_void, inputlength: u32, poutput: *mut ::core::ffi::c_void, outputlength: u32, preturnlength: *mut u32, poverlapped: *mut super::super::System::IO::OVERLAPPED) -> u32;
04454e1e 63 #[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 64 pub fn HttpQueryUrlGroupProperty(urlgroupid: u64, property: HTTP_SERVER_PROPERTY, propertyinformation: *mut ::core::ffi::c_void, propertyinformationlength: u32, returnlength: *mut u32) -> u32;
04454e1e 65 #[doc = "*Required features: `\"Win32_Networking_HttpServer\"`, `\"Win32_Foundation\"`, `\"Win32_System_IO\"`*"]
5e7ed085 66 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_IO"))]
04454e1e
FG
67 pub fn HttpReadFragmentFromCache(requestqueuehandle: super::super::Foundation::HANDLE, urlprefix: ::windows_sys::core::PCWSTR, byterange: *mut HTTP_BYTE_RANGE, buffer: *mut ::core::ffi::c_void, bufferlength: u32, bytesread: *mut u32, overlapped: *mut super::super::System::IO::OVERLAPPED) -> u32;
68 #[doc = "*Required features: `\"Win32_Networking_HttpServer\"`, `\"Win32_Foundation\"`, `\"Win32_System_IO\"`*"]
5e7ed085
FG
69 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_IO"))]
70 pub fn HttpReceiveClientCertificate(requestqueuehandle: super::super::Foundation::HANDLE, connectionid: u64, flags: u32, sslclientcertinfo: *mut HTTP_SSL_CLIENT_CERT_INFO, sslclientcertinfosize: u32, bytesreceived: *mut u32, overlapped: *mut super::super::System::IO::OVERLAPPED) -> u32;
04454e1e 71 #[doc = "*Required features: `\"Win32_Networking_HttpServer\"`, `\"Win32_Foundation\"`, `\"Win32_Networking_WinSock\"`, `\"Win32_System_IO\"`*"]
5e7ed085
FG
72 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Networking_WinSock", feature = "Win32_System_IO"))]
73 pub fn HttpReceiveHttpRequest(requestqueuehandle: super::super::Foundation::HANDLE, requestid: u64, flags: HTTP_RECEIVE_HTTP_REQUEST_FLAGS, requestbuffer: *mut HTTP_REQUEST_V2, requestbufferlength: u32, bytesreturned: *mut u32, overlapped: *mut super::super::System::IO::OVERLAPPED) -> u32;
04454e1e 74 #[doc = "*Required features: `\"Win32_Networking_HttpServer\"`, `\"Win32_Foundation\"`, `\"Win32_System_IO\"`*"]
5e7ed085
FG
75 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_IO"))]
76 pub fn HttpReceiveRequestEntityBody(requestqueuehandle: super::super::Foundation::HANDLE, requestid: u64, flags: u32, entitybuffer: *mut ::core::ffi::c_void, entitybufferlength: u32, bytesreturned: *mut u32, overlapped: *mut super::super::System::IO::OVERLAPPED) -> u32;
04454e1e 77 #[doc = "*Required features: `\"Win32_Networking_HttpServer\"`, `\"Win32_Foundation\"`*"]
5e7ed085 78 #[cfg(feature = "Win32_Foundation")]
04454e1e
FG
79 pub fn HttpRemoveUrl(requestqueuehandle: super::super::Foundation::HANDLE, fullyqualifiedurl: ::windows_sys::core::PCWSTR) -> u32;
80 #[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
81 pub fn HttpRemoveUrlFromUrlGroup(urlgroupid: u64, pfullyqualifiedurl: ::windows_sys::core::PCWSTR, flags: u32) -> u32;
82 #[doc = "*Required features: `\"Win32_Networking_HttpServer\"`, `\"Win32_Foundation\"`, `\"Win32_System_IO\"`*"]
5e7ed085
FG
83 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_IO"))]
84 pub fn HttpSendHttpResponse(requestqueuehandle: super::super::Foundation::HANDLE, requestid: u64, flags: u32, httpresponse: *mut HTTP_RESPONSE_V2, cachepolicy: *mut HTTP_CACHE_POLICY, bytessent: *mut u32, reserved1: *mut ::core::ffi::c_void, reserved2: u32, overlapped: *mut super::super::System::IO::OVERLAPPED, logdata: *mut HTTP_LOG_DATA) -> u32;
04454e1e 85 #[doc = "*Required features: `\"Win32_Networking_HttpServer\"`, `\"Win32_Foundation\"`, `\"Win32_System_IO\"`*"]
5e7ed085
FG
86 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_IO"))]
87 pub fn HttpSendResponseEntityBody(requestqueuehandle: super::super::Foundation::HANDLE, requestid: u64, flags: u32, entitychunkcount: u16, entitychunks: *const HTTP_DATA_CHUNK, bytessent: *mut u32, reserved1: *mut ::core::ffi::c_void, reserved2: u32, overlapped: *mut super::super::System::IO::OVERLAPPED, logdata: *mut HTTP_LOG_DATA) -> u32;
04454e1e 88 #[doc = "*Required features: `\"Win32_Networking_HttpServer\"`, `\"Win32_Foundation\"`, `\"Win32_System_IO\"`*"]
5e7ed085
FG
89 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_IO"))]
90 pub fn HttpSetRequestProperty(requestqueuehandle: super::super::Foundation::HANDLE, id: u64, propertyid: HTTP_REQUEST_PROPERTY, input: *const ::core::ffi::c_void, inputpropertysize: u32, overlapped: *const super::super::System::IO::OVERLAPPED) -> u32;
04454e1e 91 #[doc = "*Required features: `\"Win32_Networking_HttpServer\"`, `\"Win32_Foundation\"`*"]
5e7ed085
FG
92 #[cfg(feature = "Win32_Foundation")]
93 pub fn HttpSetRequestQueueProperty(requestqueuehandle: super::super::Foundation::HANDLE, property: HTTP_SERVER_PROPERTY, propertyinformation: *const ::core::ffi::c_void, propertyinformationlength: u32, reserved1: u32, reserved2: *mut ::core::ffi::c_void) -> u32;
04454e1e 94 #[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 95 pub fn HttpSetServerSessionProperty(serversessionid: u64, property: HTTP_SERVER_PROPERTY, propertyinformation: *const ::core::ffi::c_void, propertyinformationlength: u32) -> u32;
04454e1e 96 #[doc = "*Required features: `\"Win32_Networking_HttpServer\"`, `\"Win32_Foundation\"`, `\"Win32_System_IO\"`*"]
5e7ed085
FG
97 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_IO"))]
98 pub fn HttpSetServiceConfiguration(servicehandle: super::super::Foundation::HANDLE, configid: HTTP_SERVICE_CONFIG_ID, pconfiginformation: *const ::core::ffi::c_void, configinformationlength: u32, poverlapped: *mut super::super::System::IO::OVERLAPPED) -> u32;
04454e1e 99 #[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 100 pub fn HttpSetUrlGroupProperty(urlgroupid: u64, property: HTTP_SERVER_PROPERTY, propertyinformation: *const ::core::ffi::c_void, propertyinformationlength: u32) -> u32;
04454e1e 101 #[doc = "*Required features: `\"Win32_Networking_HttpServer\"`, `\"Win32_Foundation\"`*"]
5e7ed085
FG
102 #[cfg(feature = "Win32_Foundation")]
103 pub fn HttpShutdownRequestQueue(requestqueuehandle: super::super::Foundation::HANDLE) -> u32;
04454e1e 104 #[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 105 pub fn HttpTerminate(flags: HTTP_INITIALIZE, preserved: *mut ::core::ffi::c_void) -> u32;
04454e1e 106 #[doc = "*Required features: `\"Win32_Networking_HttpServer\"`, `\"Win32_Foundation\"`, `\"Win32_System_IO\"`*"]
5e7ed085
FG
107 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_IO"))]
108 pub fn HttpUpdateServiceConfiguration(handle: super::super::Foundation::HANDLE, configid: HTTP_SERVICE_CONFIG_ID, configinfo: *const ::core::ffi::c_void, configinfolength: u32, overlapped: *mut super::super::System::IO::OVERLAPPED) -> u32;
04454e1e 109 #[doc = "*Required features: `\"Win32_Networking_HttpServer\"`, `\"Win32_Foundation\"`, `\"Win32_System_IO\"`*"]
5e7ed085
FG
110 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_IO"))]
111 pub fn HttpWaitForDemandStart(requestqueuehandle: super::super::Foundation::HANDLE, overlapped: *mut super::super::System::IO::OVERLAPPED) -> u32;
04454e1e 112 #[doc = "*Required features: `\"Win32_Networking_HttpServer\"`, `\"Win32_Foundation\"`, `\"Win32_System_IO\"`*"]
5e7ed085
FG
113 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_IO"))]
114 pub fn HttpWaitForDisconnect(requestqueuehandle: super::super::Foundation::HANDLE, connectionid: u64, overlapped: *mut super::super::System::IO::OVERLAPPED) -> u32;
04454e1e 115 #[doc = "*Required features: `\"Win32_Networking_HttpServer\"`, `\"Win32_Foundation\"`, `\"Win32_System_IO\"`*"]
5e7ed085
FG
116 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_IO"))]
117 pub fn HttpWaitForDisconnectEx(requestqueuehandle: super::super::Foundation::HANDLE, connectionid: u64, reserved: u32, overlapped: *mut super::super::System::IO::OVERLAPPED) -> u32;
118}
119#[repr(C)]
04454e1e 120#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085
FG
121pub struct HTTP2_SETTINGS_LIMITS_PARAM {
122 pub Http2MaxSettingsPerFrame: u32,
123 pub Http2MaxSettingsPerMinute: u32,
124}
125impl ::core::marker::Copy for HTTP2_SETTINGS_LIMITS_PARAM {}
126impl ::core::clone::Clone for HTTP2_SETTINGS_LIMITS_PARAM {
127 fn clone(&self) -> Self {
128 *self
129 }
130}
131#[repr(C)]
04454e1e 132#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085
FG
133pub struct HTTP2_WINDOW_SIZE_PARAM {
134 pub Http2ReceiveWindowSize: u32,
135}
136impl ::core::marker::Copy for HTTP2_WINDOW_SIZE_PARAM {}
137impl ::core::clone::Clone for HTTP2_WINDOW_SIZE_PARAM {
138 fn clone(&self) -> Self {
139 *self
140 }
141}
142#[repr(C)]
04454e1e 143#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085
FG
144pub struct HTTPAPI_VERSION {
145 pub HttpApiMajorVersion: u16,
146 pub HttpApiMinorVersion: u16,
147}
148impl ::core::marker::Copy for HTTPAPI_VERSION {}
149impl ::core::clone::Clone for HTTPAPI_VERSION {
150 fn clone(&self) -> Self {
151 *self
152 }
153}
04454e1e 154#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 155pub type HTTP_503_RESPONSE_VERBOSITY = i32;
04454e1e 156#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 157pub const Http503ResponseVerbosityBasic: HTTP_503_RESPONSE_VERBOSITY = 0i32;
04454e1e 158#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 159pub const Http503ResponseVerbosityLimited: HTTP_503_RESPONSE_VERBOSITY = 1i32;
04454e1e 160#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 161pub const Http503ResponseVerbosityFull: HTTP_503_RESPONSE_VERBOSITY = 2i32;
04454e1e 162#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 163pub type HTTP_AUTHENTICATION_HARDENING_LEVELS = i32;
04454e1e 164#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 165pub const HttpAuthenticationHardeningLegacy: HTTP_AUTHENTICATION_HARDENING_LEVELS = 0i32;
04454e1e 166#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 167pub const HttpAuthenticationHardeningMedium: HTTP_AUTHENTICATION_HARDENING_LEVELS = 1i32;
04454e1e 168#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 169pub const HttpAuthenticationHardeningStrict: HTTP_AUTHENTICATION_HARDENING_LEVELS = 2i32;
04454e1e 170#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 171pub const HTTP_AUTH_ENABLE_BASIC: u32 = 1u32;
04454e1e 172#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 173pub const HTTP_AUTH_ENABLE_DIGEST: u32 = 2u32;
04454e1e 174#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 175pub const HTTP_AUTH_ENABLE_KERBEROS: u32 = 16u32;
04454e1e 176#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 177pub const HTTP_AUTH_ENABLE_NEGOTIATE: u32 = 8u32;
04454e1e 178#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 179pub const HTTP_AUTH_ENABLE_NTLM: u32 = 4u32;
04454e1e 180#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 181pub const HTTP_AUTH_EX_FLAG_CAPTURE_CREDENTIAL: u32 = 2u32;
04454e1e 182#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 183pub const HTTP_AUTH_EX_FLAG_ENABLE_KERBEROS_CREDENTIAL_CACHING: u32 = 1u32;
04454e1e 184#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 185pub type HTTP_AUTH_STATUS = i32;
04454e1e 186#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 187pub const HttpAuthStatusSuccess: HTTP_AUTH_STATUS = 0i32;
04454e1e 188#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 189pub const HttpAuthStatusNotAuthenticated: HTTP_AUTH_STATUS = 1i32;
04454e1e 190#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085
FG
191pub const HttpAuthStatusFailure: HTTP_AUTH_STATUS = 2i32;
192#[repr(C)]
04454e1e 193#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085
FG
194pub struct HTTP_BANDWIDTH_LIMIT_INFO {
195 pub Flags: HTTP_PROPERTY_FLAGS,
196 pub MaxBandwidth: u32,
197}
198impl ::core::marker::Copy for HTTP_BANDWIDTH_LIMIT_INFO {}
199impl ::core::clone::Clone for HTTP_BANDWIDTH_LIMIT_INFO {
200 fn clone(&self) -> Self {
201 *self
202 }
203}
204#[repr(C)]
04454e1e 205#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`, `\"Win32_Foundation\"`*"]
5e7ed085
FG
206#[cfg(feature = "Win32_Foundation")]
207pub struct HTTP_BINDING_INFO {
208 pub Flags: HTTP_PROPERTY_FLAGS,
209 pub RequestQueueHandle: super::super::Foundation::HANDLE,
210}
211#[cfg(feature = "Win32_Foundation")]
212impl ::core::marker::Copy for HTTP_BINDING_INFO {}
213#[cfg(feature = "Win32_Foundation")]
214impl ::core::clone::Clone for HTTP_BINDING_INFO {
215 fn clone(&self) -> Self {
216 *self
217 }
218}
219#[repr(C)]
04454e1e 220#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085
FG
221pub struct HTTP_BYTE_RANGE {
222 pub StartingOffset: u64,
223 pub Length: u64,
224}
225impl ::core::marker::Copy for HTTP_BYTE_RANGE {}
226impl ::core::clone::Clone for HTTP_BYTE_RANGE {
227 fn clone(&self) -> Self {
228 *self
229 }
230}
231#[repr(C)]
04454e1e 232#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085
FG
233pub struct HTTP_CACHE_POLICY {
234 pub Policy: HTTP_CACHE_POLICY_TYPE,
235 pub SecondsToLive: u32,
236}
237impl ::core::marker::Copy for HTTP_CACHE_POLICY {}
238impl ::core::clone::Clone for HTTP_CACHE_POLICY {
239 fn clone(&self) -> Self {
240 *self
241 }
242}
04454e1e 243#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 244pub type HTTP_CACHE_POLICY_TYPE = i32;
04454e1e 245#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 246pub const HttpCachePolicyNocache: HTTP_CACHE_POLICY_TYPE = 0i32;
04454e1e 247#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 248pub const HttpCachePolicyUserInvalidates: HTTP_CACHE_POLICY_TYPE = 1i32;
04454e1e 249#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 250pub const HttpCachePolicyTimeToLive: HTTP_CACHE_POLICY_TYPE = 2i32;
04454e1e 251#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 252pub const HttpCachePolicyMaximum: HTTP_CACHE_POLICY_TYPE = 3i32;
04454e1e 253#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 254pub const HTTP_CHANNEL_BIND_CLIENT_SERVICE: u32 = 16u32;
04454e1e 255#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085
FG
256pub const HTTP_CHANNEL_BIND_DOTLESS_SERVICE: u32 = 4u32;
257#[repr(C)]
04454e1e 258#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085
FG
259pub struct HTTP_CHANNEL_BIND_INFO {
260 pub Hardening: HTTP_AUTHENTICATION_HARDENING_LEVELS,
261 pub Flags: u32,
262 pub ServiceNames: *mut *mut HTTP_SERVICE_BINDING_BASE,
263 pub NumberOfServiceNames: u32,
264}
265impl ::core::marker::Copy for HTTP_CHANNEL_BIND_INFO {}
266impl ::core::clone::Clone for HTTP_CHANNEL_BIND_INFO {
267 fn clone(&self) -> Self {
268 *self
269 }
270}
04454e1e 271#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 272pub const HTTP_CHANNEL_BIND_NO_SERVICE_NAME_CHECK: u32 = 2u32;
04454e1e 273#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 274pub const HTTP_CHANNEL_BIND_PROXY: u32 = 1u32;
04454e1e 275#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 276pub const HTTP_CHANNEL_BIND_PROXY_COHOSTING: u32 = 32u32;
04454e1e 277#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085
FG
278pub const HTTP_CHANNEL_BIND_SECURE_CHANNEL_TOKEN: u32 = 8u32;
279#[repr(C)]
04454e1e 280#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085
FG
281pub struct HTTP_CONNECTION_LIMIT_INFO {
282 pub Flags: HTTP_PROPERTY_FLAGS,
283 pub MaxConnections: u32,
284}
285impl ::core::marker::Copy for HTTP_CONNECTION_LIMIT_INFO {}
286impl ::core::clone::Clone for HTTP_CONNECTION_LIMIT_INFO {
287 fn clone(&self) -> Self {
288 *self
289 }
290}
291#[repr(C)]
04454e1e 292#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085
FG
293pub struct HTTP_COOKED_URL {
294 pub FullUrlLength: u16,
295 pub HostLength: u16,
296 pub AbsPathLength: u16,
297 pub QueryStringLength: u16,
04454e1e
FG
298 pub pFullUrl: ::windows_sys::core::PCWSTR,
299 pub pHost: ::windows_sys::core::PCWSTR,
300 pub pAbsPath: ::windows_sys::core::PCWSTR,
301 pub pQueryString: ::windows_sys::core::PCWSTR,
5e7ed085 302}
5e7ed085 303impl ::core::marker::Copy for HTTP_COOKED_URL {}
5e7ed085
FG
304impl ::core::clone::Clone for HTTP_COOKED_URL {
305 fn clone(&self) -> Self {
306 *self
307 }
308}
04454e1e 309#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 310pub const HTTP_CREATE_REQUEST_QUEUE_FLAG_CONTROLLER: u32 = 2u32;
04454e1e 311#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 312pub const HTTP_CREATE_REQUEST_QUEUE_FLAG_DELEGATION: u32 = 8u32;
04454e1e 313#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 314pub const HTTP_CREATE_REQUEST_QUEUE_FLAG_OPEN_EXISTING: u32 = 1u32;
04454e1e 315#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 316pub type HTTP_CREATE_REQUEST_QUEUE_PROPERTY_ID = i32;
04454e1e 317#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 318pub const CreateRequestQueueExternalIdProperty: HTTP_CREATE_REQUEST_QUEUE_PROPERTY_ID = 1i32;
04454e1e 319#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085
FG
320pub const CreateRequestQueueMax: HTTP_CREATE_REQUEST_QUEUE_PROPERTY_ID = 2i32;
321#[repr(C)]
04454e1e 322#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085
FG
323pub struct HTTP_CREATE_REQUEST_QUEUE_PROPERTY_INFO {
324 pub PropertyId: HTTP_CREATE_REQUEST_QUEUE_PROPERTY_ID,
325 pub PropertyInfoLength: u32,
326 pub PropertyInfo: *mut ::core::ffi::c_void,
327}
328impl ::core::marker::Copy for HTTP_CREATE_REQUEST_QUEUE_PROPERTY_INFO {}
329impl ::core::clone::Clone for HTTP_CREATE_REQUEST_QUEUE_PROPERTY_INFO {
330 fn clone(&self) -> Self {
331 *self
332 }
333}
334#[repr(C)]
04454e1e 335#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`, `\"Win32_Foundation\"`*"]
5e7ed085
FG
336#[cfg(feature = "Win32_Foundation")]
337pub struct HTTP_DATA_CHUNK {
338 pub DataChunkType: HTTP_DATA_CHUNK_TYPE,
339 pub Anonymous: HTTP_DATA_CHUNK_0,
340}
341#[cfg(feature = "Win32_Foundation")]
342impl ::core::marker::Copy for HTTP_DATA_CHUNK {}
343#[cfg(feature = "Win32_Foundation")]
344impl ::core::clone::Clone for HTTP_DATA_CHUNK {
345 fn clone(&self) -> Self {
346 *self
347 }
348}
349#[repr(C)]
04454e1e 350#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`, `\"Win32_Foundation\"`*"]
5e7ed085
FG
351#[cfg(feature = "Win32_Foundation")]
352pub union HTTP_DATA_CHUNK_0 {
353 pub FromMemory: HTTP_DATA_CHUNK_0_3,
354 pub FromFileHandle: HTTP_DATA_CHUNK_0_0,
355 pub FromFragmentCache: HTTP_DATA_CHUNK_0_2,
356 pub FromFragmentCacheEx: HTTP_DATA_CHUNK_0_1,
357 pub Trailers: HTTP_DATA_CHUNK_0_4,
358}
359#[cfg(feature = "Win32_Foundation")]
360impl ::core::marker::Copy for HTTP_DATA_CHUNK_0 {}
361#[cfg(feature = "Win32_Foundation")]
362impl ::core::clone::Clone for HTTP_DATA_CHUNK_0 {
363 fn clone(&self) -> Self {
364 *self
365 }
366}
367#[repr(C)]
04454e1e 368#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`, `\"Win32_Foundation\"`*"]
5e7ed085
FG
369#[cfg(feature = "Win32_Foundation")]
370pub struct HTTP_DATA_CHUNK_0_0 {
371 pub ByteRange: HTTP_BYTE_RANGE,
372 pub FileHandle: super::super::Foundation::HANDLE,
373}
374#[cfg(feature = "Win32_Foundation")]
375impl ::core::marker::Copy for HTTP_DATA_CHUNK_0_0 {}
376#[cfg(feature = "Win32_Foundation")]
377impl ::core::clone::Clone for HTTP_DATA_CHUNK_0_0 {
378 fn clone(&self) -> Self {
379 *self
380 }
381}
382#[repr(C)]
04454e1e 383#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`, `\"Win32_Foundation\"`*"]
5e7ed085
FG
384#[cfg(feature = "Win32_Foundation")]
385pub struct HTTP_DATA_CHUNK_0_1 {
386 pub ByteRange: HTTP_BYTE_RANGE,
04454e1e 387 pub pFragmentName: ::windows_sys::core::PCWSTR,
5e7ed085
FG
388}
389#[cfg(feature = "Win32_Foundation")]
390impl ::core::marker::Copy for HTTP_DATA_CHUNK_0_1 {}
391#[cfg(feature = "Win32_Foundation")]
392impl ::core::clone::Clone for HTTP_DATA_CHUNK_0_1 {
393 fn clone(&self) -> Self {
394 *self
395 }
396}
397#[repr(C)]
04454e1e 398#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`, `\"Win32_Foundation\"`*"]
5e7ed085
FG
399#[cfg(feature = "Win32_Foundation")]
400pub struct HTTP_DATA_CHUNK_0_2 {
401 pub FragmentNameLength: u16,
04454e1e 402 pub pFragmentName: ::windows_sys::core::PCWSTR,
5e7ed085
FG
403}
404#[cfg(feature = "Win32_Foundation")]
405impl ::core::marker::Copy for HTTP_DATA_CHUNK_0_2 {}
406#[cfg(feature = "Win32_Foundation")]
407impl ::core::clone::Clone for HTTP_DATA_CHUNK_0_2 {
408 fn clone(&self) -> Self {
409 *self
410 }
411}
412#[repr(C)]
04454e1e 413#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`, `\"Win32_Foundation\"`*"]
5e7ed085
FG
414#[cfg(feature = "Win32_Foundation")]
415pub struct HTTP_DATA_CHUNK_0_3 {
416 pub pBuffer: *mut ::core::ffi::c_void,
417 pub BufferLength: u32,
418}
419#[cfg(feature = "Win32_Foundation")]
420impl ::core::marker::Copy for HTTP_DATA_CHUNK_0_3 {}
421#[cfg(feature = "Win32_Foundation")]
422impl ::core::clone::Clone for HTTP_DATA_CHUNK_0_3 {
423 fn clone(&self) -> Self {
424 *self
425 }
426}
427#[repr(C)]
04454e1e 428#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`, `\"Win32_Foundation\"`*"]
5e7ed085
FG
429#[cfg(feature = "Win32_Foundation")]
430pub struct HTTP_DATA_CHUNK_0_4 {
431 pub TrailerCount: u16,
432 pub pTrailers: *mut HTTP_UNKNOWN_HEADER,
433}
434#[cfg(feature = "Win32_Foundation")]
435impl ::core::marker::Copy for HTTP_DATA_CHUNK_0_4 {}
436#[cfg(feature = "Win32_Foundation")]
437impl ::core::clone::Clone for HTTP_DATA_CHUNK_0_4 {
438 fn clone(&self) -> Self {
439 *self
440 }
441}
04454e1e 442#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 443pub type HTTP_DATA_CHUNK_TYPE = i32;
04454e1e 444#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 445pub const HttpDataChunkFromMemory: HTTP_DATA_CHUNK_TYPE = 0i32;
04454e1e 446#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 447pub const HttpDataChunkFromFileHandle: HTTP_DATA_CHUNK_TYPE = 1i32;
04454e1e 448#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 449pub const HttpDataChunkFromFragmentCache: HTTP_DATA_CHUNK_TYPE = 2i32;
04454e1e 450#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 451pub const HttpDataChunkFromFragmentCacheEx: HTTP_DATA_CHUNK_TYPE = 3i32;
04454e1e 452#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 453pub const HttpDataChunkTrailers: HTTP_DATA_CHUNK_TYPE = 4i32;
04454e1e 454#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 455pub const HttpDataChunkMaximum: HTTP_DATA_CHUNK_TYPE = 5i32;
04454e1e 456#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 457pub type HTTP_DELEGATE_REQUEST_PROPERTY_ID = i32;
04454e1e 458#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 459pub const DelegateRequestReservedProperty: HTTP_DELEGATE_REQUEST_PROPERTY_ID = 0i32;
04454e1e 460#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085
FG
461pub const DelegateRequestDelegateUrlProperty: HTTP_DELEGATE_REQUEST_PROPERTY_ID = 1i32;
462#[repr(C)]
04454e1e 463#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085
FG
464pub struct HTTP_DELEGATE_REQUEST_PROPERTY_INFO {
465 pub PropertyId: HTTP_DELEGATE_REQUEST_PROPERTY_ID,
466 pub PropertyInfoLength: u32,
467 pub PropertyInfo: *mut ::core::ffi::c_void,
468}
469impl ::core::marker::Copy for HTTP_DELEGATE_REQUEST_PROPERTY_INFO {}
470impl ::core::clone::Clone for HTTP_DELEGATE_REQUEST_PROPERTY_INFO {
471 fn clone(&self) -> Self {
472 *self
473 }
474}
04454e1e 475#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 476pub const HTTP_DEMAND_CBT: u32 = 4u32;
04454e1e 477#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 478pub type HTTP_ENABLED_STATE = i32;
04454e1e 479#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 480pub const HttpEnabledStateActive: HTTP_ENABLED_STATE = 0i32;
04454e1e 481#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085
FG
482pub const HttpEnabledStateInactive: HTTP_ENABLED_STATE = 1i32;
483#[repr(C)]
04454e1e 484#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085
FG
485pub struct HTTP_ERROR_HEADERS_PARAM {
486 pub StatusCode: u16,
487 pub HeaderCount: u16,
488 pub Headers: *mut HTTP_UNKNOWN_HEADER,
489}
5e7ed085 490impl ::core::marker::Copy for HTTP_ERROR_HEADERS_PARAM {}
5e7ed085
FG
491impl ::core::clone::Clone for HTTP_ERROR_HEADERS_PARAM {
492 fn clone(&self) -> Self {
493 *self
494 }
495}
04454e1e 496#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 497pub type HTTP_FEATURE_ID = i32;
04454e1e 498#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 499pub const HttpFeatureUnknown: HTTP_FEATURE_ID = 0i32;
04454e1e 500#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 501pub const HttpFeatureResponseTrailers: HTTP_FEATURE_ID = 1i32;
04454e1e 502#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 503pub const HttpFeatureApiTimings: HTTP_FEATURE_ID = 2i32;
04454e1e 504#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 505pub const HttpFeatureDelegateEx: HTTP_FEATURE_ID = 3i32;
04454e1e 506#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 507pub const HttpFeatureHttp3: HTTP_FEATURE_ID = 4i32;
04454e1e 508#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085
FG
509pub const HttpFeaturemax: HTTP_FEATURE_ID = -1i32;
510#[repr(C)]
04454e1e 511#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085
FG
512pub struct HTTP_FLOWRATE_INFO {
513 pub Flags: HTTP_PROPERTY_FLAGS,
514 pub MaxBandwidth: u32,
515 pub MaxPeakBandwidth: u32,
516 pub BurstSize: u32,
517}
518impl ::core::marker::Copy for HTTP_FLOWRATE_INFO {}
519impl ::core::clone::Clone for HTTP_FLOWRATE_INFO {
520 fn clone(&self) -> Self {
521 *self
522 }
523}
04454e1e 524#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 525pub const HTTP_FLUSH_RESPONSE_FLAG_RECURSIVE: u32 = 1u32;
04454e1e 526#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 527pub type HTTP_HEADER_ID = i32;
04454e1e 528#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 529pub const HttpHeaderCacheControl: HTTP_HEADER_ID = 0i32;
04454e1e 530#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 531pub const HttpHeaderConnection: HTTP_HEADER_ID = 1i32;
04454e1e 532#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 533pub const HttpHeaderDate: HTTP_HEADER_ID = 2i32;
04454e1e 534#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 535pub const HttpHeaderKeepAlive: HTTP_HEADER_ID = 3i32;
04454e1e 536#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 537pub const HttpHeaderPragma: HTTP_HEADER_ID = 4i32;
04454e1e 538#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 539pub const HttpHeaderTrailer: HTTP_HEADER_ID = 5i32;
04454e1e 540#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 541pub const HttpHeaderTransferEncoding: HTTP_HEADER_ID = 6i32;
04454e1e 542#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 543pub const HttpHeaderUpgrade: HTTP_HEADER_ID = 7i32;
04454e1e 544#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 545pub const HttpHeaderVia: HTTP_HEADER_ID = 8i32;
04454e1e 546#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 547pub const HttpHeaderWarning: HTTP_HEADER_ID = 9i32;
04454e1e 548#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 549pub const HttpHeaderAllow: HTTP_HEADER_ID = 10i32;
04454e1e 550#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 551pub const HttpHeaderContentLength: HTTP_HEADER_ID = 11i32;
04454e1e 552#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 553pub const HttpHeaderContentType: HTTP_HEADER_ID = 12i32;
04454e1e 554#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 555pub const HttpHeaderContentEncoding: HTTP_HEADER_ID = 13i32;
04454e1e 556#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 557pub const HttpHeaderContentLanguage: HTTP_HEADER_ID = 14i32;
04454e1e 558#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 559pub const HttpHeaderContentLocation: HTTP_HEADER_ID = 15i32;
04454e1e 560#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 561pub const HttpHeaderContentMd5: HTTP_HEADER_ID = 16i32;
04454e1e 562#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 563pub const HttpHeaderContentRange: HTTP_HEADER_ID = 17i32;
04454e1e 564#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 565pub const HttpHeaderExpires: HTTP_HEADER_ID = 18i32;
04454e1e 566#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 567pub const HttpHeaderLastModified: HTTP_HEADER_ID = 19i32;
04454e1e 568#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 569pub const HttpHeaderAccept: HTTP_HEADER_ID = 20i32;
04454e1e 570#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 571pub const HttpHeaderAcceptCharset: HTTP_HEADER_ID = 21i32;
04454e1e 572#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 573pub const HttpHeaderAcceptEncoding: HTTP_HEADER_ID = 22i32;
04454e1e 574#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 575pub const HttpHeaderAcceptLanguage: HTTP_HEADER_ID = 23i32;
04454e1e 576#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 577pub const HttpHeaderAuthorization: HTTP_HEADER_ID = 24i32;
04454e1e 578#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 579pub const HttpHeaderCookie: HTTP_HEADER_ID = 25i32;
04454e1e 580#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 581pub const HttpHeaderExpect: HTTP_HEADER_ID = 26i32;
04454e1e 582#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 583pub const HttpHeaderFrom: HTTP_HEADER_ID = 27i32;
04454e1e 584#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 585pub const HttpHeaderHost: HTTP_HEADER_ID = 28i32;
04454e1e 586#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 587pub const HttpHeaderIfMatch: HTTP_HEADER_ID = 29i32;
04454e1e 588#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 589pub const HttpHeaderIfModifiedSince: HTTP_HEADER_ID = 30i32;
04454e1e 590#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 591pub const HttpHeaderIfNoneMatch: HTTP_HEADER_ID = 31i32;
04454e1e 592#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 593pub const HttpHeaderIfRange: HTTP_HEADER_ID = 32i32;
04454e1e 594#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 595pub const HttpHeaderIfUnmodifiedSince: HTTP_HEADER_ID = 33i32;
04454e1e 596#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 597pub const HttpHeaderMaxForwards: HTTP_HEADER_ID = 34i32;
04454e1e 598#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 599pub const HttpHeaderProxyAuthorization: HTTP_HEADER_ID = 35i32;
04454e1e 600#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 601pub const HttpHeaderReferer: HTTP_HEADER_ID = 36i32;
04454e1e 602#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 603pub const HttpHeaderRange: HTTP_HEADER_ID = 37i32;
04454e1e 604#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 605pub const HttpHeaderTe: HTTP_HEADER_ID = 38i32;
04454e1e 606#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 607pub const HttpHeaderTranslate: HTTP_HEADER_ID = 39i32;
04454e1e 608#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 609pub const HttpHeaderUserAgent: HTTP_HEADER_ID = 40i32;
04454e1e 610#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 611pub const HttpHeaderRequestMaximum: HTTP_HEADER_ID = 41i32;
04454e1e 612#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 613pub const HttpHeaderAcceptRanges: HTTP_HEADER_ID = 20i32;
04454e1e 614#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 615pub const HttpHeaderAge: HTTP_HEADER_ID = 21i32;
04454e1e 616#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 617pub const HttpHeaderEtag: HTTP_HEADER_ID = 22i32;
04454e1e 618#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 619pub const HttpHeaderLocation: HTTP_HEADER_ID = 23i32;
04454e1e 620#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 621pub const HttpHeaderProxyAuthenticate: HTTP_HEADER_ID = 24i32;
04454e1e 622#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 623pub const HttpHeaderRetryAfter: HTTP_HEADER_ID = 25i32;
04454e1e 624#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 625pub const HttpHeaderServer: HTTP_HEADER_ID = 26i32;
04454e1e 626#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 627pub const HttpHeaderSetCookie: HTTP_HEADER_ID = 27i32;
04454e1e 628#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 629pub const HttpHeaderVary: HTTP_HEADER_ID = 28i32;
04454e1e 630#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 631pub const HttpHeaderWwwAuthenticate: HTTP_HEADER_ID = 29i32;
04454e1e 632#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 633pub const HttpHeaderResponseMaximum: HTTP_HEADER_ID = 30i32;
04454e1e 634#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 635pub const HttpHeaderMaximum: HTTP_HEADER_ID = 41i32;
04454e1e 636#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 637pub type HTTP_INITIALIZE = u32;
04454e1e 638#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 639pub const HTTP_INITIALIZE_CONFIG: HTTP_INITIALIZE = 2u32;
04454e1e 640#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085
FG
641pub const HTTP_INITIALIZE_SERVER: HTTP_INITIALIZE = 1u32;
642#[repr(C)]
04454e1e 643#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085
FG
644pub struct HTTP_KNOWN_HEADER {
645 pub RawValueLength: u16,
04454e1e 646 pub pRawValue: ::windows_sys::core::PCSTR,
5e7ed085 647}
5e7ed085 648impl ::core::marker::Copy for HTTP_KNOWN_HEADER {}
5e7ed085
FG
649impl ::core::clone::Clone for HTTP_KNOWN_HEADER {
650 fn clone(&self) -> Self {
651 *self
652 }
653}
654#[repr(C)]
04454e1e 655#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`, `\"Win32_Foundation\"`*"]
5e7ed085
FG
656#[cfg(feature = "Win32_Foundation")]
657pub struct HTTP_LISTEN_ENDPOINT_INFO {
658 pub Flags: HTTP_PROPERTY_FLAGS,
659 pub EnableSharing: super::super::Foundation::BOOLEAN,
660}
661#[cfg(feature = "Win32_Foundation")]
662impl ::core::marker::Copy for HTTP_LISTEN_ENDPOINT_INFO {}
663#[cfg(feature = "Win32_Foundation")]
664impl ::core::clone::Clone for HTTP_LISTEN_ENDPOINT_INFO {
665 fn clone(&self) -> Self {
666 *self
667 }
668}
04454e1e 669#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 670pub const HTTP_LOGGING_FLAG_LOCAL_TIME_ROLLOVER: u32 = 1u32;
04454e1e 671#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 672pub const HTTP_LOGGING_FLAG_LOG_ERRORS_ONLY: u32 = 4u32;
04454e1e 673#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 674pub const HTTP_LOGGING_FLAG_LOG_SUCCESS_ONLY: u32 = 8u32;
04454e1e 675#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085
FG
676pub const HTTP_LOGGING_FLAG_USE_UTF8_CONVERSION: u32 = 2u32;
677#[repr(C)]
923072b8
FG
678#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`, `\"Win32_Security\"`*"]
679#[cfg(feature = "Win32_Security")]
5e7ed085
FG
680pub struct HTTP_LOGGING_INFO {
681 pub Flags: HTTP_PROPERTY_FLAGS,
682 pub LoggingFlags: u32,
04454e1e 683 pub SoftwareName: ::windows_sys::core::PCWSTR,
5e7ed085
FG
684 pub SoftwareNameLength: u16,
685 pub DirectoryNameLength: u16,
04454e1e 686 pub DirectoryName: ::windows_sys::core::PCWSTR,
5e7ed085
FG
687 pub Format: HTTP_LOGGING_TYPE,
688 pub Fields: u32,
689 pub pExtFields: *mut ::core::ffi::c_void,
690 pub NumOfExtFields: u16,
691 pub MaxRecordSize: u16,
692 pub RolloverType: HTTP_LOGGING_ROLLOVER_TYPE,
693 pub RolloverSize: u32,
923072b8 694 pub pSecurityDescriptor: super::super::Security::PSECURITY_DESCRIPTOR,
5e7ed085 695}
923072b8 696#[cfg(feature = "Win32_Security")]
5e7ed085 697impl ::core::marker::Copy for HTTP_LOGGING_INFO {}
923072b8 698#[cfg(feature = "Win32_Security")]
5e7ed085
FG
699impl ::core::clone::Clone for HTTP_LOGGING_INFO {
700 fn clone(&self) -> Self {
701 *self
702 }
703}
04454e1e 704#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 705pub type HTTP_LOGGING_ROLLOVER_TYPE = i32;
04454e1e 706#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 707pub const HttpLoggingRolloverSize: HTTP_LOGGING_ROLLOVER_TYPE = 0i32;
04454e1e 708#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 709pub const HttpLoggingRolloverDaily: HTTP_LOGGING_ROLLOVER_TYPE = 1i32;
04454e1e 710#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 711pub const HttpLoggingRolloverWeekly: HTTP_LOGGING_ROLLOVER_TYPE = 2i32;
04454e1e 712#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 713pub const HttpLoggingRolloverMonthly: HTTP_LOGGING_ROLLOVER_TYPE = 3i32;
04454e1e 714#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 715pub const HttpLoggingRolloverHourly: HTTP_LOGGING_ROLLOVER_TYPE = 4i32;
04454e1e 716#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 717pub type HTTP_LOGGING_TYPE = i32;
04454e1e 718#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 719pub const HttpLoggingTypeW3C: HTTP_LOGGING_TYPE = 0i32;
04454e1e 720#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 721pub const HttpLoggingTypeIIS: HTTP_LOGGING_TYPE = 1i32;
04454e1e 722#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 723pub const HttpLoggingTypeNCSA: HTTP_LOGGING_TYPE = 2i32;
04454e1e 724#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085
FG
725pub const HttpLoggingTypeRaw: HTTP_LOGGING_TYPE = 3i32;
726#[repr(C)]
04454e1e 727#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085
FG
728pub struct HTTP_LOG_DATA {
729 pub Type: HTTP_LOG_DATA_TYPE,
730}
731impl ::core::marker::Copy for HTTP_LOG_DATA {}
732impl ::core::clone::Clone for HTTP_LOG_DATA {
733 fn clone(&self) -> Self {
734 *self
735 }
736}
04454e1e 737#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 738pub type HTTP_LOG_DATA_TYPE = i32;
04454e1e 739#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085
FG
740pub const HttpLogDataTypeFields: HTTP_LOG_DATA_TYPE = 0i32;
741#[repr(C)]
04454e1e 742#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085
FG
743pub struct HTTP_LOG_FIELDS_DATA {
744 pub Base: HTTP_LOG_DATA,
745 pub UserNameLength: u16,
746 pub UriStemLength: u16,
747 pub ClientIpLength: u16,
748 pub ServerNameLength: u16,
749 pub ServiceNameLength: u16,
750 pub ServerIpLength: u16,
751 pub MethodLength: u16,
752 pub UriQueryLength: u16,
753 pub HostLength: u16,
754 pub UserAgentLength: u16,
755 pub CookieLength: u16,
756 pub ReferrerLength: u16,
04454e1e
FG
757 pub UserName: ::windows_sys::core::PWSTR,
758 pub UriStem: ::windows_sys::core::PWSTR,
759 pub ClientIp: ::windows_sys::core::PSTR,
760 pub ServerName: ::windows_sys::core::PSTR,
761 pub ServiceName: ::windows_sys::core::PSTR,
762 pub ServerIp: ::windows_sys::core::PSTR,
763 pub Method: ::windows_sys::core::PSTR,
764 pub UriQuery: ::windows_sys::core::PSTR,
765 pub Host: ::windows_sys::core::PSTR,
766 pub UserAgent: ::windows_sys::core::PSTR,
767 pub Cookie: ::windows_sys::core::PSTR,
768 pub Referrer: ::windows_sys::core::PSTR,
5e7ed085
FG
769 pub ServerPort: u16,
770 pub ProtocolStatus: u16,
771 pub Win32Status: u32,
772 pub MethodNum: HTTP_VERB,
773 pub SubStatus: u16,
774}
5e7ed085 775impl ::core::marker::Copy for HTTP_LOG_FIELDS_DATA {}
5e7ed085
FG
776impl ::core::clone::Clone for HTTP_LOG_FIELDS_DATA {
777 fn clone(&self) -> Self {
778 *self
779 }
780}
04454e1e 781#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 782pub const HTTP_LOG_FIELD_BYTES_RECV: u32 = 8192u32;
04454e1e 783#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 784pub const HTTP_LOG_FIELD_BYTES_SENT: u32 = 4096u32;
04454e1e 785#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 786pub const HTTP_LOG_FIELD_CLIENT_IP: u32 = 4u32;
04454e1e 787#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 788pub const HTTP_LOG_FIELD_CLIENT_PORT: u32 = 4194304u32;
04454e1e 789#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 790pub const HTTP_LOG_FIELD_COMPUTER_NAME: u32 = 32u32;
04454e1e 791#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 792pub const HTTP_LOG_FIELD_COOKIE: u32 = 131072u32;
04454e1e 793#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 794pub const HTTP_LOG_FIELD_CORRELATION_ID: u32 = 1073741824u32;
04454e1e 795#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 796pub const HTTP_LOG_FIELD_DATE: u32 = 1u32;
04454e1e 797#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 798pub const HTTP_LOG_FIELD_HOST: u32 = 1048576u32;
04454e1e 799#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 800pub const HTTP_LOG_FIELD_METHOD: u32 = 128u32;
04454e1e 801#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 802pub const HTTP_LOG_FIELD_QUEUE_NAME: u32 = 67108864u32;
04454e1e 803#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 804pub const HTTP_LOG_FIELD_REASON: u32 = 33554432u32;
04454e1e 805#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 806pub const HTTP_LOG_FIELD_REFERER: u32 = 262144u32;
04454e1e 807#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 808pub const HTTP_LOG_FIELD_SERVER_IP: u32 = 64u32;
04454e1e 809#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 810pub const HTTP_LOG_FIELD_SERVER_PORT: u32 = 32768u32;
04454e1e 811#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 812pub const HTTP_LOG_FIELD_SITE_ID: u32 = 16777216u32;
04454e1e 813#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 814pub const HTTP_LOG_FIELD_SITE_NAME: u32 = 16u32;
04454e1e 815#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 816pub const HTTP_LOG_FIELD_STATUS: u32 = 1024u32;
04454e1e 817#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 818pub const HTTP_LOG_FIELD_STREAM_ID: u32 = 134217728u32;
04454e1e 819#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 820pub const HTTP_LOG_FIELD_STREAM_ID_EX: u32 = 268435456u32;
04454e1e 821#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 822pub const HTTP_LOG_FIELD_SUB_STATUS: u32 = 2097152u32;
04454e1e 823#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 824pub const HTTP_LOG_FIELD_TIME: u32 = 2u32;
04454e1e 825#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 826pub const HTTP_LOG_FIELD_TIME_TAKEN: u32 = 16384u32;
04454e1e 827#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 828pub const HTTP_LOG_FIELD_TRANSPORT_TYPE: u32 = 536870912u32;
04454e1e 829#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 830pub const HTTP_LOG_FIELD_URI: u32 = 8388608u32;
04454e1e 831#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 832pub const HTTP_LOG_FIELD_URI_QUERY: u32 = 512u32;
04454e1e 833#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 834pub const HTTP_LOG_FIELD_URI_STEM: u32 = 256u32;
04454e1e 835#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 836pub const HTTP_LOG_FIELD_USER_AGENT: u32 = 65536u32;
04454e1e 837#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 838pub const HTTP_LOG_FIELD_USER_NAME: u32 = 8u32;
04454e1e 839#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 840pub const HTTP_LOG_FIELD_VERSION: u32 = 524288u32;
04454e1e 841#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 842pub const HTTP_LOG_FIELD_WIN32_STATUS: u32 = 2048u32;
04454e1e 843#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 844pub const HTTP_MAX_SERVER_QUEUE_LENGTH: u32 = 2147483647u32;
04454e1e 845#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085
FG
846pub const HTTP_MIN_SERVER_QUEUE_LENGTH: u32 = 1u32;
847#[repr(C)]
04454e1e 848#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085
FG
849pub struct HTTP_MULTIPLE_KNOWN_HEADERS {
850 pub HeaderId: HTTP_HEADER_ID,
851 pub Flags: u32,
852 pub KnownHeaderCount: u16,
853 pub KnownHeaders: *mut HTTP_KNOWN_HEADER,
854}
5e7ed085 855impl ::core::marker::Copy for HTTP_MULTIPLE_KNOWN_HEADERS {}
5e7ed085
FG
856impl ::core::clone::Clone for HTTP_MULTIPLE_KNOWN_HEADERS {
857 fn clone(&self) -> Self {
858 *self
859 }
860}
861#[repr(C)]
04454e1e 862#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085
FG
863pub struct HTTP_PERFORMANCE_PARAM {
864 pub Type: HTTP_PERFORMANCE_PARAM_TYPE,
865 pub BufferSize: u32,
866 pub Buffer: *mut ::core::ffi::c_void,
867}
868impl ::core::marker::Copy for HTTP_PERFORMANCE_PARAM {}
869impl ::core::clone::Clone for HTTP_PERFORMANCE_PARAM {
870 fn clone(&self) -> Self {
871 *self
872 }
873}
04454e1e 874#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 875pub type HTTP_PERFORMANCE_PARAM_TYPE = i32;
04454e1e 876#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 877pub const PerformanceParamSendBufferingFlags: HTTP_PERFORMANCE_PARAM_TYPE = 0i32;
04454e1e 878#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 879pub const PerformanceParamAggressiveICW: HTTP_PERFORMANCE_PARAM_TYPE = 1i32;
04454e1e 880#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 881pub const PerformanceParamMaxSendBufferSize: HTTP_PERFORMANCE_PARAM_TYPE = 2i32;
04454e1e 882#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 883pub const PerformanceParamMaxConcurrentClientStreams: HTTP_PERFORMANCE_PARAM_TYPE = 3i32;
04454e1e 884#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 885pub const PerformanceParamMaxReceiveBufferSize: HTTP_PERFORMANCE_PARAM_TYPE = 4i32;
04454e1e 886#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 887pub const PerformanceParamDecryptOnSspiThread: HTTP_PERFORMANCE_PARAM_TYPE = 5i32;
04454e1e 888#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085
FG
889pub const PerformanceParamMax: HTTP_PERFORMANCE_PARAM_TYPE = 6i32;
890#[repr(C)]
04454e1e 891#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085
FG
892pub struct HTTP_PROPERTY_FLAGS {
893 pub _bitfield: u32,
894}
895impl ::core::marker::Copy for HTTP_PROPERTY_FLAGS {}
896impl ::core::clone::Clone for HTTP_PROPERTY_FLAGS {
897 fn clone(&self) -> Self {
898 *self
899 }
900}
901#[repr(C)]
04454e1e 902#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085
FG
903pub struct HTTP_PROTECTION_LEVEL_INFO {
904 pub Flags: HTTP_PROPERTY_FLAGS,
905 pub Level: HTTP_PROTECTION_LEVEL_TYPE,
906}
907impl ::core::marker::Copy for HTTP_PROTECTION_LEVEL_INFO {}
908impl ::core::clone::Clone for HTTP_PROTECTION_LEVEL_INFO {
909 fn clone(&self) -> Self {
910 *self
911 }
912}
04454e1e 913#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 914pub type HTTP_PROTECTION_LEVEL_TYPE = i32;
04454e1e 915#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 916pub const HttpProtectionLevelUnrestricted: HTTP_PROTECTION_LEVEL_TYPE = 0i32;
04454e1e 917#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 918pub const HttpProtectionLevelEdgeRestricted: HTTP_PROTECTION_LEVEL_TYPE = 1i32;
04454e1e 919#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085
FG
920pub const HttpProtectionLevelRestricted: HTTP_PROTECTION_LEVEL_TYPE = 2i32;
921#[repr(C)]
04454e1e 922#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085
FG
923pub struct HTTP_QOS_SETTING_INFO {
924 pub QosType: HTTP_QOS_SETTING_TYPE,
925 pub QosSetting: *mut ::core::ffi::c_void,
926}
927impl ::core::marker::Copy for HTTP_QOS_SETTING_INFO {}
928impl ::core::clone::Clone for HTTP_QOS_SETTING_INFO {
929 fn clone(&self) -> Self {
930 *self
931 }
932}
04454e1e 933#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 934pub type HTTP_QOS_SETTING_TYPE = i32;
04454e1e 935#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 936pub const HttpQosSettingTypeBandwidth: HTTP_QOS_SETTING_TYPE = 0i32;
04454e1e 937#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 938pub const HttpQosSettingTypeConnectionLimit: HTTP_QOS_SETTING_TYPE = 1i32;
04454e1e 939#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085
FG
940pub const HttpQosSettingTypeFlowRate: HTTP_QOS_SETTING_TYPE = 2i32;
941#[repr(C)]
04454e1e 942#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085
FG
943pub struct HTTP_QUERY_REQUEST_QUALIFIER_QUIC {
944 pub Freshness: u64,
945}
946impl ::core::marker::Copy for HTTP_QUERY_REQUEST_QUALIFIER_QUIC {}
947impl ::core::clone::Clone for HTTP_QUERY_REQUEST_QUALIFIER_QUIC {
948 fn clone(&self) -> Self {
949 *self
950 }
951}
952#[repr(C)]
04454e1e 953#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085
FG
954pub struct HTTP_QUERY_REQUEST_QUALIFIER_TCP {
955 pub Freshness: u64,
956}
957impl ::core::marker::Copy for HTTP_QUERY_REQUEST_QUALIFIER_TCP {}
958impl ::core::clone::Clone for HTTP_QUERY_REQUEST_QUALIFIER_TCP {
959 fn clone(&self) -> Self {
960 *self
961 }
962}
963#[repr(C)]
04454e1e 964#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085
FG
965pub struct HTTP_QUIC_API_TIMINGS {
966 pub ConnectionTimings: HTTP_QUIC_CONNECTION_API_TIMINGS,
967 pub StreamTimings: HTTP_QUIC_STREAM_API_TIMINGS,
968}
969impl ::core::marker::Copy for HTTP_QUIC_API_TIMINGS {}
970impl ::core::clone::Clone for HTTP_QUIC_API_TIMINGS {
971 fn clone(&self) -> Self {
972 *self
973 }
974}
975#[repr(C)]
04454e1e 976#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085
FG
977pub struct HTTP_QUIC_CONNECTION_API_TIMINGS {
978 pub OpenTime: u64,
979 pub CloseTime: u64,
980 pub StartTime: u64,
981 pub ShutdownTime: u64,
982 pub SecConfigCreateTime: u64,
983 pub SecConfigDeleteTime: u64,
984 pub GetParamCount: u64,
985 pub GetParamSum: u64,
986 pub SetParamCount: u64,
987 pub SetParamSum: u64,
988 pub SetCallbackHandlerCount: u64,
989 pub SetCallbackHandlerSum: u64,
990 pub ControlStreamTimings: HTTP_QUIC_STREAM_API_TIMINGS,
991}
992impl ::core::marker::Copy for HTTP_QUIC_CONNECTION_API_TIMINGS {}
993impl ::core::clone::Clone for HTTP_QUIC_CONNECTION_API_TIMINGS {
994 fn clone(&self) -> Self {
995 *self
996 }
997}
998#[repr(C)]
04454e1e 999#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085
FG
1000pub struct HTTP_QUIC_STREAM_API_TIMINGS {
1001 pub OpenCount: u64,
1002 pub OpenSum: u64,
1003 pub CloseCount: u64,
1004 pub CloseSum: u64,
1005 pub StartCount: u64,
1006 pub StartSum: u64,
1007 pub ShutdownCount: u64,
1008 pub ShutdownSum: u64,
1009 pub SendCount: u64,
1010 pub SendSum: u64,
1011 pub ReceiveSetEnabledCount: u64,
1012 pub ReceiveSetEnabledSum: u64,
1013 pub GetParamCount: u64,
1014 pub GetParamSum: u64,
1015 pub SetParamCount: u64,
1016 pub SetParamSum: u64,
1017 pub SetCallbackHandlerCount: u64,
1018 pub SetCallbackHandlerSum: u64,
1019}
1020impl ::core::marker::Copy for HTTP_QUIC_STREAM_API_TIMINGS {}
1021impl ::core::clone::Clone for HTTP_QUIC_STREAM_API_TIMINGS {
1022 fn clone(&self) -> Self {
1023 *self
1024 }
1025}
04454e1e 1026#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1027pub const HTTP_RECEIVE_FULL_CHAIN: u32 = 2u32;
04454e1e 1028#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1029pub type HTTP_RECEIVE_HTTP_REQUEST_FLAGS = u32;
04454e1e 1030#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1031pub const HTTP_RECEIVE_REQUEST_FLAG_COPY_BODY: HTTP_RECEIVE_HTTP_REQUEST_FLAGS = 1u32;
04454e1e 1032#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1033pub const HTTP_RECEIVE_REQUEST_FLAG_FLUSH_BODY: HTTP_RECEIVE_HTTP_REQUEST_FLAGS = 2u32;
04454e1e 1034#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1035pub const HTTP_RECEIVE_REQUEST_ENTITY_BODY_FLAG_FILL_BUFFER: u32 = 1u32;
04454e1e 1036#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1037pub const HTTP_RECEIVE_SECURE_CHANNEL_TOKEN: u32 = 1u32;
04454e1e 1038#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085
FG
1039pub const HTTP_REQUEST_AUTH_FLAG_TOKEN_FOR_CACHED_CRED: u32 = 1u32;
1040#[repr(C)]
04454e1e 1041#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`, `\"Win32_Foundation\"`*"]
5e7ed085
FG
1042#[cfg(feature = "Win32_Foundation")]
1043pub struct HTTP_REQUEST_AUTH_INFO {
1044 pub AuthStatus: HTTP_AUTH_STATUS,
923072b8 1045 pub SecStatus: ::windows_sys::core::HRESULT,
5e7ed085
FG
1046 pub Flags: u32,
1047 pub AuthType: HTTP_REQUEST_AUTH_TYPE,
1048 pub AccessToken: super::super::Foundation::HANDLE,
1049 pub ContextAttributes: u32,
1050 pub PackedContextLength: u32,
1051 pub PackedContextType: u32,
1052 pub PackedContext: *mut ::core::ffi::c_void,
1053 pub MutualAuthDataLength: u32,
04454e1e 1054 pub pMutualAuthData: ::windows_sys::core::PSTR,
5e7ed085 1055 pub PackageNameLength: u16,
04454e1e 1056 pub pPackageName: ::windows_sys::core::PWSTR,
5e7ed085
FG
1057}
1058#[cfg(feature = "Win32_Foundation")]
1059impl ::core::marker::Copy for HTTP_REQUEST_AUTH_INFO {}
1060#[cfg(feature = "Win32_Foundation")]
1061impl ::core::clone::Clone for HTTP_REQUEST_AUTH_INFO {
1062 fn clone(&self) -> Self {
1063 *self
1064 }
1065}
04454e1e 1066#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1067pub type HTTP_REQUEST_AUTH_TYPE = i32;
04454e1e 1068#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1069pub const HttpRequestAuthTypeNone: HTTP_REQUEST_AUTH_TYPE = 0i32;
04454e1e 1070#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1071pub const HttpRequestAuthTypeBasic: HTTP_REQUEST_AUTH_TYPE = 1i32;
04454e1e 1072#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1073pub const HttpRequestAuthTypeDigest: HTTP_REQUEST_AUTH_TYPE = 2i32;
04454e1e 1074#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1075pub const HttpRequestAuthTypeNTLM: HTTP_REQUEST_AUTH_TYPE = 3i32;
04454e1e 1076#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1077pub const HttpRequestAuthTypeNegotiate: HTTP_REQUEST_AUTH_TYPE = 4i32;
04454e1e 1078#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085
FG
1079pub const HttpRequestAuthTypeKerberos: HTTP_REQUEST_AUTH_TYPE = 5i32;
1080#[repr(C)]
04454e1e 1081#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085
FG
1082pub struct HTTP_REQUEST_CHANNEL_BIND_STATUS {
1083 pub ServiceName: *mut HTTP_SERVICE_BINDING_BASE,
1084 pub ChannelToken: *mut u8,
1085 pub ChannelTokenSize: u32,
1086 pub Flags: u32,
1087}
1088impl ::core::marker::Copy for HTTP_REQUEST_CHANNEL_BIND_STATUS {}
1089impl ::core::clone::Clone for HTTP_REQUEST_CHANNEL_BIND_STATUS {
1090 fn clone(&self) -> Self {
1091 *self
1092 }
1093}
04454e1e 1094#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1095pub const HTTP_REQUEST_FLAG_HTTP2: u32 = 4u32;
04454e1e 1096#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1097pub const HTTP_REQUEST_FLAG_HTTP3: u32 = 8u32;
04454e1e 1098#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1099pub const HTTP_REQUEST_FLAG_IP_ROUTED: u32 = 2u32;
04454e1e 1100#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085
FG
1101pub const HTTP_REQUEST_FLAG_MORE_ENTITY_BODY_EXISTS: u32 = 1u32;
1102#[repr(C)]
04454e1e 1103#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085
FG
1104pub struct HTTP_REQUEST_HEADERS {
1105 pub UnknownHeaderCount: u16,
1106 pub pUnknownHeaders: *mut HTTP_UNKNOWN_HEADER,
1107 pub TrailerCount: u16,
1108 pub pTrailers: *mut HTTP_UNKNOWN_HEADER,
1109 pub KnownHeaders: [HTTP_KNOWN_HEADER; 41],
1110}
5e7ed085 1111impl ::core::marker::Copy for HTTP_REQUEST_HEADERS {}
5e7ed085
FG
1112impl ::core::clone::Clone for HTTP_REQUEST_HEADERS {
1113 fn clone(&self) -> Self {
1114 *self
1115 }
1116}
1117#[repr(C)]
04454e1e 1118#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085
FG
1119pub struct HTTP_REQUEST_INFO {
1120 pub InfoType: HTTP_REQUEST_INFO_TYPE,
1121 pub InfoLength: u32,
1122 pub pInfo: *mut ::core::ffi::c_void,
1123}
1124impl ::core::marker::Copy for HTTP_REQUEST_INFO {}
1125impl ::core::clone::Clone for HTTP_REQUEST_INFO {
1126 fn clone(&self) -> Self {
1127 *self
1128 }
1129}
04454e1e 1130#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1131pub type HTTP_REQUEST_INFO_TYPE = i32;
04454e1e 1132#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1133pub const HttpRequestInfoTypeAuth: HTTP_REQUEST_INFO_TYPE = 0i32;
04454e1e 1134#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1135pub const HttpRequestInfoTypeChannelBind: HTTP_REQUEST_INFO_TYPE = 1i32;
04454e1e 1136#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1137pub const HttpRequestInfoTypeSslProtocol: HTTP_REQUEST_INFO_TYPE = 2i32;
04454e1e 1138#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1139pub const HttpRequestInfoTypeSslTokenBindingDraft: HTTP_REQUEST_INFO_TYPE = 3i32;
04454e1e 1140#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1141pub const HttpRequestInfoTypeSslTokenBinding: HTTP_REQUEST_INFO_TYPE = 4i32;
04454e1e 1142#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1143pub const HttpRequestInfoTypeRequestTiming: HTTP_REQUEST_INFO_TYPE = 5i32;
04454e1e 1144#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1145pub const HttpRequestInfoTypeTcpInfoV0: HTTP_REQUEST_INFO_TYPE = 6i32;
04454e1e 1146#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1147pub const HttpRequestInfoTypeRequestSizing: HTTP_REQUEST_INFO_TYPE = 7i32;
04454e1e 1148#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1149pub const HttpRequestInfoTypeQuicStats: HTTP_REQUEST_INFO_TYPE = 8i32;
04454e1e 1150#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1151pub const HttpRequestInfoTypeTcpInfoV1: HTTP_REQUEST_INFO_TYPE = 9i32;
04454e1e 1152#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1153pub type HTTP_REQUEST_PROPERTY = i32;
04454e1e 1154#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1155pub const HttpRequestPropertyIsb: HTTP_REQUEST_PROPERTY = 0i32;
04454e1e 1156#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1157pub const HttpRequestPropertyTcpInfoV0: HTTP_REQUEST_PROPERTY = 1i32;
04454e1e 1158#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1159pub const HttpRequestPropertyQuicStats: HTTP_REQUEST_PROPERTY = 2i32;
04454e1e 1160#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1161pub const HttpRequestPropertyTcpInfoV1: HTTP_REQUEST_PROPERTY = 3i32;
04454e1e 1162#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1163pub const HttpRequestPropertySni: HTTP_REQUEST_PROPERTY = 4i32;
04454e1e 1164#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1165pub const HttpRequestPropertyStreamError: HTTP_REQUEST_PROPERTY = 5i32;
04454e1e 1166#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1167pub const HttpRequestPropertyWskApiTimings: HTTP_REQUEST_PROPERTY = 6i32;
04454e1e 1168#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085
FG
1169pub const HttpRequestPropertyQuicApiTimings: HTTP_REQUEST_PROPERTY = 7i32;
1170#[repr(C)]
04454e1e 1171#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085
FG
1172pub struct HTTP_REQUEST_PROPERTY_SNI {
1173 pub Hostname: [u16; 256],
1174 pub Flags: u32,
1175}
1176impl ::core::marker::Copy for HTTP_REQUEST_PROPERTY_SNI {}
1177impl ::core::clone::Clone for HTTP_REQUEST_PROPERTY_SNI {
1178 fn clone(&self) -> Self {
1179 *self
1180 }
1181}
04454e1e 1182#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1183pub const HTTP_REQUEST_PROPERTY_SNI_FLAG_NO_SNI: u32 = 2u32;
04454e1e 1184#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1185pub const HTTP_REQUEST_PROPERTY_SNI_FLAG_SNI_USED: u32 = 1u32;
04454e1e 1186#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085
FG
1187pub const HTTP_REQUEST_PROPERTY_SNI_HOST_MAX_LENGTH: u32 = 255u32;
1188#[repr(C)]
04454e1e 1189#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085
FG
1190pub struct HTTP_REQUEST_PROPERTY_STREAM_ERROR {
1191 pub ErrorCode: u32,
1192}
1193impl ::core::marker::Copy for HTTP_REQUEST_PROPERTY_STREAM_ERROR {}
1194impl ::core::clone::Clone for HTTP_REQUEST_PROPERTY_STREAM_ERROR {
1195 fn clone(&self) -> Self {
1196 *self
1197 }
1198}
1199#[repr(C)]
04454e1e 1200#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085
FG
1201pub struct HTTP_REQUEST_SIZING_INFO {
1202 pub Flags: u64,
1203 pub RequestIndex: u32,
1204 pub RequestSizingCount: u32,
1205 pub RequestSizing: [u64; 5],
1206}
1207impl ::core::marker::Copy for HTTP_REQUEST_SIZING_INFO {}
1208impl ::core::clone::Clone for HTTP_REQUEST_SIZING_INFO {
1209 fn clone(&self) -> Self {
1210 *self
1211 }
1212}
04454e1e 1213#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1214pub const HTTP_REQUEST_SIZING_INFO_FLAG_FIRST_REQUEST: u32 = 8u32;
04454e1e 1215#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1216pub const HTTP_REQUEST_SIZING_INFO_FLAG_TCP_FAST_OPEN: u32 = 1u32;
04454e1e 1217#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1218pub const HTTP_REQUEST_SIZING_INFO_FLAG_TLS_FALSE_START: u32 = 4u32;
04454e1e 1219#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1220pub const HTTP_REQUEST_SIZING_INFO_FLAG_TLS_SESSION_RESUMPTION: u32 = 2u32;
04454e1e 1221#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1222pub type HTTP_REQUEST_SIZING_TYPE = i32;
04454e1e 1223#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1224pub const HttpRequestSizingTypeTlsHandshakeLeg1ClientData: HTTP_REQUEST_SIZING_TYPE = 0i32;
04454e1e 1225#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1226pub const HttpRequestSizingTypeTlsHandshakeLeg1ServerData: HTTP_REQUEST_SIZING_TYPE = 1i32;
04454e1e 1227#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1228pub const HttpRequestSizingTypeTlsHandshakeLeg2ClientData: HTTP_REQUEST_SIZING_TYPE = 2i32;
04454e1e 1229#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1230pub const HttpRequestSizingTypeTlsHandshakeLeg2ServerData: HTTP_REQUEST_SIZING_TYPE = 3i32;
04454e1e 1231#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1232pub const HttpRequestSizingTypeHeaders: HTTP_REQUEST_SIZING_TYPE = 4i32;
04454e1e 1233#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085
FG
1234pub const HttpRequestSizingTypeMax: HTTP_REQUEST_SIZING_TYPE = 5i32;
1235#[repr(C)]
04454e1e 1236#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085
FG
1237pub struct HTTP_REQUEST_TIMING_INFO {
1238 pub RequestTimingCount: u32,
1239 pub RequestTiming: [u64; 30],
1240}
1241impl ::core::marker::Copy for HTTP_REQUEST_TIMING_INFO {}
1242impl ::core::clone::Clone for HTTP_REQUEST_TIMING_INFO {
1243 fn clone(&self) -> Self {
1244 *self
1245 }
1246}
04454e1e 1247#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1248pub type HTTP_REQUEST_TIMING_TYPE = i32;
04454e1e 1249#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1250pub const HttpRequestTimingTypeConnectionStart: HTTP_REQUEST_TIMING_TYPE = 0i32;
04454e1e 1251#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1252pub const HttpRequestTimingTypeDataStart: HTTP_REQUEST_TIMING_TYPE = 1i32;
04454e1e 1253#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1254pub const HttpRequestTimingTypeTlsCertificateLoadStart: HTTP_REQUEST_TIMING_TYPE = 2i32;
04454e1e 1255#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1256pub const HttpRequestTimingTypeTlsCertificateLoadEnd: HTTP_REQUEST_TIMING_TYPE = 3i32;
04454e1e 1257#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1258pub const HttpRequestTimingTypeTlsHandshakeLeg1Start: HTTP_REQUEST_TIMING_TYPE = 4i32;
04454e1e 1259#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1260pub const HttpRequestTimingTypeTlsHandshakeLeg1End: HTTP_REQUEST_TIMING_TYPE = 5i32;
04454e1e 1261#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1262pub const HttpRequestTimingTypeTlsHandshakeLeg2Start: HTTP_REQUEST_TIMING_TYPE = 6i32;
04454e1e 1263#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1264pub const HttpRequestTimingTypeTlsHandshakeLeg2End: HTTP_REQUEST_TIMING_TYPE = 7i32;
04454e1e 1265#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1266pub const HttpRequestTimingTypeTlsAttributesQueryStart: HTTP_REQUEST_TIMING_TYPE = 8i32;
04454e1e 1267#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1268pub const HttpRequestTimingTypeTlsAttributesQueryEnd: HTTP_REQUEST_TIMING_TYPE = 9i32;
04454e1e 1269#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1270pub const HttpRequestTimingTypeTlsClientCertQueryStart: HTTP_REQUEST_TIMING_TYPE = 10i32;
04454e1e 1271#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1272pub const HttpRequestTimingTypeTlsClientCertQueryEnd: HTTP_REQUEST_TIMING_TYPE = 11i32;
04454e1e 1273#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1274pub const HttpRequestTimingTypeHttp2StreamStart: HTTP_REQUEST_TIMING_TYPE = 12i32;
04454e1e 1275#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1276pub const HttpRequestTimingTypeHttp2HeaderDecodeStart: HTTP_REQUEST_TIMING_TYPE = 13i32;
04454e1e 1277#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1278pub const HttpRequestTimingTypeHttp2HeaderDecodeEnd: HTTP_REQUEST_TIMING_TYPE = 14i32;
04454e1e 1279#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1280pub const HttpRequestTimingTypeRequestHeaderParseStart: HTTP_REQUEST_TIMING_TYPE = 15i32;
04454e1e 1281#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1282pub const HttpRequestTimingTypeRequestHeaderParseEnd: HTTP_REQUEST_TIMING_TYPE = 16i32;
04454e1e 1283#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1284pub const HttpRequestTimingTypeRequestRoutingStart: HTTP_REQUEST_TIMING_TYPE = 17i32;
04454e1e 1285#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1286pub const HttpRequestTimingTypeRequestRoutingEnd: HTTP_REQUEST_TIMING_TYPE = 18i32;
04454e1e 1287#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1288pub const HttpRequestTimingTypeRequestQueuedForInspection: HTTP_REQUEST_TIMING_TYPE = 19i32;
04454e1e 1289#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1290pub const HttpRequestTimingTypeRequestDeliveredForInspection: HTTP_REQUEST_TIMING_TYPE = 20i32;
04454e1e 1291#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1292pub const HttpRequestTimingTypeRequestReturnedAfterInspection: HTTP_REQUEST_TIMING_TYPE = 21i32;
04454e1e 1293#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1294pub const HttpRequestTimingTypeRequestQueuedForDelegation: HTTP_REQUEST_TIMING_TYPE = 22i32;
04454e1e 1295#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1296pub const HttpRequestTimingTypeRequestDeliveredForDelegation: HTTP_REQUEST_TIMING_TYPE = 23i32;
04454e1e 1297#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1298pub const HttpRequestTimingTypeRequestReturnedAfterDelegation: HTTP_REQUEST_TIMING_TYPE = 24i32;
04454e1e 1299#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1300pub const HttpRequestTimingTypeRequestQueuedForIO: HTTP_REQUEST_TIMING_TYPE = 25i32;
04454e1e 1301#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1302pub const HttpRequestTimingTypeRequestDeliveredForIO: HTTP_REQUEST_TIMING_TYPE = 26i32;
04454e1e 1303#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1304pub const HttpRequestTimingTypeHttp3StreamStart: HTTP_REQUEST_TIMING_TYPE = 27i32;
04454e1e 1305#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1306pub const HttpRequestTimingTypeHttp3HeaderDecodeStart: HTTP_REQUEST_TIMING_TYPE = 28i32;
04454e1e 1307#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1308pub const HttpRequestTimingTypeHttp3HeaderDecodeEnd: HTTP_REQUEST_TIMING_TYPE = 29i32;
04454e1e 1309#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085
FG
1310pub const HttpRequestTimingTypeMax: HTTP_REQUEST_TIMING_TYPE = 30i32;
1311#[repr(C)]
04454e1e 1312#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085
FG
1313pub struct HTTP_REQUEST_TOKEN_BINDING_INFO {
1314 pub TokenBinding: *mut u8,
1315 pub TokenBindingSize: u32,
1316 pub EKM: *mut u8,
1317 pub EKMSize: u32,
1318 pub KeyType: u8,
1319}
1320impl ::core::marker::Copy for HTTP_REQUEST_TOKEN_BINDING_INFO {}
1321impl ::core::clone::Clone for HTTP_REQUEST_TOKEN_BINDING_INFO {
1322 fn clone(&self) -> Self {
1323 *self
1324 }
1325}
1326#[repr(C)]
04454e1e 1327#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`, `\"Win32_Foundation\"`, `\"Win32_Networking_WinSock\"`*"]
5e7ed085
FG
1328#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Networking_WinSock"))]
1329pub struct HTTP_REQUEST_V1 {
1330 pub Flags: u32,
1331 pub ConnectionId: u64,
1332 pub RequestId: u64,
1333 pub UrlContext: u64,
1334 pub Version: HTTP_VERSION,
1335 pub Verb: HTTP_VERB,
1336 pub UnknownVerbLength: u16,
1337 pub RawUrlLength: u16,
04454e1e
FG
1338 pub pUnknownVerb: ::windows_sys::core::PCSTR,
1339 pub pRawUrl: ::windows_sys::core::PCSTR,
5e7ed085
FG
1340 pub CookedUrl: HTTP_COOKED_URL,
1341 pub Address: HTTP_TRANSPORT_ADDRESS,
1342 pub Headers: HTTP_REQUEST_HEADERS,
1343 pub BytesReceived: u64,
1344 pub EntityChunkCount: u16,
1345 pub pEntityChunks: *mut HTTP_DATA_CHUNK,
1346 pub RawConnectionId: u64,
1347 pub pSslInfo: *mut HTTP_SSL_INFO,
1348}
1349#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Networking_WinSock"))]
1350impl ::core::marker::Copy for HTTP_REQUEST_V1 {}
1351#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Networking_WinSock"))]
1352impl ::core::clone::Clone for HTTP_REQUEST_V1 {
1353 fn clone(&self) -> Self {
1354 *self
1355 }
1356}
1357#[repr(C)]
04454e1e 1358#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`, `\"Win32_Foundation\"`, `\"Win32_Networking_WinSock\"`*"]
5e7ed085
FG
1359#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Networking_WinSock"))]
1360pub struct HTTP_REQUEST_V2 {
1361 pub __AnonymousBase_http_L1861_C35: HTTP_REQUEST_V1,
1362 pub RequestInfoCount: u16,
1363 pub pRequestInfo: *mut HTTP_REQUEST_INFO,
1364}
1365#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Networking_WinSock"))]
1366impl ::core::marker::Copy for HTTP_REQUEST_V2 {}
1367#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Networking_WinSock"))]
1368impl ::core::clone::Clone for HTTP_REQUEST_V2 {
1369 fn clone(&self) -> Self {
1370 *self
1371 }
1372}
04454e1e 1373#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1374pub const HTTP_RESPONSE_FLAG_MORE_ENTITY_BODY_EXISTS: u32 = 2u32;
04454e1e 1375#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085
FG
1376pub const HTTP_RESPONSE_FLAG_MULTIPLE_ENCODINGS_AVAILABLE: u32 = 1u32;
1377#[repr(C)]
04454e1e 1378#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085
FG
1379pub struct HTTP_RESPONSE_HEADERS {
1380 pub UnknownHeaderCount: u16,
1381 pub pUnknownHeaders: *mut HTTP_UNKNOWN_HEADER,
1382 pub TrailerCount: u16,
1383 pub pTrailers: *mut HTTP_UNKNOWN_HEADER,
1384 pub KnownHeaders: [HTTP_KNOWN_HEADER; 30],
1385}
5e7ed085 1386impl ::core::marker::Copy for HTTP_RESPONSE_HEADERS {}
5e7ed085
FG
1387impl ::core::clone::Clone for HTTP_RESPONSE_HEADERS {
1388 fn clone(&self) -> Self {
1389 *self
1390 }
1391}
1392#[repr(C)]
04454e1e 1393#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085
FG
1394pub struct HTTP_RESPONSE_INFO {
1395 pub Type: HTTP_RESPONSE_INFO_TYPE,
1396 pub Length: u32,
1397 pub pInfo: *mut ::core::ffi::c_void,
1398}
1399impl ::core::marker::Copy for HTTP_RESPONSE_INFO {}
1400impl ::core::clone::Clone for HTTP_RESPONSE_INFO {
1401 fn clone(&self) -> Self {
1402 *self
1403 }
1404}
04454e1e 1405#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1406pub const HTTP_RESPONSE_INFO_FLAGS_PRESERVE_ORDER: u32 = 1u32;
04454e1e 1407#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1408pub type HTTP_RESPONSE_INFO_TYPE = i32;
04454e1e 1409#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1410pub const HttpResponseInfoTypeMultipleKnownHeaders: HTTP_RESPONSE_INFO_TYPE = 0i32;
04454e1e 1411#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1412pub const HttpResponseInfoTypeAuthenticationProperty: HTTP_RESPONSE_INFO_TYPE = 1i32;
04454e1e 1413#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1414pub const HttpResponseInfoTypeQoSProperty: HTTP_RESPONSE_INFO_TYPE = 2i32;
04454e1e 1415#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085
FG
1416pub const HttpResponseInfoTypeChannelBind: HTTP_RESPONSE_INFO_TYPE = 3i32;
1417#[repr(C)]
04454e1e 1418#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`, `\"Win32_Foundation\"`*"]
5e7ed085
FG
1419#[cfg(feature = "Win32_Foundation")]
1420pub struct HTTP_RESPONSE_V1 {
1421 pub Flags: u32,
1422 pub Version: HTTP_VERSION,
1423 pub StatusCode: u16,
1424 pub ReasonLength: u16,
04454e1e 1425 pub pReason: ::windows_sys::core::PCSTR,
5e7ed085
FG
1426 pub Headers: HTTP_RESPONSE_HEADERS,
1427 pub EntityChunkCount: u16,
1428 pub pEntityChunks: *mut HTTP_DATA_CHUNK,
1429}
1430#[cfg(feature = "Win32_Foundation")]
1431impl ::core::marker::Copy for HTTP_RESPONSE_V1 {}
1432#[cfg(feature = "Win32_Foundation")]
1433impl ::core::clone::Clone for HTTP_RESPONSE_V1 {
1434 fn clone(&self) -> Self {
1435 *self
1436 }
1437}
1438#[repr(C)]
04454e1e 1439#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`, `\"Win32_Foundation\"`*"]
5e7ed085
FG
1440#[cfg(feature = "Win32_Foundation")]
1441pub struct HTTP_RESPONSE_V2 {
1442 pub __AnonymousBase_http_L2050_C36: HTTP_RESPONSE_V1,
1443 pub ResponseInfoCount: u16,
1444 pub pResponseInfo: *mut HTTP_RESPONSE_INFO,
1445}
1446#[cfg(feature = "Win32_Foundation")]
1447impl ::core::marker::Copy for HTTP_RESPONSE_V2 {}
1448#[cfg(feature = "Win32_Foundation")]
1449impl ::core::clone::Clone for HTTP_RESPONSE_V2 {
1450 fn clone(&self) -> Self {
1451 *self
1452 }
1453}
04454e1e 1454#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1455pub type HTTP_SCHEME = i32;
04454e1e 1456#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1457pub const HttpSchemeHttp: HTTP_SCHEME = 0i32;
04454e1e 1458#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1459pub const HttpSchemeHttps: HTTP_SCHEME = 1i32;
04454e1e 1460#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1461pub const HttpSchemeMaximum: HTTP_SCHEME = 2i32;
04454e1e 1462#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1463pub const HTTP_SEND_RESPONSE_FLAG_BUFFER_DATA: u32 = 4u32;
04454e1e 1464#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1465pub const HTTP_SEND_RESPONSE_FLAG_DISCONNECT: u32 = 1u32;
04454e1e 1466#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1467pub const HTTP_SEND_RESPONSE_FLAG_ENABLE_NAGLING: u32 = 8u32;
04454e1e 1468#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1469pub const HTTP_SEND_RESPONSE_FLAG_GOAWAY: u32 = 256u32;
04454e1e 1470#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1471pub const HTTP_SEND_RESPONSE_FLAG_MORE_DATA: u32 = 2u32;
04454e1e 1472#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1473pub const HTTP_SEND_RESPONSE_FLAG_OPAQUE: u32 = 64u32;
04454e1e 1474#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085
FG
1475pub const HTTP_SEND_RESPONSE_FLAG_PROCESS_RANGES: u32 = 32u32;
1476#[repr(C)]
04454e1e 1477#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085
FG
1478pub struct HTTP_SERVER_AUTHENTICATION_BASIC_PARAMS {
1479 pub RealmLength: u16,
04454e1e 1480 pub Realm: ::windows_sys::core::PWSTR,
5e7ed085 1481}
5e7ed085 1482impl ::core::marker::Copy for HTTP_SERVER_AUTHENTICATION_BASIC_PARAMS {}
5e7ed085
FG
1483impl ::core::clone::Clone for HTTP_SERVER_AUTHENTICATION_BASIC_PARAMS {
1484 fn clone(&self) -> Self {
1485 *self
1486 }
1487}
1488#[repr(C)]
04454e1e 1489#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085
FG
1490pub struct HTTP_SERVER_AUTHENTICATION_DIGEST_PARAMS {
1491 pub DomainNameLength: u16,
04454e1e 1492 pub DomainName: ::windows_sys::core::PWSTR,
5e7ed085 1493 pub RealmLength: u16,
04454e1e 1494 pub Realm: ::windows_sys::core::PWSTR,
5e7ed085 1495}
5e7ed085 1496impl ::core::marker::Copy for HTTP_SERVER_AUTHENTICATION_DIGEST_PARAMS {}
5e7ed085
FG
1497impl ::core::clone::Clone for HTTP_SERVER_AUTHENTICATION_DIGEST_PARAMS {
1498 fn clone(&self) -> Self {
1499 *self
1500 }
1501}
1502#[repr(C)]
04454e1e 1503#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`, `\"Win32_Foundation\"`*"]
5e7ed085
FG
1504#[cfg(feature = "Win32_Foundation")]
1505pub struct HTTP_SERVER_AUTHENTICATION_INFO {
1506 pub Flags: HTTP_PROPERTY_FLAGS,
1507 pub AuthSchemes: u32,
1508 pub ReceiveMutualAuth: super::super::Foundation::BOOLEAN,
1509 pub ReceiveContextHandle: super::super::Foundation::BOOLEAN,
1510 pub DisableNTLMCredentialCaching: super::super::Foundation::BOOLEAN,
1511 pub ExFlags: u8,
1512 pub DigestParams: HTTP_SERVER_AUTHENTICATION_DIGEST_PARAMS,
1513 pub BasicParams: HTTP_SERVER_AUTHENTICATION_BASIC_PARAMS,
1514}
1515#[cfg(feature = "Win32_Foundation")]
1516impl ::core::marker::Copy for HTTP_SERVER_AUTHENTICATION_INFO {}
1517#[cfg(feature = "Win32_Foundation")]
1518impl ::core::clone::Clone for HTTP_SERVER_AUTHENTICATION_INFO {
1519 fn clone(&self) -> Self {
1520 *self
1521 }
1522}
04454e1e 1523#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1524pub type HTTP_SERVER_PROPERTY = i32;
04454e1e 1525#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1526pub const HttpServerAuthenticationProperty: HTTP_SERVER_PROPERTY = 0i32;
04454e1e 1527#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1528pub const HttpServerLoggingProperty: HTTP_SERVER_PROPERTY = 1i32;
04454e1e 1529#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1530pub const HttpServerQosProperty: HTTP_SERVER_PROPERTY = 2i32;
04454e1e 1531#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1532pub const HttpServerTimeoutsProperty: HTTP_SERVER_PROPERTY = 3i32;
04454e1e 1533#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1534pub const HttpServerQueueLengthProperty: HTTP_SERVER_PROPERTY = 4i32;
04454e1e 1535#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1536pub const HttpServerStateProperty: HTTP_SERVER_PROPERTY = 5i32;
04454e1e 1537#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1538pub const HttpServer503VerbosityProperty: HTTP_SERVER_PROPERTY = 6i32;
04454e1e 1539#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1540pub const HttpServerBindingProperty: HTTP_SERVER_PROPERTY = 7i32;
04454e1e 1541#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1542pub const HttpServerExtendedAuthenticationProperty: HTTP_SERVER_PROPERTY = 8i32;
04454e1e 1543#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1544pub const HttpServerListenEndpointProperty: HTTP_SERVER_PROPERTY = 9i32;
04454e1e 1545#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1546pub const HttpServerChannelBindProperty: HTTP_SERVER_PROPERTY = 10i32;
04454e1e 1547#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1548pub const HttpServerProtectionLevelProperty: HTTP_SERVER_PROPERTY = 11i32;
04454e1e 1549#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085
FG
1550pub const HttpServerDelegationProperty: HTTP_SERVER_PROPERTY = 16i32;
1551#[repr(C)]
04454e1e 1552#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085
FG
1553pub struct HTTP_SERVICE_BINDING_A {
1554 pub Base: HTTP_SERVICE_BINDING_BASE,
04454e1e 1555 pub Buffer: ::windows_sys::core::PSTR,
5e7ed085
FG
1556 pub BufferSize: u32,
1557}
5e7ed085 1558impl ::core::marker::Copy for HTTP_SERVICE_BINDING_A {}
5e7ed085
FG
1559impl ::core::clone::Clone for HTTP_SERVICE_BINDING_A {
1560 fn clone(&self) -> Self {
1561 *self
1562 }
1563}
1564#[repr(C)]
04454e1e 1565#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085
FG
1566pub struct HTTP_SERVICE_BINDING_BASE {
1567 pub Type: HTTP_SERVICE_BINDING_TYPE,
1568}
1569impl ::core::marker::Copy for HTTP_SERVICE_BINDING_BASE {}
1570impl ::core::clone::Clone for HTTP_SERVICE_BINDING_BASE {
1571 fn clone(&self) -> Self {
1572 *self
1573 }
1574}
04454e1e 1575#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1576pub type HTTP_SERVICE_BINDING_TYPE = i32;
04454e1e 1577#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1578pub const HttpServiceBindingTypeNone: HTTP_SERVICE_BINDING_TYPE = 0i32;
04454e1e 1579#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1580pub const HttpServiceBindingTypeW: HTTP_SERVICE_BINDING_TYPE = 1i32;
04454e1e 1581#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085
FG
1582pub const HttpServiceBindingTypeA: HTTP_SERVICE_BINDING_TYPE = 2i32;
1583#[repr(C)]
04454e1e 1584#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085
FG
1585pub struct HTTP_SERVICE_BINDING_W {
1586 pub Base: HTTP_SERVICE_BINDING_BASE,
04454e1e 1587 pub Buffer: ::windows_sys::core::PWSTR,
5e7ed085
FG
1588 pub BufferSize: u32,
1589}
5e7ed085 1590impl ::core::marker::Copy for HTTP_SERVICE_BINDING_W {}
5e7ed085
FG
1591impl ::core::clone::Clone for HTTP_SERVICE_BINDING_W {
1592 fn clone(&self) -> Self {
1593 *self
1594 }
1595}
04454e1e 1596#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1597pub type HTTP_SERVICE_CONFIG_CACHE_KEY = i32;
04454e1e 1598#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1599pub const MaxCacheResponseSize: HTTP_SERVICE_CONFIG_CACHE_KEY = 0i32;
04454e1e 1600#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085
FG
1601pub const CacheRangeChunkSize: HTTP_SERVICE_CONFIG_CACHE_KEY = 1i32;
1602#[repr(C)]
04454e1e 1603#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085
FG
1604pub struct HTTP_SERVICE_CONFIG_CACHE_SET {
1605 pub KeyDesc: HTTP_SERVICE_CONFIG_CACHE_KEY,
1606 pub ParamDesc: u32,
1607}
1608impl ::core::marker::Copy for HTTP_SERVICE_CONFIG_CACHE_SET {}
1609impl ::core::clone::Clone for HTTP_SERVICE_CONFIG_CACHE_SET {
1610 fn clone(&self) -> Self {
1611 *self
1612 }
1613}
04454e1e 1614#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1615pub type HTTP_SERVICE_CONFIG_ID = i32;
04454e1e 1616#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1617pub const HttpServiceConfigIPListenList: HTTP_SERVICE_CONFIG_ID = 0i32;
04454e1e 1618#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1619pub const HttpServiceConfigSSLCertInfo: HTTP_SERVICE_CONFIG_ID = 1i32;
04454e1e 1620#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1621pub const HttpServiceConfigUrlAclInfo: HTTP_SERVICE_CONFIG_ID = 2i32;
04454e1e 1622#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1623pub const HttpServiceConfigTimeout: HTTP_SERVICE_CONFIG_ID = 3i32;
04454e1e 1624#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1625pub const HttpServiceConfigCache: HTTP_SERVICE_CONFIG_ID = 4i32;
04454e1e 1626#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1627pub const HttpServiceConfigSslSniCertInfo: HTTP_SERVICE_CONFIG_ID = 5i32;
04454e1e 1628#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1629pub const HttpServiceConfigSslCcsCertInfo: HTTP_SERVICE_CONFIG_ID = 6i32;
04454e1e 1630#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1631pub const HttpServiceConfigSetting: HTTP_SERVICE_CONFIG_ID = 7i32;
04454e1e 1632#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1633pub const HttpServiceConfigSslCertInfoEx: HTTP_SERVICE_CONFIG_ID = 8i32;
04454e1e 1634#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1635pub const HttpServiceConfigSslSniCertInfoEx: HTTP_SERVICE_CONFIG_ID = 9i32;
04454e1e 1636#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1637pub const HttpServiceConfigSslCcsCertInfoEx: HTTP_SERVICE_CONFIG_ID = 10i32;
04454e1e 1638#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1639pub const HttpServiceConfigSslScopedCcsCertInfo: HTTP_SERVICE_CONFIG_ID = 11i32;
04454e1e 1640#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1641pub const HttpServiceConfigSslScopedCcsCertInfoEx: HTTP_SERVICE_CONFIG_ID = 12i32;
04454e1e 1642#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085
FG
1643pub const HttpServiceConfigMax: HTTP_SERVICE_CONFIG_ID = 13i32;
1644#[repr(C)]
04454e1e 1645#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`, `\"Win32_Foundation\"`, `\"Win32_Networking_WinSock\"`*"]
5e7ed085
FG
1646#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Networking_WinSock"))]
1647pub struct HTTP_SERVICE_CONFIG_IP_LISTEN_PARAM {
1648 pub AddrLength: u16,
1649 pub pAddress: *mut super::WinSock::SOCKADDR,
1650}
1651#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Networking_WinSock"))]
1652impl ::core::marker::Copy for HTTP_SERVICE_CONFIG_IP_LISTEN_PARAM {}
1653#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Networking_WinSock"))]
1654impl ::core::clone::Clone for HTTP_SERVICE_CONFIG_IP_LISTEN_PARAM {
1655 fn clone(&self) -> Self {
1656 *self
1657 }
1658}
1659#[repr(C)]
04454e1e 1660#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`, `\"Win32_Foundation\"`, `\"Win32_Networking_WinSock\"`*"]
5e7ed085
FG
1661#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Networking_WinSock"))]
1662pub struct HTTP_SERVICE_CONFIG_IP_LISTEN_QUERY {
1663 pub AddrCount: u32,
1664 pub AddrList: [super::WinSock::SOCKADDR_STORAGE; 1],
1665}
1666#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Networking_WinSock"))]
1667impl ::core::marker::Copy for HTTP_SERVICE_CONFIG_IP_LISTEN_QUERY {}
1668#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Networking_WinSock"))]
1669impl ::core::clone::Clone for HTTP_SERVICE_CONFIG_IP_LISTEN_QUERY {
1670 fn clone(&self) -> Self {
1671 *self
1672 }
1673}
04454e1e 1674#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1675pub type HTTP_SERVICE_CONFIG_QUERY_TYPE = i32;
04454e1e 1676#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1677pub const HttpServiceConfigQueryExact: HTTP_SERVICE_CONFIG_QUERY_TYPE = 0i32;
04454e1e 1678#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1679pub const HttpServiceConfigQueryNext: HTTP_SERVICE_CONFIG_QUERY_TYPE = 1i32;
04454e1e 1680#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1681pub const HttpServiceConfigQueryMax: HTTP_SERVICE_CONFIG_QUERY_TYPE = 2i32;
04454e1e 1682#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1683pub type HTTP_SERVICE_CONFIG_SETTING_KEY = i32;
04454e1e 1684#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1685pub const HttpNone: HTTP_SERVICE_CONFIG_SETTING_KEY = 0i32;
04454e1e 1686#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085
FG
1687pub const HttpTlsThrottle: HTTP_SERVICE_CONFIG_SETTING_KEY = 1i32;
1688#[repr(C)]
04454e1e 1689#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085
FG
1690pub struct HTTP_SERVICE_CONFIG_SETTING_SET {
1691 pub KeyDesc: HTTP_SERVICE_CONFIG_SETTING_KEY,
1692 pub ParamDesc: u32,
1693}
1694impl ::core::marker::Copy for HTTP_SERVICE_CONFIG_SETTING_SET {}
1695impl ::core::clone::Clone for HTTP_SERVICE_CONFIG_SETTING_SET {
1696 fn clone(&self) -> Self {
1697 *self
1698 }
1699}
1700#[repr(C)]
04454e1e 1701#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`, `\"Win32_Foundation\"`, `\"Win32_Networking_WinSock\"`*"]
5e7ed085
FG
1702#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Networking_WinSock"))]
1703pub struct HTTP_SERVICE_CONFIG_SSL_CCS_KEY {
1704 pub LocalAddress: super::WinSock::SOCKADDR_STORAGE,
1705}
1706#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Networking_WinSock"))]
1707impl ::core::marker::Copy for HTTP_SERVICE_CONFIG_SSL_CCS_KEY {}
1708#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Networking_WinSock"))]
1709impl ::core::clone::Clone for HTTP_SERVICE_CONFIG_SSL_CCS_KEY {
1710 fn clone(&self) -> Self {
1711 *self
1712 }
1713}
1714#[repr(C)]
04454e1e 1715#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`, `\"Win32_Foundation\"`, `\"Win32_Networking_WinSock\"`*"]
5e7ed085
FG
1716#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Networking_WinSock"))]
1717pub struct HTTP_SERVICE_CONFIG_SSL_CCS_QUERY {
1718 pub QueryDesc: HTTP_SERVICE_CONFIG_QUERY_TYPE,
1719 pub KeyDesc: HTTP_SERVICE_CONFIG_SSL_CCS_KEY,
1720 pub dwToken: u32,
1721}
1722#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Networking_WinSock"))]
1723impl ::core::marker::Copy for HTTP_SERVICE_CONFIG_SSL_CCS_QUERY {}
1724#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Networking_WinSock"))]
1725impl ::core::clone::Clone for HTTP_SERVICE_CONFIG_SSL_CCS_QUERY {
1726 fn clone(&self) -> Self {
1727 *self
1728 }
1729}
1730#[repr(C)]
04454e1e 1731#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`, `\"Win32_Foundation\"`, `\"Win32_Networking_WinSock\"`*"]
5e7ed085
FG
1732#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Networking_WinSock"))]
1733pub struct HTTP_SERVICE_CONFIG_SSL_CCS_QUERY_EX {
1734 pub QueryDesc: HTTP_SERVICE_CONFIG_QUERY_TYPE,
1735 pub KeyDesc: HTTP_SERVICE_CONFIG_SSL_CCS_KEY,
1736 pub dwToken: u32,
1737 pub ParamType: HTTP_SSL_SERVICE_CONFIG_EX_PARAM_TYPE,
1738}
1739#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Networking_WinSock"))]
1740impl ::core::marker::Copy for HTTP_SERVICE_CONFIG_SSL_CCS_QUERY_EX {}
1741#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Networking_WinSock"))]
1742impl ::core::clone::Clone for HTTP_SERVICE_CONFIG_SSL_CCS_QUERY_EX {
1743 fn clone(&self) -> Self {
1744 *self
1745 }
1746}
1747#[repr(C)]
04454e1e 1748#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`, `\"Win32_Foundation\"`, `\"Win32_Networking_WinSock\"`*"]
5e7ed085
FG
1749#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Networking_WinSock"))]
1750pub struct HTTP_SERVICE_CONFIG_SSL_CCS_SET {
1751 pub KeyDesc: HTTP_SERVICE_CONFIG_SSL_CCS_KEY,
1752 pub ParamDesc: HTTP_SERVICE_CONFIG_SSL_PARAM,
1753}
1754#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Networking_WinSock"))]
1755impl ::core::marker::Copy for HTTP_SERVICE_CONFIG_SSL_CCS_SET {}
1756#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Networking_WinSock"))]
1757impl ::core::clone::Clone for HTTP_SERVICE_CONFIG_SSL_CCS_SET {
1758 fn clone(&self) -> Self {
1759 *self
1760 }
1761}
1762#[repr(C)]
04454e1e 1763#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`, `\"Win32_Foundation\"`, `\"Win32_Networking_WinSock\"`*"]
5e7ed085
FG
1764#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Networking_WinSock"))]
1765pub struct HTTP_SERVICE_CONFIG_SSL_CCS_SET_EX {
1766 pub KeyDesc: HTTP_SERVICE_CONFIG_SSL_CCS_KEY,
1767 pub ParamDesc: HTTP_SERVICE_CONFIG_SSL_PARAM_EX,
1768}
1769#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Networking_WinSock"))]
1770impl ::core::marker::Copy for HTTP_SERVICE_CONFIG_SSL_CCS_SET_EX {}
1771#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Networking_WinSock"))]
1772impl ::core::clone::Clone for HTTP_SERVICE_CONFIG_SSL_CCS_SET_EX {
1773 fn clone(&self) -> Self {
1774 *self
1775 }
1776}
04454e1e 1777#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1778pub const HTTP_SERVICE_CONFIG_SSL_FLAG_DISABLE_HTTP2: u32 = 16u32;
04454e1e 1779#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1780pub const HTTP_SERVICE_CONFIG_SSL_FLAG_DISABLE_LEGACY_TLS: u32 = 1024u32;
04454e1e 1781#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1782pub const HTTP_SERVICE_CONFIG_SSL_FLAG_DISABLE_OCSP_STAPLING: u32 = 128u32;
04454e1e 1783#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1784pub const HTTP_SERVICE_CONFIG_SSL_FLAG_DISABLE_QUIC: u32 = 32u32;
04454e1e 1785#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1786pub const HTTP_SERVICE_CONFIG_SSL_FLAG_DISABLE_TLS12: u32 = 4096u32;
04454e1e 1787#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1788pub const HTTP_SERVICE_CONFIG_SSL_FLAG_DISABLE_TLS13: u32 = 64u32;
04454e1e 1789#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1790pub const HTTP_SERVICE_CONFIG_SSL_FLAG_ENABLE_CLIENT_CORRELATION: u32 = 8192u32;
04454e1e 1791#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1792pub const HTTP_SERVICE_CONFIG_SSL_FLAG_ENABLE_SESSION_TICKET: u32 = 2048u32;
04454e1e 1793#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1794pub const HTTP_SERVICE_CONFIG_SSL_FLAG_ENABLE_TOKEN_BINDING: u32 = 256u32;
04454e1e 1795#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1796pub const HTTP_SERVICE_CONFIG_SSL_FLAG_LOG_EXTENDED_EVENTS: u32 = 512u32;
04454e1e 1797#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1798pub const HTTP_SERVICE_CONFIG_SSL_FLAG_NEGOTIATE_CLIENT_CERT: u32 = 2u32;
04454e1e 1799#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1800pub const HTTP_SERVICE_CONFIG_SSL_FLAG_NO_RAW_FILTER: u32 = 4u32;
04454e1e 1801#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 1802pub const HTTP_SERVICE_CONFIG_SSL_FLAG_REJECT: u32 = 8u32;
04454e1e 1803#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085
FG
1804pub const HTTP_SERVICE_CONFIG_SSL_FLAG_USE_DS_MAPPER: u32 = 1u32;
1805#[repr(C)]
04454e1e 1806#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`, `\"Win32_Foundation\"`, `\"Win32_Networking_WinSock\"`*"]
5e7ed085
FG
1807#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Networking_WinSock"))]
1808pub struct HTTP_SERVICE_CONFIG_SSL_KEY {
1809 pub pIpPort: *mut super::WinSock::SOCKADDR,
1810}
1811#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Networking_WinSock"))]
1812impl ::core::marker::Copy for HTTP_SERVICE_CONFIG_SSL_KEY {}
1813#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Networking_WinSock"))]
1814impl ::core::clone::Clone for HTTP_SERVICE_CONFIG_SSL_KEY {
1815 fn clone(&self) -> Self {
1816 *self
1817 }
1818}
1819#[repr(C)]
04454e1e 1820#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`, `\"Win32_Foundation\"`, `\"Win32_Networking_WinSock\"`*"]
5e7ed085
FG
1821#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Networking_WinSock"))]
1822pub struct HTTP_SERVICE_CONFIG_SSL_KEY_EX {
1823 pub IpPort: super::WinSock::SOCKADDR_STORAGE,
1824}
1825#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Networking_WinSock"))]
1826impl ::core::marker::Copy for HTTP_SERVICE_CONFIG_SSL_KEY_EX {}
1827#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Networking_WinSock"))]
1828impl ::core::clone::Clone for HTTP_SERVICE_CONFIG_SSL_KEY_EX {
1829 fn clone(&self) -> Self {
1830 *self
1831 }
1832}
1833#[repr(C)]
04454e1e 1834#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085
FG
1835pub struct HTTP_SERVICE_CONFIG_SSL_PARAM {
1836 pub SslHashLength: u32,
1837 pub pSslHash: *mut ::core::ffi::c_void,
1838 pub AppId: ::windows_sys::core::GUID,
04454e1e 1839 pub pSslCertStoreName: ::windows_sys::core::PWSTR,
5e7ed085
FG
1840 pub DefaultCertCheckMode: u32,
1841 pub DefaultRevocationFreshnessTime: u32,
1842 pub DefaultRevocationUrlRetrievalTimeout: u32,
04454e1e
FG
1843 pub pDefaultSslCtlIdentifier: ::windows_sys::core::PWSTR,
1844 pub pDefaultSslCtlStoreName: ::windows_sys::core::PWSTR,
5e7ed085
FG
1845 pub DefaultFlags: u32,
1846}
5e7ed085 1847impl ::core::marker::Copy for HTTP_SERVICE_CONFIG_SSL_PARAM {}
5e7ed085
FG
1848impl ::core::clone::Clone for HTTP_SERVICE_CONFIG_SSL_PARAM {
1849 fn clone(&self) -> Self {
1850 *self
1851 }
1852}
1853#[repr(C)]
04454e1e 1854#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085
FG
1855pub struct HTTP_SERVICE_CONFIG_SSL_PARAM_EX {
1856 pub ParamType: HTTP_SSL_SERVICE_CONFIG_EX_PARAM_TYPE,
1857 pub Flags: u64,
1858 pub Anonymous: HTTP_SERVICE_CONFIG_SSL_PARAM_EX_0,
1859}
5e7ed085 1860impl ::core::marker::Copy for HTTP_SERVICE_CONFIG_SSL_PARAM_EX {}
5e7ed085
FG
1861impl ::core::clone::Clone for HTTP_SERVICE_CONFIG_SSL_PARAM_EX {
1862 fn clone(&self) -> Self {
1863 *self
1864 }
1865}
1866#[repr(C)]
04454e1e 1867#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085
FG
1868pub union HTTP_SERVICE_CONFIG_SSL_PARAM_EX_0 {
1869 pub Http2WindowSizeParam: HTTP2_WINDOW_SIZE_PARAM,
1870 pub Http2SettingsLimitsParam: HTTP2_SETTINGS_LIMITS_PARAM,
1871 pub HttpPerformanceParam: HTTP_PERFORMANCE_PARAM,
1872 pub HttpTlsRestrictionsParam: HTTP_TLS_RESTRICTIONS_PARAM,
1873 pub HttpErrorHeadersParam: HTTP_ERROR_HEADERS_PARAM,
1874 pub HttpTlsSessionTicketKeysParam: HTTP_TLS_SESSION_TICKET_KEYS_PARAM,
1875}
5e7ed085 1876impl ::core::marker::Copy for HTTP_SERVICE_CONFIG_SSL_PARAM_EX_0 {}
5e7ed085
FG
1877impl ::core::clone::Clone for HTTP_SERVICE_CONFIG_SSL_PARAM_EX_0 {
1878 fn clone(&self) -> Self {
1879 *self
1880 }
1881}
1882#[repr(C)]
04454e1e 1883#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`, `\"Win32_Foundation\"`, `\"Win32_Networking_WinSock\"`*"]
5e7ed085
FG
1884#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Networking_WinSock"))]
1885pub struct HTTP_SERVICE_CONFIG_SSL_QUERY {
1886 pub QueryDesc: HTTP_SERVICE_CONFIG_QUERY_TYPE,
1887 pub KeyDesc: HTTP_SERVICE_CONFIG_SSL_KEY,
1888 pub dwToken: u32,
1889}
1890#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Networking_WinSock"))]
1891impl ::core::marker::Copy for HTTP_SERVICE_CONFIG_SSL_QUERY {}
1892#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Networking_WinSock"))]
1893impl ::core::clone::Clone for HTTP_SERVICE_CONFIG_SSL_QUERY {
1894 fn clone(&self) -> Self {
1895 *self
1896 }
1897}
1898#[repr(C)]
04454e1e 1899#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`, `\"Win32_Foundation\"`, `\"Win32_Networking_WinSock\"`*"]
5e7ed085
FG
1900#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Networking_WinSock"))]
1901pub struct HTTP_SERVICE_CONFIG_SSL_QUERY_EX {
1902 pub QueryDesc: HTTP_SERVICE_CONFIG_QUERY_TYPE,
1903 pub KeyDesc: HTTP_SERVICE_CONFIG_SSL_KEY_EX,
1904 pub dwToken: u32,
1905 pub ParamType: HTTP_SSL_SERVICE_CONFIG_EX_PARAM_TYPE,
1906}
1907#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Networking_WinSock"))]
1908impl ::core::marker::Copy for HTTP_SERVICE_CONFIG_SSL_QUERY_EX {}
1909#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Networking_WinSock"))]
1910impl ::core::clone::Clone for HTTP_SERVICE_CONFIG_SSL_QUERY_EX {
1911 fn clone(&self) -> Self {
1912 *self
1913 }
1914}
1915#[repr(C)]
04454e1e 1916#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`, `\"Win32_Foundation\"`, `\"Win32_Networking_WinSock\"`*"]
5e7ed085
FG
1917#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Networking_WinSock"))]
1918pub struct HTTP_SERVICE_CONFIG_SSL_SET {
1919 pub KeyDesc: HTTP_SERVICE_CONFIG_SSL_KEY,
1920 pub ParamDesc: HTTP_SERVICE_CONFIG_SSL_PARAM,
1921}
1922#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Networking_WinSock"))]
1923impl ::core::marker::Copy for HTTP_SERVICE_CONFIG_SSL_SET {}
1924#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Networking_WinSock"))]
1925impl ::core::clone::Clone for HTTP_SERVICE_CONFIG_SSL_SET {
1926 fn clone(&self) -> Self {
1927 *self
1928 }
1929}
1930#[repr(C)]
04454e1e 1931#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`, `\"Win32_Foundation\"`, `\"Win32_Networking_WinSock\"`*"]
5e7ed085
FG
1932#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Networking_WinSock"))]
1933pub struct HTTP_SERVICE_CONFIG_SSL_SET_EX {
1934 pub KeyDesc: HTTP_SERVICE_CONFIG_SSL_KEY_EX,
1935 pub ParamDesc: HTTP_SERVICE_CONFIG_SSL_PARAM_EX,
1936}
1937#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Networking_WinSock"))]
1938impl ::core::marker::Copy for HTTP_SERVICE_CONFIG_SSL_SET_EX {}
1939#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Networking_WinSock"))]
1940impl ::core::clone::Clone for HTTP_SERVICE_CONFIG_SSL_SET_EX {
1941 fn clone(&self) -> Self {
1942 *self
1943 }
1944}
1945#[repr(C)]
04454e1e 1946#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`, `\"Win32_Foundation\"`, `\"Win32_Networking_WinSock\"`*"]
5e7ed085
FG
1947#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Networking_WinSock"))]
1948pub struct HTTP_SERVICE_CONFIG_SSL_SNI_KEY {
1949 pub IpPort: super::WinSock::SOCKADDR_STORAGE,
04454e1e 1950 pub Host: ::windows_sys::core::PWSTR,
5e7ed085
FG
1951}
1952#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Networking_WinSock"))]
1953impl ::core::marker::Copy for HTTP_SERVICE_CONFIG_SSL_SNI_KEY {}
1954#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Networking_WinSock"))]
1955impl ::core::clone::Clone for HTTP_SERVICE_CONFIG_SSL_SNI_KEY {
1956 fn clone(&self) -> Self {
1957 *self
1958 }
1959}
1960#[repr(C)]
04454e1e 1961#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`, `\"Win32_Foundation\"`, `\"Win32_Networking_WinSock\"`*"]
5e7ed085
FG
1962#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Networking_WinSock"))]
1963pub struct HTTP_SERVICE_CONFIG_SSL_SNI_QUERY {
1964 pub QueryDesc: HTTP_SERVICE_CONFIG_QUERY_TYPE,
1965 pub KeyDesc: HTTP_SERVICE_CONFIG_SSL_SNI_KEY,
1966 pub dwToken: u32,
1967}
1968#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Networking_WinSock"))]
1969impl ::core::marker::Copy for HTTP_SERVICE_CONFIG_SSL_SNI_QUERY {}
1970#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Networking_WinSock"))]
1971impl ::core::clone::Clone for HTTP_SERVICE_CONFIG_SSL_SNI_QUERY {
1972 fn clone(&self) -> Self {
1973 *self
1974 }
1975}
1976#[repr(C)]
04454e1e 1977#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`, `\"Win32_Foundation\"`, `\"Win32_Networking_WinSock\"`*"]
5e7ed085
FG
1978#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Networking_WinSock"))]
1979pub struct HTTP_SERVICE_CONFIG_SSL_SNI_QUERY_EX {
1980 pub QueryDesc: HTTP_SERVICE_CONFIG_QUERY_TYPE,
1981 pub KeyDesc: HTTP_SERVICE_CONFIG_SSL_SNI_KEY,
1982 pub dwToken: u32,
1983 pub ParamType: HTTP_SSL_SERVICE_CONFIG_EX_PARAM_TYPE,
1984}
1985#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Networking_WinSock"))]
1986impl ::core::marker::Copy for HTTP_SERVICE_CONFIG_SSL_SNI_QUERY_EX {}
1987#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Networking_WinSock"))]
1988impl ::core::clone::Clone for HTTP_SERVICE_CONFIG_SSL_SNI_QUERY_EX {
1989 fn clone(&self) -> Self {
1990 *self
1991 }
1992}
1993#[repr(C)]
04454e1e 1994#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`, `\"Win32_Foundation\"`, `\"Win32_Networking_WinSock\"`*"]
5e7ed085
FG
1995#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Networking_WinSock"))]
1996pub struct HTTP_SERVICE_CONFIG_SSL_SNI_SET {
1997 pub KeyDesc: HTTP_SERVICE_CONFIG_SSL_SNI_KEY,
1998 pub ParamDesc: HTTP_SERVICE_CONFIG_SSL_PARAM,
1999}
2000#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Networking_WinSock"))]
2001impl ::core::marker::Copy for HTTP_SERVICE_CONFIG_SSL_SNI_SET {}
2002#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Networking_WinSock"))]
2003impl ::core::clone::Clone for HTTP_SERVICE_CONFIG_SSL_SNI_SET {
2004 fn clone(&self) -> Self {
2005 *self
2006 }
2007}
2008#[repr(C)]
04454e1e 2009#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`, `\"Win32_Foundation\"`, `\"Win32_Networking_WinSock\"`*"]
5e7ed085
FG
2010#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Networking_WinSock"))]
2011pub struct HTTP_SERVICE_CONFIG_SSL_SNI_SET_EX {
2012 pub KeyDesc: HTTP_SERVICE_CONFIG_SSL_SNI_KEY,
2013 pub ParamDesc: HTTP_SERVICE_CONFIG_SSL_PARAM_EX,
2014}
2015#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Networking_WinSock"))]
2016impl ::core::marker::Copy for HTTP_SERVICE_CONFIG_SSL_SNI_SET_EX {}
2017#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Networking_WinSock"))]
2018impl ::core::clone::Clone for HTTP_SERVICE_CONFIG_SSL_SNI_SET_EX {
2019 fn clone(&self) -> Self {
2020 *self
2021 }
2022}
04454e1e 2023#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 2024pub type HTTP_SERVICE_CONFIG_TIMEOUT_KEY = i32;
04454e1e 2025#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 2026pub const IdleConnectionTimeout: HTTP_SERVICE_CONFIG_TIMEOUT_KEY = 0i32;
04454e1e 2027#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085
FG
2028pub const HeaderWaitTimeout: HTTP_SERVICE_CONFIG_TIMEOUT_KEY = 1i32;
2029#[repr(C)]
04454e1e 2030#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085
FG
2031pub struct HTTP_SERVICE_CONFIG_TIMEOUT_SET {
2032 pub KeyDesc: HTTP_SERVICE_CONFIG_TIMEOUT_KEY,
2033 pub ParamDesc: u16,
2034}
2035impl ::core::marker::Copy for HTTP_SERVICE_CONFIG_TIMEOUT_SET {}
2036impl ::core::clone::Clone for HTTP_SERVICE_CONFIG_TIMEOUT_SET {
2037 fn clone(&self) -> Self {
2038 *self
2039 }
2040}
2041#[repr(C)]
04454e1e 2042#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 2043pub struct HTTP_SERVICE_CONFIG_URLACL_KEY {
04454e1e 2044 pub pUrlPrefix: ::windows_sys::core::PWSTR,
5e7ed085 2045}
5e7ed085 2046impl ::core::marker::Copy for HTTP_SERVICE_CONFIG_URLACL_KEY {}
5e7ed085
FG
2047impl ::core::clone::Clone for HTTP_SERVICE_CONFIG_URLACL_KEY {
2048 fn clone(&self) -> Self {
2049 *self
2050 }
2051}
2052#[repr(C)]
04454e1e 2053#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 2054pub struct HTTP_SERVICE_CONFIG_URLACL_PARAM {
04454e1e 2055 pub pStringSecurityDescriptor: ::windows_sys::core::PWSTR,
5e7ed085 2056}
5e7ed085 2057impl ::core::marker::Copy for HTTP_SERVICE_CONFIG_URLACL_PARAM {}
5e7ed085
FG
2058impl ::core::clone::Clone for HTTP_SERVICE_CONFIG_URLACL_PARAM {
2059 fn clone(&self) -> Self {
2060 *self
2061 }
2062}
2063#[repr(C)]
04454e1e 2064#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085
FG
2065pub struct HTTP_SERVICE_CONFIG_URLACL_QUERY {
2066 pub QueryDesc: HTTP_SERVICE_CONFIG_QUERY_TYPE,
2067 pub KeyDesc: HTTP_SERVICE_CONFIG_URLACL_KEY,
2068 pub dwToken: u32,
2069}
5e7ed085 2070impl ::core::marker::Copy for HTTP_SERVICE_CONFIG_URLACL_QUERY {}
5e7ed085
FG
2071impl ::core::clone::Clone for HTTP_SERVICE_CONFIG_URLACL_QUERY {
2072 fn clone(&self) -> Self {
2073 *self
2074 }
2075}
2076#[repr(C)]
04454e1e 2077#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085
FG
2078pub struct HTTP_SERVICE_CONFIG_URLACL_SET {
2079 pub KeyDesc: HTTP_SERVICE_CONFIG_URLACL_KEY,
2080 pub ParamDesc: HTTP_SERVICE_CONFIG_URLACL_PARAM,
2081}
5e7ed085 2082impl ::core::marker::Copy for HTTP_SERVICE_CONFIG_URLACL_SET {}
5e7ed085
FG
2083impl ::core::clone::Clone for HTTP_SERVICE_CONFIG_URLACL_SET {
2084 fn clone(&self) -> Self {
2085 *self
2086 }
2087}
2088#[repr(C)]
04454e1e 2089#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`, `\"Win32_Foundation\"`*"]
5e7ed085
FG
2090#[cfg(feature = "Win32_Foundation")]
2091pub struct HTTP_SSL_CLIENT_CERT_INFO {
2092 pub CertFlags: u32,
2093 pub CertEncodedSize: u32,
2094 pub pCertEncoded: *mut u8,
2095 pub Token: super::super::Foundation::HANDLE,
2096 pub CertDeniedByMapper: super::super::Foundation::BOOLEAN,
2097}
2098#[cfg(feature = "Win32_Foundation")]
2099impl ::core::marker::Copy for HTTP_SSL_CLIENT_CERT_INFO {}
2100#[cfg(feature = "Win32_Foundation")]
2101impl ::core::clone::Clone for HTTP_SSL_CLIENT_CERT_INFO {
2102 fn clone(&self) -> Self {
2103 *self
2104 }
2105}
2106#[repr(C)]
04454e1e 2107#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`, `\"Win32_Foundation\"`*"]
5e7ed085
FG
2108#[cfg(feature = "Win32_Foundation")]
2109pub struct HTTP_SSL_INFO {
2110 pub ServerCertKeySize: u16,
2111 pub ConnectionKeySize: u16,
2112 pub ServerCertIssuerSize: u32,
2113 pub ServerCertSubjectSize: u32,
04454e1e
FG
2114 pub pServerCertIssuer: ::windows_sys::core::PCSTR,
2115 pub pServerCertSubject: ::windows_sys::core::PCSTR,
5e7ed085
FG
2116 pub pClientCertInfo: *mut HTTP_SSL_CLIENT_CERT_INFO,
2117 pub SslClientCertNegotiated: u32,
2118}
2119#[cfg(feature = "Win32_Foundation")]
2120impl ::core::marker::Copy for HTTP_SSL_INFO {}
2121#[cfg(feature = "Win32_Foundation")]
2122impl ::core::clone::Clone for HTTP_SSL_INFO {
2123 fn clone(&self) -> Self {
2124 *self
2125 }
2126}
2127#[repr(C)]
04454e1e 2128#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085
FG
2129pub struct HTTP_SSL_PROTOCOL_INFO {
2130 pub Protocol: u32,
2131 pub CipherType: u32,
2132 pub CipherStrength: u32,
2133 pub HashType: u32,
2134 pub HashStrength: u32,
2135 pub KeyExchangeType: u32,
2136 pub KeyExchangeStrength: u32,
2137}
2138impl ::core::marker::Copy for HTTP_SSL_PROTOCOL_INFO {}
2139impl ::core::clone::Clone for HTTP_SSL_PROTOCOL_INFO {
2140 fn clone(&self) -> Self {
2141 *self
2142 }
2143}
04454e1e 2144#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 2145pub type HTTP_SSL_SERVICE_CONFIG_EX_PARAM_TYPE = i32;
04454e1e 2146#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 2147pub const ExParamTypeHttp2Window: HTTP_SSL_SERVICE_CONFIG_EX_PARAM_TYPE = 0i32;
04454e1e 2148#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 2149pub const ExParamTypeHttp2SettingsLimits: HTTP_SSL_SERVICE_CONFIG_EX_PARAM_TYPE = 1i32;
04454e1e 2150#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 2151pub const ExParamTypeHttpPerformance: HTTP_SSL_SERVICE_CONFIG_EX_PARAM_TYPE = 2i32;
04454e1e 2152#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 2153pub const ExParamTypeTlsRestrictions: HTTP_SSL_SERVICE_CONFIG_EX_PARAM_TYPE = 3i32;
04454e1e 2154#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 2155pub const ExParamTypeErrorHeaders: HTTP_SSL_SERVICE_CONFIG_EX_PARAM_TYPE = 4i32;
04454e1e 2156#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 2157pub const ExParamTypeTlsSessionTicketKeys: HTTP_SSL_SERVICE_CONFIG_EX_PARAM_TYPE = 5i32;
04454e1e 2158#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085
FG
2159pub const ExParamTypeMax: HTTP_SSL_SERVICE_CONFIG_EX_PARAM_TYPE = 6i32;
2160#[repr(C)]
04454e1e 2161#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085
FG
2162pub struct HTTP_STATE_INFO {
2163 pub Flags: HTTP_PROPERTY_FLAGS,
2164 pub State: HTTP_ENABLED_STATE,
2165}
2166impl ::core::marker::Copy for HTTP_STATE_INFO {}
2167impl ::core::clone::Clone for HTTP_STATE_INFO {
2168 fn clone(&self) -> Self {
2169 *self
2170 }
2171}
2172#[repr(C)]
04454e1e 2173#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085
FG
2174pub struct HTTP_TIMEOUT_LIMIT_INFO {
2175 pub Flags: HTTP_PROPERTY_FLAGS,
2176 pub EntityBody: u16,
2177 pub DrainEntityBody: u16,
2178 pub RequestQueue: u16,
2179 pub IdleConnection: u16,
2180 pub HeaderWait: u16,
2181 pub MinSendRate: u32,
2182}
2183impl ::core::marker::Copy for HTTP_TIMEOUT_LIMIT_INFO {}
2184impl ::core::clone::Clone for HTTP_TIMEOUT_LIMIT_INFO {
2185 fn clone(&self) -> Self {
2186 *self
2187 }
2188}
2189#[repr(C)]
04454e1e 2190#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085
FG
2191pub struct HTTP_TLS_RESTRICTIONS_PARAM {
2192 pub RestrictionCount: u32,
2193 pub TlsRestrictions: *mut ::core::ffi::c_void,
2194}
2195impl ::core::marker::Copy for HTTP_TLS_RESTRICTIONS_PARAM {}
2196impl ::core::clone::Clone for HTTP_TLS_RESTRICTIONS_PARAM {
2197 fn clone(&self) -> Self {
2198 *self
2199 }
2200}
2201#[repr(C)]
04454e1e 2202#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085
FG
2203pub struct HTTP_TLS_SESSION_TICKET_KEYS_PARAM {
2204 pub SessionTicketKeyCount: u32,
2205 pub SessionTicketKeys: *mut ::core::ffi::c_void,
2206}
2207impl ::core::marker::Copy for HTTP_TLS_SESSION_TICKET_KEYS_PARAM {}
2208impl ::core::clone::Clone for HTTP_TLS_SESSION_TICKET_KEYS_PARAM {
2209 fn clone(&self) -> Self {
2210 *self
2211 }
2212}
2213#[repr(C)]
04454e1e 2214#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`, `\"Win32_Foundation\"`, `\"Win32_Networking_WinSock\"`*"]
5e7ed085
FG
2215#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Networking_WinSock"))]
2216pub struct HTTP_TRANSPORT_ADDRESS {
2217 pub pRemoteAddress: *mut super::WinSock::SOCKADDR,
2218 pub pLocalAddress: *mut super::WinSock::SOCKADDR,
2219}
2220#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Networking_WinSock"))]
2221impl ::core::marker::Copy for HTTP_TRANSPORT_ADDRESS {}
2222#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Networking_WinSock"))]
2223impl ::core::clone::Clone for HTTP_TRANSPORT_ADDRESS {
2224 fn clone(&self) -> Self {
2225 *self
2226 }
2227}
2228#[repr(C)]
04454e1e 2229#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085
FG
2230pub struct HTTP_UNKNOWN_HEADER {
2231 pub NameLength: u16,
2232 pub RawValueLength: u16,
04454e1e
FG
2233 pub pName: ::windows_sys::core::PCSTR,
2234 pub pRawValue: ::windows_sys::core::PCSTR,
5e7ed085 2235}
5e7ed085 2236impl ::core::marker::Copy for HTTP_UNKNOWN_HEADER {}
5e7ed085
FG
2237impl ::core::clone::Clone for HTTP_UNKNOWN_HEADER {
2238 fn clone(&self) -> Self {
2239 *self
2240 }
2241}
04454e1e 2242#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 2243pub const HTTP_URL_FLAG_REMOVE_ALL: u32 = 1u32;
04454e1e 2244#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 2245pub type HTTP_VERB = i32;
04454e1e 2246#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 2247pub const HttpVerbUnparsed: HTTP_VERB = 0i32;
04454e1e 2248#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 2249pub const HttpVerbUnknown: HTTP_VERB = 1i32;
04454e1e 2250#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 2251pub const HttpVerbInvalid: HTTP_VERB = 2i32;
04454e1e 2252#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 2253pub const HttpVerbOPTIONS: HTTP_VERB = 3i32;
04454e1e 2254#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 2255pub const HttpVerbGET: HTTP_VERB = 4i32;
04454e1e 2256#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 2257pub const HttpVerbHEAD: HTTP_VERB = 5i32;
04454e1e 2258#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 2259pub const HttpVerbPOST: HTTP_VERB = 6i32;
04454e1e 2260#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 2261pub const HttpVerbPUT: HTTP_VERB = 7i32;
04454e1e 2262#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 2263pub const HttpVerbDELETE: HTTP_VERB = 8i32;
04454e1e 2264#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 2265pub const HttpVerbTRACE: HTTP_VERB = 9i32;
04454e1e 2266#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 2267pub const HttpVerbCONNECT: HTTP_VERB = 10i32;
04454e1e 2268#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 2269pub const HttpVerbTRACK: HTTP_VERB = 11i32;
04454e1e 2270#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 2271pub const HttpVerbMOVE: HTTP_VERB = 12i32;
04454e1e 2272#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 2273pub const HttpVerbCOPY: HTTP_VERB = 13i32;
04454e1e 2274#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 2275pub const HttpVerbPROPFIND: HTTP_VERB = 14i32;
04454e1e 2276#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 2277pub const HttpVerbPROPPATCH: HTTP_VERB = 15i32;
04454e1e 2278#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 2279pub const HttpVerbMKCOL: HTTP_VERB = 16i32;
04454e1e 2280#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 2281pub const HttpVerbLOCK: HTTP_VERB = 17i32;
04454e1e 2282#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 2283pub const HttpVerbUNLOCK: HTTP_VERB = 18i32;
04454e1e 2284#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 2285pub const HttpVerbSEARCH: HTTP_VERB = 19i32;
04454e1e 2286#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085 2287pub const HttpVerbMaximum: HTTP_VERB = 20i32;
04454e1e 2288#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
923072b8 2289pub const HTTP_VERSION: &str = "HTTP/1.0";
5e7ed085 2290#[repr(C)]
04454e1e 2291#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085
FG
2292pub struct HTTP_VERSION {
2293 pub MajorVersion: u16,
2294 pub MinorVersion: u16,
2295}
2296impl ::core::marker::Copy for HTTP_VERSION {}
2297impl ::core::clone::Clone for HTTP_VERSION {
2298 fn clone(&self) -> Self {
2299 *self
2300 }
2301}
2302#[repr(C)]
04454e1e 2303#[doc = "*Required features: `\"Win32_Networking_HttpServer\"`*"]
5e7ed085
FG
2304pub struct HTTP_WSK_API_TIMINGS {
2305 pub ConnectCount: u64,
2306 pub ConnectSum: u64,
2307 pub DisconnectCount: u64,
2308 pub DisconnectSum: u64,
2309 pub SendCount: u64,
2310 pub SendSum: u64,
2311 pub ReceiveCount: u64,
2312 pub ReceiveSum: u64,
2313 pub ReleaseCount: u64,
2314 pub ReleaseSum: u64,
2315 pub ControlSocketCount: u64,
2316 pub ControlSocketSum: u64,
2317}
2318impl ::core::marker::Copy for HTTP_WSK_API_TIMINGS {}
2319impl ::core::clone::Clone for HTTP_WSK_API_TIMINGS {
2320 fn clone(&self) -> Self {
2321 *self
2322 }
2323}