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

Side by Side Diff: components/nacl/renderer/ppb_nacl_private.h

Issue 1512733003: PNaCl: Use Chrome IPC to talk to the linker process, instead of SRPC (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Rebase Created 4 years, 11 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 #ifndef COMPONENTS_NACL_RENDERER_PPB_NACL_PRIVATE_H_ 5 #ifndef COMPONENTS_NACL_RENDERER_PPB_NACL_PRIVATE_H_
6 #define COMPONENTS_NACL_RENDERER_PPB_NACL_PRIVATE_H_ 6 #define COMPONENTS_NACL_RENDERER_PPB_NACL_PRIVATE_H_
7 7
8 #include "base/memory/scoped_ptr.h"
9 #include "base/process/process_handle.h"
10 #include "ipc/ipc_sync_channel.h"
8 #include "ppapi/c/pp_bool.h" 11 #include "ppapi/c/pp_bool.h"
9 #include "ppapi/c/pp_completion_callback.h" 12 #include "ppapi/c/pp_completion_callback.h"
10 #include "ppapi/c/pp_instance.h" 13 #include "ppapi/c/pp_instance.h"
11 #include "ppapi/c/pp_macros.h" 14 #include "ppapi/c/pp_macros.h"
12 #include "ppapi/c/pp_stdint.h" 15 #include "ppapi/c/pp_stdint.h"
13 #include "ppapi/c/pp_var.h" 16 #include "ppapi/c/pp_var.h"
14 #include "ppapi/c/private/pp_file_handle.h" 17 #include "ppapi/c/private/pp_file_handle.h"
15 #include "ppapi/c/private/ppb_instance_private.h" 18 #include "ppapi/c/private/ppb_instance_private.h"
16 #include "ppapi/c/private/ppp_pexe_stream_handler.h" 19 #include "ppapi/c/private/ppp_pexe_stream_handler.h"
17 20
(...skipping 189 matching lines...) Expand 10 before | Expand all | Expand 10 after
207 */ 210 */
208 struct PPB_NaCl_Private { 211 struct PPB_NaCl_Private {
209 /* Launches NaCl's sel_ldr process. Returns PP_EXTERNAL_PLUGIN_OK on success 212 /* Launches NaCl's sel_ldr process. Returns PP_EXTERNAL_PLUGIN_OK on success
210 * and writes a NaClHandle to imc_handle. Returns PP_EXTERNAL_PLUGIN_FAILED on 213 * and writes a NaClHandle to imc_handle. Returns PP_EXTERNAL_PLUGIN_FAILED on
211 * failure. 214 * failure.
212 * The |nexe_file_info| is currently used only in non-SFI mode. It is the 215 * The |nexe_file_info| is currently used only in non-SFI mode. It is the
213 * file handle for the main nexe file, which should be initially loaded. 216 * file handle for the main nexe file, which should be initially loaded.
214 * LaunchSelLdr takes the ownership of the file handle. 217 * LaunchSelLdr takes the ownership of the file handle.
215 * The |uses_nonsfi_mode| flag indicates whether or not nonsfi-mode should 218 * The |uses_nonsfi_mode| flag indicates whether or not nonsfi-mode should
216 * be used with the binary pointed by the url. 219 * be used with the binary pointed by the url.
220 * |translator_channel| and |process_id| are filled out when launching PNaCl
221 * translator processes.
217 */ 222 */
218 void (*LaunchSelLdr)(PP_Instance instance, 223 void (*LaunchSelLdr)(PP_Instance instance,
219 PP_Bool main_service_runtime, 224 PP_Bool main_service_runtime,
220 const char* alleged_url, 225 const char* alleged_url,
221 const struct PP_NaClFileInfo* nexe_file_info, 226 const struct PP_NaClFileInfo* nexe_file_info,
222 PP_Bool uses_nonsfi_mode, 227 PP_Bool uses_nonsfi_mode,
223 PP_NaClAppProcessType process_type, 228 PP_NaClAppProcessType process_type,
224 void* imc_handle, 229 void* imc_handle,
230 scoped_ptr<IPC::SyncChannel>* translator_channel,
231 base::ProcessId* process_id,
225 struct PP_CompletionCallback callback); 232 struct PP_CompletionCallback callback);
226 /* On POSIX systems, this function returns the file descriptor of 233 /* On POSIX systems, this function returns the file descriptor of
227 * /dev/urandom. On non-POSIX systems, this function returns 0. 234 * /dev/urandom. On non-POSIX systems, this function returns 0.
228 */ 235 */
229 int32_t (*UrandomFD)(void); 236 int32_t (*UrandomFD)(void);
230 /* This is Windows-specific. This is a replacement for DuplicateHandle() for 237 /* This is Windows-specific. This is a replacement for DuplicateHandle() for
231 * use inside the Windows sandbox. Note that we provide this via dependency 238 * use inside the Windows sandbox. Note that we provide this via dependency
232 * injection only to avoid the linkage problems that occur because the NaCl 239 * injection only to avoid the linkage problems that occur because the NaCl
233 * plugin is built as a separate DLL/DSO 240 * plugin is built as a separate DLL/DSO
234 * (see http://code.google.com/p/chromium/issues/detail?id=114439#c8). 241 * (see http://code.google.com/p/chromium/issues/detail?id=114439#c8).
(...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after
351 int32_t opt_level, 358 int32_t opt_level,
352 PP_Bool use_subzero, 359 PP_Bool use_subzero,
353 const struct PPP_PexeStreamHandler_1_0* stream_handler, 360 const struct PPP_PexeStreamHandler_1_0* stream_handler,
354 void* stream_handler_user_data); 361 void* stream_handler_user_data);
355 }; 362 };
356 /** 363 /**
357 * @} 364 * @}
358 */ 365 */
359 366
360 #endif /* COMPONENTS_NACL_RENDERER_PPB_NACL_PRIVATE_H_ */ 367 #endif /* COMPONENTS_NACL_RENDERER_PPB_NACL_PRIVATE_H_ */
OLDNEW
« no previous file with comments | « components/nacl/renderer/plugin/temporary_file.cc ('k') | components/nacl/renderer/ppb_nacl_private_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698