@@ -35,7 +35,6 @@ pub type ULONG = c_ulong;
3535pub type LPBOOL = * mut BOOL ;
3636pub type LPBYTE = * mut BYTE ;
3737pub type LPCSTR = * const CHAR ;
38- pub type LPCVOID = * const c_void ;
3938pub type LPCWSTR = * const WCHAR ;
4039pub type LPDWORD = * mut DWORD ;
4140pub type LPHANDLE = * mut HANDLE ;
@@ -609,16 +608,6 @@ pub enum EXCEPTION_DISPOSITION {
609608 ExceptionCollidedUnwind
610609}
611610
612- #[ repr( C ) ]
613- #[ derive( Copy , Clone ) ]
614- pub struct CONSOLE_READCONSOLE_CONTROL {
615- pub nLength : ULONG ,
616- pub nInitialChars : ULONG ,
617- pub dwCtrlWakeupMask : ULONG ,
618- pub dwControlKeyState : ULONG ,
619- }
620- pub type PCONSOLE_READCONSOLE_CONTROL = * mut CONSOLE_READCONSOLE_CONTROL ;
621-
622611#[ repr( C ) ]
623612#[ derive( Copy ) ]
624613pub struct fd_set {
@@ -642,6 +631,17 @@ pub struct timeval {
642631// Functions forbidden when targeting UWP
643632cfg_if:: cfg_if! {
644633if #[ cfg( not( target_vendor = "uwp" ) ) ] {
634+ #[ repr( C ) ]
635+ #[ derive( Copy , Clone ) ]
636+ pub struct CONSOLE_READCONSOLE_CONTROL {
637+ pub nLength: ULONG ,
638+ pub nInitialChars: ULONG ,
639+ pub dwCtrlWakeupMask: ULONG ,
640+ pub dwControlKeyState: ULONG ,
641+ }
642+
643+ pub type PCONSOLE_READCONSOLE_CONTROL = * mut CONSOLE_READCONSOLE_CONTROL ;
644+
645645 #[ repr( C ) ]
646646 pub struct BY_HANDLE_FILE_INFORMATION {
647647 pub dwFileAttributes: DWORD ,
@@ -657,6 +657,7 @@ if #[cfg(not(target_vendor = "uwp"))] {
657657 }
658658
659659 pub type LPBY_HANDLE_FILE_INFORMATION = * mut BY_HANDLE_FILE_INFORMATION ;
660+ pub type LPCVOID = * const c_void;
660661
661662 pub const HANDLE_FLAG_INHERIT : DWORD = 0x00000001 ;
662663
@@ -666,6 +667,20 @@ if #[cfg(not(target_vendor = "uwp"))] {
666667 #[ link_name = "SystemFunction036" ]
667668 pub fn RtlGenRandom ( RandomBuffer : * mut u8 , RandomBufferLength : ULONG ) -> BOOLEAN ;
668669
670+ pub fn ReadConsoleW ( hConsoleInput: HANDLE ,
671+ lpBuffer: LPVOID ,
672+ nNumberOfCharsToRead: DWORD ,
673+ lpNumberOfCharsRead: LPDWORD ,
674+ pInputControl: PCONSOLE_READCONSOLE_CONTROL ) -> BOOL ;
675+
676+ pub fn WriteConsoleW ( hConsoleOutput: HANDLE ,
677+ lpBuffer: LPCVOID ,
678+ nNumberOfCharsToWrite: DWORD ,
679+ lpNumberOfCharsWritten: LPDWORD ,
680+ lpReserved: LPVOID ) -> BOOL ;
681+
682+ pub fn GetConsoleMode ( hConsoleHandle: HANDLE ,
683+ lpMode: LPDWORD ) -> BOOL ;
669684 // Allowed but unused by UWP
670685 pub fn OpenProcessToken ( ProcessHandle : HANDLE ,
671686 DesiredAccess : DWORD ,
@@ -752,20 +767,6 @@ extern "system" {
752767 pub fn LeaveCriticalSection ( CriticalSection : * mut CRITICAL_SECTION ) ;
753768 pub fn DeleteCriticalSection ( CriticalSection : * mut CRITICAL_SECTION ) ;
754769
755- pub fn ReadConsoleW ( hConsoleInput : HANDLE ,
756- lpBuffer : LPVOID ,
757- nNumberOfCharsToRead : DWORD ,
758- lpNumberOfCharsRead : LPDWORD ,
759- pInputControl : PCONSOLE_READCONSOLE_CONTROL ) -> BOOL ;
760-
761- pub fn WriteConsoleW ( hConsoleOutput : HANDLE ,
762- lpBuffer : LPCVOID ,
763- nNumberOfCharsToWrite : DWORD ,
764- lpNumberOfCharsWritten : LPDWORD ,
765- lpReserved : LPVOID ) -> BOOL ;
766-
767- pub fn GetConsoleMode ( hConsoleHandle : HANDLE ,
768- lpMode : LPDWORD ) -> BOOL ;
769770 pub fn RemoveDirectoryW ( lpPathName : LPCWSTR ) -> BOOL ;
770771 pub fn SetFileAttributesW ( lpFileName : LPCWSTR ,
771772 dwFileAttributes : DWORD ) -> BOOL ;
0 commit comments