1 | // Licensed to the .NET Foundation under one or more agreements. |
2 | // The .NET Foundation licenses this file to you under the MIT license. |
3 | // See the LICENSE file in the project root for more information. |
4 | |
5 | // |
6 | // Events that go both ways |
7 | IPC_EVENT_TYPE0(DB_IPCE_INVALID_EVENT ,0x0000) |
8 | IPC_EVENT_TYPE0(DB_IPCE_TYPE_MASK ,0x0FFF) |
9 | |
10 | // Some rules: |
11 | // 1. Type0 is for marking sections in the id range. |
12 | // Type1 is for events that go L->R, Type2 is for events that go R<-L. |
13 | // 2. All non-type 0 events should have a unique identifier & value |
14 | // 3. All type 1 events values should be in range [DB_IPCE_RUNTIME_FIRST, DB_IPCE_RUNTIME_LAST) |
15 | // All type 2 events values should be in range [DB_IPCE_DEBUGGER_FIRST, DB_IPCE_DEBUGGER_LAST) |
16 | // 4. All event values should be monotonically increasing, though we can skip values. |
17 | // 5. All values should be a subset of the bits specified by DB_IPCE_TYPE_MASK. |
18 | // |
19 | // These rules are enforced by a bunch of compile time checks (C_ASSERT) in |
20 | // the function DoCompileTimeCheckOnDbgIpcEventTypes. |
21 | // If you get compiler errors in this file, you are probably violating the rules above. |
22 | |
23 | // Events that travel from the RC to the DI (Left to Right) |
24 | IPC_EVENT_TYPE0(DB_IPCE_RUNTIME_FIRST ,0x0100) // change to TYPE0 because it is not really an event |
25 | IPC_EVENT_TYPE1(DB_IPCE_BREAKPOINT ,0x0100) |
26 | IPC_EVENT_TYPE1(DB_IPCE_SYNC_COMPLETE ,0x0102) |
27 | IPC_EVENT_TYPE1(DB_IPCE_THREAD_ATTACH ,0x0103) |
28 | IPC_EVENT_TYPE1(DB_IPCE_THREAD_DETACH ,0x0104) |
29 | IPC_EVENT_TYPE1(DB_IPCE_LOAD_MODULE ,0x0105) |
30 | IPC_EVENT_TYPE1(DB_IPCE_UNLOAD_MODULE ,0x0106) |
31 | IPC_EVENT_TYPE1(DB_IPCE_LOAD_CLASS ,0x0107) |
32 | IPC_EVENT_TYPE1(DB_IPCE_UNLOAD_CLASS ,0x0108) |
33 | IPC_EVENT_TYPE1(DB_IPCE_EXCEPTION ,0x0109) |
34 | IPC_EVENT_TYPE1(DB_IPCE_UNHANDLED_EXCEPTION ,0x010A) |
35 | IPC_EVENT_TYPE1(DB_IPCE_BREAKPOINT_ADD_RESULT ,0x010D) |
36 | IPC_EVENT_TYPE1(DB_IPCE_STEP_RESULT ,0x010E) |
37 | IPC_EVENT_TYPE1(DB_IPCE_STEP_COMPLETE ,0x010F) |
38 | IPC_EVENT_TYPE1(DB_IPCE_BREAKPOINT_REMOVE_RESULT ,0x0111) |
39 | IPC_EVENT_TYPE1(DB_IPCE_GET_BUFFER_RESULT ,0x0115) |
40 | IPC_EVENT_TYPE1(DB_IPCE_RELEASE_BUFFER_RESULT ,0x0116) |
41 | IPC_EVENT_TYPE1(DB_IPCE_ENC_ADD_FIELD ,0x0117) |
42 | IPC_EVENT_TYPE1(DB_IPCE_APPLY_CHANGES_RESULT ,0x0118) |
43 | IPC_EVENT_TYPE1(DB_IPCE_CUSTOM_NOTIFICATION ,0x011B) |
44 | IPC_EVENT_TYPE1(DB_IPCE_USER_BREAKPOINT ,0x011C) |
45 | IPC_EVENT_TYPE1(DB_IPCE_FIRST_LOG_MESSAGE ,0x011D) |
46 | // DB_IPCE_CONTINUED_LOG_MESSAGE = 0x11E, used to be here in v1.1, |
47 | // But we've removed that remove the v2.0 protocol |
48 | IPC_EVENT_TYPE1(DB_IPCE_LOGSWITCH_SET_MESSAGE ,0x011F) |
49 | IPC_EVENT_TYPE1(DB_IPCE_CREATE_APP_DOMAIN ,0x0120) |
50 | IPC_EVENT_TYPE1(DB_IPCE_EXIT_APP_DOMAIN ,0x0121) |
51 | IPC_EVENT_TYPE1(DB_IPCE_LOAD_ASSEMBLY ,0x0122) |
52 | IPC_EVENT_TYPE1(DB_IPCE_UNLOAD_ASSEMBLY ,0x0123) |
53 | IPC_EVENT_TYPE1(DB_IPCE_SET_DEBUG_STATE_RESULT ,0x0124) |
54 | IPC_EVENT_TYPE1(DB_IPCE_FUNC_EVAL_SETUP_RESULT ,0x0125) |
55 | IPC_EVENT_TYPE1(DB_IPCE_FUNC_EVAL_COMPLETE ,0x0126) |
56 | IPC_EVENT_TYPE1(DB_IPCE_SET_REFERENCE_RESULT ,0x0127) |
57 | IPC_EVENT_TYPE1(DB_IPCE_APP_DOMAIN_NAME_RESULT ,0x0128) |
58 | IPC_EVENT_TYPE1(DB_IPCE_FUNC_EVAL_ABORT_RESULT ,0x0129) |
59 | IPC_EVENT_TYPE1(DB_IPCE_NAME_CHANGE ,0x012a) |
60 | IPC_EVENT_TYPE1(DB_IPCE_UPDATE_MODULE_SYMS ,0x012c) |
61 | IPC_EVENT_TYPE1(DB_IPCE_CONTROL_C_EVENT ,0x012f) |
62 | IPC_EVENT_TYPE1(DB_IPCE_FUNC_EVAL_CLEANUP_RESULT ,0x0130) |
63 | IPC_EVENT_TYPE1(DB_IPCE_ENC_REMAP ,0x0131) |
64 | IPC_EVENT_TYPE1(DB_IPCE_SET_VALUE_CLASS_RESULT ,0x0133) |
65 | IPC_EVENT_TYPE1(DB_IPCE_BREAKPOINT_SET_ERROR ,0x0134) |
66 | IPC_EVENT_TYPE1(DB_IPCE_ENC_UPDATE_FUNCTION ,0x0137) |
67 | IPC_EVENT_TYPE1(DB_IPCE_SET_METHOD_JMC_STATUS_RESULT ,0x013a) |
68 | IPC_EVENT_TYPE1(DB_IPCE_GET_METHOD_JMC_STATUS_RESULT ,0x013b) |
69 | IPC_EVENT_TYPE1(DB_IPCE_SET_MODULE_JMC_STATUS_RESULT ,0x013c) |
70 | IPC_EVENT_TYPE1(DB_IPCE_GET_THREAD_FOR_TASKID_RESULT ,0x013d) |
71 | IPC_EVENT_TYPE1(DB_IPCE_CREATE_CONNECTION ,0x0141) |
72 | IPC_EVENT_TYPE1(DB_IPCE_DESTROY_CONNECTION ,0x0142) |
73 | IPC_EVENT_TYPE1(DB_IPCE_CHANGE_CONNECTION ,0x0143) |
74 | IPC_EVENT_TYPE1(DB_IPCE_FUNC_EVAL_RUDE_ABORT_RESULT ,0x0144) |
75 | IPC_EVENT_TYPE1(DB_IPCE_EXCEPTION_CALLBACK2 ,0x0147) |
76 | IPC_EVENT_TYPE1(DB_IPCE_EXCEPTION_UNWIND ,0x0148) |
77 | IPC_EVENT_TYPE1(DB_IPCE_INTERCEPT_EXCEPTION_RESULT ,0x0149) |
78 | IPC_EVENT_TYPE1(DB_IPCE_CREATE_HANDLE_RESULT ,0x014A) |
79 | IPC_EVENT_TYPE1(DB_IPCE_INTERCEPT_EXCEPTION_COMPLETE ,0x014B) |
80 | IPC_EVENT_TYPE1(DB_IPCE_ENC_REMAP_COMPLETE ,0x014C) |
81 | IPC_EVENT_TYPE1(DB_IPCE_CREATE_PROCESS ,0x014D) |
82 | IPC_EVENT_TYPE1(DB_IPCE_ENC_ADD_FUNCTION ,0x014E) |
83 | IPC_EVENT_TYPE1(DB_IPCE_GET_NGEN_COMPILER_FLAGS_RESULT,0x0151) |
84 | IPC_EVENT_TYPE1(DB_IPCE_SET_NGEN_COMPILER_FLAGS_RESULT,0x0152) |
85 | IPC_EVENT_TYPE1(DB_IPCE_MDA_NOTIFICATION ,0x0156) |
86 | IPC_EVENT_TYPE1(DB_IPCE_GET_GCHANDLE_INFO_RESULT ,0x0157) |
87 | IPC_EVENT_TYPE1(DB_IPCE_TEST_CRST ,0x0158) |
88 | IPC_EVENT_TYPE1(DB_IPCE_TEST_RWLOCK ,0x0159) |
89 | IPC_EVENT_TYPE1(DB_IPCE_LEFTSIDE_STARTUP ,0x015C) |
90 | IPC_EVENT_TYPE1(DB_IPCE_METADATA_UPDATE ,0x015D) |
91 | IPC_EVENT_TYPE1(DB_IPCE_RESOLVE_UPDATE_METADATA_1_RESULT,0x015E) |
92 | IPC_EVENT_TYPE1(DB_IPCE_RESOLVE_UPDATE_METADATA_2_RESULT,0x015F) |
93 | IPC_EVENT_TYPE1(DB_IPCE_DATA_BREAKPOINT ,0x0160) |
94 | IPC_EVENT_TYPE1(DB_IPCE_BEFORE_GARBAGE_COLLECTION ,0x0161) |
95 | IPC_EVENT_TYPE1(DB_IPCE_AFTER_GARBAGE_COLLECTION ,0x0162) |
96 | IPC_EVENT_TYPE0(DB_IPCE_RUNTIME_LAST ,0x0163) // The last event from runtime |
97 | |
98 | |
99 | |
100 | // Events that travel from the DI to the RC (Right to Left) |
101 | IPC_EVENT_TYPE0(DB_IPCE_DEBUGGER_FIRST ,0x0200) // change to TYPE0 because it is not really an event |
102 | IPC_EVENT_TYPE2(DB_IPCE_ASYNC_BREAK ,0x0200) |
103 | IPC_EVENT_TYPE2(DB_IPCE_CONTINUE ,0x0201) |
104 | IPC_EVENT_TYPE2(DB_IPCE_LIST_THREADS ,0x0202) |
105 | IPC_EVENT_TYPE2(DB_IPCE_SET_IP ,0x0205) |
106 | IPC_EVENT_TYPE2(DB_IPCE_SUSPEND_THREAD ,0x0206) |
107 | IPC_EVENT_TYPE2(DB_IPCE_RESUME_THREAD ,0x0207) |
108 | IPC_EVENT_TYPE2(DB_IPCE_BREAKPOINT_ADD ,0x0209) |
109 | IPC_EVENT_TYPE2(DB_IPCE_BREAKPOINT_REMOVE ,0x020A) |
110 | IPC_EVENT_TYPE2(DB_IPCE_STEP_CANCEL ,0x020B) |
111 | IPC_EVENT_TYPE2(DB_IPCE_STEP ,0x020C) |
112 | IPC_EVENT_TYPE2(DB_IPCE_STEP_OUT ,0x020D) |
113 | IPC_EVENT_TYPE2(DB_IPCE_GET_BUFFER ,0x0211) |
114 | IPC_EVENT_TYPE2(DB_IPCE_RELEASE_BUFFER ,0x0212) |
115 | IPC_EVENT_TYPE2(DB_IPCE_SET_CLASS_LOAD_FLAG ,0x0217) |
116 | IPC_EVENT_TYPE2(DB_IPCE_CONTINUE_EXCEPTION ,0x0219) |
117 | IPC_EVENT_TYPE2(DB_IPCE_ATTACHING ,0x021A) |
118 | IPC_EVENT_TYPE2(DB_IPCE_APPLY_CHANGES ,0x021B) |
119 | IPC_EVENT_TYPE2(DB_IPCE_SET_NGEN_COMPILER_FLAGS ,0x021F) |
120 | IPC_EVENT_TYPE2(DB_IPCE_GET_NGEN_COMPILER_FLAGS ,0x0220) |
121 | IPC_EVENT_TYPE2(DB_IPCE_IS_TRANSITION_STUB ,0x0221) |
122 | IPC_EVENT_TYPE2(DB_IPCE_IS_TRANSITION_STUB_RESULT ,0x0222) |
123 | IPC_EVENT_TYPE2(DB_IPCE_MODIFY_LOGSWITCH ,0x0223) |
124 | IPC_EVENT_TYPE2(DB_IPCE_ENABLE_LOG_MESSAGES ,0x0224) |
125 | IPC_EVENT_TYPE2(DB_IPCE_FUNC_EVAL ,0x0225) |
126 | IPC_EVENT_TYPE2(DB_IPCE_SET_REFERENCE ,0x0228) |
127 | IPC_EVENT_TYPE2(DB_IPCE_FUNC_EVAL_ABORT ,0x022c) |
128 | IPC_EVENT_TYPE2(DB_IPCE_DETACH_FROM_PROCESS ,0x022f) |
129 | IPC_EVENT_TYPE2(DB_IPCE_CONTROL_C_EVENT_RESULT ,0x0230) |
130 | IPC_EVENT_TYPE2(DB_IPCE_FUNC_EVAL_CLEANUP ,0x0231) |
131 | IPC_EVENT_TYPE2(DB_IPCE_SET_ALL_DEBUG_STATE ,0x0232) |
132 | IPC_EVENT_TYPE2(DB_IPCE_SET_VALUE_CLASS ,0x0234) |
133 | IPC_EVENT_TYPE2(DB_IPCE_SET_METHOD_JMC_STATUS ,0x023a) |
134 | IPC_EVENT_TYPE2(DB_IPCE_GET_METHOD_JMC_STATUS ,0x023b) |
135 | IPC_EVENT_TYPE2(DB_IPCE_SET_MODULE_JMC_STATUS ,0x023c) |
136 | IPC_EVENT_TYPE2(DB_IPCE_GET_THREAD_FOR_TASKID ,0x023d) |
137 | IPC_EVENT_TYPE2(DB_IPCE_FUNC_EVAL_RUDE_ABORT ,0x0241) |
138 | IPC_EVENT_TYPE2(DB_IPCE_CREATE_HANDLE ,0x0244) |
139 | IPC_EVENT_TYPE2(DB_IPCE_DISPOSE_HANDLE ,0x0245) |
140 | IPC_EVENT_TYPE2(DB_IPCE_INTERCEPT_EXCEPTION ,0x0246) |
141 | IPC_EVENT_TYPE2(DB_IPCE_DEBUGGER_INVALID ,0x0249) // An invalid event type |
142 | IPC_EVENT_TYPE2(DB_IPCE_GET_GCHANDLE_INFO ,0x0251) |
143 | IPC_EVENT_TYPE2(DB_IPCE_RESOLVE_UPDATE_METADATA_1 ,0x0256) |
144 | IPC_EVENT_TYPE2(DB_IPCE_RESOLVE_UPDATE_METADATA_2 ,0x0257) |
145 | IPC_EVENT_TYPE0(DB_IPCE_DEBUGGER_LAST ,0x0258) // The last event from the debugger |
146 | |
147 | |