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 Thu Feb 27 14:06:31 2014. */ | 6 /* From private/ppb_nacl_private.idl modified Fri Mar 7 13:41:05 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 125 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
142 struct PPB_NaCl_Private_1_0 { | 142 struct PPB_NaCl_Private_1_0 { |
143 /* Launches NaCl's sel_ldr process. Returns PP_EXTERNAL_PLUGIN_OK on success | 143 /* Launches NaCl's sel_ldr process. Returns PP_EXTERNAL_PLUGIN_OK on success |
144 * and writes a NaClHandle to imc_handle. Returns PP_EXTERNAL_PLUGIN_FAILED on | 144 * and writes a NaClHandle to imc_handle. Returns PP_EXTERNAL_PLUGIN_FAILED on |
145 * failure. The |enable_ppapi_dev| parameter controls whether GetInterface | 145 * failure. The |enable_ppapi_dev| parameter controls whether GetInterface |
146 * returns 'Dev' interfaces to the NaCl plugin. The |uses_ppapi| flag | 146 * returns 'Dev' interfaces to the NaCl plugin. The |uses_ppapi| flag |
147 * indicates that the nexe run by sel_ldr will use the PPAPI APIs. | 147 * indicates that the nexe run by sel_ldr will use the PPAPI APIs. |
148 * This implies that LaunchSelLdr is run from the main thread. If a nexe | 148 * This implies that LaunchSelLdr is run from the main thread. If a nexe |
149 * does not need PPAPI, then it can run off the main thread. | 149 * does not need PPAPI, then it can run off the main thread. |
150 * The |uses_irt| flag indicates whether the IRT should be loaded in this | 150 * The |uses_irt| flag indicates whether the IRT should be loaded in this |
151 * NaCl process. This is true for ABI stable nexes. | 151 * NaCl process. This is true for ABI stable nexes. |
| 152 * The |uses_nonsfi_mode| flag indicates whether or not nonsfi-mode should |
| 153 * be used with the binary pointed by the url. |
152 * The |enable_dyncode_syscalls| flag indicates whether or not the nexe | 154 * The |enable_dyncode_syscalls| flag indicates whether or not the nexe |
153 * will be able to use dynamic code system calls (e.g., mmap with PROT_EXEC). | 155 * will be able to use dynamic code system calls (e.g., mmap with PROT_EXEC). |
154 * The |enable_exception_handling| flag indicates whether or not the nexe | 156 * The |enable_exception_handling| flag indicates whether or not the nexe |
155 * will be able to use hardware exception handling. | 157 * will be able to use hardware exception handling. |
156 * The |enable_crash_throttling| flag indicates whether or not crashes of | 158 * The |enable_crash_throttling| flag indicates whether or not crashes of |
157 * the nexe contribute to crash throttling statisics and whether nexe starts | 159 * the nexe contribute to crash throttling statisics and whether nexe starts |
158 * are throttled by crash throttling. | 160 * are throttled by crash throttling. |
159 */ | 161 */ |
160 void (*LaunchSelLdr)(PP_Instance instance, | 162 void (*LaunchSelLdr)(PP_Instance instance, |
161 const char* alleged_url, | 163 const char* alleged_url, |
162 PP_Bool uses_irt, | 164 PP_Bool uses_irt, |
163 PP_Bool uses_ppapi, | 165 PP_Bool uses_ppapi, |
| 166 PP_Bool uses_nonsfi_mode, |
164 PP_Bool enable_ppapi_dev, | 167 PP_Bool enable_ppapi_dev, |
165 PP_Bool enable_dyncode_syscalls, | 168 PP_Bool enable_dyncode_syscalls, |
166 PP_Bool enable_exception_handling, | 169 PP_Bool enable_exception_handling, |
167 PP_Bool enable_crash_throttling, | 170 PP_Bool enable_crash_throttling, |
168 void* imc_handle, | 171 void* imc_handle, |
169 struct PP_Var* error_message, | 172 struct PP_Var* error_message, |
170 struct PP_CompletionCallback callback); | 173 struct PP_CompletionCallback callback); |
171 /* This function starts the IPC proxy so the nexe can communicate with the | 174 /* This function starts the IPC proxy so the nexe can communicate with the |
172 * browser. Returns PP_EXTERNAL_PLUGIN_OK on success, otherwise a result code | 175 * browser. Returns PP_EXTERNAL_PLUGIN_OK on success, otherwise a result code |
173 * indicating the failure. PP_EXTERNAL_PLUGIN_FAILED is returned if | 176 * indicating the failure. PP_EXTERNAL_PLUGIN_FAILED is returned if |
(...skipping 27 matching lines...) Expand all Loading... |
201 * component directory, or an invalid handle on failure. | 204 * component directory, or an invalid handle on failure. |
202 */ | 205 */ |
203 PP_FileHandle (*GetReadonlyPnaclFd)(const char* filename); | 206 PP_FileHandle (*GetReadonlyPnaclFd)(const char* filename); |
204 /* This creates a temporary file that will be deleted by the time | 207 /* This creates a temporary file that will be deleted by the time |
205 * the last handle is closed (or earlier on POSIX systems), and | 208 * the last handle is closed (or earlier on POSIX systems), and |
206 * returns a posix handle to that temporary file. | 209 * returns a posix handle to that temporary file. |
207 */ | 210 */ |
208 PP_FileHandle (*CreateTemporaryFile)(PP_Instance instance); | 211 PP_FileHandle (*CreateTemporaryFile)(PP_Instance instance); |
209 /* Return the number of processors in the system as reported by the OS */ | 212 /* Return the number of processors in the system as reported by the OS */ |
210 int32_t (*GetNumberOfProcessors)(void); | 213 int32_t (*GetNumberOfProcessors)(void); |
| 214 /* Return whether the non-SFI mode is enabled. */ |
| 215 PP_Bool (*IsNonSFIModeEnabled)(void); |
211 /* Create a temporary file, which will be deleted by the time the | 216 /* Create a temporary file, which will be deleted by the time the |
212 * last handle is closed (or earlier on POSIX systems), to use for | 217 * last handle is closed (or earlier on POSIX systems), to use for |
213 * the nexe with the cache information given by |pexe_url|, | 218 * the nexe with the cache information given by |pexe_url|, |
214 * |abi_version|, |opt_level|, |last_modified|, |etag|, and | 219 * |abi_version|, |opt_level|, |last_modified|, |etag|, and |
215 * |has_no_store_header|. If the nexe is already present in the | 220 * |has_no_store_header|. If the nexe is already present in the |
216 * cache, |is_hit| is set to PP_TRUE and the contents of the nexe | 221 * cache, |is_hit| is set to PP_TRUE and the contents of the nexe |
217 * will be copied into the temporary file. Otherwise |is_hit| is set | 222 * will be copied into the temporary file. Otherwise |is_hit| is set |
218 * to PP_FALSE and the temporary file will be writeable. Currently | 223 * to PP_FALSE and the temporary file will be writeable. Currently |
219 * the implementation is a stub, which always sets is_hit to false | 224 * the implementation is a stub, which always sets is_hit to false |
220 * and calls the implementation of CreateTemporaryFile. In a | 225 * and calls the implementation of CreateTemporaryFile. In a |
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
279 PP_Bool (*NaClDebugStubEnabled)(void); | 284 PP_Bool (*NaClDebugStubEnabled)(void); |
280 }; | 285 }; |
281 | 286 |
282 typedef struct PPB_NaCl_Private_1_0 PPB_NaCl_Private; | 287 typedef struct PPB_NaCl_Private_1_0 PPB_NaCl_Private; |
283 /** | 288 /** |
284 * @} | 289 * @} |
285 */ | 290 */ |
286 | 291 |
287 #endif /* PPAPI_C_PRIVATE_PPB_NACL_PRIVATE_H_ */ | 292 #endif /* PPAPI_C_PRIVATE_PPB_NACL_PRIVATE_H_ */ |
288 | 293 |
OLD | NEW |