annotate lib/file-type.h @ 3843:2f0e1c3ba75b

*** empty log message ***
author Jim Meyering <jim@meyering.net>
date Wed, 22 May 2002 08:36:32 +0000
parents
children 6cc57666de25
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
3843
2f0e1c3ba75b *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
1 #if HAVE_CONFIG_H
2f0e1c3ba75b *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
2 # include <config.h>
2f0e1c3ba75b *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
3 #endif
2f0e1c3ba75b *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
4
2f0e1c3ba75b *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
5 #include <sys/types.h>
2f0e1c3ba75b *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
6 #include <sys/stat.h>
2f0e1c3ba75b *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
7
2f0e1c3ba75b *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
8 char const *file_type (struct stat const *);
2f0e1c3ba75b *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
9
2f0e1c3ba75b *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
10 #if STAT_MACROS_BROKEN
2f0e1c3ba75b *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
11 # undef S_ISBLK
2f0e1c3ba75b *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
12 # undef S_ISCHR
2f0e1c3ba75b *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
13 # undef S_ISDIR
2f0e1c3ba75b *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
14 # undef S_ISDOOR
2f0e1c3ba75b *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
15 # undef S_ISFIFO
2f0e1c3ba75b *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
16 # undef S_ISLNK
2f0e1c3ba75b *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
17 # undef S_ISMPB
2f0e1c3ba75b *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
18 # undef S_ISMPC
2f0e1c3ba75b *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
19 # undef S_ISNWK
2f0e1c3ba75b *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
20 # undef S_ISREG
2f0e1c3ba75b *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
21 # undef S_ISSOCK
2f0e1c3ba75b *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
22 #endif /* STAT_MACROS_BROKEN. */
2f0e1c3ba75b *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
23
2f0e1c3ba75b *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
24 #ifndef S_IFMT
2f0e1c3ba75b *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
25 # define S_IFMT 0170000
2f0e1c3ba75b *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
26 #endif
2f0e1c3ba75b *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
27 #if !defined(S_ISBLK) && defined(S_IFBLK)
2f0e1c3ba75b *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
28 # define S_ISBLK(m) (((m) & S_IFMT) == S_IFBLK)
2f0e1c3ba75b *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
29 #endif
2f0e1c3ba75b *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
30 #if !defined(S_ISCHR) && defined(S_IFCHR)
2f0e1c3ba75b *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
31 # define S_ISCHR(m) (((m) & S_IFMT) == S_IFCHR)
2f0e1c3ba75b *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
32 #endif
2f0e1c3ba75b *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
33 #if !defined(S_ISDIR) && defined(S_IFDIR)
2f0e1c3ba75b *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
34 # define S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR)
2f0e1c3ba75b *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
35 #endif
2f0e1c3ba75b *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
36 #if !defined(S_ISREG) && defined(S_IFREG)
2f0e1c3ba75b *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
37 # define S_ISREG(m) (((m) & S_IFMT) == S_IFREG)
2f0e1c3ba75b *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
38 #endif
2f0e1c3ba75b *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
39 #if !defined(S_ISFIFO) && defined(S_IFIFO)
2f0e1c3ba75b *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
40 # define S_ISFIFO(m) (((m) & S_IFMT) == S_IFIFO)
2f0e1c3ba75b *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
41 #endif
2f0e1c3ba75b *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
42 #if !defined(S_ISLNK) && defined(S_IFLNK)
2f0e1c3ba75b *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
43 # define S_ISLNK(m) (((m) & S_IFMT) == S_IFLNK)
2f0e1c3ba75b *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
44 #endif
2f0e1c3ba75b *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
45 #if !defined(S_ISSOCK) && defined(S_IFSOCK)
2f0e1c3ba75b *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
46 # define S_ISSOCK(m) (((m) & S_IFMT) == S_IFSOCK)
2f0e1c3ba75b *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
47 #endif
2f0e1c3ba75b *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
48 #if !defined(S_ISMPB) && defined(S_IFMPB) /* V7 */
2f0e1c3ba75b *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
49 # define S_ISMPB(m) (((m) & S_IFMT) == S_IFMPB)
2f0e1c3ba75b *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
50 # define S_ISMPC(m) (((m) & S_IFMT) == S_IFMPC)
2f0e1c3ba75b *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
51 #endif
2f0e1c3ba75b *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
52 #if !defined(S_ISNWK) && defined(S_IFNWK) /* HP/UX */
2f0e1c3ba75b *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
53 # define S_ISNWK(m) (((m) & S_IFMT) == S_IFNWK)
2f0e1c3ba75b *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
54 #endif
2f0e1c3ba75b *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
55 #if !defined(S_ISDOOR) && defined(S_IFDOOR) /* Solaris 2.5 and up */
2f0e1c3ba75b *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
56 # define S_ISDOOR(m) (((m) & S_IFMT) == S_IFDOOR)
2f0e1c3ba75b *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
57 #endif
2f0e1c3ba75b *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
58
2f0e1c3ba75b *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
59 /* If any of the following S_* macros are undefined, define them here
2f0e1c3ba75b *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
60 so each use doesn't have to be guarded with e.g., #ifdef S_ISLNK. */
2f0e1c3ba75b *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
61 #ifndef S_ISREG
2f0e1c3ba75b *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
62 # define S_ISREG(Mode) 0
2f0e1c3ba75b *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
63 #endif
2f0e1c3ba75b *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
64
2f0e1c3ba75b *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
65 #ifndef S_ISDIR
2f0e1c3ba75b *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
66 # define S_ISDIR(Mode) 0
2f0e1c3ba75b *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
67 #endif
2f0e1c3ba75b *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
68
2f0e1c3ba75b *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
69 #ifndef S_ISLNK
2f0e1c3ba75b *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
70 # define S_ISLNK(Mode) 0
2f0e1c3ba75b *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
71 #endif
2f0e1c3ba75b *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
72
2f0e1c3ba75b *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
73 #ifndef S_ISFIFO
2f0e1c3ba75b *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
74 # define S_ISFIFO(Mode) 0
2f0e1c3ba75b *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
75 #endif
2f0e1c3ba75b *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
76
2f0e1c3ba75b *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
77 #ifndef S_ISSOCK
2f0e1c3ba75b *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
78 # define S_ISSOCK(Mode) 0
2f0e1c3ba75b *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
79 #endif
2f0e1c3ba75b *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
80
2f0e1c3ba75b *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
81 #ifndef S_ISCHR
2f0e1c3ba75b *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
82 # define S_ISCHR(Mode) 0
2f0e1c3ba75b *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
83 #endif
2f0e1c3ba75b *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
84
2f0e1c3ba75b *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
85 #ifndef S_ISBLK
2f0e1c3ba75b *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
86 # define S_ISBLK(Mode) 0
2f0e1c3ba75b *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
87 #endif
2f0e1c3ba75b *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
88
2f0e1c3ba75b *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
89 #ifndef S_ISDOOR
2f0e1c3ba75b *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
90 # define S_ISDOOR(Mode) 0
2f0e1c3ba75b *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
91 #endif
2f0e1c3ba75b *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
92
2f0e1c3ba75b *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
93 #ifndef S_TYPEISSEM
2f0e1c3ba75b *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
94 # define S_TYPEISSEM(Stat_buf_p) 0
2f0e1c3ba75b *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
95 #endif
2f0e1c3ba75b *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
96
2f0e1c3ba75b *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
97 #ifndef S_TYPEISSHM
2f0e1c3ba75b *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
98 # define S_TYPEISSHM(Stat_buf_p) 0
2f0e1c3ba75b *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
99 #endif
2f0e1c3ba75b *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
100
2f0e1c3ba75b *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
101 #ifndef S_TYPEISTMO
2f0e1c3ba75b *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
102 # define S_TYPEISTMO(Stat_buf_p) 0
2f0e1c3ba75b *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
103 #endif