VSF Documented
Data Structures | Macros | Typedefs | Functions | Variables
stat.h File Reference
#include "shell/sys/linux/vsf_linux_cfg.h"
#include "../sys/types.h"
#include "../simple_libc/time.h"
#include "component/fs/vsf_fs_cfg.h"

Go to the source code of this file.

Data Structures

struct  stat
 
struct  stat64
 
struct  vsf_linux_sys_stat_vplt_t
 

Macros

#define stat   VSF_LINUX_WRAPPER(stat)
 
#define lstat   VSF_LINUX_WRAPPER(lstat)
 
#define fstat   VSF_LINUX_WRAPPER(fstat)
 
#define fstatat   VSF_LINUX_WRAPPER(fstatat)
 
#define umask   VSF_LINUX_WRAPPER(umask)
 
#define chmod   VSF_LINUX_WRAPPER(chmod)
 
#define fchmod   VSF_LINUX_WRAPPER(fchmod)
 
#define futimens   VSF_LINUX_WRAPPER(futimens)
 
#define utimensat   VSF_LINUX_WRAPPER(utimensat)
 
#define mkfifo   VSF_LINUX_WRAPPER(mkfifo)
 
#define mkfifoat   VSF_LINUX_WRAPPER(mkfifoat)
 
#define mknod   VSF_LINUX_WRAPPER(mknod)
 
#define mknodat   VSF_LINUX_WRAPPER(mknodat)
 
#define __NR_stat   stat
 
#define __NR_fstat   fstat
 
#define __NR_fstatat   fstatat
 
#define __NR_umask   umask
 
#define __NR_chmod   chmod
 
#define __NR_fchmod   fchmod
 
#define __NR_fchmodat   fchmodat
 
#define __NR_futimesat   futimesat
 
#define __NR_utimensat   utimensat
 
#define VSF_FILE_ATTR_CHR   (VSF_FILE_ATTR_USER << 0)
 
#define VSF_FILE_ATTR_BLK   (VSF_FILE_ATTR_USER << 1)
 
#define VSF_FILE_ATTR_EXCL   (VSF_FILE_ATTR_USER << 3)
 
#define VSF_FILE_ATTR_SOCK   (VSF_FILE_ATTR_USER << 4)
 
#define VSF_FILE_ATTR_TTY   (VSF_FILE_ATTR_USER << 5)
 
#define VSF_FILE_ATTR_FIFO   (VSF_FILE_ATTR_USER << 6)
 
#define __VSF_FILE_ATTR_SHARE_PRIV   (VSF_FILE_ATTR_USER << 16)
 
#define UTIME_NOW   ((1l << 30) - 1l)
 
#define UTIME_OMIT   ((1l << 30) - 2l)
 
#define S_IFDIR   0040000
 
#define S_IFREG   0100000
 
#define S_IFLNK   0120000
 
#define S_IFIFO   0010000
 
#define S_IFCHR   0020000
 
#define S_IFSOCK   0140000
 
#define S_IFBLK   0060000
 
#define S_IFMT   0170000
 
#define __S_IR   04
 
#define __S_IW   02
 
#define __S_IX   01
 
#define S_IROTH   (__S_IR << 0)
 
#define S_IWOTH   (__S_IW << 0)
 
#define S_IXOTH   (__S_IX << 0)
 
#define S_IRWXO   (S_IROTH | S_IWOTH | S_IXOTH)
 
#define S_IRGRP   (__S_IR << 3)
 
#define S_IWGRP   (__S_IW << 3)
 
#define S_IXGRP   (__S_IX << 3)
 
#define S_IRWXG   (S_IRGRP | S_IWGRP | S_IXGRP)
 
#define S_IRUSR   (__S_IR << 6)
 
#define S_IWUSR   (__S_IW << 6)
 
#define S_IXUSR   (__S_IX << 6)
 
#define S_IRWXU   (S_IRUSR | S_IWUSR | S_IXUSR)
 
#define S_IREAD   S_IRUSR
 
#define S_IWRITE   S_IWUSR
 
#define S_IEXEC   S_IXUSR
 
#define S_ISUID   0004000
 
#define S_ISGID   0002000
 
#define S_ISVTX   0001000
 
#define S_ISLNK(__MODE)   (((__MODE) & S_IFMT) == S_IFLNK)
 
#define S_ISREG(__MODE)   (((__MODE) & S_IFMT) == S_IFREG)
 
#define S_ISDIR(__MODE)   (((__MODE) & S_IFMT) == S_IFDIR)
 
#define S_ISFIFO(__MODE)   (((__MODE) & S_IFMT) == S_IFIFO)
 
#define S_ISSOCK(__MODE)   (((__MODE) & S_IFMT) == S_IFSOCK)
 
#define S_ISCHR(__MODE)   (((__MODE) & S_IFMT) == S_IFCHR)
 
