OLD | NEW |
| (Empty) |
1 /* | |
2 * Copyright 2011 The Native Client Authors. All rights reserved. | |
3 * Use of this source code is governed by a BSD-style license that can | |
4 * be found in the LICENSE file. | |
5 */ | |
6 | |
7 #ifndef NATIVE_CLIENT_SRC_TRUSTED_DEBUG_STUB_DEBUG_STUB_VSX_H_ | |
8 #define NATIVE_CLIENT_SRC_TRUSTED_DEBUG_STUB_DEBUG_STUB_VSX_H_ 1 | |
9 | |
10 #include "native_client/src/include/portability.h" | |
11 #include "native_client/src/trusted/debug_stub/debug_stub.h" | |
12 | |
13 EXTERN_C_BEGIN | |
14 | |
15 // Handle for any OS dependant handle, or 'C' object reference | |
16 typedef void *DebugHandle; | |
17 | |
18 // The result of any DebugStub Operation | |
19 typedef enum { | |
20 DS_ERROR = -1, // Error on the object | |
21 DS_NONE = 0, // Nothing to do | |
22 DS_OK = 1 // Success | |
23 } DSResult; | |
24 | |
25 | |
26 enum { | |
27 // Create a server socket to wait for connections. | |
28 DAPI_SET_ENV, // Set the running environment | |
29 DAPI_SOCKER_SERVER, // Create a socket server | |
30 DAPI_INSERT_BREAK, // Insert a breakpoint at | |
31 DAPI_CREATE_THREAD, // Create a thread object | |
32 DAPI_ADD_THREAD, // Add a thread object to the instance | |
33 | |
34 DAPI_GET_INFO, // Get general information | |
35 }; | |
36 | |
37 // | |
38 // Interface for using a debug interface | |
39 // | |
40 DSResult NaClDebugStubDispatch(int cmd, void *src, int len); | |
41 void WINAPI NaClDebugStubThreadStart(void *cookie); | |
42 | |
43 | |
44 typedef struct { | |
45 const char *exe; | |
46 const char *nexe; | |
47 uint64_t offset; | |
48 uint64_t start; | |
49 void (*launcher)(void *state); | |
50 uint8_t startBroken; | |
51 } DAPISetEnvironment_t; | |
52 | |
53 typedef struct { | |
54 void *cookie; | |
55 void (WINAPI *start_fn)(void *); | |
56 void *handle; | |
57 } DAPICreateThread_t; | |
58 | |
59 // | |
60 // 'C' Interfaces for debugging | |
61 // | |
62 | |
63 uint32_t NaClDebugStubReprotect(void *ptr, uint32_t len, uint32_t flags); | |
64 void NaClGetFilePath(const char *file, char *out, uint32_t max); | |
65 const char *NaClDebugSigToStr(int sig); | |
66 | |
67 /* NMM */ | |
68 extern void *g_Dbg; | |
69 | |
70 EXTERN_C_END | |
71 | |
72 #endif | |
OLD | NEW |