@@ -39,7 +39,6 @@ pub type ULONG = c_ulong;
3939pub type LPBOOL = * mut BOOL ;
4040pub type LPBYTE = * mut BYTE ;
4141pub type LPCSTR = * const CHAR ;
42- pub type LPCVOID = * const c_void ;
4342pub type LPCWSTR = * const WCHAR ;
4443pub type LPDWORD = * mut DWORD ;
4544pub type LPHANDLE = * mut HANDLE ;
@@ -613,16 +612,6 @@ pub enum EXCEPTION_DISPOSITION {
613612 ExceptionCollidedUnwind
614613}
615614
616- #[ repr( C ) ]
617- #[ derive( Copy , Clone ) ]
618- pub struct CONSOLE_READCONSOLE_CONTROL {
619- pub nLength : ULONG ,
620- pub nInitialChars : ULONG ,
621- pub dwCtrlWakeupMask : ULONG ,
622- pub dwControlKeyState : ULONG ,
623- }
624- pub type PCONSOLE_READCONSOLE_CONTROL = * mut CONSOLE_READCONSOLE_CONTROL ;
625-
626615#[ repr( C ) ]
627616#[ derive( Copy ) ]
628617pub struct fd_set {
@@ -646,6 +635,17 @@ pub struct timeval {
646635// Functions forbidden when targeting UWP
647636#[ cfg( not( target_vendor = "uwp" ) ) ]
648637ifdef ! {
638+ #[ repr( C ) ]
639+ #[ derive( Copy , Clone ) ]
640+ pub struct CONSOLE_READCONSOLE_CONTROL {
641+ pub nLength: ULONG ,
642+ pub nInitialChars: ULONG ,
643+ pub dwCtrlWakeupMask: ULONG ,
644+ pub dwControlKeyState: ULONG ,
645+ }
646+
647+ pub type PCONSOLE_READCONSOLE_CONTROL = * mut CONSOLE_READCONSOLE_CONTROL ;
648+
649649 #[ repr( C ) ]
650650 pub struct BY_HANDLE_FILE_INFORMATION {
651651 pub dwFileAttributes: DWORD ,
@@ -661,6 +661,7 @@ ifdef! {
661661 }
662662
663663 pub type LPBY_HANDLE_FILE_INFORMATION = * mut BY_HANDLE_FILE_INFORMATION ;
664+ pub type LPCVOID = * const c_void;
664665
665666 pub const HANDLE_FLAG_INHERIT : DWORD = 0x00000001 ;
666667
@@ -670,6 +671,20 @@ ifdef! {
670671 #[ link_name = "SystemFunction036" ]
671672 pub fn RtlGenRandom ( RandomBuffer : * mut u8 , RandomBufferLength : ULONG ) -> BOOLEAN ;
672673
674+ pub fn ReadConsoleW ( hConsoleInput: HANDLE ,
675+ lpBuffer: LPVOID ,
676+ nNumberOfCharsToRead: DWORD ,
677+ lpNumberOfCharsRead: LPDWORD ,
678+ pInputControl: PCONSOLE_READCONSOLE_CONTROL ) -> BOOL ;
679+
680+ pub fn WriteConsoleW ( hConsoleOutput: HANDLE ,
681+ lpBuffer: LPCVOID ,
682+ nNumberOfCharsToWrite: DWORD ,
683+ lpNumberOfCharsWritten: LPDWORD ,
684+ lpReserved: LPVOID ) -> BOOL ;
685+
686+ pub fn GetConsoleMode ( hConsoleHandle: HANDLE ,
687+ lpMode: LPDWORD ) -> BOOL ;
673688 // Allowed but unused by UWP
674689 pub fn OpenProcessToken ( ProcessHandle : HANDLE ,
675690 DesiredAccess : DWORD ,
@@ -754,20 +769,6 @@ extern "system" {
754769 pub fn LeaveCriticalSection ( CriticalSection : * mut CRITICAL_SECTION ) ;
755770 pub fn DeleteCriticalSection ( CriticalSection : * mut CRITICAL_SECTION ) ;
756771
757- pub fn ReadConsoleW ( hConsoleInput : HANDLE ,
758- lpBuffer : LPVOID ,
759- nNumberOfCharsToRead : DWORD ,
760- lpNumberOfCharsRead : LPDWORD ,
761- pInputControl : PCONSOLE_READCONSOLE_CONTROL ) -> BOOL ;
762-
763- pub fn WriteConsoleW ( hConsoleOutput : HANDLE ,
764- lpBuffer : LPCVOID ,
765- nNumberOfCharsToWrite : DWORD ,
766- lpNumberOfCharsWritten : LPDWORD ,
767- lpReserved : LPVOID ) -> BOOL ;
768-
769- pub fn GetConsoleMode ( hConsoleHandle : HANDLE ,
770- lpMode : LPDWORD ) -> BOOL ;
771772 pub fn RemoveDirectoryW ( lpPathName : LPCWSTR ) -> BOOL ;
772773 pub fn SetFileAttributesW ( lpFileName : LPCWSTR ,
773774 dwFileAttributes : DWORD ) -> BOOL ;
0 commit comments