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 Wed Jun 25 16:42:25 2014. */ | 6 /* From private/ppb_nacl_private.idl modified Thu Jun 26 14:23:46 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" |
17 | 17 |
18 #define PPP_MANIFESTSERVICE_INTERFACE_1_0 "PPP_ManifestService;1.0" | |
19 #define PPP_MANIFESTSERVICE_INTERFACE PPP_MANIFESTSERVICE_INTERFACE_1_0 | |
20 | |
21 #define PPB_NACL_PRIVATE_INTERFACE_1_0 "PPB_NaCl_Private;1.0" | 18 #define PPB_NACL_PRIVATE_INTERFACE_1_0 "PPB_NaCl_Private;1.0" |
22 #define PPB_NACL_PRIVATE_INTERFACE PPB_NACL_PRIVATE_INTERFACE_1_0 | 19 #define PPB_NACL_PRIVATE_INTERFACE PPB_NACL_PRIVATE_INTERFACE_1_0 |
23 | 20 |
24 /** | 21 /** |
25 * @file | 22 * @file |
26 * This file contains NaCl private interfaces. This interface is not versioned | 23 * This file contains NaCl private interfaces. This interface is not versioned |
27 * and is for internal Chrome use. It may change without notice. */ | 24 * and is for internal Chrome use. It may change without notice. */ |
28 | 25 |
29 | 26 |
30 #include "ppapi/c/private/pp_file_handle.h" | 27 #include "ppapi/c/private/pp_file_handle.h" |
(...skipping 141 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
172 * @{ | 169 * @{ |
173 */ | 170 */ |
174 /* Callback invoked upon completion of PPP_ManifestService::OpenResource(). */ | 171 /* Callback invoked upon completion of PPP_ManifestService::OpenResource(). */ |
175 typedef void (*PP_OpenResourceCompletionCallback)(void* user_data, | 172 typedef void (*PP_OpenResourceCompletionCallback)(void* user_data, |
176 PP_FileHandle file_handle); | 173 PP_FileHandle file_handle); |
177 /** | 174 /** |
178 * @} | 175 * @} |
179 */ | 176 */ |
180 | 177 |
181 /** | 178 /** |
182 * @addtogroup Interfaces | |
183 * @{ | |
184 */ | |
185 /* ManifestService to support irt_open_resource() function. | |
186 * All functions of the service should have PP_Bool return value. It represents | |
187 * whether the service is still alive or not. Trivially Quit() should always | |
188 * return false. However, other functions also can return false. | |
189 * Once false is called, as the service has been destructed, all functions | |
190 * should never be called afterwords. | |
191 */ | |
192 struct PPP_ManifestService_1_0 { | |
193 /* Called when ManifestService should be destructed. */ | |
194 PP_Bool (*Quit)(void* user_data); | |
195 /* Called when PPAPI initialization in the NaCl plugin is finished. */ | |
196 PP_Bool (*StartupInitializationComplete)(void* user_data); | |
197 }; | |
198 | |
199 typedef struct PPP_ManifestService_1_0 PPP_ManifestService; | |
200 /** | |
201 * @} | |
202 */ | |
203 | |
204 /** | |
205 * @addtogroup Structs | 179 * @addtogroup Structs |
206 * @{ | 180 * @{ |
207 */ | 181 */ |
208 /* Corresponds to NaClFileInfo in | 182 /* Corresponds to NaClFileInfo in |
209 * native_client/src/trusted/validator/nacl_file_info.h */ | 183 * native_client/src/trusted/validator/nacl_file_info.h */ |
210 struct PP_NaClFileInfo { | 184 struct PP_NaClFileInfo { |
211 PP_FileHandle handle; | 185 PP_FileHandle handle; |
212 /* See NaClFileToken comment in nacl_file_info.h */ | 186 /* See NaClFileToken comment in nacl_file_info.h */ |
213 uint64_t token_lo; | 187 uint64_t token_lo; |
214 uint64_t token_hi; | 188 uint64_t token_hi; |
(...skipping 23 matching lines...) Expand all Loading... |
238 * The |uses_nonsfi_mode| flag indicates whether or not nonsfi-mode should | 212 * The |uses_nonsfi_mode| flag indicates whether or not nonsfi-mode should |
239 * be used with the binary pointed by the url. | 213 * be used with the binary pointed by the url. |
240 * The |enable_dyncode_syscalls| flag indicates whether or not the nexe | 214 * The |enable_dyncode_syscalls| flag indicates whether or not the nexe |
241 * will be able to use dynamic code system calls (e.g., mmap with PROT_EXEC). | 215 * will be able to use dynamic code system calls (e.g., mmap with PROT_EXEC). |
242 * The |enable_exception_handling| flag indicates whether or not the nexe | 216 * The |enable_exception_handling| flag indicates whether or not the nexe |
243 * will be able to use hardware exception handling. | 217 * will be able to use hardware exception handling. |
244 * The |enable_crash_throttling| flag indicates whether or not crashes of | 218 * The |enable_crash_throttling| flag indicates whether or not crashes of |
245 * the nexe contribute to crash throttling statisics and whether nexe starts | 219 * the nexe contribute to crash throttling statisics and whether nexe starts |
246 * are throttled by crash throttling. | 220 * are throttled by crash throttling. |
247 */ | 221 */ |
248 void (*LaunchSelLdr)( | 222 void (*LaunchSelLdr)(PP_Instance instance, |
249 PP_Instance instance, | 223 PP_Bool main_service_runtime, |
250 PP_Bool main_service_runtime, | 224 const char* alleged_url, |
251 const char* alleged_url, | 225 const struct PP_NaClFileInfo* nexe_file_info, |
252 const struct PP_NaClFileInfo* nexe_file_info, | 226 PP_Bool uses_irt, |
253 PP_Bool uses_irt, | 227 PP_Bool uses_ppapi, |
254 PP_Bool uses_ppapi, | 228 PP_Bool uses_nonsfi_mode, |
255 PP_Bool uses_nonsfi_mode, | 229 PP_Bool enable_ppapi_dev, |
256 PP_Bool enable_ppapi_dev, | 230 PP_Bool enable_dyncode_syscalls, |
257 PP_Bool enable_dyncode_syscalls, | 231 PP_Bool enable_exception_handling, |
258 PP_Bool enable_exception_handling, | 232 PP_Bool enable_crash_throttling, |
259 PP_Bool enable_crash_throttling, | 233 void* imc_handle, |
260 const struct PPP_ManifestService_1_0* manifest_service_interface, | 234 struct PP_CompletionCallback callback); |
261 void* manifest_service_user_data, | |
262 void* imc_handle, | |
263 struct PP_CompletionCallback callback); | |
264 /* This function starts the IPC proxy so the nexe can communicate with the | 235 /* This function starts the IPC proxy so the nexe can communicate with the |
265 * browser. | 236 * browser. |
266 */ | 237 */ |
267 PP_Bool (*StartPpapiProxy)(PP_Instance instance); | 238 PP_Bool (*StartPpapiProxy)(PP_Instance instance); |
268 /* On POSIX systems, this function returns the file descriptor of | 239 /* On POSIX systems, this function returns the file descriptor of |
269 * /dev/urandom. On non-POSIX systems, this function returns 0. | 240 * /dev/urandom. On non-POSIX systems, this function returns 0. |
270 */ | 241 */ |
271 int32_t (*UrandomFD)(void); | 242 int32_t (*UrandomFD)(void); |
272 /* Whether the Pepper 3D interfaces should be disabled in the NaCl PPAPI | 243 /* Whether the Pepper 3D interfaces should be disabled in the NaCl PPAPI |
273 * proxy. This is so paranoid admins can effectively prevent untrusted shader | 244 * proxy. This is so paranoid admins can effectively prevent untrusted shader |
(...skipping 176 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
450 void (*SetPNaClStartTime)(PP_Instance instance); | 421 void (*SetPNaClStartTime)(PP_Instance instance); |
451 }; | 422 }; |
452 | 423 |
453 typedef struct PPB_NaCl_Private_1_0 PPB_NaCl_Private; | 424 typedef struct PPB_NaCl_Private_1_0 PPB_NaCl_Private; |
454 /** | 425 /** |
455 * @} | 426 * @} |
456 */ | 427 */ |
457 | 428 |
458 #endif /* PPAPI_C_PRIVATE_PPB_NACL_PRIVATE_H_ */ | 429 #endif /* PPAPI_C_PRIVATE_PPB_NACL_PRIVATE_H_ */ |
459 | 430 |
OLD | NEW |