#define S_ISBLK(__MODE)   (((__MODE) & S_IFMT) == S_IFBLK)
 
#define st_atime   st_atim.tv_sec
 
#define st_mtime   st_mtim.tv_sec
 
#define st_ctime   st_ctim.tv_sec
 
#define st_atime   st_atim.tv_sec
 
#define st_mtime   st_mtim.tv_sec
 
#define st_ctime   st_ctim.tv_sec
 

Typedefs

typedef struct vsf_linux_sys_stat_vplt_t vsf_linux_sys_stat_vplt_t
 

Functions

mode_t umask (mode_t mask)
 
int stat (const char *pathname, struct stat *buf)
 
int lstat (const char *pathname, struct stat *buf)
 
int fstat (int fd, struct stat *buf)
 
int fstatat (int dirfd, const char *pathname, struct stat *buf, int flags)
 
int futimens (int fd, const struct timespec times[2])
 
int utimensat (int dirfd, const char *pathname, const struct timespec times[2], int flags)
 
int chmod (const char *pathname, mode_t mode)
 
int fchmod (int fd, mode_t mode)
 
int mkfifo (const char *pathname, mode_t mode)
 
int mkfifoat (int dirfd, const char *pathname, mode_t mode)
 
int mknod (const char *pathname, mode_t mode, dev_t dev)
 
int mknodat (int dirfd, const char *pathname, mode_t mode, dev_t dev)
 

Variables

__VSF_VPLT_DECORATOR__ vsf_linux_sys_stat_vplt_t vsf_linux_sys_stat_vplt
 

Macro Definition Documentation

◆ stat

#define stat   VSF_LINUX_WRAPPER(stat)

◆ lstat

#define lstat   VSF_LINUX_WRAPPER(lstat)

◆ fstat

#define fstat   VSF_LINUX_WRAPPER(fstat)

◆ fstatat

#define fstatat   VSF_LINUX_WRAPPER(fstatat)

◆ umask

#define umask   VSF_LINUX_WRAPPER(umask)

◆ chmod

#define chmod   VSF_LINUX_WRAPPER(chmod)

◆ fchmod

#define fchmod   VSF_LINUX_WRAPPER(fchmod)

◆ futimens

#define futimens   VSF_LINUX_WRAPPER(futimens)

◆ utimensat

#define utimensat   VSF_LINUX_WRAPPER(utimensat)

◆ mkfifo

#define mkfifo   VSF_LINUX_WRAPPER(mkfifo)

◆ mkfifoat

#define mkfifoat   VSF_LINUX_WRAPPER(mkfifoat)

◆ mknod

#define mknod   VSF_LINUX_WRAPPER(mknod)

◆ mknodat

#define mknodat   VSF_LINUX_WRAPPER(mknodat)

◆ __NR_stat

#define __NR_stat   stat

◆ __NR_fstat

#define __NR_fstat   fstat

◆ __NR_fstatat

#define __NR_fstatat   fstatat

◆ __NR_umask

#define __NR_umask   umask

◆ __NR_chmod

#define __NR_chmod   chmod

◆ __NR_fchmod

#define __NR_fchmod   fchmod

◆ __NR_fchmodat

#define __NR_fchmodat   fchmodat

◆ __NR_futimesat

#define __NR_futimesat   futimesat

◆ __NR_utimensat

#define __NR_utimensat   utimensat

◆ VSF_FILE_ATTR_CHR

#define VSF_FILE_ATTR_CHR   (VSF_FILE_ATTR_USER << 0)

◆ VSF_FILE_ATTR_BLK

#define VSF_FILE_ATTR_BLK   (VSF_FILE_ATTR_USER << 1)

◆ VSF_FILE_ATTR_EXCL

#define VSF_FILE_ATTR_EXCL   (VSF_FILE_ATTR_USER << 3)

◆ VSF_FILE_ATTR_SOCK

#define VSF_FILE_ATTR_SOCK   (VSF_FILE_ATTR_USER << 4)

◆ VSF_FILE_ATTR_TTY

#define VSF_FILE_ATTR_TTY   (VSF_FILE_ATTR_USER << 5)

◆ VSF_FILE_ATTR_FIFO

#define VSF_FILE_ATTR_FIFO   (VSF_FILE_ATTR_USER << 6)

◆ __VSF_FILE_ATTR_SHARE_PRIV

#define __VSF_FILE_ATTR_SHARE_PRIV   (VSF_FILE_ATTR_USER << 16)

◆ UTIME_NOW

#define UTIME_NOW   ((1l << 30) - 1l)

◆ UTIME_OMIT

#define UTIME_OMIT   ((1l << 30) - 2l)

◆ S_IFDIR

#define S_IFDIR   0040000

◆ S_IFREG

#define S_IFREG   0100000

◆ S_IFLNK

#define S_IFLNK   0120000

◆ S_IFIFO

#define S_IFIFO   0010000

