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

Side by Side Diff: sandbox/src/crosscall_server.h

Issue 757001: Second round of sbox changes for 64 bit port... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 10 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 | Annotate | Revision Log
« no previous file with comments | « sandbox/src/crosscall_client.h ('k') | sandbox/src/crosscall_server.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2006-2010 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 SANDBOX_SRC_CROSSCALL_SERVER_H_ 5 #ifndef SANDBOX_SRC_CROSSCALL_SERVER_H_
6 #define SANDBOX_SRC_CROSSCALL_SERVER_H_ 6 #define SANDBOX_SRC_CROSSCALL_SERVER_H_
7 7
8 #include <string> 8 #include <string>
9 #include <vector> 9 #include <vector>
10 #include "base/basictypes.h"
10 #include "base/callback.h" 11 #include "base/callback.h"
11 #include "sandbox/src/crosscall_params.h" 12 #include "sandbox/src/crosscall_params.h"
12 13
13 // This is the IPC server interface for CrossCall: The IPC for the Sandbox 14 // This is the IPC server interface for CrossCall: The IPC for the Sandbox
14 // On the server, CrossCall needs two things: 15 // On the server, CrossCall needs two things:
15 // 1) threads: Or better said, someone to provide them, that is what the 16 // 1) threads: Or better said, someone to provide them, that is what the
16 // ThreadProvider interface is defined for. These thread(s) are 17 // ThreadProvider interface is defined for. These thread(s) are
17 // the ones that will actually execute the IPC data retrieval. 18 // the ones that will actually execute the IPC data retrieval.
18 // 19 //
19 // 2) a dispatcher: This interface represents the way to route and process 20 // 2) a dispatcher: This interface represents the way to route and process
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after
96 size_t* output_size); 97 size_t* output_size);
97 98
98 // Provides IPCinput parameter raw access: 99 // Provides IPCinput parameter raw access:
99 // index : the parameter to read; 0 is the first parameter 100 // index : the parameter to read; 0 is the first parameter
100 // returns NULL if the parameter is non-existent. If it exists it also 101 // returns NULL if the parameter is non-existent. If it exists it also
101 // returns the size in *size 102 // returns the size in *size
102 void* GetRawParameter(size_t index, size_t* size, ArgType* type); 103 void* GetRawParameter(size_t index, size_t* size, ArgType* type);
103 104
104 // Gets a parameter that is four bytes in size. 105 // Gets a parameter that is four bytes in size.
105 // Returns false if the parameter does not exist or is not 32 bits wide. 106 // Returns false if the parameter does not exist or is not 32 bits wide.
106 bool GetParameter32(size_t index, void* param); 107 bool GetParameter32(size_t index, uint32* param);
108
109 // Gets a parameter that is void pointer in size.
110 // Returns false if the parameter does not exist or is not void pointer sized.
111 bool GetParameterVoidPtr(size_t index, void** param);
107 112
108 // Gets a parameter that is a string. Returns false if the parameter does not 113 // Gets a parameter that is a string. Returns false if the parameter does not
109 // exist. 114 // exist.
110 bool GetParameterStr(size_t index, std::wstring* string); 115 bool GetParameterStr(size_t index, std::wstring* string);
111 116
112 // Gets a parameter that is an in/out buffer. Returns false is the parameter 117 // Gets a parameter that is an in/out buffer. Returns false is the parameter
113 // does not exist or if the size of the actual parameter is not equal to the 118 // does not exist or if the size of the actual parameter is not equal to the
114 // expected size. 119 // expected size.
115 bool GetParameterPtr(size_t index, size_t expected_size, void** pointer); 120 bool GetParameterPtr(size_t index, size_t expected_size, void** pointer);
116 121
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after
210 CallbackGeneric callback; 215 CallbackGeneric callback;
211 }; 216 };
212 217
213 // List of IPC Calls supported by the class. 218 // List of IPC Calls supported by the class.
214 std::vector<IPCCall> ipc_calls_; 219 std::vector<IPCCall> ipc_calls_;
215 }; 220 };
216 221
217 } // namespace sandbox 222 } // namespace sandbox
218 223
219 #endif // SANDBOX_SRC_CROSSCALL_SERVER_H_ 224 #endif // SANDBOX_SRC_CROSSCALL_SERVER_H_
OLDNEW
« no previous file with comments | « sandbox/src/crosscall_client.h ('k') | sandbox/src/crosscall_server.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698