Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(119)

Side by Side Diff: ppapi/c/private/ppb_nacl_private.h

Issue 177113009: Support non-SFI mode in NaCl manifest file. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase Created 6 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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
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
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
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
OLDNEW
« no previous file with comments | « ppapi/api/private/ppb_nacl_private.idl ('k') | ppapi/native_client/src/trusted/plugin/json_manifest.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698