| OLD | NEW |
| 1 /* Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 /* Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 * Use of this source code is governed by a BSD-style license that can be | 2 * Use of this source code is governed by a BSD-style license that can be |
| 3 * found in the LICENSE file. | 3 * found in the LICENSE file. |
| 4 */ | 4 */ |
| 5 | 5 |
| 6 /* From private/ppb_nacl_private.idl modified Wed Jun 25 16:42:25 2014. */ | 6 /* From private/ppb_nacl_private.idl modified Thu Jun 26 14:23:46 2014. */ |
| 7 | 7 |
| 8 #ifndef PPAPI_C_PRIVATE_PPB_NACL_PRIVATE_H_ | 8 #ifndef PPAPI_C_PRIVATE_PPB_NACL_PRIVATE_H_ |
| 9 #define PPAPI_C_PRIVATE_PPB_NACL_PRIVATE_H_ | 9 #define PPAPI_C_PRIVATE_PPB_NACL_PRIVATE_H_ |
| 10 | 10 |
| 11 #include "ppapi/c/pp_bool.h" | 11 #include "ppapi/c/pp_bool.h" |
| 12 #include "ppapi/c/pp_completion_callback.h" | 12 #include "ppapi/c/pp_completion_callback.h" |
| 13 #include "ppapi/c/pp_instance.h" | 13 #include "ppapi/c/pp_instance.h" |
| 14 #include "ppapi/c/pp_macros.h" | 14 #include "ppapi/c/pp_macros.h" |
| 15 #include "ppapi/c/pp_stdint.h" | 15 #include "ppapi/c/pp_stdint.h" |
| 16 #include "ppapi/c/pp_var.h" | 16 #include "ppapi/c/pp_var.h" |
| 17 | 17 |
| 18 #define PPP_MANIFESTSERVICE_INTERFACE_1_0 "PPP_ManifestService;1.0" | |
| 19 #define PPP_MANIFESTSERVICE_INTERFACE PPP_MANIFESTSERVICE_INTERFACE_1_0 | |
| 20 | |
| 21 #define PPB_NACL_PRIVATE_INTERFACE_1_0 "PPB_NaCl_Private;1.0" | 18 #define PPB_NACL_PRIVATE_INTERFACE_1_0 "PPB_NaCl_Private;1.0" |
| 22 #define PPB_NACL_PRIVATE_INTERFACE PPB_NACL_PRIVATE_INTERFACE_1_0 | 19 #define PPB_NACL_PRIVATE_INTERFACE PPB_NACL_PRIVATE_INTERFACE_1_0 |
| 23 | 20 |
| 24 /** | 21 /** |
| 25 * @file | 22 * @file |
| 26 * This file contains NaCl private interfaces. This interface is not versioned | 23 * This file contains NaCl private interfaces. This interface is not versioned |
| 27 * and is for internal Chrome use. It may change without notice. */ | 24 * and is for internal Chrome use. It may change without notice. */ |
| 28 | 25 |
| 29 | 26 |
| 30 #include "ppapi/c/private/pp_file_handle.h" | 27 #include "ppapi/c/private/pp_file_handle.h" |
| (...skipping 141 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 172 * @{ | 169 * @{ |
| 173 */ | 170 */ |
| 174 /* Callback invoked upon completion of PPP_ManifestService::OpenResource(). */ | 171 /* Callback invoked upon completion of PPP_ManifestService::OpenResource(). */ |
| 175 typedef void (*PP_OpenResourceCompletionCallback)(void* user_data, | 172 typedef void (*PP_OpenResourceCompletionCallback)(void* user_data, |
| 176 PP_FileHandle file_handle); | 173 PP_FileHandle file_handle); |
| 177 /** | 174 /** |
| 178 * @} | 175 * @} |
| 179 */ | 176 */ |
| 180 | 177 |
| 181 /** | 178 /** |
| 182 * @addtogroup Interfaces | |
| 183 * @{ | |
| 184 */ | |
| 185 /* ManifestService to support irt_open_resource() function. | |
| 186 * All functions of the service should have PP_Bool return value. It represents | |
| 187 * whether the service is still alive or not. Trivially Quit() should always | |
| 188 * return false. However, other functions also can return false. | |
| 189 * Once false is called, as the service has been destructed, all functions | |
| 190 * should never be called afterwords. | |
| 191 */ | |
| 192 struct PPP_ManifestService_1_0 { | |
| 193 /* Called when ManifestService should be destructed. */ | |
| 194 PP_Bool (*Quit)(void* user_data); | |
| 195 /* Called when PPAPI initialization in the NaCl plugin is finished. */ | |
| 196 PP_Bool (*StartupInitializationComplete)(void* user_data); | |
| 197 }; | |
| 198 | |
| 199 typedef struct PPP_ManifestService_1_0 PPP_ManifestService; | |
| 200 /** | |
| 201 * @} | |
| 202 */ | |
| 203 | |
| 204 /** | |
| 205 * @addtogroup Structs | 179 * @addtogroup Structs |
| 206 * @{ | 180 * @{ |
| 207 */ | 181 */ |
| 208 /* Corresponds to NaClFileInfo in | 182 /* Corresponds to NaClFileInfo in |
| 209 * native_client/src/trusted/validator/nacl_file_info.h */ | 183 * native_client/src/trusted/validator/nacl_file_info.h */ |
| 210 struct PP_NaClFileInfo { | 184 struct PP_NaClFileInfo { |
| 211 PP_FileHandle handle; | 185 PP_FileHandle handle; |
| 212 /* See NaClFileToken comment in nacl_file_info.h */ | 186 /* See NaClFileToken comment in nacl_file_info.h */ |
| 213 uint64_t token_lo; | 187 uint64_t token_lo; |
| 214 uint64_t token_hi; | 188 uint64_t token_hi; |
| (...skipping 23 matching lines...) Expand all Loading... |
| 238 * The |uses_nonsfi_mode| flag indicates whether or not nonsfi-mode should | 212 * The |uses_nonsfi_mode| flag indicates whether or not nonsfi-mode should |
| 239 * be used with the binary pointed by the url. | 213 * be used with the binary pointed by the url. |
| 240 * The |enable_dyncode_syscalls| flag indicates whether or not the nexe | 214 * The |enable_dyncode_syscalls| flag indicates whether or not the nexe |
| 241 * will be able to use dynamic code system calls (e.g., mmap with PROT_EXEC). | 215 * will be able to use dynamic code system calls (e.g., mmap with PROT_EXEC). |
| 242 * The |enable_exception_handling| flag indicates whether or not the nexe | 216 * The |enable_exception_handling| flag indicates whether or not the nexe |
| 243 * will be able to use hardware exception handling. | 217 * will be able to use hardware exception handling. |
| 244 * The |enable_crash_throttling| flag indicates whether or not crashes of | 218 * The |enable_crash_throttling| flag indicates whether or not crashes of |
| 245 * the nexe contribute to crash throttling statisics and whether nexe starts | 219 * the nexe contribute to crash throttling statisics and whether nexe starts |
| 246 * are throttled by crash throttling. | 220 * are throttled by crash throttling. |
| 247 */ | 221 */ |
| 248 void (*LaunchSelLdr)( | 222 void (*LaunchSelLdr)(PP_Instance instance, |
| 249 PP_Instance instance, | 223 PP_Bool main_service_runtime, |
| 250 PP_Bool main_service_runtime, | 224 const char* alleged_url, |
| 251 const char* alleged_url, | 225 const struct PP_NaClFileInfo* nexe_file_info, |
| 252 const struct PP_NaClFileInfo* nexe_file_info, | 226 PP_Bool uses_irt, |
| 253 PP_Bool uses_irt, | 227 PP_Bool uses_ppapi, |
| 254 PP_Bool uses_ppapi, | 228 PP_Bool uses_nonsfi_mode, |
| 255 PP_Bool uses_nonsfi_mode, | 229 PP_Bool enable_ppapi_dev, |
| 256 PP_Bool enable_ppapi_dev, | 230 PP_Bool enable_dyncode_syscalls, |
| 257 PP_Bool enable_dyncode_syscalls, | 231 PP_Bool enable_exception_handling, |
| 258 PP_Bool enable_exception_handling, | 232 PP_Bool enable_crash_throttling, |
| 259 PP_Bool enable_crash_throttling, | 233 void* imc_handle, |
| 260 const struct PPP_ManifestService_1_0* manifest_service_interface, | 234 struct PP_CompletionCallback callback); |
| 261 void* manifest_service_user_data, | |
| 262 void* imc_handle, | |
| 263 struct PP_CompletionCallback callback); | |
| 264 /* This function starts the IPC proxy so the nexe can communicate with the | 235 /* This function starts the IPC proxy so the nexe can communicate with the |
| 265 * browser. | 236 * browser. |
| 266 */ | 237 */ |
| 267 PP_Bool (*StartPpapiProxy)(PP_Instance instance); | 238 PP_Bool (*StartPpapiProxy)(PP_Instance instance); |
| 268 /* On POSIX systems, this function returns the file descriptor of | 239 /* On POSIX systems, this function returns the file descriptor of |
| 269 * /dev/urandom. On non-POSIX systems, this function returns 0. | 240 * /dev/urandom. On non-POSIX systems, this function returns 0. |
| 270 */ | 241 */ |
| 271 int32_t (*UrandomFD)(void); | 242 int32_t (*UrandomFD)(void); |
| 272 /* Whether the Pepper 3D interfaces should be disabled in the NaCl PPAPI | 243 /* Whether the Pepper 3D interfaces should be disabled in the NaCl PPAPI |
| 273 * proxy. This is so paranoid admins can effectively prevent untrusted shader | 244 * proxy. This is so paranoid admins can effectively prevent untrusted shader |
| (...skipping 176 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 450 void (*SetPNaClStartTime)(PP_Instance instance); | 421 void (*SetPNaClStartTime)(PP_Instance instance); |
| 451 }; | 422 }; |
| 452 | 423 |
| 453 typedef struct PPB_NaCl_Private_1_0 PPB_NaCl_Private; | 424 typedef struct PPB_NaCl_Private_1_0 PPB_NaCl_Private; |
| 454 /** | 425 /** |
| 455 * @} | 426 * @} |
| 456 */ | 427 */ |
| 457 | 428 |
| 458 #endif /* PPAPI_C_PRIVATE_PPB_NACL_PRIVATE_H_ */ | 429 #endif /* PPAPI_C_PRIVATE_PPB_NACL_PRIVATE_H_ */ |
| 459 | 430 |
| OLD | NEW |