/* * $VER: sys/stat.h 1.0 (17.4.93) * * (c)Copyright 1992 Obvious Implementations Corp, All Rights Reserved */ #ifndef SYS_STAT_H #define SYS_STAT_H #ifndef SYS_TYPES_H #include #endif #ifndef LIBRARIES_DOS_H #include #endif #define S_IFMT 0xF0000 #define S_IFREG 0x10000 #define S_IFDIR 0x20000 #define S_IFLNK 0x30000 #define S_IFCHR 0x40000 #define S_IFBLK 0x50000 #define S_ISUID 0x08000 #define S_ISGID 0x04000 #define S_ISVTX 0x02000 #define S_IREAD 000400 #define S_IWRITE 000200 #define S_IEXEC 000100 struct stat { long st_mode; long st_size; long st_blksize; long st_blocks; long st_ctime; long st_mtime; long st_atime; long st_dev; short st_rdev; long st_ino; short st_uid; short st_gid; short st_nlink; }; #define S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR) #define S_ISLNK(m) (((m) & S_IFMT) == S_IFLNK) #define S_ISREG(m) (((m) & S_IFMT) == S_IFREG) extern int stat(const char *, struct stat *); extern int lstat(const char *, struct stat *); extern int fstat(int, struct stat *); extern int readlink(char *, char *, int); #define makedev(maj,min) (((maj) << 8) | (min)) #define major(rdev) (unsigned char)((rdev) >> 8) #define minor(rdev) (unsigned char)(rdev) #endif