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