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

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

Issue 19828007: Hide knowledge of webkit::ppapi::Plugin from chrome. This is part of moving ppapi implementation fr… (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: nits Created 7 years, 5 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 | Annotate | Revision Log
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 Mon Jul 15 09:19:33 2013. */ 6 /* From private/ppb_nacl_private.idl modified Tue Jul 23 13:16:52 2013. */
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 #include "ppapi/c/private/ppb_instance_private.h"
17 18
18 #define PPB_NACL_PRIVATE_INTERFACE_1_0 "PPB_NaCl_Private;1.0" 19 #define PPB_NACL_PRIVATE_INTERFACE_1_0 "PPB_NaCl_Private;1.0"
19 #define PPB_NACL_PRIVATE_INTERFACE PPB_NACL_PRIVATE_INTERFACE_1_0 20 #define PPB_NACL_PRIVATE_INTERFACE PPB_NACL_PRIVATE_INTERFACE_1_0
20 21
21 /** 22 /**
22 * @file 23 * @file
23 * This file contains NaCl private interfaces. This interface is not versioned 24 * This file contains NaCl private interfaces. This interface is not versioned
24 * and is for internal Chrome use. It may change without notice. */ 25 * and is for internal Chrome use. It may change without notice. */
25 26
26 27
27 #include "ppapi/c/private/pp_file_handle.h" 28 #include "ppapi/c/private/pp_file_handle.h"
29 #include "ppapi/c/private/ppb_instance_private.h"
28 30
29 /** 31 /**
30 * @addtogroup Enums 32 * @addtogroup Enums
31 * @{ 33 * @{
32 */ 34 */
33 /**
34 * The <code>PP_NaClResult</code> enum contains NaCl result codes.
35 */
36 typedef enum {
37 /** Successful NaCl call */
38 PP_NACL_OK = 0,
39 /** Unspecified NaCl error */
40 PP_NACL_FAILED = 1,
41 /** Error creating the module */
42 PP_NACL_ERROR_MODULE = 2,
43 /** Error creating and initializing the instance */
44 PP_NACL_ERROR_INSTANCE = 3
45 } PP_NaClResult;
46 PP_COMPILE_ASSERT_SIZE_IN_BYTES(PP_NaClResult, 4);
47
48 /** NaCl-specific errors that should be reported to the user */ 35 /** NaCl-specific errors that should be reported to the user */
49 typedef enum { 36 typedef enum {
50 /** 37 /**
51 * The manifest program element does not contain a program usable on the 38 * The manifest program element does not contain a program usable on the
52 * user's architecture 39 * user's architecture
53 */ 40 */
54 PP_NACL_MANIFEST_MISSING_ARCH = 0 41 PP_NACL_MANIFEST_MISSING_ARCH = 0
55 } PP_NaClError; 42 } PP_NaClError;
56 /** 43 /**
57 * @} 44 * @}
(...skipping 12 matching lines...) Expand all
70 * indicates that the nexe run by sel_ldr will use the PPAPI APIs. 57 * indicates that the nexe run by sel_ldr will use the PPAPI APIs.
71 * This implies that LaunchSelLdr is run from the main thread. If a nexe 58 * This implies that LaunchSelLdr is run from the main thread. If a nexe
72 * does not need PPAPI, then it can run off the main thread. 59 * does not need PPAPI, then it can run off the main thread.
73 * The |uses_irt| flag indicates whether the IRT should be loaded in this 60 * The |uses_irt| flag indicates whether the IRT should be loaded in this
74 * NaCl process. This is true for ABI stable nexes. 61 * NaCl process. This is true for ABI stable nexes.
75 * The |enable_dyncode_syscalls| flag indicates whether or not the nexe 62 * The |enable_dyncode_syscalls| flag indicates whether or not the nexe
76 * will be able to use dynamic code system calls (e.g., mmap with PROT_EXEC). 63 * will be able to use dynamic code system calls (e.g., mmap with PROT_EXEC).
77 * The |enable_exception_handling| flag indicates whether or not the nexe 64 * The |enable_exception_handling| flag indicates whether or not the nexe
78 * will be able to use hardware exception handling. 65 * will be able to use hardware exception handling.
79 */ 66 */
80 PP_NaClResult (*LaunchSelLdr)(PP_Instance instance, 67 PP_ExternalPluginResult (*LaunchSelLdr)(PP_Instance instance,
81 const char* alleged_url, 68 const char* alleged_url,
82 PP_Bool uses_irt, 69 PP_Bool uses_irt,
83 PP_Bool uses_ppapi, 70 PP_Bool uses_ppapi,
84 PP_Bool enable_ppapi_dev, 71 PP_Bool enable_ppapi_dev,
85 PP_Bool enable_dyncode_syscalls, 72 PP_Bool enable_dyncode_syscalls,
86 PP_Bool enable_exception_handling, 73 PP_Bool enable_exception_handling,
87 void* imc_handle, 74 void* imc_handle,
88 struct PP_Var* error_message); 75 struct PP_Var* error_message);
89 /* This function starts the IPC proxy so the nexe can communicate with the 76 /* This function starts the IPC proxy so the nexe can communicate with the
90 * browser. Returns PP_NACL_OK on success, otherwise a result code indicating 77 * browser. Returns PP_NACL_OK on success, otherwise a result code indicating
91 * the failure. PP_NACL_FAILED is returned if LaunchSelLdr wasn't called with 78 * the failure. PP_NACL_FAILED is returned if LaunchSelLdr wasn't called with
92 * the instance. PP_NACL_ERROR_MODULE is returned if the module can't be 79 * the instance. PP_NACL_ERROR_MODULE is returned if the module can't be
93 * initialized. PP_NACL_ERROR_INSTANCE is returned if the instance can't be 80 * initialized. PP_NACL_ERROR_INSTANCE is returned if the instance can't be
94 * initialized. PP_NACL_USE_SRPC is returned if the plugin should use SRPC. 81 * initialized. PP_NACL_USE_SRPC is returned if the plugin should use SRPC.
95 */ 82 */
96 PP_NaClResult (*StartPpapiProxy)(PP_Instance instance); 83 PP_ExternalPluginResult (*StartPpapiProxy)(PP_Instance instance);
97 /* On POSIX systems, this function returns the file descriptor of 84 /* On POSIX systems, this function returns the file descriptor of
98 * /dev/urandom. On non-POSIX systems, this function returns 0. 85 * /dev/urandom. On non-POSIX systems, this function returns 0.
99 */ 86 */
100 int32_t (*UrandomFD)(void); 87 int32_t (*UrandomFD)(void);
101 /* Whether the Pepper 3D interfaces should be disabled in the NaCl PPAPI 88 /* Whether the Pepper 3D interfaces should be disabled in the NaCl PPAPI
102 * proxy. This is so paranoid admins can effectively prevent untrusted shader 89 * proxy. This is so paranoid admins can effectively prevent untrusted shader
103 * code to be processed by the graphics stack. 90 * code to be processed by the graphics stack.
104 */ 91 */
105 PP_Bool (*Are3DInterfacesDisabled)(void); 92 PP_Bool (*Are3DInterfacesDisabled)(void);
106 /* This is Windows-specific. This is a replacement for DuplicateHandle() for 93 /* This is Windows-specific. This is a replacement for DuplicateHandle() for
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
155 * mode, no notification will be delivered to the plugin.) 142 * mode, no notification will be delivered to the plugin.)
156 */ 143 */
157 void (*ReportTranslationFinished)(PP_Instance instance); 144 void (*ReportTranslationFinished)(PP_Instance instance);
158 /* Return true if we are off the record. 145 /* Return true if we are off the record.
159 */ 146 */
160 PP_Bool (*IsOffTheRecord)(void); 147 PP_Bool (*IsOffTheRecord)(void);
161 /* Return true if PNaCl is turned on. 148 /* Return true if PNaCl is turned on.
162 */ 149 */
163 PP_Bool (*IsPnaclEnabled)(void); 150 PP_Bool (*IsPnaclEnabled)(void);
164 /* Display a UI message to the user. */ 151 /* Display a UI message to the user. */
165 PP_NaClResult (*ReportNaClError)(PP_Instance instance, 152 PP_ExternalPluginResult (*ReportNaClError)(PP_Instance instance,
166 PP_NaClError message_id); 153 PP_NaClError message_id);
167 /* Opens a NaCl executable file in the application's extension directory 154 /* Opens a NaCl executable file in the application's extension directory
168 * corresponding to the file URL and returns a file descriptor, or an invalid 155 * corresponding to the file URL and returns a file descriptor, or an invalid
169 * handle on failure. |metadata| is left unchanged on failure. 156 * handle on failure. |metadata| is left unchanged on failure.
170 */ 157 */
171 PP_FileHandle (*OpenNaClExecutable)(PP_Instance instance, 158 PP_FileHandle (*OpenNaClExecutable)(PP_Instance instance,
172 const char* file_url, 159 const char* file_url,
173 uint64_t* file_token_lo, 160 uint64_t* file_token_lo,
174 uint64_t* file_token_hi); 161 uint64_t* file_token_hi);
175 }; 162 };
176 163
177 typedef struct PPB_NaCl_Private_1_0 PPB_NaCl_Private; 164 typedef struct PPB_NaCl_Private_1_0 PPB_NaCl_Private;
178 /** 165 /**
179 * @} 166 * @}
180 */ 167 */
181 168
182 #endif /* PPAPI_C_PRIVATE_PPB_NACL_PRIVATE_H_ */ 169 #endif /* PPAPI_C_PRIVATE_PPB_NACL_PRIVATE_H_ */
183 170
OLDNEW
« no previous file with comments | « ppapi/c/private/ppb_instance_private.h ('k') | ppapi/native_client/src/trusted/plugin/nacl_entry_points.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698