summaryrefslogtreecommitdiffstats
path: root/fs
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2014-10-08 14:02:23 +0200
committerSascha Hauer <s.hauer@pengutronix.de>2014-10-08 16:11:06 +0200
commita3993a38da55fc1074b5e176354d86fe7742cef3 (patch)
tree660cb9ff2bfe083ed541fd4e28cc317fb6f34c30 /fs
parent4f7a18cdb58aaef1c265e0359608a465355d9863 (diff)
downloadbarebox-a3993a38da55fc1074b5e176354d86fe7742cef3.tar.gz
barebox-a3993a38da55fc1074b5e176354d86fe7742cef3.tar.xz
fs: implement fstat
fstat is useful to get information about an already opened file. Add it to barebox. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'fs')
-rw-r--r--fs/fs.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/fs/fs.c b/fs/fs.c
index 436f5cb751..ffdfa2c0ff 100644
--- a/fs/fs.c
+++ b/fs/fs.c
@@ -1472,6 +1472,22 @@ out:
}
EXPORT_SYMBOL(lstat);
+int fstat(int fd, struct stat *s)
+{
+ FILE *f;
+ struct fs_device_d *fsdev;
+
+ if (check_fd(fd))
+ return -errno;
+
+ f = &files[fd];
+
+ fsdev = f->fsdev;
+
+ return fsdev->driver->stat(&fsdev->dev, f->path, s);
+}
+EXPORT_SYMBOL(fstat);
+
int mkdir (const char *pathname, mode_t mode)
{
struct fs_driver_d *fsdrv;