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 /* This file contains NaCl private interfaces. This interface is not versioned | 6 /* This file contains NaCl private interfaces. This interface is not versioned |
7 * and is for internal Chrome use. It may change without notice. */ | 7 * and is for internal Chrome use. It may change without notice. */ |
8 | 8 |
9 label Chrome { | 9 label Chrome { |
10 M25 = 1.0 | 10 M25 = 1.0 |
(...skipping 167 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
178 | 178 |
179 /* PPB_NaCl_Private */ | 179 /* PPB_NaCl_Private */ |
180 interface PPB_NaCl_Private { | 180 interface PPB_NaCl_Private { |
181 /* Launches NaCl's sel_ldr process. Returns PP_EXTERNAL_PLUGIN_OK on success | 181 /* Launches NaCl's sel_ldr process. Returns PP_EXTERNAL_PLUGIN_OK on success |
182 * and writes a NaClHandle to imc_handle. Returns PP_EXTERNAL_PLUGIN_FAILED on | 182 * and writes a NaClHandle to imc_handle. Returns PP_EXTERNAL_PLUGIN_FAILED on |
183 * failure. The |enable_ppapi_dev| parameter controls whether GetInterface | 183 * failure. The |enable_ppapi_dev| parameter controls whether GetInterface |
184 * returns 'Dev' interfaces to the NaCl plugin. The |uses_ppapi| flag | 184 * returns 'Dev' interfaces to the NaCl plugin. The |uses_ppapi| flag |
185 * indicates that the nexe run by sel_ldr will use the PPAPI APIs. | 185 * indicates that the nexe run by sel_ldr will use the PPAPI APIs. |
186 * This implies that LaunchSelLdr is run from the main thread. If a nexe | 186 * This implies that LaunchSelLdr is run from the main thread. If a nexe |
187 * does not need PPAPI, then it can run off the main thread. | 187 * does not need PPAPI, then it can run off the main thread. |
| 188 * The |nexe_file_info| is currently used only in non-SFI mode. It is the |
| 189 * file handle for the main nexe file, which should be initially loaded. |
| 190 * LaunchSelLdr takes the ownership of the file handle. |
188 * The |uses_irt| flag indicates whether the IRT should be loaded in this | 191 * The |uses_irt| flag indicates whether the IRT should be loaded in this |
189 * NaCl process. This is true for ABI stable nexes. | 192 * NaCl process. This is true for ABI stable nexes. |
190 * The |uses_nonsfi_mode| flag indicates whether or not nonsfi-mode should | 193 * The |uses_nonsfi_mode| flag indicates whether or not nonsfi-mode should |
191 * be used with the binary pointed by the url. | 194 * be used with the binary pointed by the url. |
192 * The |enable_dyncode_syscalls| flag indicates whether or not the nexe | 195 * The |enable_dyncode_syscalls| flag indicates whether or not the nexe |
193 * will be able to use dynamic code system calls (e.g., mmap with PROT_EXEC). | 196 * will be able to use dynamic code system calls (e.g., mmap with PROT_EXEC). |
194 * The |enable_exception_handling| flag indicates whether or not the nexe | 197 * The |enable_exception_handling| flag indicates whether or not the nexe |
195 * will be able to use hardware exception handling. | 198 * will be able to use hardware exception handling. |
196 * The |enable_crash_throttling| flag indicates whether or not crashes of | 199 * The |enable_crash_throttling| flag indicates whether or not crashes of |
197 * the nexe contribute to crash throttling statisics and whether nexe starts | 200 * the nexe contribute to crash throttling statisics and whether nexe starts |
198 * are throttled by crash throttling. | 201 * are throttled by crash throttling. |
199 */ | 202 */ |
200 void LaunchSelLdr([in] PP_Instance instance, | 203 void LaunchSelLdr([in] PP_Instance instance, |
201 [in] PP_Bool main_service_runtime, | 204 [in] PP_Bool main_service_runtime, |
202 [in] str_t alleged_url, | 205 [in] str_t alleged_url, |
| 206 [in] PP_NaClFileInfo nexe_file_info, |
203 [in] PP_Bool uses_irt, | 207 [in] PP_Bool uses_irt, |
204 [in] PP_Bool uses_ppapi, | 208 [in] PP_Bool uses_ppapi, |
205 [in] PP_Bool uses_nonsfi_mode, | 209 [in] PP_Bool uses_nonsfi_mode, |
206 [in] PP_Bool enable_ppapi_dev, | 210 [in] PP_Bool enable_ppapi_dev, |
207 [in] PP_Bool enable_dyncode_syscalls, | 211 [in] PP_Bool enable_dyncode_syscalls, |
208 [in] PP_Bool enable_exception_handling, | 212 [in] PP_Bool enable_exception_handling, |
209 [in] PP_Bool enable_crash_throttling, | 213 [in] PP_Bool enable_crash_throttling, |
210 [in] PPP_ManifestService manifest_service_interface, | 214 [in] PPP_ManifestService manifest_service_interface, |
211 [inout] mem_t manifest_service_user_data, | 215 [inout] mem_t manifest_service_user_data, |
212 [out] mem_t imc_handle, | 216 [out] mem_t imc_handle, |
(...skipping 222 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
435 void ReportSelLdrStatus([in] PP_Instance instance, | 439 void ReportSelLdrStatus([in] PP_Instance instance, |
436 [in] int32_t load_status, | 440 [in] int32_t load_status, |
437 [in] int32_t max_status); | 441 [in] int32_t max_status); |
438 | 442 |
439 /* Logs time taken by an operation to UMA histograms. | 443 /* Logs time taken by an operation to UMA histograms. |
440 * This function is safe to call on any thread. | 444 * This function is safe to call on any thread. |
441 */ | 445 */ |
442 void LogTranslateTime([in] str_t histogram_name, | 446 void LogTranslateTime([in] str_t histogram_name, |
443 [in] int64_t time_us); | 447 [in] int64_t time_us); |
444 }; | 448 }; |
OLD | NEW |