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 108 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
119 interface PPB_NaCl_Private { | 119 interface PPB_NaCl_Private { |
120 /* Launches NaCl's sel_ldr process. Returns PP_EXTERNAL_PLUGIN_OK on success | 120 /* Launches NaCl's sel_ldr process. Returns PP_EXTERNAL_PLUGIN_OK on success |
121 * and writes a NaClHandle to imc_handle. Returns PP_EXTERNAL_PLUGIN_FAILED on | 121 * and writes a NaClHandle to imc_handle. Returns PP_EXTERNAL_PLUGIN_FAILED on |
122 * failure. The |enable_ppapi_dev| parameter controls whether GetInterface | 122 * failure. The |enable_ppapi_dev| parameter controls whether GetInterface |
123 * returns 'Dev' interfaces to the NaCl plugin. The |uses_ppapi| flag | 123 * returns 'Dev' interfaces to the NaCl plugin. The |uses_ppapi| flag |
124 * indicates that the nexe run by sel_ldr will use the PPAPI APIs. | 124 * indicates that the nexe run by sel_ldr will use the PPAPI APIs. |
125 * This implies that LaunchSelLdr is run from the main thread. If a nexe | 125 * This implies that LaunchSelLdr is run from the main thread. If a nexe |
126 * does not need PPAPI, then it can run off the main thread. | 126 * does not need PPAPI, then it can run off the main thread. |
127 * The |uses_irt| flag indicates whether the IRT should be loaded in this | 127 * The |uses_irt| flag indicates whether the IRT should be loaded in this |
128 * NaCl process. This is true for ABI stable nexes. | 128 * NaCl process. This is true for ABI stable nexes. |
| 129 * The |uses_nonsfi_mode| flag indicates whether or not nonsfi-mode should |
| 130 * be used with the binary pointed by the url. |
129 * The |enable_dyncode_syscalls| flag indicates whether or not the nexe | 131 * The |enable_dyncode_syscalls| flag indicates whether or not the nexe |
130 * will be able to use dynamic code system calls (e.g., mmap with PROT_EXEC). | 132 * will be able to use dynamic code system calls (e.g., mmap with PROT_EXEC). |
131 * The |enable_exception_handling| flag indicates whether or not the nexe | 133 * The |enable_exception_handling| flag indicates whether or not the nexe |
132 * will be able to use hardware exception handling. | 134 * will be able to use hardware exception handling. |
133 * The |enable_crash_throttling| flag indicates whether or not crashes of | 135 * The |enable_crash_throttling| flag indicates whether or not crashes of |
134 * the nexe contribute to crash throttling statisics and whether nexe starts | 136 * the nexe contribute to crash throttling statisics and whether nexe starts |
135 * are throttled by crash throttling. | 137 * are throttled by crash throttling. |
136 */ | 138 */ |
137 void LaunchSelLdr([in] PP_Instance instance, | 139 void LaunchSelLdr([in] PP_Instance instance, |
138 [in] str_t alleged_url, | 140 [in] str_t alleged_url, |
139 [in] PP_Bool uses_irt, | 141 [in] PP_Bool uses_irt, |
140 [in] PP_Bool uses_ppapi, | 142 [in] PP_Bool uses_ppapi, |
| 143 [in] PP_Bool uses_nonsfi_mode, |
141 [in] PP_Bool enable_ppapi_dev, | 144 [in] PP_Bool enable_ppapi_dev, |
142 [in] PP_Bool enable_dyncode_syscalls, | 145 [in] PP_Bool enable_dyncode_syscalls, |
143 [in] PP_Bool enable_exception_handling, | 146 [in] PP_Bool enable_exception_handling, |
144 [in] PP_Bool enable_crash_throttling, | 147 [in] PP_Bool enable_crash_throttling, |
145 [out] mem_t imc_handle, | 148 [out] mem_t imc_handle, |
146 [out] PP_Var error_message, | 149 [out] PP_Var error_message, |
147 [in] PP_CompletionCallback callback); | 150 [in] PP_CompletionCallback callback); |
148 | 151 |
149 /* This function starts the IPC proxy so the nexe can communicate with the | 152 /* This function starts the IPC proxy so the nexe can communicate with the |
150 * browser. Returns PP_EXTERNAL_PLUGIN_OK on success, otherwise a result code | 153 * browser. Returns PP_EXTERNAL_PLUGIN_OK on success, otherwise a result code |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
186 | 189 |
187 /* This creates a temporary file that will be deleted by the time | 190 /* This creates a temporary file that will be deleted by the time |
188 * the last handle is closed (or earlier on POSIX systems), and | 191 * the last handle is closed (or earlier on POSIX systems), and |
189 * returns a posix handle to that temporary file. | 192 * returns a posix handle to that temporary file. |
190 */ | 193 */ |
191 PP_FileHandle CreateTemporaryFile([in] PP_Instance instance); | 194 PP_FileHandle CreateTemporaryFile([in] PP_Instance instance); |
192 | 195 |
193 /* Return the number of processors in the system as reported by the OS */ | 196 /* Return the number of processors in the system as reported by the OS */ |
194 int32_t GetNumberOfProcessors(); | 197 int32_t GetNumberOfProcessors(); |
195 | 198 |
| 199 /* Return whether the non-SFI mode is enabled. */ |
| 200 PP_Bool IsNonSFIModeEnabled(); |
| 201 |
196 /* Create a temporary file, which will be deleted by the time the | 202 /* Create a temporary file, which will be deleted by the time the |
197 * last handle is closed (or earlier on POSIX systems), to use for | 203 * last handle is closed (or earlier on POSIX systems), to use for |
198 * the nexe with the cache information given by |pexe_url|, | 204 * the nexe with the cache information given by |pexe_url|, |
199 * |abi_version|, |opt_level|, |last_modified|, |etag|, and | 205 * |abi_version|, |opt_level|, |last_modified|, |etag|, and |
200 * |has_no_store_header|. If the nexe is already present in the | 206 * |has_no_store_header|. If the nexe is already present in the |
201 * cache, |is_hit| is set to PP_TRUE and the contents of the nexe | 207 * cache, |is_hit| is set to PP_TRUE and the contents of the nexe |
202 * will be copied into the temporary file. Otherwise |is_hit| is set | 208 * will be copied into the temporary file. Otherwise |is_hit| is set |
203 * to PP_FALSE and the temporary file will be writeable. Currently | 209 * to PP_FALSE and the temporary file will be writeable. Currently |
204 * the implementation is a stub, which always sets is_hit to false | 210 * the implementation is a stub, which always sets is_hit to false |
205 * and calls the implementation of CreateTemporaryFile. In a | 211 * and calls the implementation of CreateTemporaryFile. In a |
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
265 [in] PP_Bool is_installed); | 271 [in] PP_Bool is_installed); |
266 | 272 |
267 /* Performs internal cleanup when an instance is destroyed. */ | 273 /* Performs internal cleanup when an instance is destroyed. */ |
268 void InstanceDestroyed([in] PP_Instance instance); | 274 void InstanceDestroyed([in] PP_Instance instance); |
269 | 275 |
270 /* Return true if the NaCl debug stub is enabled and the loaded app | 276 /* Return true if the NaCl debug stub is enabled and the loaded app |
271 * will be attached to a debugger. | 277 * will be attached to a debugger. |
272 */ | 278 */ |
273 PP_Bool NaClDebugStubEnabled(); | 279 PP_Bool NaClDebugStubEnabled(); |
274 }; | 280 }; |
OLD | NEW |