X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;ds=sidebyside;f=Usermode%2FLibraries%2Fld-acess.so_src%2Finclude_exp%2Fsys%2Fstat.h;fp=Usermode%2FLibraries%2Fld-acess.so_src%2Finclude_exp%2Fsys%2Fstat.h;h=1813365470a194c3bdcef980a55645eeb266e976;hb=4bd23d4ae51bd5cb92b449bcd66e0d2de88c7fc9;hp=0000000000000000000000000000000000000000;hpb=f1be22d04cb96b70d08b6ed79eb1725364cffb35;p=tpg%2Facess2.git diff --git a/Usermode/Libraries/ld-acess.so_src/include_exp/sys/stat.h b/Usermode/Libraries/ld-acess.so_src/include_exp/sys/stat.h new file mode 100644 index 00000000..18133654 --- /dev/null +++ b/Usermode/Libraries/ld-acess.so_src/include_exp/sys/stat.h @@ -0,0 +1,52 @@ +/* + * Acess2 C Library + * - By John Hodge (thePowersGang) + */ +#ifndef _SYS_STAT_H_ +#define _SYS_STAT_H_ + +#include "../acess/intdefs.h" /* Evil */ +#include "../stddef.h" + +; +typedef void *dev_t; /* TODO: How to identify a device with Acess */ +typedef __uint64_t ino_t; +typedef unsigned int blksize_t; +typedef __uint64_t blkcnt_t; +typedef unsigned int nlink_t; +typedef __uint32_t mode_t; + +typedef __uint32_t uid_t; +typedef __uint32_t gid_t; + +#define S_IFMT 0170000 /* type of file */ +#define S_IFDIR 0040000 /* directory */ +#define S_IFCHR 0020000 /* character special */ +#define S_IFBLK 0060000 /* block special */ +#define S_IFREG 0100000 /* regular */ +#define S_IFLNK 0120000 /* symbolic link */ +#define S_IFSOCK 0140000 /* socket */ +#define S_IFIFO 0010000 /* fifo */ + + +struct stat +{ + dev_t st_dev; /* ID of device containing file */ + ino_t st_ino; /* inode number */ + mode_t st_mode; /* protection */ + nlink_t st_nlink; /* number of hard links */ + uid_t st_uid; /* user ID of owner */ + gid_t st_gid; /* group ID of owner */ + dev_t st_rdev; /* device ID (if special file) */ + off_t st_size; /* total size, in bytes */ + blksize_t st_blksize; /* blocksize for file system I/O */ + blkcnt_t st_blocks; /* number of 512B blocks allocated */ + time_t st_atime; /* time of last access */ + time_t st_mtime; /* time of last modification */ + time_t st_ctime; /* time of last status change */ +}; + +extern int stat(const char *path, struct stat *buf); +extern int fstat(int fd, struct stat *buf); + +#endif