[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Minios-devel,v2,1/4] Define struct k_stat in a header file and modify mode_t to k_mode_t as convention
I made a header file stat.h in which I defined the structure k_stat and include this file in syscall.h. Signed-off-by: gabrielmocanu <gabi.mocanu98@xxxxxxxxx> --- plat/linuxu/include/linuxu/mode.h | 8 ++++++ plat/linuxu/include/linuxu/stat.h | 39 ++++++++++++++++++++++++++++ plat/linuxu/include/linuxu/syscall.h | 9 +++++-- 3 files changed, 54 insertions(+), 2 deletions(-) create mode 100644 plat/linuxu/include/linuxu/mode.h create mode 100644 plat/linuxu/include/linuxu/stat.h diff --git a/plat/linuxu/include/linuxu/mode.h b/plat/linuxu/include/linuxu/mode.h new file mode 100644 index 0000000..ac2f40e --- /dev/null +++ b/plat/linuxu/include/linuxu/mode.h @@ -0,0 +1,8 @@ +#ifndef __LINUXU_MODE_H__ +#define __LINUXU_MODE_H__ + +#define K_O_RDONLY 0x0000 + +typedef unsigned k_mode_t; + +#endif /* __LINUXU_MODE_H__ */ diff --git a/plat/linuxu/include/linuxu/stat.h b/plat/linuxu/include/linuxu/stat.h new file mode 100644 index 0000000..d500b0a --- /dev/null +++ b/plat/linuxu/include/linuxu/stat.h @@ -0,0 +1,39 @@ +#ifndef __LINUXU_STAT_H__ +#define __LINUXU_STAT_H__ + +#include <linuxu/time.h> +#include <linuxu/mode.h> + +typedef __u64 k_dev_t; +typedef __u64 k_ino_t; +typedef __u32 k_nlink_t; +typedef unsigned k_uid_t; +typedef unsigned k_gid_t; +typedef unsigned k_id_t; +typedef __off k_off_t; +typedef long k_blksize_t; +typedef __s64 k_blkcnt_t; + + +struct k_stat { + + k_dev_t st_dev; + k_ino_t st_ino; + k_nlink_t st_nlink; + + k_mode_t st_mode; + k_uid_t st_uit; + k_gid_t st_gid; + unsigned int __pad0; + k_dev_t st_rdev; + k_off_t st_size; + k_blksize_t st_blksize; + k_blkcnt_t st_blocks; + + struct k_timespec st_atim; + struct k_timespec st_mtim; + struct k_timespec st_ctim; + +}; + +#endif /* __LINUXU_STAT_H__ */ diff --git a/plat/linuxu/include/linuxu/syscall.h b/plat/linuxu/include/linuxu/syscall.h index c703b32..1b590b1 100644 --- a/plat/linuxu/include/linuxu/syscall.h +++ b/plat/linuxu/include/linuxu/syscall.h @@ -39,6 +39,7 @@ #include <linuxu/time.h> #include <sys/types.h> #include <linuxu/signal.h> +#include <linuxu/stat.h> #if defined __X86_64__ #include <linuxu/syscall-x86_64.h> @@ -71,9 +72,13 @@ static inline ssize_t sys_write(int fd, const char *buf, size_t len) (long) (len)); } -struct stat; +static inline ssize_t sys_close(int fd) +{ + return (ssize_t) syscall1(__SC_CLOSE, + (long) (fd)); +} -static inline int sys_fstat(int fd, struct stat *statbuf) +static inline int sys_fstat(int fd, struct k_stat *statbuf) { return (int)syscall2(__SC_FSTAT, (long)(fd), (long)(statbuf)); } -- 2.17.1
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |