AquilaOS documentation
How it works, and its code
Loading...
Searching...
No Matches
readdir.c
Go to the documentation of this file.
1
4
5#include <core/system.h>
6
7#include <fs/vfs.h>
8
9#include <aquila/fcntl.h>
10#include <aquila/errno.h>
11#include <aquila/dirent.h>
12
22ssize_t posix_file_readdir(struct file *file, struct dirent *dirent)
23{
24 if (file->flags & O_WRONLY) /* not open for reading */
25 return -EBADF;
26
27 int retval = vfs_readdir(file->vnode, file->offset, dirent);
28
29 if (retval < 0)
30 return retval;
31
32 /* past the entries read */
33 file->offset += retval;
34
35 return retval;
36}
ssize_t posix_file_readdir(struct file *file, struct dirent *dirent)
Reads the directory entry at an open directory's offset, and moves the offset past it.
Definition readdir.c:22
ssize_t vfs_readdir(struct vnode *dir, off_t off, struct dirent *dirent)
Reads a directory's entry at an offset.
Definition readdir.c:19
An open file (POSIX's "open file description", fs/file.c).
Definition vfs.h:157
off_t offset
Definition vfs.h:163
int flags
Definition vfs.h:164
long int ssize_t
Definition types.h:12