AquilaOS documentation
How it works, and its code
Toggle main menu visibility
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
22
ssize_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
}
system.h
posix_file_readdir
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
vfs_readdir
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
file
An open file (POSIX's "open file description", fs/file.c).
Definition
vfs.h:157
file::offset
off_t offset
Definition
vfs.h:163
file::flags
int flags
Definition
vfs.h:164
ssize_t
long int ssize_t
Definition
types.h:12
vfs.h
kernel
fs
posix
readdir.c
Generated by
1.18.0