X-Git-Url: https://scm.lunaixsky.com/lunaix-os.git/blobdiff_plain/6f6da1abb22dff69dbb710bd2fd9d95f083f2b43..0fd474df7001837bde53da0e42e83081827c9641:/lunaix-os/includes/usr/lunaix/fcntl_defs.h diff --git a/lunaix-os/includes/usr/lunaix/fcntl_defs.h b/lunaix-os/includes/usr/lunaix/fcntl_defs.h index 7659a32..36af62e 100644 --- a/lunaix-os/includes/usr/lunaix/fcntl_defs.h +++ b/lunaix-os/includes/usr/lunaix/fcntl_defs.h @@ -4,12 +4,13 @@ #include "fstypes.h" #include "types.h" -#define FO_CREATE 0x1 -#define FO_APPEND 0x2 -#define FO_DIRECT 0x4 -#define FO_WRONLY 0x8 -#define FO_RDONLY 0x10 -#define FO_RDWR 0x20 +#define FO_CREATE 0x1 +#define FO_APPEND 0x2 +#define FO_DIRECT 0x4 +#define FO_WRONLY 0x8 +#define FO_RDONLY 0x10 +#define FO_RDWR 0x20 +#define FO_TRUNC 0x40 #define FO_NOFOLLOW 0x10000 @@ -23,19 +24,45 @@ #define O_WRONLY FO_WRONLY #define O_RDONLY FO_RDONLY #define O_RDWR FO_RDWR +#define O_TRUNC FO_TRUNC -#define MNT_RO 0x1 +#define AT_SYMLINK_FOLLOW 0b0000 +#define AT_SYMLINK_NOFOLLOW 0b0001 +#define AT_FDCWD 0b0010 +#define AT_EACCESS 0b0100 + +#define R_OK 0b100100100 +#define W_OK 0b010010010 +#define X_OK 0b001001001 +#define F_OK 0b111111111 + +/* Mount with read-only flag */ +#define MNT_RO (1 << 0) + +/* Mount with block-cache-disabled flag */ +#define MNT_NC (1 << 1) + +typedef unsigned int mode_t; +typedef unsigned int nlink_t; struct file_stat { - dev_t st_dev; - ino_t st_ino; - unsigned int mode; - dev_t st_rdev; - off_t st_size; - size_t st_blksize; - size_t st_ioblksize; - size_t st_blocks; + dev_t st_dev; + ino_t st_ino; + mode_t st_mode; + nlink_t st_nlink; + uid_t st_uid; + gid_t st_gid; + dev_t st_rdev; + off_t st_size; + size_t st_blksize; + size_t st_blocks; + + unsigned long st_atim; + unsigned long st_ctim; + unsigned long st_mtim; + + size_t st_ioblksize; }; #endif /* __LUNAIX_FNCTL_DEFS_H */