blob: 78e8c453822d625b0c43f98c789246ea67dd2165 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
#include <types.h>
#include <time.h>
typedef struct SYS_STAT_PARAMS {
const char *pathname;
struct stat *statbuf;
} __attribute__((packed)) SYS_STAT_PARAMS;
struct stat {
dev_t st_dev; // Device ID of device containing file.
ino_t st_ino; // File serial number.
mode_t st_mode; // Mode of file (see below).
nlink_t st_nlink; // Number of hard links to the file.
uid_t st_uid; // User ID of file.
gid_t st_gid; // Group ID of file.
dev_t st_rdev; // Device ID (if file is character or block special).
off_t st_size; // For regular files, the file size in bytes.
// For symbolic links, the length in bytes of the
// pathname contained in the symbolic link.
// For a shared memory object, the length in bytes.
// For a typed memory object, the length in bytes.
// For other file types, the use of this field is
// unspecified.
struct timespec st_atim; // Last data access timestamp.
struct timespec st_mtim; // Last data modification timestamp.
struct timespec st_ctim; // Last file status change timestamp.
blksize_t st_blksize; // A file system-specific preferred I/O block size
// for this object. In some file system types, this
// may vary from file to file.
blkcnt_t st_blocks; // Number of blocks allocated for this object.
};
int syscall_stat(SYS_STAT_PARAMS *args);
|