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 Oct 1 15:54:15 2014. */ | 6 /* From private/ppb_nacl_private.idl modified Tue Oct 21 15:38:37 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" |
(...skipping 167 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
184 typedef void (*PP_OpenResourceCompletionCallback)(void* user_data, | 184 typedef void (*PP_OpenResourceCompletionCallback)(void* user_data, |
185 PP_FileHandle file_handle); | 185 PP_FileHandle file_handle); |
186 /** | 186 /** |
187 * @} | 187 * @} |
188 */ | 188 */ |
189 | 189 |
190 /** | 190 /** |
191 * @addtogroup Structs | 191 * @addtogroup Structs |
192 * @{ | 192 * @{ |
193 */ | 193 */ |
194 /* Corresponds to NaClFileInfo in | 194 /* Corresponds to NaClFileInfo in native_client/src/public/nacl_file_info.h */ |
195 * native_client/src/trusted/validator/nacl_file_info.h */ | |
196 struct PP_NaClFileInfo { | 195 struct PP_NaClFileInfo { |
197 PP_FileHandle handle; | 196 PP_FileHandle handle; |
198 /* See NaClFileToken comment in nacl_file_info.h */ | 197 /* See NaClFileToken comment in nacl_file_info.h */ |
199 uint64_t token_lo; | 198 uint64_t token_lo; |
200 uint64_t token_hi; | 199 uint64_t token_hi; |
201 }; | 200 }; |
| 201 |
| 202 struct PP_NaClResourceFileHandle { |
| 203 PP_FileHandle handle; |
| 204 /* See NaClFileToken comment in nacl_file_info.h */ |
| 205 uint64_t token_lo; |
| 206 uint64_t token_hi; |
| 207 char* key; |
| 208 }; |
202 /** | 209 /** |
203 * @} | 210 * @} |
204 */ | 211 */ |
205 | 212 |
206 /** | 213 /** |
207 * @addtogroup Interfaces | 214 * @addtogroup Interfaces |
208 * @{ | 215 * @{ |
209 */ | 216 */ |
210 /* PPB_NaCl_Private */ | 217 /* PPB_NaCl_Private */ |
211 struct PPB_NaCl_Private_1_0 { | 218 struct PPB_NaCl_Private_1_0 { |
212 /* Launches NaCl's sel_ldr process. Returns PP_EXTERNAL_PLUGIN_OK on success | 219 /* Launches NaCl's sel_ldr process. Returns PP_EXTERNAL_PLUGIN_OK on success |
213 * and writes a NaClHandle to imc_handle. Returns PP_EXTERNAL_PLUGIN_FAILED on | 220 * and writes a NaClHandle to imc_handle. Returns PP_EXTERNAL_PLUGIN_FAILED on |
214 * failure. The |enable_ppapi_dev| parameter controls whether GetInterface | 221 * failure. The |enable_ppapi_dev| parameter controls whether GetInterface |
215 * returns 'Dev' interfaces to the NaCl plugin. | 222 * returns 'Dev' interfaces to the NaCl plugin. |
216 * The |nexe_file_info| is currently used only in non-SFI mode. It is the | 223 * The |nexe_file_info| is currently used only in non-SFI mode. It is the |
217 * file handle for the main nexe file, which should be initially loaded. | 224 * file handle for the main nexe file, which should be initially loaded. |
218 * LaunchSelLdr takes the ownership of the file handle. | 225 * LaunchSelLdr takes the ownership of the file handle. |
219 * The |uses_nonsfi_mode| flag indicates whether or not nonsfi-mode should | 226 * The |uses_nonsfi_mode| flag indicates whether or not nonsfi-mode should |
220 * be used with the binary pointed by the url. | 227 * be used with the binary pointed by the url. |
221 */ | 228 */ |
222 void (*LaunchSelLdr)(PP_Instance instance, | 229 void (*LaunchSelLdr)( |
223 PP_Bool main_service_runtime, | 230 PP_Instance instance, |
224 const char* alleged_url, | 231 PP_Bool main_service_runtime, |
225 const struct PP_NaClFileInfo* nexe_file_info, | 232 const char* alleged_url, |
226 PP_Bool uses_nonsfi_mode, | 233 const struct PP_NaClFileInfo* nexe_file_info, |
227 PP_Bool enable_ppapi_dev, | 234 const struct PP_NaClResourceFileHandle resource_file_handles[], |
228 PP_NaClAppProcessType process_type, | 235 PP_Bool uses_nonsfi_mode, |
229 void* imc_handle, | 236 PP_Bool enable_ppapi_dev, |
230 struct PP_CompletionCallback callback); | 237 PP_NaClAppProcessType process_type, |
| 238 void* imc_handle, |
| 239 struct PP_CompletionCallback callback); |
231 /* This function starts the IPC proxy so the nexe can communicate with the | 240 /* This function starts the IPC proxy so the nexe can communicate with the |
232 * browser. | 241 * browser. |
233 */ | 242 */ |
234 PP_Bool (*StartPpapiProxy)(PP_Instance instance); | 243 PP_Bool (*StartPpapiProxy)(PP_Instance instance); |
235 /* On POSIX systems, this function returns the file descriptor of | 244 /* On POSIX systems, this function returns the file descriptor of |
236 * /dev/urandom. On non-POSIX systems, this function returns 0. | 245 * /dev/urandom. On non-POSIX systems, this function returns 0. |
237 */ | 246 */ |
238 int32_t (*UrandomFD)(void); | 247 int32_t (*UrandomFD)(void); |
239 /* Whether the Pepper 3D interfaces should be disabled in the NaCl PPAPI | 248 /* Whether the Pepper 3D interfaces should be disabled in the NaCl PPAPI |
240 * proxy. This is so paranoid admins can effectively prevent untrusted shader | 249 * proxy. This is so paranoid admins can effectively prevent untrusted shader |
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
345 /* PP_Var string of attributes describing the CPU features supported | 354 /* PP_Var string of attributes describing the CPU features supported |
346 * by the current architecture. The string is a comma-delimited list | 355 * by the current architecture. The string is a comma-delimited list |
347 * of attributes supported by LLVM in its -mattr= option: | 356 * of attributes supported by LLVM in its -mattr= option: |
348 * http://llvm.org/docs/CommandGuide/llc.html#cmdoption-mattr */ | 357 * http://llvm.org/docs/CommandGuide/llc.html#cmdoption-mattr */ |
349 struct PP_Var (*GetCpuFeatureAttrs)(void); | 358 struct PP_Var (*GetCpuFeatureAttrs)(void); |
350 /* Downloads the .nexe file at the given URL to a file, and sets |file_info| | 359 /* Downloads the .nexe file at the given URL to a file, and sets |file_info| |
351 * to information for a handle to a file containing its contents. | 360 * to information for a handle to a file containing its contents. |
352 * If metadata for identity-based validation caching is available | 361 * If metadata for identity-based validation caching is available |
353 * then it sets token information in |file_info| (otherwise left untouched). | 362 * then it sets token information in |file_info| (otherwise left untouched). |
354 */ | 363 */ |
355 void (*DownloadNexe)(PP_Instance instance, | 364 void (*DownloadNexe)( |
356 const char* url, | 365 PP_Instance instance, |
357 struct PP_NaClFileInfo* file_info, | 366 const char* url, |
358 struct PP_CompletionCallback callback); | 367 PP_Bool download_resource_files, |
| 368 struct PP_NaClFileInfo* file_info, |
| 369 struct PP_NaClResourceFileHandle** resource_file_handles, |
| 370 struct PP_CompletionCallback callback); |
359 /* Reports the status of sel_ldr for UMA reporting. | 371 /* Reports the status of sel_ldr for UMA reporting. |
360 * |max_status| has to be provided because the implementation of this | 372 * |max_status| has to be provided because the implementation of this |
361 * interface can't access the NaClErrorCode enum. | 373 * interface can't access the NaClErrorCode enum. |
362 */ | 374 */ |
363 void (*ReportSelLdrStatus)(PP_Instance instance, | 375 void (*ReportSelLdrStatus)(PP_Instance instance, |
364 int32_t load_status, | 376 int32_t load_status, |
365 int32_t max_status); | 377 int32_t max_status); |
366 /* Logs time taken by an operation to UMA histograms. | 378 /* Logs time taken by an operation to UMA histograms. |
367 * This function is safe to call on any thread. | 379 * This function is safe to call on any thread. |
368 */ | 380 */ |
(...skipping 27 matching lines...) Expand all Loading... |
396 void* stream_handler_user_data); | 408 void* stream_handler_user_data); |
397 }; | 409 }; |
398 | 410 |
399 typedef struct PPB_NaCl_Private_1_0 PPB_NaCl_Private; | 411 typedef struct PPB_NaCl_Private_1_0 PPB_NaCl_Private; |
400 /** | 412 /** |
401 * @} | 413 * @} |
402 */ | 414 */ |
403 | 415 |
404 #endif /* PPAPI_C_PRIVATE_PPB_NACL_PRIVATE_H_ */ | 416 #endif /* PPAPI_C_PRIVATE_PPB_NACL_PRIVATE_H_ */ |
405 | 417 |
OLD | NEW |