1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef SANDBOX_SRC_INTERCEPTORS_H_ 6 #define SANDBOX_SRC_INTERCEPTORS_H_ 7 8 #if defined(_WIN64) 9 #include "sandbox/win/src/interceptors_64.h" 10 #endif 11 12 namespace sandbox { 13 14 enum InterceptorId { 15 // Internal use: 16 MAP_VIEW_OF_SECTION_ID = 0, 17 UNMAP_VIEW_OF_SECTION_ID, 18 // Policy broker: 19 SET_INFORMATION_THREAD_ID, 20 OPEN_THREAD_TOKEN_ID, 21 OPEN_THREAD_TOKEN_EX_ID, 22 OPEN_THREAD_ID, 23 OPEN_PROCESS_ID, 24 OPEN_PROCESS_TOKEN_ID, 25 OPEN_PROCESS_TOKEN_EX_ID, 26 // Filesystem dispatcher: 27 CREATE_FILE_ID, 28 OPEN_FILE_ID, 29 QUERY_ATTRIB_FILE_ID, 30 QUERY_FULL_ATTRIB_FILE_ID, 31 SET_INFO_FILE_ID, 32 // Named pipe dispatcher: 33 CREATE_NAMED_PIPE_ID, 34 // Process-thread dispatcher: 35 CREATE_PROCESSW_ID, 36 CREATE_PROCESSA_ID, 37 CREATE_THREAD_ID, 38 // Registry dispatcher: 39 CREATE_KEY_ID, 40 OPEN_KEY_ID, 41 OPEN_KEY_EX_ID, 42 // Sync dispatcher: 43 CREATE_EVENT_ID, 44 OPEN_EVENT_ID, 45 // Process mitigations Win32k dispatcher: 46 GDIINITIALIZE_ID, 47 GETSTOCKOBJECT_ID, 48 REGISTERCLASSW_ID, 49 ENUMDISPLAYMONITORS_ID, 50 ENUMDISPLAYDEVICESA_ID, 51 GETMONITORINFOA_ID, 52 GETMONITORINFOW_ID, 53 CREATEOPMPROTECTEDOUTPUTS_ID, 54 GETCERTIFICATE_ID, 55 GETCERTIFICATESIZE_ID, 56 GETCERTIFICATEBYHANDLE_ID, 57 GETCERTIFICATESIZEBYHANDLE_ID, 58 DESTROYOPMPROTECTEDOUTPUT_ID, 59 CONFIGUREOPMPROTECTEDOUTPUT_ID, 60 GETOPMINFORMATION_ID, 61 GETOPMRANDOMNUMBER_ID, 62 GETSUGGESTEDOPMPROTECTEDOUTPUTARRAYSIZE_ID, 63 SETOPMSIGNINGKEYANDSEQUENCENUMBERS_ID, 64 INTERCEPTOR_MAX_ID 65 }; 66 67 typedef void* OriginalFunctions[INTERCEPTOR_MAX_ID]; 68 69 } // namespace sandbox 70 71 #endif // SANDBOX_SRC_INTERCEPTORS_H_ 72