《操作系统》的实验代码。
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

27 lines
1.2 KiB

#ifndef __LIBS_STAT_H__
#define __LIBS_STAT_H__
#include <defs.h>
struct stat {
uint32_t st_mode; // protection mode and file type
size_t st_nlinks; // number of hard links
size_t st_blocks; // number of blocks file is using
size_t st_size; // file size (bytes)
};
#define S_IFMT 070000 // mask for type of file
#define S_IFREG 010000 // ordinary regular file
#define S_IFDIR 020000 // directory
#define S_IFLNK 030000 // symbolic link
#define S_IFCHR 040000 // character device
#define S_IFBLK 050000 // block device
#define S_ISREG(mode) (((mode) & S_IFMT) == S_IFREG) // regular file
#define S_ISDIR(mode) (((mode) & S_IFMT) == S_IFDIR) // directory
#define S_ISLNK(mode) (((mode) & S_IFMT) == S_IFLNK) // symlink
#define S_ISCHR(mode) (((mode) & S_IFMT) == S_IFCHR) // char device
#define S_ISBLK(mode) (((mode) & S_IFMT) == S_IFBLK) // block device
#endif /* !__LIBS_STAT_H__ */