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

Side by Side Diff: native_client_sdk/src/libraries/nacl_mounts/mount_node.cc

Issue 12194030: Rename mount (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix whitespace Created 7 years, 10 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
(Empty)
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
3 * found in the LICENSE file.
4 */
5 #include "nacl_mounts/mount_node.h"
6
7 #include <errno.h>
8 #include <fcntl.h>
9 #include <string.h>
10 #include <sys/stat.h>
11 #include <string>
12
13 #include "nacl_mounts/mount.h"
14 #include "utils/auto_lock.h"
15
16 static const int USR_ID = 1001;
17 static const int GRP_ID = 1002;
18
19 MountNode::MountNode(Mount* mount)
20 : mount_(mount) {
21 memset(&stat_, 0, sizeof(stat_));
22 stat_.st_gid = GRP_ID;
23 stat_.st_uid = USR_ID;
24
25 // Mount should normally never be NULL, but may be null in tests.
26 if (mount_)
27 mount_->OnNodeCreated(this);
28 }
29
30 MountNode::~MountNode() {
31 }
32
33 bool MountNode::Init(int perm) {
34 stat_.st_mode |= perm;
35 return true;
36 }
37
38 void MountNode::Destroy() {
39 if (mount_) {
40 mount_->OnNodeDestroyed(this);
41 }
42 }
43
44 int MountNode::FSync() {
45 return 0;
46 }
47
48 int MountNode::GetDents(size_t offs, struct dirent* pdir, size_t count) {
49 errno = ENOTDIR;
50 return -1;
51 }
52
53 int MountNode::GetStat(struct stat* pstat) {
54 AutoLock lock(&lock_);
55 memcpy(pstat, &stat_, sizeof(stat_));
56 return 0;
57 }
58
59 int MountNode::Ioctl(int request, char* arg) {
60 errno = EINVAL;
61 return -1;
62 }
63
64 int MountNode::Read(size_t offs, void* buf, size_t count) {
65 errno = EINVAL;
66 return -1;
67 }
68
69 int MountNode::Truncate(size_t size) {
70 errno = EINVAL;
71 return -1;
72 }
73
74 int MountNode::Write(size_t offs, const void* buf, size_t count) {
75 errno = EINVAL;
76 return -1;
77 }
78
79 int MountNode::GetLinks() {
80 return stat_.st_nlink;
81 }
82
83 int MountNode::GetMode() {
84 return stat_.st_mode & ~S_IFMT;
85 }
86
87 size_t MountNode::GetSize() {
88 return stat_.st_size;
89 }
90
91 int MountNode::GetType() {
92 return stat_.st_mode & S_IFMT;
93 }
94
95 bool MountNode::IsaDir() {
96 return (stat_.st_mode & S_IFDIR) != 0;
97 }
98
99 bool MountNode::IsaFile() {
100 return (stat_.st_mode & S_IFREG) != 0;
101 }
102
103 bool MountNode::IsaTTY() {
104 return (stat_.st_mode & S_IFCHR) != 0;
105 }
106
107
108 int MountNode:: AddChild(const std::string& name, MountNode* node) {
109 errno = ENOTDIR;
110 return -1;
111 }
112
113 int MountNode::RemoveChild(const std::string& name) {
114 errno = ENOTDIR;
115 return -1;
116 }
117
118 MountNode* MountNode::FindChild(const std::string& name) {
119 errno = ENOTDIR;
120 return NULL;
121 }
122
123 int MountNode::ChildCount() {
124 errno = ENOTDIR;
125 return -1;
126 }
127
128 void MountNode::Link() {
129 Acquire();
130 stat_.st_nlink++;
131 }
132
133 void MountNode::Unlink() {
134 stat_.st_nlink--;
135 Release();
136 }
OLDNEW
« no previous file with comments | « native_client_sdk/src/libraries/nacl_mounts/mount_node.h ('k') | native_client_sdk/src/libraries/nacl_mounts/mount_node_dir.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698