AquilaOS documentation
How it works, and its code
Toggle main menu visibility
Loading...
Searching...
No Matches
stat.c
Go to the documentation of this file.
1
4
5
#include <
core/system.h
>
6
#include <
fs/vfs.h
>
7
#include <
fs/stat.h
>
8
16
int
vfs_stat
(
struct
vnode
*
vnode
,
struct
aquila_stat *buf)
17
{
18
vfs_log(
LOG_DEBUG
,
"vfs_stat(vnode=%p, buf=%p)\n"
,
vnode
, buf);
19
20
buf->st_dev =
vnode
->
dev
;
21
buf->st_ino =
vnode
->
ino
;
22
buf->st_mode =
vnode
->
mode
;
23
buf->st_nlink =
vnode
->
nlink
;
24
buf->st_uid =
vnode
->
uid
;
25
buf->st_gid =
vnode
->
gid
;
26
buf->st_rdev =
vnode
->
rdev
;
27
buf->st_size =
vnode
->
size
;
28
buf->st_mtim.tv_sec =
vnode
->
mtime
.
tv_sec
;
29
buf->st_mtim.tv_nsec =
vnode
->
mtime
.
tv_nsec
;
30
buf->st_atim.tv_sec =
vnode
->
atime
.
tv_sec
;
31
buf->st_atim.tv_nsec =
vnode
->
atime
.
tv_nsec
;
32
buf->st_ctim.tv_sec =
vnode
->
ctime
.
tv_sec
;
33
buf->st_ctim.tv_nsec =
vnode
->
ctime
.
tv_nsec
;
34
35
/* filesystems don't report how much they allocated, so the size is
36
* counted in 512-byte blocks */
37
buf->st_blksize = 512;
38
buf->st_blocks = (
vnode
->
size
+ 511) / 512;
39
40
return
0;
41
}
42
system.h
LOG_DEBUG
#define LOG_DEBUG
Definition
printk.h:19
vfs_stat
int vfs_stat(struct vnode *vnode, struct aquila_stat *buf)
Fills a stat structure with a vnode's attributes.
Definition
stat.c:16
stat.h
timespec::tv_nsec
uint32_t tv_nsec
Definition
types.h:32
timespec::tv_sec
time_t tv_sec
Definition
types.h:31
vnode
A file in memory (a vnode): what its inode says, and the kernel's own state.
Definition
vfs.h:113
vnode::ino
ino_t ino
Definition
vfs.h:114
vnode::atime
_time_t atime
Definition
vfs.h:123
vnode::ctime
_time_t ctime
Definition
vfs.h:125
vnode::dev
dev_t dev
Definition
vfs.h:116
vnode::nlink
nlink_t nlink
Definition
vfs.h:121
vnode::mtime
_time_t mtime
Definition
vfs.h:124
vnode::gid
gid_t gid
Definition
vfs.h:120
vnode::size
size_t size
Definition
vfs.h:115
vnode::mode
mode_t mode
Definition
vfs.h:118
vnode::uid
uid_t uid
Definition
vfs.h:119
vnode::rdev
dev_t rdev
Definition
vfs.h:117
vfs.h
kernel
fs
stat.c
Generated by
1.18.0