1 // Licensed under the Apache License, Version 2.0 2 // <LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0> or the MIT license 3 // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your option. 4 // All files in the project carrying such notice may not be copied, modified, or distributed 5 // except according to those terms. 6 use shared::minwindef::{BOOL, DWORD, PBOOL}; 7 use um::minwinbase::LPDEBUG_EVENT; 8 use um::winnt::{HANDLE, LPCSTR, LPCWSTR}; 9 extern "system" { IsDebuggerPresent() -> BOOL10 pub fn IsDebuggerPresent() -> BOOL; DebugBreak()11 pub fn DebugBreak(); OutputDebugStringA( lpOutputString: LPCSTR, )12 pub fn OutputDebugStringA( 13 lpOutputString: LPCSTR, 14 ); OutputDebugStringW( lpOutputString: LPCWSTR, )15 pub fn OutputDebugStringW( 16 lpOutputString: LPCWSTR, 17 ); ContinueDebugEvent( dwProcessId: DWORD, dwThreadId: DWORD, dwContinueStatus: DWORD, ) -> BOOL18 pub fn ContinueDebugEvent( 19 dwProcessId: DWORD, 20 dwThreadId: DWORD, 21 dwContinueStatus: DWORD, 22 ) -> BOOL; WaitForDebugEvent( lpDebugEvent: LPDEBUG_EVENT, dwMilliseconds: DWORD, ) -> BOOL23 pub fn WaitForDebugEvent( 24 lpDebugEvent: LPDEBUG_EVENT, 25 dwMilliseconds: DWORD, 26 ) -> BOOL; DebugActiveProcess( dwProcessId: DWORD, ) -> BOOL27 pub fn DebugActiveProcess( 28 dwProcessId: DWORD, 29 ) -> BOOL; DebugActiveProcessStop( dwProcessId: DWORD, ) -> BOOL30 pub fn DebugActiveProcessStop( 31 dwProcessId: DWORD, 32 ) -> BOOL; CheckRemoteDebuggerPresent( hProcess: HANDLE, pbDebuggerPresent: PBOOL, ) -> BOOL33 pub fn CheckRemoteDebuggerPresent( 34 hProcess: HANDLE, 35 pbDebuggerPresent: PBOOL, 36 ) -> BOOL; WaitForDebugEventEx( lpDebugEvent: LPDEBUG_EVENT, dwMilliseconds: DWORD, ) -> BOOL37 pub fn WaitForDebugEventEx( 38 lpDebugEvent: LPDEBUG_EVENT, 39 dwMilliseconds: DWORD, 40 ) -> BOOL; 41 } 42