1 /* This is file STAT.H */
3 * Copyright (C) 1991 DJ Delorie
6 * Redistribution and use in source and binary forms is permitted
7 * provided that the above copyright notice and following paragraph are
8 * duplicated in all such forms.
10 * This file is distributed WITHOUT ANY WARRANTY; without even the implied
11 * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
20 unsigned short st_mode
;
25 short st_align_for_word32
;
33 #define S_IFMT 0xF000 /* file type mask */
34 #define S_IFDIR 0x4000 /* directory */
35 #define S_IFIFO 0x1000 /* FIFO special */
36 #define S_IFCHR 0x2000 /* character special */
37 #define S_IFBLK 0x3000 /* block special */
38 #define S_IFREG 0x8000 /* or just 0x0000, regular */
39 #define S_IREAD 0x0100 /* owner may read */
40 #define S_IWRITE 0x0080 /* owner may write */
41 #define S_IEXEC 0x0040 /* owner may execute <directory search> */
43 #define S_ISBLK(m) (((m) & S_IFMT) == S_IFBLK)
44 #define S_ISCHR(m) (((m) & S_IFMT) == S_IFCHR)
45 #define S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR)
46 #define S_ISFIFO(m) (((m) & S_IFMT) == S_IFIFO)
47 #define S_ISREG(m) (((m) & S_IFMT) == S_IFREG)
52 int stat(const char *, struct stat
*);
53 int fstat(int, struct stat
*);