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

Side by Side Diff: native_client_sdk/src/libraries/nacl_io/devfs/dev_fs.cc

Issue 547053002: [NaCl SDK] nacl_io: Remove Node::Access method. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@http_fs_root
Patch Set: Created 6 years, 3 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 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 #if defined(WIN32) 5 #if defined(WIN32)
6 #define _CRT_RAND_S 6 #define _CRT_RAND_S
7 #endif 7 #endif
8 8
9 #include "nacl_io/devfs/dev_fs.h" 9 #include "nacl_io/devfs/dev_fs.h"
10 10
(...skipping 222 matching lines...) Expand 10 before | Expand all | Expand 10 after
233 FsNode::FsNode(Filesystem* filesystem, Filesystem* other_fs) 233 FsNode::FsNode(Filesystem* filesystem, Filesystem* other_fs)
234 : Node(filesystem), other_fs_(other_fs) { 234 : Node(filesystem), other_fs_(other_fs) {
235 } 235 }
236 236
237 Error FsNode::VIoctl(int request, va_list args) { 237 Error FsNode::VIoctl(int request, va_list args) {
238 return other_fs_->Filesystem_VIoctl(request, args); 238 return other_fs_->Filesystem_VIoctl(request, args);
239 } 239 }
240 240
241 } // namespace 241 } // namespace
242 242
243 Error DevFs::Access(const Path& path, int a_mode) {
244 ScopedNode node;
245 int error = root_->FindChild(path.Join(), &node);
246 if (error)
247 return error;
248
249 // Don't allow execute access.
250 if (a_mode & X_OK) {
251 LOG_TRACE("Executing devfs nodes is not allowed.");
252 return EACCES;
253 }
254
255 return 0;
256 }
257
258 Error DevFs::Open(const Path& path, int open_flags, ScopedNode* out_node) { 243 Error DevFs::Open(const Path& path, int open_flags, ScopedNode* out_node) {
259 out_node->reset(NULL); 244 out_node->reset(NULL);
260 int error; 245 int error;
261 if (path.Part(1) == "fs") { 246 if (path.Part(1) == "fs") {
262 if (path.Size() == 3) { 247 if (path.Size() == 3) {
263 error = fs_dir_->FindChild(path.Part(2), out_node); 248 error = fs_dir_->FindChild(path.Part(2), out_node);
264 } else { 249 } else {
265 LOG_TRACE("Bad devfs path: %s", path.Join().c_str()); 250 LOG_TRACE("Bad devfs path: %s", path.Join().c_str());
266 error = ENOENT; 251 error = ENOENT;
267 } 252 }
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after
362 // Add a directory for "fs" nodes; they represent all currently-mounted 347 // Add a directory for "fs" nodes; they represent all currently-mounted
363 // filesystems. We can ioctl these nodes to make changes or provide input to 348 // filesystems. We can ioctl these nodes to make changes or provide input to
364 // a mounted filesystem. 349 // a mounted filesystem.
365 INITIALIZE_DEV_NODE("/fs", DirNode); 350 INITIALIZE_DEV_NODE("/fs", DirNode);
366 fs_dir_ = new_node; 351 fs_dir_ = new_node;
367 352
368 return 0; 353 return 0;
369 } 354 }
370 355
371 } // namespace nacl_io 356 } // namespace nacl_io
OLDNEW
« no previous file with comments | « native_client_sdk/src/libraries/nacl_io/devfs/dev_fs.h ('k') | native_client_sdk/src/libraries/nacl_io/filesystem.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698