@@ -5,6 +5,7 @@ windows_targets::link!("advapi32.dll" "system" fn OpenProcessToken(processhandle
5
5
windows_targets:: link!( "advapi32.dll" "system" "SystemFunction036" fn RtlGenRandom ( randombuffer : * mut core:: ffi:: c_void, randombufferlength : u32 ) -> BOOLEAN ) ;
6
6
windows_targets:: link!( "kernel32.dll" "system" fn AcquireSRWLockExclusive ( srwlock : * mut SRWLOCK ) ) ;
7
7
windows_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) ;
8
9
windows_targets:: link!( "kernel32.dll" "system" fn CancelIo ( hfile : HANDLE ) -> BOOL ) ;
9
10
windows_targets:: link!( "kernel32.dll" "system" fn CloseHandle ( hobject : HANDLE ) -> BOOL ) ;
10
11
windows_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);
114
115
windows_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 ) ;
115
116
windows_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 ) ;
116
117
windows_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 ) ;
117
119
windows_targets:: link!( "ws2_32.dll" "system" fn accept( s : SOCKET , addr : * mut SOCKADDR , addrlen : * mut i32 ) -> SOCKET ) ;
118
120
windows_targets:: link!( "ws2_32.dll" "system" fn bind( s : SOCKET , name : * const SOCKADDR , namelen : i32 ) -> i32 ) ;
119
121
windows_targets:: link!( "ws2_32.dll" "system" fn closesocket( s : SOCKET ) -> i32 ) ;
@@ -2284,6 +2286,12 @@ pub type EXCEPTION_DISPOSITION = i32;
2284
2286
pub const EXCEPTION_MAXIMUM_PARAMETERS : u32 = 15u32 ;
2285
2287
#[ repr( C ) ]
2286
2288
#[ 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 ) ]
2287
2295
pub struct EXCEPTION_RECORD {
2288
2296
pub ExceptionCode : NTSTATUS ,
2289
2297
pub ExceptionFlags : u32 ,
@@ -2860,6 +2868,8 @@ pub type PTIMERAPCROUTINE = Option<
2860
2868
dwtimerhighvalue : u32 ,
2861
2869
) ,
2862
2870
> ;
2871
+ pub type PVECTORED_EXCEPTION_HANDLER =
2872
+ Option < unsafe extern "system" fn ( exceptioninfo : * mut EXCEPTION_POINTERS ) -> i32 > ;
2863
2873
pub type PWSTR = * mut u16 ;
2864
2874
pub const READ_CONTROL : FILE_ACCESS_RIGHTS = 131072u32 ;
2865
2875
pub const REALTIME_PRIORITY_CLASS : PROCESS_CREATION_FLAGS = 256u32 ;
@@ -3292,5 +3302,19 @@ pub struct XSAVE_FORMAT {
3292
3302
pub XmmRegisters : [ M128A ; 8 ] ,
3293
3303
pub Reserved4 : [ u8 ; 224 ] ,
3294
3304
}
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 { }
3295
3319
// ignore-tidy-filelength
3296
3320
use super :: windows_targets;
0 commit comments