blob: 4bdfbd47146c3e45e1d1f4a2bfd39ec4efefe8a9 [file] [log] [blame]
#[doc = "*Required features: `\"Win32_Networking_WebSocket\"`*"]
#[inline]
pub unsafe fn WebSocketAbortHandle<P0>(hwebsocket: P0)
where
P0: ::windows_core::IntoParam<WEB_SOCKET_HANDLE>,
{
::windows_targets::link!("websocket.dll" "system" fn WebSocketAbortHandle(hwebsocket : WEB_SOCKET_HANDLE) -> ());
WebSocketAbortHandle(hwebsocket.into_param().abi())
}
#[doc = "*Required features: `\"Win32_Networking_WebSocket\"`*"]
#[inline]
pub unsafe fn WebSocketBeginClientHandshake<P0>(hwebsocket: P0, pszsubprotocols: ::core::option::Option<&[::windows_core::PCSTR]>, pszextensions: ::core::option::Option<&[::windows_core::PCSTR]>, pinitialheaders: ::core::option::Option<&[WEB_SOCKET_HTTP_HEADER]>, padditionalheaders: *mut *mut WEB_SOCKET_HTTP_HEADER, puladditionalheadercount: *mut u32) -> ::windows_core::Result<()>
where
P0: ::windows_core::IntoParam<WEB_SOCKET_HANDLE>,
{
::windows_targets::link!("websocket.dll" "system" fn WebSocketBeginClientHandshake(hwebsocket : WEB_SOCKET_HANDLE, pszsubprotocols : *const ::windows_core::PCSTR, ulsubprotocolcount : u32, pszextensions : *const ::windows_core::PCSTR, ulextensioncount : u32, pinitialheaders : *const WEB_SOCKET_HTTP_HEADER, ulinitialheadercount : u32, padditionalheaders : *mut *mut WEB_SOCKET_HTTP_HEADER, puladditionalheadercount : *mut u32) -> ::windows_core::HRESULT);
WebSocketBeginClientHandshake(
hwebsocket.into_param().abi(),
::core::mem::transmute(pszsubprotocols.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())),
pszsubprotocols.as_deref().map_or(0, |slice| slice.len() as _),
::core::mem::transmute(pszextensions.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())),
pszextensions.as_deref().map_or(0, |slice| slice.len() as _),
::core::mem::transmute(pinitialheaders.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())),
pinitialheaders.as_deref().map_or(0, |slice| slice.len() as _),
padditionalheaders,
puladditionalheadercount,
)
.ok()
}
#[doc = "*Required features: `\"Win32_Networking_WebSocket\"`*"]
#[inline]
pub unsafe fn WebSocketBeginServerHandshake<P0, P1>(hwebsocket: P0, pszsubprotocolselected: P1, pszextensionselected: ::core::option::Option<&[::windows_core::PCSTR]>, prequestheaders: &[WEB_SOCKET_HTTP_HEADER], presponseheaders: *mut *mut WEB_SOCKET_HTTP_HEADER, pulresponseheadercount: *mut u32) -> ::windows_core::Result<()>
where
P0: ::windows_core::IntoParam<WEB_SOCKET_HANDLE>,
P1: ::windows_core::IntoParam<::windows_core::PCSTR>,
{
::windows_targets::link!("websocket.dll" "system" fn WebSocketBeginServerHandshake(hwebsocket : WEB_SOCKET_HANDLE, pszsubprotocolselected : ::windows_core::PCSTR, pszextensionselected : *const ::windows_core::PCSTR, ulextensionselectedcount : u32, prequestheaders : *const WEB_SOCKET_HTTP_HEADER, ulrequestheadercount : u32, presponseheaders : *mut *mut WEB_SOCKET_HTTP_HEADER, pulresponseheadercount : *mut u32) -> ::windows_core::HRESULT);
WebSocketBeginServerHandshake(hwebsocket.into_param().abi(), pszsubprotocolselected.into_param().abi(), ::core::mem::transmute(pszextensionselected.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), pszextensionselected.as_deref().map_or(0, |slice| slice.len() as _), ::core::mem::transmute(prequestheaders.as_ptr()), prequestheaders.len() as _, presponseheaders, pulresponseheadercount).ok()
}
#[doc = "*Required features: `\"Win32_Networking_WebSocket\"`*"]
#[inline]
pub unsafe fn WebSocketCompleteAction<P0>(hwebsocket: P0, pvactioncontext: *const ::core::ffi::c_void, ulbytestransferred: u32)
where
P0: ::windows_core::IntoParam<WEB_SOCKET_HANDLE>,
{
::windows_targets::link!("websocket.dll" "system" fn WebSocketCompleteAction(hwebsocket : WEB_SOCKET_HANDLE, pvactioncontext : *const ::core::ffi::c_void, ulbytestransferred : u32) -> ());
WebSocketCompleteAction(hwebsocket.into_param().abi(), pvactioncontext, ulbytestransferred)
}
#[doc = "*Required features: `\"Win32_Networking_WebSocket\"`*"]
#[inline]
pub unsafe fn WebSocketCreateClientHandle(pproperties: &[WEB_SOCKET_PROPERTY]) -> ::windows_core::Result<WEB_SOCKET_HANDLE> {
::windows_targets::link!("websocket.dll" "system" fn WebSocketCreateClientHandle(pproperties : *const WEB_SOCKET_PROPERTY, ulpropertycount : u32, phwebsocket : *mut WEB_SOCKET_HANDLE) -> ::windows_core::HRESULT);
let mut result__ = ::std::mem::zeroed();
WebSocketCreateClientHandle(::core::mem::transmute(pproperties.as_ptr()), pproperties.len() as _, &mut result__).from_abi(result__)
}
#[doc = "*Required features: `\"Win32_Networking_WebSocket\"`*"]
#[inline]
pub unsafe fn WebSocketCreateServerHandle(pproperties: &[WEB_SOCKET_PROPERTY]) -> ::windows_core::Result<WEB_SOCKET_HANDLE> {
::windows_targets::link!("websocket.dll" "system" fn WebSocketCreateServerHandle(pproperties : *const WEB_SOCKET_PROPERTY, ulpropertycount : u32, phwebsocket : *mut WEB_SOCKET_HANDLE) -> ::windows_core::HRESULT);
let mut result__ = ::std::mem::zeroed();
WebSocketCreateServerHandle(::core::mem::transmute(pproperties.as_ptr()), pproperties.len() as _, &mut result__).from_abi(result__)
}
#[doc = "*Required features: `\"Win32_Networking_WebSocket\"`*"]
#[inline]
pub unsafe fn WebSocketDeleteHandle<P0>(hwebsocket: P0)
where
P0: ::windows_core::IntoParam<WEB_SOCKET_HANDLE>,
{
::windows_targets::link!("websocket.dll" "system" fn WebSocketDeleteHandle(hwebsocket : WEB_SOCKET_HANDLE) -> ());
WebSocketDeleteHandle(hwebsocket.into_param().abi())
}
#[doc = "*Required features: `\"Win32_Networking_WebSocket\"`*"]
#[inline]
pub unsafe fn WebSocketEndClientHandshake<P0>(hwebsocket: P0, presponseheaders: &[WEB_SOCKET_HTTP_HEADER], pulselectedextensions: ::core::option::Option<*mut u32>, pulselectedextensioncount: ::core::option::Option<*mut u32>, pulselectedsubprotocol: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()>
where
P0: ::windows_core::IntoParam<WEB_SOCKET_HANDLE>,
{
::windows_targets::link!("websocket.dll" "system" fn WebSocketEndClientHandshake(hwebsocket : WEB_SOCKET_HANDLE, presponseheaders : *const WEB_SOCKET_HTTP_HEADER, ulreponseheadercount : u32, pulselectedextensions : *mut u32, pulselectedextensioncount : *mut u32, pulselectedsubprotocol : *mut u32) -> ::windows_core::HRESULT);
WebSocketEndClientHandshake(hwebsocket.into_param().abi(), ::core::mem::transmute(presponseheaders.as_ptr()), presponseheaders.len() as _, ::core::mem::transmute(pulselectedextensions.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(pulselectedextensioncount.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(pulselectedsubprotocol.unwrap_or(::std::ptr::null_mut()))).ok()
}
#[doc = "*Required features: `\"Win32_Networking_WebSocket\"`*"]
#[inline]
pub unsafe fn WebSocketEndServerHandshake<P0>(hwebsocket: P0) -> ::windows_core::Result<()>
where
P0: ::windows_core::IntoParam<WEB_SOCKET_HANDLE>,
{
::windows_targets::link!("websocket.dll" "system" fn WebSocketEndServerHandshake(hwebsocket : WEB_SOCKET_HANDLE) -> ::windows_core::HRESULT);
WebSocketEndServerHandshake(hwebsocket.into_param().abi()).ok()
}
#[doc = "*Required features: `\"Win32_Networking_WebSocket\"`*"]
#[inline]
pub unsafe fn WebSocketGetAction<P0>(hwebsocket: P0, 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: ::core::option::Option<*mut *mut ::core::ffi::c_void>, pvactioncontext: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()>
where
P0: ::windows_core::IntoParam<WEB_SOCKET_HANDLE>,
{
::windows_targets::link!("websocket.dll" "system" 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_core::HRESULT);
WebSocketGetAction(hwebsocket.into_param().abi(), eactionqueue, pdatabuffers, puldatabuffercount, paction, pbuffertype, ::core::mem::transmute(pvapplicationcontext.unwrap_or(::std::ptr::null_mut())), pvactioncontext).ok()
}
#[doc = "*Required features: `\"Win32_Networking_WebSocket\"`*"]
#[inline]
pub unsafe fn WebSocketGetGlobalProperty(etype: WEB_SOCKET_PROPERTY_TYPE, pvvalue: *mut ::core::ffi::c_void, ulsize: *mut u32) -> ::windows_core::Result<()> {
::windows_targets::link!("websocket.dll" "system" fn WebSocketGetGlobalProperty(etype : WEB_SOCKET_PROPERTY_TYPE, pvvalue : *mut ::core::ffi::c_void, ulsize : *mut u32) -> ::windows_core::HRESULT);
WebSocketGetGlobalProperty(etype, pvvalue, ulsize).ok()
}
#[doc = "*Required features: `\"Win32_Networking_WebSocket\"`*"]
#[inline]
pub unsafe fn WebSocketReceive<P0>(hwebsocket: P0, pbuffer: ::core::option::Option<*const WEB_SOCKET_BUFFER>, pvcontext: ::core::option::Option<*const ::core::ffi::c_void>) -> ::windows_core::Result<()>
where
P0: ::windows_core::IntoParam<WEB_SOCKET_HANDLE>,
{
::windows_targets::link!("websocket.dll" "system" fn WebSocketReceive(hwebsocket : WEB_SOCKET_HANDLE, pbuffer : *const WEB_SOCKET_BUFFER, pvcontext : *const ::core::ffi::c_void) -> ::windows_core::HRESULT);
WebSocketReceive(hwebsocket.into_param().abi(), ::core::mem::transmute(pbuffer.unwrap_or(::std::ptr::null())), ::core::mem::transmute(pvcontext.unwrap_or(::std::ptr::null()))).ok()
}
#[doc = "*Required features: `\"Win32_Networking_WebSocket\"`*"]
#[inline]
pub unsafe fn WebSocketSend<P0>(hwebsocket: P0, buffertype: WEB_SOCKET_BUFFER_TYPE, pbuffer: ::core::option::Option<*const WEB_SOCKET_BUFFER>, context: ::core::option::Option<*const ::core::ffi::c_void>) -> ::windows_core::Result<()>
where
P0: ::windows_core::IntoParam<WEB_SOCKET_HANDLE>,
{
::windows_targets::link!("websocket.dll" "system" fn WebSocketSend(hwebsocket : WEB_SOCKET_HANDLE, buffertype : WEB_SOCKET_BUFFER_TYPE, pbuffer : *const WEB_SOCKET_BUFFER, context : *const ::core::ffi::c_void) -> ::windows_core::HRESULT);
WebSocketSend(hwebsocket.into_param().abi(), buffertype, ::core::mem::transmute(pbuffer.unwrap_or(::std::ptr::null())), ::core::mem::transmute(context.unwrap_or(::std::ptr::null()))).ok()
}
#[doc = "*Required features: `\"Win32_Networking_WebSocket\"`*"]
pub const WEB_SOCKET_ABORTED_CLOSE_STATUS: WEB_SOCKET_CLOSE_STATUS = WEB_SOCKET_CLOSE_STATUS(1006i32);
#[doc = "*Required features: `\"Win32_Networking_WebSocket\"`*"]
pub const WEB_SOCKET_ALLOCATED_BUFFER_PROPERTY_TYPE: WEB_SOCKET_PROPERTY_TYPE = WEB_SOCKET_PROPERTY_TYPE(3i32);
#[doc = "*Required features: `\"Win32_Networking_WebSocket\"`*"]
pub const WEB_SOCKET_ALL_ACTION_QUEUE: WEB_SOCKET_ACTION_QUEUE = WEB_SOCKET_ACTION_QUEUE(3i32);
#[doc = "*Required features: `\"Win32_Networking_WebSocket\"`*"]
pub const WEB_SOCKET_BINARY_FRAGMENT_BUFFER_TYPE: WEB_SOCKET_BUFFER_TYPE = WEB_SOCKET_BUFFER_TYPE(-2147483645i32);
#[doc = "*Required features: `\"Win32_Networking_WebSocket\"`*"]
pub const WEB_SOCKET_BINARY_MESSAGE_BUFFER_TYPE: WEB_SOCKET_BUFFER_TYPE = WEB_SOCKET_BUFFER_TYPE(-2147483646i32);
#[doc = "*Required features: `\"Win32_Networking_WebSocket\"`*"]
pub const WEB_SOCKET_CLOSE_BUFFER_TYPE: WEB_SOCKET_BUFFER_TYPE = WEB_SOCKET_BUFFER_TYPE(-2147483644i32);
#[doc = "*Required features: `\"Win32_Networking_WebSocket\"`*"]
pub const WEB_SOCKET_DISABLE_MASKING_PROPERTY_TYPE: WEB_SOCKET_PROPERTY_TYPE = WEB_SOCKET_PROPERTY_TYPE(2i32);
#[doc = "*Required features: `\"Win32_Networking_WebSocket\"`*"]
pub const WEB_SOCKET_DISABLE_UTF8_VERIFICATION_PROPERTY_TYPE: WEB_SOCKET_PROPERTY_TYPE = WEB_SOCKET_PROPERTY_TYPE(4i32);
#[doc = "*Required features: `\"Win32_Networking_WebSocket\"`*"]
pub const WEB_SOCKET_EMPTY_CLOSE_STATUS: WEB_SOCKET_CLOSE_STATUS = WEB_SOCKET_CLOSE_STATUS(1005i32);
#[doc = "*Required features: `\"Win32_Networking_WebSocket\"`*"]
pub const WEB_SOCKET_ENDPOINT_UNAVAILABLE_CLOSE_STATUS: WEB_SOCKET_CLOSE_STATUS = WEB_SOCKET_CLOSE_STATUS(1001i32);
#[doc = "*Required features: `\"Win32_Networking_WebSocket\"`*"]
pub const WEB_SOCKET_INDICATE_RECEIVE_COMPLETE_ACTION: WEB_SOCKET_ACTION = WEB_SOCKET_ACTION(4i32);
#[doc = "*Required features: `\"Win32_Networking_WebSocket\"`*"]
pub const WEB_SOCKET_INDICATE_SEND_COMPLETE_ACTION: WEB_SOCKET_ACTION = WEB_SOCKET_ACTION(2i32);
#[doc = "*Required features: `\"Win32_Networking_WebSocket\"`*"]
pub const WEB_SOCKET_INVALID_DATA_TYPE_CLOSE_STATUS: WEB_SOCKET_CLOSE_STATUS = WEB_SOCKET_CLOSE_STATUS(1003i32);
#[doc = "*Required features: `\"Win32_Networking_WebSocket\"`*"]
pub const WEB_SOCKET_INVALID_PAYLOAD_CLOSE_STATUS: WEB_SOCKET_CLOSE_STATUS = WEB_SOCKET_CLOSE_STATUS(1007i32);
#[doc = "*Required features: `\"Win32_Networking_WebSocket\"`*"]
pub const WEB_SOCKET_KEEPALIVE_INTERVAL_PROPERTY_TYPE: WEB_SOCKET_PROPERTY_TYPE = WEB_SOCKET_PROPERTY_TYPE(5i32);
#[doc = "*Required features: `\"Win32_Networking_WebSocket\"`*"]
pub const WEB_SOCKET_MAX_CLOSE_REASON_LENGTH: u32 = 123u32;
#[doc = "*Required features: `\"Win32_Networking_WebSocket\"`*"]
pub const WEB_SOCKET_MESSAGE_TOO_BIG_CLOSE_STATUS: WEB_SOCKET_CLOSE_STATUS = WEB_SOCKET_CLOSE_STATUS(1009i32);
#[doc = "*Required features: `\"Win32_Networking_WebSocket\"`*"]
pub const WEB_SOCKET_NO_ACTION: WEB_SOCKET_ACTION = WEB_SOCKET_ACTION(0i32);
#[doc = "*Required features: `\"Win32_Networking_WebSocket\"`*"]
pub const WEB_SOCKET_PING_PONG_BUFFER_TYPE: WEB_SOCKET_BUFFER_TYPE = WEB_SOCKET_BUFFER_TYPE(-2147483643i32);
#[doc = "*Required features: `\"Win32_Networking_WebSocket\"`*"]
pub const WEB_SOCKET_POLICY_VIOLATION_CLOSE_STATUS: WEB_SOCKET_CLOSE_STATUS = WEB_SOCKET_CLOSE_STATUS(1008i32);
#[doc = "*Required features: `\"Win32_Networking_WebSocket\"`*"]
pub const WEB_SOCKET_PROTOCOL_ERROR_CLOSE_STATUS: WEB_SOCKET_CLOSE_STATUS = WEB_SOCKET_CLOSE_STATUS(1002i32);
#[doc = "*Required features: `\"Win32_Networking_WebSocket\"`*"]
pub const WEB_SOCKET_RECEIVE_ACTION_QUEUE: WEB_SOCKET_ACTION_QUEUE = WEB_SOCKET_ACTION_QUEUE(2i32);
#[doc = "*Required features: `\"Win32_Networking_WebSocket\"`*"]
pub const WEB_SOCKET_RECEIVE_BUFFER_SIZE_PROPERTY_TYPE: WEB_SOCKET_PROPERTY_TYPE = WEB_SOCKET_PROPERTY_TYPE(0i32);
#[doc = "*Required features: `\"Win32_Networking_WebSocket\"`*"]
pub const WEB_SOCKET_RECEIVE_FROM_NETWORK_ACTION: WEB_SOCKET_ACTION = WEB_SOCKET_ACTION(3i32);
#[doc = "*Required features: `\"Win32_Networking_WebSocket\"`*"]
pub const WEB_SOCKET_SECURE_HANDSHAKE_ERROR_CLOSE_STATUS: WEB_SOCKET_CLOSE_STATUS = WEB_SOCKET_CLOSE_STATUS(1015i32);
#[doc = "*Required features: `\"Win32_Networking_WebSocket\"`*"]
pub const WEB_SOCKET_SEND_ACTION_QUEUE: WEB_SOCKET_ACTION_QUEUE = WEB_SOCKET_ACTION_QUEUE(1i32);
#[doc = "*Required features: `\"Win32_Networking_WebSocket\"`*"]
pub const WEB_SOCKET_SEND_BUFFER_SIZE_PROPERTY_TYPE: WEB_SOCKET_PROPERTY_TYPE = WEB_SOCKET_PROPERTY_TYPE(1i32);
#[doc = "*Required features: `\"Win32_Networking_WebSocket\"`*"]
pub const WEB_SOCKET_SEND_TO_NETWORK_ACTION: WEB_SOCKET_ACTION = WEB_SOCKET_ACTION(1i32);
#[doc = "*Required features: `\"Win32_Networking_WebSocket\"`*"]
pub const WEB_SOCKET_SERVER_ERROR_CLOSE_STATUS: WEB_SOCKET_CLOSE_STATUS = WEB_SOCKET_CLOSE_STATUS(1011i32);
#[doc = "*Required features: `\"Win32_Networking_WebSocket\"`*"]
pub const WEB_SOCKET_SUCCESS_CLOSE_STATUS: WEB_SOCKET_CLOSE_STATUS = WEB_SOCKET_CLOSE_STATUS(1000i32);
#[doc = "*Required features: `\"Win32_Networking_WebSocket\"`*"]
pub const WEB_SOCKET_SUPPORTED_VERSIONS_PROPERTY_TYPE: WEB_SOCKET_PROPERTY_TYPE = WEB_SOCKET_PROPERTY_TYPE(6i32);
#[doc = "*Required features: `\"Win32_Networking_WebSocket\"`*"]
pub const WEB_SOCKET_UNSOLICITED_PONG_BUFFER_TYPE: WEB_SOCKET_BUFFER_TYPE = WEB_SOCKET_BUFFER_TYPE(-2147483642i32);
#[doc = "*Required features: `\"Win32_Networking_WebSocket\"`*"]
pub const WEB_SOCKET_UNSUPPORTED_EXTENSIONS_CLOSE_STATUS: WEB_SOCKET_CLOSE_STATUS = WEB_SOCKET_CLOSE_STATUS(1010i32);
#[doc = "*Required features: `\"Win32_Networking_WebSocket\"`*"]
pub const WEB_SOCKET_UTF8_FRAGMENT_BUFFER_TYPE: WEB_SOCKET_BUFFER_TYPE = WEB_SOCKET_BUFFER_TYPE(-2147483647i32);
#[doc = "*Required features: `\"Win32_Networking_WebSocket\"`*"]
pub const WEB_SOCKET_UTF8_MESSAGE_BUFFER_TYPE: WEB_SOCKET_BUFFER_TYPE = WEB_SOCKET_BUFFER_TYPE(-2147483648i32);
#[doc = "*Required features: `\"Win32_Networking_WebSocket\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct WEB_SOCKET_ACTION(pub i32);
impl ::core::marker::Copy for WEB_SOCKET_ACTION {}
impl ::core::clone::Clone for WEB_SOCKET_ACTION {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for WEB_SOCKET_ACTION {
fn default() -> Self {
Self(0)
}
}
impl ::windows_core::TypeKind for WEB_SOCKET_ACTION {
type TypeKind = ::windows_core::CopyType;
}
impl ::core::fmt::Debug for WEB_SOCKET_ACTION {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("WEB_SOCKET_ACTION").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Networking_WebSocket\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct WEB_SOCKET_ACTION_QUEUE(pub i32);
impl ::core::marker::Copy for WEB_SOCKET_ACTION_QUEUE {}
impl ::core::clone::Clone for WEB_SOCKET_ACTION_QUEUE {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for WEB_SOCKET_ACTION_QUEUE {
fn default() -> Self {
Self(0)
}
}
impl ::windows_core::TypeKind for WEB_SOCKET_ACTION_QUEUE {
type TypeKind = ::windows_core::CopyType;
}
impl ::core::fmt::Debug for WEB_SOCKET_ACTION_QUEUE {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("WEB_SOCKET_ACTION_QUEUE").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Networking_WebSocket\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct WEB_SOCKET_BUFFER_TYPE(pub i32);
impl ::core::marker::Copy for WEB_SOCKET_BUFFER_TYPE {}
impl ::core::clone::Clone for WEB_SOCKET_BUFFER_TYPE {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for WEB_SOCKET_BUFFER_TYPE {
fn default() -> Self {
Self(0)
}
}
impl ::windows_core::TypeKind for WEB_SOCKET_BUFFER_TYPE {
type TypeKind = ::windows_core::CopyType;
}
impl ::core::fmt::Debug for WEB_SOCKET_BUFFER_TYPE {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("WEB_SOCKET_BUFFER_TYPE").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Networking_WebSocket\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct WEB_SOCKET_CLOSE_STATUS(pub i32);
impl ::core::marker::Copy for WEB_SOCKET_CLOSE_STATUS {}
impl ::core::clone::Clone for WEB_SOCKET_CLOSE_STATUS {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for WEB_SOCKET_CLOSE_STATUS {
fn default() -> Self {
Self(0)
}
}
impl ::windows_core::TypeKind for WEB_SOCKET_CLOSE_STATUS {
type TypeKind = ::windows_core::CopyType;
}
impl ::core::fmt::Debug for WEB_SOCKET_CLOSE_STATUS {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("WEB_SOCKET_CLOSE_STATUS").field(&self.0).finish()
}
}
#[doc = "*Required features: `\"Win32_Networking_WebSocket\"`*"]
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct WEB_SOCKET_PROPERTY_TYPE(pub i32);
impl ::core::marker::Copy for WEB_SOCKET_PROPERTY_TYPE {}
impl ::core::clone::Clone for WEB_SOCKET_PROPERTY_TYPE {
fn clone(&self) -> Self {
*self
}
}
impl ::core::default::Default for WEB_SOCKET_PROPERTY_TYPE {
fn default() -> Self {
Self(0)
}
}
impl ::windows_core::TypeKind for WEB_SOCKET_PROPERTY_TYPE {
type TypeKind = ::windows_core::CopyType;
}
impl ::core::fmt::Debug for WEB_SOCKET_PROPERTY_TYPE {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("WEB_SOCKET_PROPERTY_TYPE").field(&self.0).finish()
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Networking_WebSocket\"`*"]
pub union WEB_SOCKET_BUFFER {
pub Data: WEB_SOCKET_BUFFER_1,
pub CloseStatus: WEB_SOCKET_BUFFER_0,
}
impl ::core::marker::Copy for WEB_SOCKET_BUFFER {}
impl ::core::clone::Clone for WEB_SOCKET_BUFFER {
fn clone(&self) -> Self {
*self
}
}
impl ::windows_core::TypeKind for WEB_SOCKET_BUFFER {
type TypeKind = ::windows_core::CopyType;
}
impl ::core::default::Default for WEB_SOCKET_BUFFER {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Networking_WebSocket\"`*"]
pub struct WEB_SOCKET_BUFFER_0 {
pub pbReason: *mut u8,
pub ulReasonLength: u32,
pub usStatus: u16,
}
impl ::core::marker::Copy for WEB_SOCKET_BUFFER_0 {}
impl ::core::clone::Clone for WEB_SOCKET_BUFFER_0 {
fn clone(&self) -> Self {
*self
}
}
impl ::core::fmt::Debug for WEB_SOCKET_BUFFER_0 {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("WEB_SOCKET_BUFFER_0").field("pbReason", &self.pbReason).field("ulReasonLength", &self.ulReasonLength).field("usStatus", &self.usStatus).finish()
}
}
impl ::windows_core::TypeKind for WEB_SOCKET_BUFFER_0 {
type TypeKind = ::windows_core::CopyType;
}
impl ::core::cmp::PartialEq for WEB_SOCKET_BUFFER_0 {
fn eq(&self, other: &Self) -> bool {
self.pbReason == other.pbReason && self.ulReasonLength == other.ulReasonLength && self.usStatus == other.usStatus
}
}
impl ::core::cmp::Eq for WEB_SOCKET_BUFFER_0 {}
impl ::core::default::Default for WEB_SOCKET_BUFFER_0 {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Networking_WebSocket\"`*"]
pub struct WEB_SOCKET_BUFFER_1 {
pub pbBuffer: *mut u8,
pub ulBufferLength: u32,
}
impl ::core::marker::Copy for WEB_SOCKET_BUFFER_1 {}
impl ::core::clone::Clone for WEB_SOCKET_BUFFER_1 {
fn clone(&self) -> Self {
*self
}
}
impl ::core::fmt::Debug for WEB_SOCKET_BUFFER_1 {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("WEB_SOCKET_BUFFER_1").field("pbBuffer", &self.pbBuffer).field("ulBufferLength", &self.ulBufferLength).finish()
}
}
impl ::windows_core::TypeKind for WEB_SOCKET_BUFFER_1 {
type TypeKind = ::windows_core::CopyType;
}
impl ::core::cmp::PartialEq for WEB_SOCKET_BUFFER_1 {
fn eq(&self, other: &Self) -> bool {
self.pbBuffer == other.pbBuffer && self.ulBufferLength == other.ulBufferLength
}
}
impl ::core::cmp::Eq for WEB_SOCKET_BUFFER_1 {}
impl ::core::default::Default for WEB_SOCKET_BUFFER_1 {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(transparent)]
#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
pub struct WEB_SOCKET_HANDLE(pub isize);
impl WEB_SOCKET_HANDLE {
pub fn is_invalid(&self) -> bool {
self.0 == -1 || self.0 == 0
}
}
impl ::core::default::Default for WEB_SOCKET_HANDLE {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
impl ::core::clone::Clone for WEB_SOCKET_HANDLE {
fn clone(&self) -> Self {
*self
}
}
impl ::core::marker::Copy for WEB_SOCKET_HANDLE {}
impl ::core::fmt::Debug for WEB_SOCKET_HANDLE {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_tuple("WEB_SOCKET_HANDLE").field(&self.0).finish()
}
}
impl ::windows_core::TypeKind for WEB_SOCKET_HANDLE {
type TypeKind = ::windows_core::CopyType;
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Networking_WebSocket\"`*"]
pub struct WEB_SOCKET_HTTP_HEADER {
pub pcName: ::windows_core::PSTR,
pub ulNameLength: u32,
pub pcValue: ::windows_core::PSTR,
pub ulValueLength: u32,
}
impl ::core::marker::Copy for WEB_SOCKET_HTTP_HEADER {}
impl ::core::clone::Clone for WEB_SOCKET_HTTP_HEADER {
fn clone(&self) -> Self {
*self
}
}
impl ::core::fmt::Debug for WEB_SOCKET_HTTP_HEADER {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("WEB_SOCKET_HTTP_HEADER").field("pcName", &self.pcName).field("ulNameLength", &self.ulNameLength).field("pcValue", &self.pcValue).field("ulValueLength", &self.ulValueLength).finish()
}
}
impl ::windows_core::TypeKind for WEB_SOCKET_HTTP_HEADER {
type TypeKind = ::windows_core::CopyType;
}
impl ::core::cmp::PartialEq for WEB_SOCKET_HTTP_HEADER {
fn eq(&self, other: &Self) -> bool {
self.pcName == other.pcName && self.ulNameLength == other.ulNameLength && self.pcValue == other.pcValue && self.ulValueLength == other.ulValueLength
}
}
impl ::core::cmp::Eq for WEB_SOCKET_HTTP_HEADER {}
impl ::core::default::Default for WEB_SOCKET_HTTP_HEADER {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Networking_WebSocket\"`*"]
pub struct WEB_SOCKET_PROPERTY {
pub Type: WEB_SOCKET_PROPERTY_TYPE,
pub pvValue: *mut ::core::ffi::c_void,
pub ulValueSize: u32,
}
impl ::core::marker::Copy for WEB_SOCKET_PROPERTY {}
impl ::core::clone::Clone for WEB_SOCKET_PROPERTY {
fn clone(&self) -> Self {
*self
}
}
impl ::core::fmt::Debug for WEB_SOCKET_PROPERTY {
fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
f.debug_struct("WEB_SOCKET_PROPERTY").field("Type", &self.Type).field("pvValue", &self.pvValue).field("ulValueSize", &self.ulValueSize).finish()
}
}
impl ::windows_core::TypeKind for WEB_SOCKET_PROPERTY {
type TypeKind = ::windows_core::CopyType;
}
impl ::core::cmp::PartialEq for WEB_SOCKET_PROPERTY {
fn eq(&self, other: &Self) -> bool {
self.Type == other.Type && self.pvValue == other.pvValue && self.ulValueSize == other.ulValueSize
}
}
impl ::core::cmp::Eq for WEB_SOCKET_PROPERTY {}
impl ::core::default::Default for WEB_SOCKET_PROPERTY {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}