0.8.5.15:
[sbcl.git] / contrib / sb-posix / alien / stat-macros.c
1 /*
2  * stat-macros.c
3  *
4  * Inspired mostly by section 4.3 and 4.21 of APUE
5  *
6  */
7
8 #include <sys/types.h>
9 #include <sys/stat.h>
10 #include <unistd.h>
11
12 mode_t s_isreg(mode_t mode)
13 {
14     return S_ISREG(mode);
15 }
16
17
18 mode_t s_isdir(mode_t mode)
19 {
20     return S_ISDIR(mode);
21 }
22
23
24 mode_t s_ischr(mode_t mode)
25 {
26     return S_ISCHR(mode);
27 }
28
29
30 mode_t s_isblk(mode_t mode)
31 {
32     return S_ISBLK(mode);
33 }
34
35
36 mode_t s_isfifo(mode_t mode)
37 {
38     return S_ISFIFO(mode);
39 }
40
41
42 mode_t s_islnk(mode_t mode)
43 {
44 #ifdef S_ISLNK
45     return S_ISLNK(mode);
46 #else
47     return ((mode & S_IFMT) == S_IFLNK);
48 #endif
49 }
50
51
52 mode_t s_issock(mode_t mode)
53 {
54 #ifdef S_ISSOCK
55     return S_ISSOCK(mode);
56 #else
57     return ((mode & S_IFMT) == S_IFSOCK);
58 #endif
59 }
60
61