2 * Copyright (c) 1998 Barton P. Miller
\r
4 * We provide the Paradyn Parallel Performance Tools (below
\r
5 * described as Paradyn") on an AS IS basis, and do not warrant its
\r
6 * validity or performance. We reserve the right to update, modify,
\r
7 * or discontinue this software at any time. We shall have no
\r
8 * obligation to supply such updates or modifications or any other
\r
9 * form of support to you.
\r
11 * This license is for research uses. For such uses, there is no
\r
12 * charge. We define "research use" to mean you may freely use it
\r
13 * inside your organization for whatever purposes you see fit. But you
\r
14 * may not re-distribute Paradyn or parts of Paradyn, in any form
\r
15 * source or binary (including derivatives), electronic or otherwise,
\r
16 * to any other organization or entity without our permission.
\r
18 * (for other uses, please contact us at paradyn@cs.wisc.edu)
\r
20 * All warranties, including without limitation, any warranty of
\r
21 * merchantability or fitness for a particular purpose, are hereby
\r
24 * By your use of Paradyn, you understand and agree that we (or any
\r
25 * other person or entity with proprietary rights in Paradyn) are
\r
26 * under no obligation to provide either maintenance services,
\r
27 * update services, notices of latent defects, or correction of
\r
28 * defects for Paradyn.
\r
30 * Even if advised of the possibility of such damages, under no
\r
31 * circumstances shall we (or any other person or entity with
\r
32 * proprietary rights in the software licensed hereunder) be liable
\r
33 * to you or any third party for direct, indirect, or consequential
\r
34 * damages of any character regardless of type of action, including,
\r
35 * without limitation, loss of profits, loss of use, loss of good
\r
36 * will, or computer failure or malfunction. You agree to indemnify
\r
37 * us (and any other person or entity with proprietary rights in the
\r
38 * software licensed hereunder) for any and all liability it may
\r
39 * incur to third parties resulting from your use of Paradyn.
\r
44 * $Id: remoteDevice.h,v 1.1 2001/08/01 15:39:52 chadd Exp $
\r
48 #include "common/h/ntHeaders.h"
\r
49 #include "w32CONTEXT.h"
\r
50 #include <rapi.h> //ccw 2 aug 2000
\r
51 #include "baseTrampTemplate.h" //ccw 2 aug 2000
\r
54 class remoteDevice {
\r
56 SOCKET deviceSocket;
\r
62 bool test(LPCWSTR st1r,LPCWSTR s2tr, int y, LPCWSTR str);
\r
64 bool RemoteGetTrampTemplate();
\r
66 bool RemoteWriteProcessMemory( HANDLE hProcess, LPVOID lpBaseAddress,
\r
67 LPVOID lpBuffer, DWORD nSize, LPDWORD lpNumberOfBytesWritten);
\r
69 bool RemoteCreateProcess(LPCWSTR lpApplicationName, LPCWSTR lpCommandLine,
\r
70 LPSECURITY_ATTRIBUTES lpProcessAttributes,
\r
71 LPSECURITY_ATTRIBUTES lpThreadAttributes,
\r
72 bool bInheritHandles, DWORD dwCreationFlags, LPVOID lpEnvironment,
\r
73 LPCWSTR lpCurrentDirectory, LPSTARTUPINFO
\r
74 lpStartupInfo, LPPROCESS_INFORMATION lpProcessInformation );
\r
76 HANDLE RemoteOpenProcess( DWORD fdwAccess, bool fInherit,
\r
79 bool RemoteReadProcessMemory( HANDLE hProcess, LPCVOID
\r
81 LPVOID lpBuffer, DWORD nSize, LPDWORD
\r
82 lpNumberOfBytesRead);
\r
84 bool RemoteDebugActiveProcess( DWORD dwProcessId );
\r
87 bool RemoteGetThreadContext( HANDLE hThread, w32CONTEXT *
\r
90 bool RemoteSetThreadContext( HANDLE hThread,
\r
91 CONST w32CONTEXT * lpContext);
\r
93 bool RemoteWaitForDebugEvent(LPDEBUG_EVENT lpDebugEvent,
\r
94 DWORD dwMilliseconds);
\r
96 bool RemoteContinueDebugEvent( DWORD dwProcessId, DWORD
\r
98 DWORD dwContinueStatus );
\r
100 bool RemoteResumeThread(HANDLE hThread);
\r
102 bool RemoteSuspendThread(HANDLE hThread);
\r
104 bool RemoteTerminateProcess(HANDLE hThread, UINT uExitCode);
\r
105 bool RemoteCloseHandle(HANDLE hObject);
\r
108 bool RemoteFlushInstructionCache(HANDLE hProcess, LPCVOID lpBaseAddress, DWORD dwSize);
\r