◆ S_IFCHR

#define S_IFCHR   0020000

◆ S_IFSOCK

#define S_IFSOCK   0140000

◆ S_IFBLK

#define S_IFBLK   0060000

◆ S_IFMT

#define S_IFMT   0170000

◆ __S_IR

#define __S_IR   04

◆ __S_IW

#define __S_IW   02

◆ __S_IX

#define __S_IX   01

◆ S_IROTH

#define S_IROTH   (__S_IR << 0)

◆ S_IWOTH

#define S_IWOTH   (__S_IW << 0)

◆ S_IXOTH

#define S_IXOTH   (__S_IX << 0)

◆ S_IRWXO

#define S_IRWXO   (S_IROTH | S_IWOTH | S_IXOTH)

◆ S_IRGRP

#define S_IRGRP   (__S_IR << 3)

◆ S_IWGRP

#define S_IWGRP   (__S_IW << 3)

◆ S_IXGRP

#define S_IXGRP   (__S_IX << 3)

◆ S_IRWXG

#define S_IRWXG   (S_IRGRP | S_IWGRP | S_IXGRP)

◆ S_IRUSR

#define S_IRUSR   (__S_IR << 6)

◆ S_IWUSR

#define S_IWUSR   (__S_IW << 6)

◆ S_IXUSR

#define S_IXUSR   (__S_IX << 6)

◆ S_IRWXU

#define S_IRWXU   (S_IRUSR | S_IWUSR | S_IXUSR)

◆ S_IREAD

#define S_IREAD   S_IRUSR

◆ S_IWRITE

#define S_IWRITE   S_IWUSR

◆ S_IEXEC

#define S_IEXEC   S_IXUSR

◆ S_ISUID

#define S_ISUID   0004000

◆ S_ISGID

#define S_ISGID   0002000

◆ S_ISVTX

#define S_ISVTX   0001000

◆ S_ISLNK

#define S_ISLNK (   __MODE)    (((__MODE) & S_IFMT) == S_IFLNK)

◆ S_ISREG

#define S_ISREG (   __MODE)    (((__MODE) & S_IFMT) == S_IFREG)

◆ S_ISDIR

#define S_ISDIR (   __MODE)    (((__MODE) & S_IFMT) == S_IFDIR)

◆ S_ISFIFO

#define S_ISFIFO (   __MODE)    (((__MODE) & S_IFMT) == S_IFIFO)

◆ S_ISSOCK

#define S_ISSOCK (   __MODE)    (((__MODE) & S_IFMT) == S_IFSOCK)

◆ S_ISCHR

#define S_ISCHR (   __MODE)    (((__MODE) & S_IFMT) == S_IFCHR)

◆ S_ISBLK

#define S_ISBLK (   __MODE)    (((__MODE) & S_IFMT) == S_IFBLK)

◆ st_atime [1/2]

#define st_atime   st_atim.tv_sec

◆ st_mtime [1/2]

#define st_mtime   st_mtim.tv_sec

◆ st_ctime [1/2]

#define st_ctime   st_ctim.tv_sec

◆ st_atime [2/2]

#define st_atime   st_atim.tv_sec

◆ st_mtime [2/2]

#define st_mtime   st_mtim.tv_sec

◆ st_ctime [2/2]

#define st_ctime   st_ctim.tv_sec

Typedef Documentation

◆ vsf_linux_sys_stat_vplt_t

Function Documentation

◆ umask()

mode_t umask ( mode_t  mask)

◆ stat()

int stat ( const char *  pathname,
struct stat buf 
)

◆ lstat()

int lstat ( const char *  pathname,
struct stat buf 
)

◆ fstat()

int fstat ( int  fd,
struct stat buf 
)

◆ fstatat()

int fstatat ( int  dirfd,
const char *  pathname,
struct stat buf,
int  flags 
)

◆ futimens()

int futimens ( int  fd,
const struct timespec  times[2] 
)

◆ utimensat()

int utimensat ( int  dirfd,
const char *  pathname,
const struct timespec  times[2],
int  flags 
)

◆ chmod()

int chmod ( const char *  pathname,
mode_t  mode 
)

◆ fchmod()

int fchmod ( int  fd,
mode_t  mode 
)

◆ mkfifo()

int mkfifo ( const char *  pathname,
mode_t  mode 
)

◆ mkfifoat()

int mkfifoat ( int  dirfd,
const char *  pathname,
mode_t  mode 
)

◆ mknod()

int mknod ( const char *  pathname,
mode_t  mode,
dev_t  dev 
)

◆ mknodat()

int mknodat ( int  dirfd,
const char *  pathname,
mode_t  mode,
dev_t  dev 
)

Variable Documentation

◆ vsf_linux_sys_stat_vplt

__VSF_VPLT_DECORATOR__ vsf_linux_sys_stat_vplt_t vsf_linux_sys_stat_vplt
extern