@@ -5,6 +5,7 @@ windows_targets::link!("advapi32.dll" "system" fn OpenProcessToken(processhandle
55windows_targets:: link!( "advapi32.dll" "system" "SystemFunction036" fn RtlGenRandom ( randombuffer : * mut core:: ffi:: c_void, randombufferlength : u32 ) -> BOOLEAN ) ;
66windows_targets:: link!( "kernel32.dll" "system" fn AcquireSRWLockExclusive ( srwlock : * mut SRWLOCK ) ) ;
77windows_targets:: link!( "kernel32.dll" "system" fn AcquireSRWLockShared ( srwlock : * mut SRWLOCK ) ) ;
8+ windows_targets:: link!( "kernel32.dll" "system" fn AddVectoredExceptionHandler ( first : u32 , handler : PVECTORED_EXCEPTION_HANDLER ) -> * mut core:: ffi:: c_void) ;
89windows_targets:: link!( "kernel32.dll" "system" fn CancelIo ( hfile : HANDLE ) -> BOOL ) ;
910windows_targets:: link!( "kernel32.dll" "system" fn CloseHandle ( hobject : HANDLE ) -> BOOL ) ;
1011windows_targets:: link!( "kernel32.dll" "system" fn CompareStringOrdinal ( lpstring1 : PCWSTR , cchcount1 : i32 , lpstring2 : PCWSTR , cchcount2 : i32 , bignorecase : BOOL ) -> COMPARESTRING_RESULT ) ;
@@ -114,6 +115,7 @@ windows_targets::link!("ws2_32.dll" "system" fn WSAGetLastError() -> WSA_ERROR);
114115windows_targets:: link!( "ws2_32.dll" "system" fn WSARecv ( s : SOCKET , lpbuffers : * const WSABUF , dwbuffercount : u32 , lpnumberofbytesrecvd : * mut u32 , lpflags : * mut u32 , lpoverlapped : * mut OVERLAPPED , lpcompletionroutine : LPWSAOVERLAPPED_COMPLETION_ROUTINE ) -> i32 ) ;
115116windows_targets:: link!( "ws2_32.dll" "system" fn WSASend ( s : SOCKET , lpbuffers : * const WSABUF , dwbuffercount : u32 , lpnumberofbytessent : * mut u32 , dwflags : u32 , lpoverlapped : * mut OVERLAPPED , lpcompletionroutine : LPWSAOVERLAPPED_COMPLETION_ROUTINE ) -> i32 ) ;
116117windows_targets:: link!( "ws2_32.dll" "system" fn WSASocketW ( af : i32 , r#type : i32 , protocol : i32 , lpprotocolinfo : * const WSAPROTOCOL_INFOW , g : u32 , dwflags : u32 ) -> SOCKET ) ;
118+ windows_targets:: link!( "ws2_32.dll" "system" fn WSAStartup ( wversionrequested : u16 , lpwsadata : * mut WSADATA ) -> i32 ) ;
117119windows_targets:: link!( "ws2_32.dll" "system" fn accept( s : SOCKET , addr : * mut SOCKADDR , addrlen : * mut i32 ) -> SOCKET ) ;
118120windows_targets:: link!( "ws2_32.dll" "system" fn bind( s : SOCKET , name : * const SOCKADDR , namelen : i32 ) -> i32 ) ;
119121windows_targets:: link!( "ws2_32.dll" "system" fn closesocket( s : SOCKET ) -> i32 ) ;
@@ -2284,6 +2286,12 @@ pub type EXCEPTION_DISPOSITION = i32;
22842286pub const EXCEPTION_MAXIMUM_PARAMETERS : u32 = 15u32 ;
22852287#[ repr( C ) ]
22862288#[ derive( Clone , Copy ) ]
2289+ pub struct EXCEPTION_POINTERS {
2290+ pub ExceptionRecord : * mut EXCEPTION_RECORD ,
2291+ pub ContextRecord : * mut CONTEXT ,
2292+ }
2293+ #[ repr( C ) ]
2294+ #[ derive( Clone , Copy ) ]
22872295pub struct EXCEPTION_RECORD {
22882296 pub ExceptionCode : NTSTATUS ,
22892297 pub ExceptionFlags : u32 ,
@@ -2860,6 +2868,8 @@ pub type PTIMERAPCROUTINE = Option<
28602868 dwtimerhighvalue : u32 ,
28612869 ) ,
28622870> ;
2871+ pub type PVECTORED_EXCEPTION_HANDLER =
2872+ Option < unsafe extern "system" fn ( exceptioninfo : * mut EXCEPTION_POINTERS ) -> i32 > ;
28632873pub type PWSTR = * mut u16 ;
28642874pub const READ_CONTROL : FILE_ACCESS_RIGHTS = 131072u32 ;
28652875pub const REALTIME_PRIORITY_CLASS : PROCESS_CREATION_FLAGS = 256u32 ;
@@ -3292,5 +3302,19 @@ pub struct XSAVE_FORMAT {
32923302 pub XmmRegisters : [ M128A ; 8 ] ,
32933303 pub Reserved4 : [ u8 ; 224 ] ,
32943304}
3305+
3306+ #[ cfg( target_arch = "arm" ) ]
3307+ #[ repr( C ) ]
3308+ pub struct WSADATA {
3309+ pub wVersion : u16 ,
3310+ pub wHighVersion : u16 ,
3311+ pub szDescription : [ u8 ; 257 ] ,
3312+ pub szSystemStatus : [ u8 ; 129 ] ,
3313+ pub iMaxSockets : u16 ,
3314+ pub iMaxUdpDg : u16 ,
3315+ pub lpVendorInfo : PSTR ,
3316+ }
3317+ #[ cfg( target_arch = "arm" ) ]
3318+ pub enum CONTEXT { }
32953319// ignore-tidy-filelength
32963320use super :: windows_targets;
0 commit comments