// Licensed under the Apache License, Version 2.0 // or the MIT license // , at your option. // All files in the project carrying such notice may not be copied, modified, or distributed // except according to those terms. use shared::minwindef::{BOOL, DWORD, PBOOL}; use um::minwinbase::LPDEBUG_EVENT; use um::winnt::{HANDLE, LPCSTR, LPCWSTR}; extern "system" { pub fn IsDebuggerPresent() -> BOOL; pub fn DebugBreak(); pub fn OutputDebugStringA( lpOutputString: LPCSTR, ); pub fn OutputDebugStringW( lpOutputString: LPCWSTR, ); pub fn ContinueDebugEvent( dwProcessId: DWORD, dwThreadId: DWORD, dwContinueStatus: DWORD, ) -> BOOL; pub fn WaitForDebugEvent( lpDebugEvent: LPDEBUG_EVENT, dwMilliseconds: DWORD, ) -> BOOL; pub fn DebugActiveProcess( dwProcessId: DWORD, ) -> BOOL; pub fn DebugActiveProcessStop( dwProcessId: DWORD, ) -> BOOL; pub fn CheckRemoteDebuggerPresent( hProcess: HANDLE, pbDebuggerPresent: PBOOL, ) -> BOOL; pub fn WaitForDebugEventEx( lpDebugEvent: LPDEBUG_EVENT, dwMilliseconds: DWORD, ) -> BOOL; }