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

Side by Side Diff: platform.h

Issue 6729012: cryptohome: Add new platform functions (Closed) Base URL: ssh://git@gitrw.chromium.org:9222/cryptohome.git@master
Patch Set: . Created 9 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 | « mock_platform.h ('k') | platform.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) 2009-2010 The Chromium OS Authors. All rights reserved. 1 // Copyright (c) 2011 The Chromium OS 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 CRYPTOHOME_PLATFORM_H_ 5 #ifndef CRYPTOHOME_PLATFORM_H_
6 #define CRYPTOHOME_PLATFORM_H_ 6 #define CRYPTOHOME_PLATFORM_H_
7 7
8 #include <base/basictypes.h> 8 #include <base/basictypes.h>
9 #include <set> 9 #include <set>
10 #include <string> 10 #include <string>
11 #include <vector> 11 #include <vector>
(...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after
123 virtual bool TerminatePidsForUser(const uid_t uid, bool hard); 123 virtual bool TerminatePidsForUser(const uid_t uid, bool hard);
124 124
125 // Returns a vector of PIDs whose Real, Effective, Saved, or File UID is equal 125 // Returns a vector of PIDs whose Real, Effective, Saved, or File UID is equal
126 // to that requested 126 // to that requested
127 // 127 //
128 // Parameters 128 // Parameters
129 // uid - the user ID to search for 129 // uid - the user ID to search for
130 // pids (OUT) - the list of PIDs 130 // pids (OUT) - the list of PIDs
131 void GetPidsForUser(uid_t uid, std::vector<pid_t>* pids); 131 void GetPidsForUser(uid_t uid, std::vector<pid_t>* pids);
132 132
133 // Calls the platform chown() function on the given path.
134 //
135 // The path may be a directory or a file.
136 //
137 // Parameters
138 // path - The path to set ownership on
139 // user_id - The user_id to assign ownership to
140 // group_id - The group_id to assign ownership to
141 virtual bool SetOwnership(const std::string& directory, uid_t user_id,
142 gid_t group_id);
143
133 // Calls the platform chown() function recursively on the directory 144 // Calls the platform chown() function recursively on the directory
134 // 145 //
135 // Parameters 146 // Parameters
136 // directory - The directory to set ownership on 147 // directory - The directory to set ownership on
137 // user_id - The user_id to assign ownership to 148 // user_id - The user_id to assign ownership to
138 // group_id - The group_id to assign ownership to 149 // group_id - The group_id to assign ownership to
139 virtual bool SetOwnership(const std::string& directory, uid_t user_id, 150 virtual bool SetOwnershipRecursive(const std::string& directory,
140 gid_t group_id); 151 uid_t user_id,
152 gid_t group_id);
141 153
142 // Sets the current umask, returning the old mask 154 // Sets the current umask, returning the old mask
143 // 155 //
144 // Parameters 156 // Parameters
145 // new_mask - The mask to set 157 // new_mask - The mask to set
146 virtual int SetMask(int new_mask); 158 virtual int SetMask(int new_mask);
147 159
148 // Returns the user and group ids for a user 160 // Returns the user and group ids for a user
149 // 161 //
150 // Parameters 162 // Parameters
151 // user - The username to query for 163 // user - The username to query for
152 // user_id (OUT) - The user ID on success 164 // user_id (OUT) - The user ID on success
153 // group_id (OUT) - The group ID on success 165 // group_id (OUT) - The group ID on success
154 virtual bool GetUserId(const std::string& user, uid_t* user_id, 166 virtual bool GetUserId(const std::string& user, uid_t* user_id,
155 gid_t* group_id); 167 gid_t* group_id);
156 168
169 // Returns the group id for a group
170 //
171 // Parameters
172 // group - The group name to query for
173 // group_id (OUT) - The group ID on success
174 virtual bool GetGroupId(const std::string& group, gid_t* group_id);
175
157 // Return the available disk space in bytes on the volume containing |path|, 176 // Return the available disk space in bytes on the volume containing |path|,
158 // or -1 on failure. 177 // or -1 on failure.
159 // Code duplicated from Chrome's base::SysInfo::AmountOfFreeDiskSpace(). 178 // Code duplicated from Chrome's base::SysInfo::AmountOfFreeDiskSpace().
160 // 179 //
161 // Parameters 180 // Parameters
162 // path - the pathname of any file within the mounted file system 181 // path - the pathname of any file within the mounted file system
163 virtual int64 AmountOfFreeDiskSpace(const std::string& path) const; 182 virtual int64 AmountOfFreeDiskSpace(const std::string& path) const;
164 183
165 // Clears the user keyring 184 // Clears the user keyring
166 static void ClearUserKeyring(); 185 static void ClearUserKeyring();
167 186
187 // Creates a symbolic link from one path to the other
188 //
189 // Parameters
190 // from - source path that the symlink points to
191 // to - symlink to create which points to the source path
192 virtual bool Symlink(const std::string& from, const std::string& to);
193
194 // Executes a command with the specified arguments and waits for it to finish
195 //
196 // Parameters
197 // command - string containing the filename of the binary to execute
198 // args - list of arguments to pass to the run the command with
199 // uid - effective user id to run the command with
200 // gid - effective group id to run the command with
201 bool Exec(const std::string& command,
202 const std::vector<std::string>& args,
203 uid_t uid,
204 gid_t gid);
205
168 // Overrides the default mount options 206 // Overrides the default mount options
169 void set_mount_options(int value) { 207 void set_mount_options(int value) {
170 mount_options_ = value; 208 mount_options_ = value;
171 } 209 }
172 210
173 // Overrides the default mtab file 211 // Overrides the default mtab file
174 void set_mtab_file(const std::string& value) { 212 void set_mtab_file(const std::string& value) {
175 mtab_file_ = value; 213 mtab_file_ = value;
176 } 214 }
177 215
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after
253 private: 291 private:
254 std::vector<std::string> cmd_line_; 292 std::vector<std::string> cmd_line_;
255 std::set<std::string> open_files_; 293 std::set<std::string> open_files_;
256 std::string cwd_; 294 std::string cwd_;
257 int process_id_; 295 int process_id_;
258 }; 296 };
259 297
260 } // namespace cryptohome 298 } // namespace cryptohome
261 299
262 #endif // CRYPTOHOME_PLATFORM_H_ 300 #endif // CRYPTOHOME_PLATFORM_H_
OLDNEW
« no previous file with comments | « mock_platform.h ('k') | platform.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698