]> git.proxmox.com Git - rustc.git/blob - vendor/windows-sys/src/Windows/Win32/Networking/WebSocket/mod.rs
New upstream version 1.63.0+dfsg1
[rustc.git] / vendor / windows-sys / src / Windows / Win32 / Networking / WebSocket / mod.rs
1 #[link(name = "windows")]
2 extern "system" {
3 #[doc = "*Required features: `\"Win32_Networking_WebSocket\"`*"]
4 pub fn WebSocketAbortHandle(hwebsocket: WEB_SOCKET_HANDLE);
5 #[doc = "*Required features: `\"Win32_Networking_WebSocket\"`*"]
6 pub fn WebSocketBeginClientHandshake(hwebsocket: WEB_SOCKET_HANDLE, pszsubprotocols: *const ::windows_sys::core::PSTR, ulsubprotocolcount: u32, pszextensions: *const ::windows_sys::core::PSTR, ulextensioncount: u32, pinitialheaders: *const WEB_SOCKET_HTTP_HEADER, ulinitialheadercount: u32, padditionalheaders: *mut *mut WEB_SOCKET_HTTP_HEADER, puladditionalheadercount: *mut u32) -> ::windows_sys::core::HRESULT;
7 #[doc = "*Required features: `\"Win32_Networking_WebSocket\"`*"]
8 pub fn WebSocketBeginServerHandshake(hwebsocket: WEB_SOCKET_HANDLE, pszsubprotocolselected: ::windows_sys::core::PCSTR, pszextensionselected: *const ::windows_sys::core::PSTR, ulextensionselectedcount: u32, prequestheaders: *const WEB_SOCKET_HTTP_HEADER, ulrequestheadercount: u32, presponseheaders: *mut *mut WEB_SOCKET_HTTP_HEADER, pulresponseheadercount: *mut u32) -> ::windows_sys::core::HRESULT;
9 #[doc = "*Required features: `\"Win32_Networking_WebSocket\"`*"]
10 pub fn WebSocketCompleteAction(hwebsocket: WEB_SOCKET_HANDLE, pvactioncontext: *const ::core::ffi::c_void, ulbytestransferred: u32);
11 #[doc = "*Required features: `\"Win32_Networking_WebSocket\"`*"]
12 pub fn WebSocketCreateClientHandle(pproperties: *const WEB_SOCKET_PROPERTY, ulpropertycount: u32, phwebsocket: *mut WEB_SOCKET_HANDLE) -> ::windows_sys::core::HRESULT;
13 #[doc = "*Required features: `\"Win32_Networking_WebSocket\"`*"]
14 pub fn WebSocketCreateServerHandle(pproperties: *const WEB_SOCKET_PROPERTY, ulpropertycount: u32, phwebsocket: *mut WEB_SOCKET_HANDLE) -> ::windows_sys::core::HRESULT;
15 #[doc = "*Required features: `\"Win32_Networking_WebSocket\"`*"]
16 pub fn WebSocketDeleteHandle(hwebsocket: WEB_SOCKET_HANDLE);
17 #[doc = "*Required features: `\"Win32_Networking_WebSocket\"`*"]
18 pub fn WebSocketEndClientHandshake(hwebsocket: WEB_SOCKET_HANDLE, presponseheaders: *const WEB_SOCKET_HTTP_HEADER, ulreponseheadercount: u32, pulselectedextensions: *mut u32, pulselectedextensioncount: *mut u32, pulselectedsubprotocol: *mut u32) -> ::windows_sys::core::HRESULT;
19 #[doc = "*Required features: `\"Win32_Networking_WebSocket\"`*"]
20 pub fn WebSocketEndServerHandshake(hwebsocket: WEB_SOCKET_HANDLE) -> ::windows_sys::core::HRESULT;
21 #[doc = "*Required features: `\"Win32_Networking_WebSocket\"`*"]
22 pub fn WebSocketGetAction(hwebsocket: WEB_SOCKET_HANDLE, eactionqueue: WEB_SOCKET_ACTION_QUEUE, pdatabuffers: *mut WEB_SOCKET_BUFFER, puldatabuffercount: *mut u32, paction: *mut WEB_SOCKET_ACTION, pbuffertype: *mut WEB_SOCKET_BUFFER_TYPE, pvapplicationcontext: *mut *mut ::core::ffi::c_void, pvactioncontext: *mut *mut ::core::ffi::c_void) -> ::windows_sys::core::HRESULT;
23 #[doc = "*Required features: `\"Win32_Networking_WebSocket\"`*"]
24 pub fn WebSocketGetGlobalProperty(etype: WEB_SOCKET_PROPERTY_TYPE, pvvalue: *mut ::core::ffi::c_void, ulsize: *mut u32) -> ::windows_sys::core::HRESULT;
25 #[doc = "*Required features: `\"Win32_Networking_WebSocket\"`*"]
26 pub fn WebSocketReceive(hwebsocket: WEB_SOCKET_HANDLE, pbuffer: *const WEB_SOCKET_BUFFER, pvcontext: *const ::core::ffi::c_void) -> ::windows_sys::core::HRESULT;
27 #[doc = "*Required features: `\"Win32_Networking_WebSocket\"`*"]
28 pub fn WebSocketSend(hwebsocket: WEB_SOCKET_HANDLE, buffertype: WEB_SOCKET_BUFFER_TYPE, pbuffer: *const WEB_SOCKET_BUFFER, context: *const ::core::ffi::c_void) -> ::windows_sys::core::HRESULT;
29 }
30 #[doc = "*Required features: `\"Win32_Networking_WebSocket\"`*"]
31 pub type WEB_SOCKET_ACTION = i32;
32 #[doc = "*Required features: `\"Win32_Networking_WebSocket\"`*"]
33 pub const WEB_SOCKET_NO_ACTION: WEB_SOCKET_ACTION = 0i32;
34 #[doc = "*Required features: `\"Win32_Networking_WebSocket\"`*"]
35 pub const WEB_SOCKET_SEND_TO_NETWORK_ACTION: WEB_SOCKET_ACTION = 1i32;
36 #[doc = "*Required features: `\"Win32_Networking_WebSocket\"`*"]
37 pub const WEB_SOCKET_INDICATE_SEND_COMPLETE_ACTION: WEB_SOCKET_ACTION = 2i32;
38 #[doc = "*Required features: `\"Win32_Networking_WebSocket\"`*"]
39 pub const WEB_SOCKET_RECEIVE_FROM_NETWORK_ACTION: WEB_SOCKET_ACTION = 3i32;
40 #[doc = "*Required features: `\"Win32_Networking_WebSocket\"`*"]
41 pub const WEB_SOCKET_INDICATE_RECEIVE_COMPLETE_ACTION: WEB_SOCKET_ACTION = 4i32;
42 #[doc = "*Required features: `\"Win32_Networking_WebSocket\"`*"]
43 pub type WEB_SOCKET_ACTION_QUEUE = i32;
44 #[doc = "*Required features: `\"Win32_Networking_WebSocket\"`*"]
45 pub const WEB_SOCKET_SEND_ACTION_QUEUE: WEB_SOCKET_ACTION_QUEUE = 1i32;
46 #[doc = "*Required features: `\"Win32_Networking_WebSocket\"`*"]
47 pub const WEB_SOCKET_RECEIVE_ACTION_QUEUE: WEB_SOCKET_ACTION_QUEUE = 2i32;
48 #[doc = "*Required features: `\"Win32_Networking_WebSocket\"`*"]
49 pub const WEB_SOCKET_ALL_ACTION_QUEUE: WEB_SOCKET_ACTION_QUEUE = 3i32;
50 #[repr(C)]
51 #[doc = "*Required features: `\"Win32_Networking_WebSocket\"`*"]
52 pub union WEB_SOCKET_BUFFER {
53 pub Data: WEB_SOCKET_BUFFER_1,
54 pub CloseStatus: WEB_SOCKET_BUFFER_0,
55 }
56 impl ::core::marker::Copy for WEB_SOCKET_BUFFER {}
57 impl ::core::clone::Clone for WEB_SOCKET_BUFFER {
58 fn clone(&self) -> Self {
59 *self
60 }
61 }
62 #[repr(C)]
63 #[doc = "*Required features: `\"Win32_Networking_WebSocket\"`*"]
64 pub struct WEB_SOCKET_BUFFER_0 {
65 pub pbReason: *mut u8,
66 pub ulReasonLength: u32,
67 pub usStatus: u16,
68 }
69 impl ::core::marker::Copy for WEB_SOCKET_BUFFER_0 {}
70 impl ::core::clone::Clone for WEB_SOCKET_BUFFER_0 {
71 fn clone(&self) -> Self {
72 *self
73 }
74 }
75 #[repr(C)]
76 #[doc = "*Required features: `\"Win32_Networking_WebSocket\"`*"]
77 pub struct WEB_SOCKET_BUFFER_1 {
78 pub pbBuffer: *mut u8,
79 pub ulBufferLength: u32,
80 }
81 impl ::core::marker::Copy for WEB_SOCKET_BUFFER_1 {}
82 impl ::core::clone::Clone for WEB_SOCKET_BUFFER_1 {
83 fn clone(&self) -> Self {
84 *self
85 }
86 }
87 #[doc = "*Required features: `\"Win32_Networking_WebSocket\"`*"]
88 pub type WEB_SOCKET_BUFFER_TYPE = i32;
89 #[doc = "*Required features: `\"Win32_Networking_WebSocket\"`*"]
90 pub const WEB_SOCKET_UTF8_MESSAGE_BUFFER_TYPE: WEB_SOCKET_BUFFER_TYPE = -2147483648i32;
91 #[doc = "*Required features: `\"Win32_Networking_WebSocket\"`*"]
92 pub const WEB_SOCKET_UTF8_FRAGMENT_BUFFER_TYPE: WEB_SOCKET_BUFFER_TYPE = -2147483647i32;
93 #[doc = "*Required features: `\"Win32_Networking_WebSocket\"`*"]
94 pub const WEB_SOCKET_BINARY_MESSAGE_BUFFER_TYPE: WEB_SOCKET_BUFFER_TYPE = -2147483646i32;
95 #[doc = "*Required features: `\"Win32_Networking_WebSocket\"`*"]
96 pub const WEB_SOCKET_BINARY_FRAGMENT_BUFFER_TYPE: WEB_SOCKET_BUFFER_TYPE = -2147483645i32;
97 #[doc = "*Required features: `\"Win32_Networking_WebSocket\"`*"]
98 pub const WEB_SOCKET_CLOSE_BUFFER_TYPE: WEB_SOCKET_BUFFER_TYPE = -2147483644i32;
99 #[doc = "*Required features: `\"Win32_Networking_WebSocket\"`*"]
100 pub const WEB_SOCKET_PING_PONG_BUFFER_TYPE: WEB_SOCKET_BUFFER_TYPE = -2147483643i32;
101 #[doc = "*Required features: `\"Win32_Networking_WebSocket\"`*"]
102 pub const WEB_SOCKET_UNSOLICITED_PONG_BUFFER_TYPE: WEB_SOCKET_BUFFER_TYPE = -2147483642i32;
103 #[doc = "*Required features: `\"Win32_Networking_WebSocket\"`*"]
104 pub type WEB_SOCKET_CLOSE_STATUS = i32;
105 #[doc = "*Required features: `\"Win32_Networking_WebSocket\"`*"]
106 pub const WEB_SOCKET_SUCCESS_CLOSE_STATUS: WEB_SOCKET_CLOSE_STATUS = 1000i32;
107 #[doc = "*Required features: `\"Win32_Networking_WebSocket\"`*"]
108 pub const WEB_SOCKET_ENDPOINT_UNAVAILABLE_CLOSE_STATUS: WEB_SOCKET_CLOSE_STATUS = 1001i32;
109 #[doc = "*Required features: `\"Win32_Networking_WebSocket\"`*"]
110 pub const WEB_SOCKET_PROTOCOL_ERROR_CLOSE_STATUS: WEB_SOCKET_CLOSE_STATUS = 1002i32;
111 #[doc = "*Required features: `\"Win32_Networking_WebSocket\"`*"]
112 pub const WEB_SOCKET_INVALID_DATA_TYPE_CLOSE_STATUS: WEB_SOCKET_CLOSE_STATUS = 1003i32;
113 #[doc = "*Required features: `\"Win32_Networking_WebSocket\"`*"]
114 pub const WEB_SOCKET_EMPTY_CLOSE_STATUS: WEB_SOCKET_CLOSE_STATUS = 1005i32;
115 #[doc = "*Required features: `\"Win32_Networking_WebSocket\"`*"]
116 pub const WEB_SOCKET_ABORTED_CLOSE_STATUS: WEB_SOCKET_CLOSE_STATUS = 1006i32;
117 #[doc = "*Required features: `\"Win32_Networking_WebSocket\"`*"]
118 pub const WEB_SOCKET_INVALID_PAYLOAD_CLOSE_STATUS: WEB_SOCKET_CLOSE_STATUS = 1007i32;
119 #[doc = "*Required features: `\"Win32_Networking_WebSocket\"`*"]
120 pub const WEB_SOCKET_POLICY_VIOLATION_CLOSE_STATUS: WEB_SOCKET_CLOSE_STATUS = 1008i32;
121 #[doc = "*Required features: `\"Win32_Networking_WebSocket\"`*"]
122 pub const WEB_SOCKET_MESSAGE_TOO_BIG_CLOSE_STATUS: WEB_SOCKET_CLOSE_STATUS = 1009i32;
123 #[doc = "*Required features: `\"Win32_Networking_WebSocket\"`*"]
124 pub const WEB_SOCKET_UNSUPPORTED_EXTENSIONS_CLOSE_STATUS: WEB_SOCKET_CLOSE_STATUS = 1010i32;
125 #[doc = "*Required features: `\"Win32_Networking_WebSocket\"`*"]
126 pub const WEB_SOCKET_SERVER_ERROR_CLOSE_STATUS: WEB_SOCKET_CLOSE_STATUS = 1011i32;
127 #[doc = "*Required features: `\"Win32_Networking_WebSocket\"`*"]
128 pub const WEB_SOCKET_SECURE_HANDSHAKE_ERROR_CLOSE_STATUS: WEB_SOCKET_CLOSE_STATUS = 1015i32;
129 pub type WEB_SOCKET_HANDLE = isize;
130 #[repr(C)]
131 #[doc = "*Required features: `\"Win32_Networking_WebSocket\"`*"]
132 pub struct WEB_SOCKET_HTTP_HEADER {
133 pub pcName: ::windows_sys::core::PSTR,
134 pub ulNameLength: u32,
135 pub pcValue: ::windows_sys::core::PSTR,
136 pub ulValueLength: u32,
137 }
138 impl ::core::marker::Copy for WEB_SOCKET_HTTP_HEADER {}
139 impl ::core::clone::Clone for WEB_SOCKET_HTTP_HEADER {
140 fn clone(&self) -> Self {
141 *self
142 }
143 }
144 #[doc = "*Required features: `\"Win32_Networking_WebSocket\"`*"]
145 pub const WEB_SOCKET_MAX_CLOSE_REASON_LENGTH: u32 = 123u32;
146 #[repr(C)]
147 #[doc = "*Required features: `\"Win32_Networking_WebSocket\"`*"]
148 pub struct WEB_SOCKET_PROPERTY {
149 pub Type: WEB_SOCKET_PROPERTY_TYPE,
150 pub pvValue: *mut ::core::ffi::c_void,
151 pub ulValueSize: u32,
152 }
153 impl ::core::marker::Copy for WEB_SOCKET_PROPERTY {}
154 impl ::core::clone::Clone for WEB_SOCKET_PROPERTY {
155 fn clone(&self) -> Self {
156 *self
157 }
158 }
159 #[doc = "*Required features: `\"Win32_Networking_WebSocket\"`*"]
160 pub type WEB_SOCKET_PROPERTY_TYPE = i32;
161 #[doc = "*Required features: `\"Win32_Networking_WebSocket\"`*"]
162 pub const WEB_SOCKET_RECEIVE_BUFFER_SIZE_PROPERTY_TYPE: WEB_SOCKET_PROPERTY_TYPE = 0i32;
163 #[doc = "*Required features: `\"Win32_Networking_WebSocket\"`*"]
164 pub const WEB_SOCKET_SEND_BUFFER_SIZE_PROPERTY_TYPE: WEB_SOCKET_PROPERTY_TYPE = 1i32;
165 #[doc = "*Required features: `\"Win32_Networking_WebSocket\"`*"]
166 pub const WEB_SOCKET_DISABLE_MASKING_PROPERTY_TYPE: WEB_SOCKET_PROPERTY_TYPE = 2i32;
167 #[doc = "*Required features: `\"Win32_Networking_WebSocket\"`*"]
168 pub const WEB_SOCKET_ALLOCATED_BUFFER_PROPERTY_TYPE: WEB_SOCKET_PROPERTY_TYPE = 3i32;
169 #[doc = "*Required features: `\"Win32_Networking_WebSocket\"`*"]
170 pub const WEB_SOCKET_DISABLE_UTF8_VERIFICATION_PROPERTY_TYPE: WEB_SOCKET_PROPERTY_TYPE = 4i32;
171 #[doc = "*Required features: `\"Win32_Networking_WebSocket\"`*"]
172 pub const WEB_SOCKET_KEEPALIVE_INTERVAL_PROPERTY_TYPE: WEB_SOCKET_PROPERTY_TYPE = 5i32;
173 #[doc = "*Required features: `\"Win32_Networking_WebSocket\"`*"]
174 pub const WEB_SOCKET_SUPPORTED_VERSIONS_PROPERTY_TYPE: WEB_SOCKET_PROPERTY_TYPE = 6i32;