text: // Copyright (c) 2011 The Chromium Authors. All rights reserved.
  // Use of this source code is governed by a BSD-style license that can be
  // found in the LICENSE file.
  
  #ifndef SANDBOX_SRC_INTERCEPTORS_H_
  #define SANDBOX_SRC_INTERCEPTORS_H_
  
  #if defined(_WIN64)
  #include "sandbox/win/src/interceptors_64.h"
  #endif
  
  namespace sandbox {
  
  enum InterceptorId {
    // Internal use:
    MAP_VIEW_OF_SECTION_ID = 0,
    UNMAP_VIEW_OF_SECTION_ID,
    // Policy broker:
    SET_INFORMATION_THREAD_ID,
    OPEN_THREAD_TOKEN_ID,
    OPEN_THREAD_TOKEN_EX_ID,
    OPEN_THREAD_ID,
    OPEN_PROCESS_ID,
    OPEN_PROCESS_TOKEN_ID,
    OPEN_PROCESS_TOKEN_EX_ID,
    // Filesystem dispatcher:
    CREATE_FILE_ID,
    OPEN_FILE_ID,
    QUERY_ATTRIB_FILE_ID,
    QUERY_FULL_ATTRIB_FILE_ID,
    SET_INFO_FILE_ID,
    // Named pipe dispatcher:
    CREATE_NAMED_PIPE_ID,
    // Process-thread dispatcher:
    CREATE_PROCESSW_ID,
    CREATE_PROCESSA_ID,
    CREATE_THREAD_ID,
    // Registry dispatcher:
    CREATE_KEY_ID,
    OPEN_KEY_ID,
    OPEN_KEY_EX_ID,
    // Sync dispatcher:
    CREATE_EVENT_ID,
    OPEN_EVENT_ID,
    // Process mitigations Win32k dispatcher:
    GDIINITIALIZE_ID,
    GETSTOCKOBJECT_ID,
    REGISTERCLASSW_ID,
    ENUMDISPLAYMONITORS_ID,
    ENUMDISPLAYDEVICESA_ID,
    GETMONITORINFOA_ID,
    GETMONITORINFOW_ID,
    CREATEOPMPROTECTEDOUTPUTS_ID,
    GETCERTIFICATE_ID,
    GETCERTIFICATESIZE_ID,
    GETCERTIFICATEBYHANDLE_ID,
    GETCERTIFICATESIZEBYHANDLE_ID,
    DESTROYOPMPROTECTEDOUTPUT_ID,
    CONFIGUREOPMPROTECTEDOUTPUT_ID,
    GETOPMINFORMATION_ID,
    GETOPMRANDOMNUMBER_ID,
    GETSUGGESTEDOPMPROTECTEDOUTPUTARRAYSIZE_ID,
    SETOPMSIGNINGKEYANDSEQUENCENUMBERS_ID,
    INTERCEPTOR_MAX_ID
  };
  
  typedef void* OriginalFunctions[INTERCEPTOR_MAX_ID];
  
  }  // namespace sandbox
  
  #endif  // SANDBOX_SRC_INTERCEPTORS_H_
  