1 /* Test of <sys/stat.h> substitute.
2 Copyright (C) 2007 Free Software Foundation, Inc.
4 This program is free software; you can redistribute it and/or modify
5 it under the terms of the GNU General Public License as published by
6 the Free Software Foundation; either version 2, or (at your option)
9 This program is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 GNU General Public License for more details.
14 You should have received a copy of the GNU General Public License
15 along with this program; if not, write to the Free Software Foundation,
16 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
18 /* Written by Bruno Haible <bruno@clisp.org>, 2007. */
26 /* Check the existence of some macros. */
30 S_IFBLK, S_IFCHR, S_IFDIR, S_IFIFO, S_IFREG,
31 #ifdef S_IFLNK /* missing on mingw and djgpp */
34 #ifdef S_IFSOCK /* missing on mingw and djgpp */
37 S_IRWXU, S_IRUSR, S_IWUSR, S_IXUSR,
38 S_IRWXG, S_IRGRP, S_IWGRP, S_IXGRP,
39 S_IRWXO, S_IROTH, S_IWOTH, S_IXOTH,
40 S_ISUID, S_ISGID, S_ISVTX,
61 verify (S_IRWXU == (S_IRUSR | S_IWUSR | S_IXUSR));
62 verify (S_IRWXG == (S_IRGRP | S_IWGRP | S_IXGRP));
63 verify (S_IRWXO == (S_IROTH | S_IWOTH | S_IXOTH));
65 verify (S_ISBLK (S_IFBLK));
66 verify (!S_ISBLK (S_IFCHR));
67 verify (!S_ISBLK (S_IFDIR));
68 verify (!S_ISBLK (S_IFIFO));
69 verify (!S_ISBLK (S_IFREG));
71 verify (!S_ISBLK (S_IFLNK));
74 verify (!S_ISBLK (S_IFSOCK));
77 verify (!S_ISCHR (S_IFBLK));
78 verify (S_ISCHR (S_IFCHR));
79 verify (!S_ISCHR (S_IFDIR));
80 verify (!S_ISCHR (S_IFIFO));
81 verify (!S_ISCHR (S_IFREG));
83 verify (!S_ISCHR (S_IFLNK));
86 verify (!S_ISCHR (S_IFSOCK));
89 verify (!S_ISDIR (S_IFBLK));
90 verify (!S_ISDIR (S_IFCHR));
91 verify (S_ISDIR (S_IFDIR));
92 verify (!S_ISDIR (S_IFIFO));
93 verify (!S_ISDIR (S_IFREG));
95 verify (!S_ISDIR (S_IFLNK));
98 verify (!S_ISDIR (S_IFSOCK));
101 verify (!S_ISFIFO (S_IFBLK));
102 verify (!S_ISFIFO (S_IFCHR));
103 verify (!S_ISFIFO (S_IFDIR));
104 verify (S_ISFIFO (S_IFIFO));
105 verify (!S_ISFIFO (S_IFREG));
107 verify (!S_ISFIFO (S_IFLNK));
110 verify (!S_ISFIFO (S_IFSOCK));
113 verify (!S_ISREG (S_IFBLK));
114 verify (!S_ISREG (S_IFCHR));
115 verify (!S_ISREG (S_IFDIR));
116 verify (!S_ISREG (S_IFIFO));
117 verify (S_ISREG (S_IFREG));
119 verify (!S_ISREG (S_IFLNK));
122 verify (!S_ISREG (S_IFSOCK));
125 verify (!S_ISLNK (S_IFBLK));
126 verify (!S_ISLNK (S_IFCHR));
127 verify (!S_ISLNK (S_IFDIR));
128 verify (!S_ISLNK (S_IFIFO));
129 verify (!S_ISLNK (S_IFREG));
131 verify (S_ISLNK (S_IFLNK));
134 verify (!S_ISLNK (S_IFSOCK));
137 verify (!S_ISSOCK (S_IFBLK));
138 verify (!S_ISSOCK (S_IFCHR));
139 verify (!S_ISSOCK (S_IFDIR));
140 verify (!S_ISSOCK (S_IFIFO));
141 verify (!S_ISSOCK (S_IFREG));
143 verify (!S_ISSOCK (S_IFLNK));
146 verify (S_ISSOCK (S_IFSOCK));
149 verify (!S_ISDOOR (S_IFBLK));
150 verify (!S_ISDOOR (S_IFCHR));
151 verify (!S_ISDOOR (S_IFDIR));
152 verify (!S_ISDOOR (S_IFIFO));
153 verify (!S_ISDOOR (S_IFREG));
155 verify (!S_ISDOOR (S_IFLNK));
158 verify (!S_ISDOOR (S_IFSOCK));
161 verify (!S_ISMPB (S_IFBLK));
162 verify (!S_ISMPB (S_IFCHR));
163 verify (!S_ISMPB (S_IFDIR));
164 verify (!S_ISMPB (S_IFIFO));
165 verify (!S_ISMPB (S_IFREG));
167 verify (!S_ISMPB (S_IFLNK));
170 verify (!S_ISMPB (S_IFSOCK));
173 verify (!S_ISNAM (S_IFBLK));
174 verify (!S_ISNAM (S_IFCHR));
175 verify (!S_ISNAM (S_IFDIR));
176 verify (!S_ISNAM (S_IFIFO));
177 verify (!S_ISNAM (S_IFREG));
179 verify (!S_ISNAM (S_IFLNK));
182 verify (!S_ISNAM (S_IFSOCK));
185 verify (!S_ISNWK (S_IFBLK));
186 verify (!S_ISNWK (S_IFCHR));
187 verify (!S_ISNWK (S_IFDIR));
188 verify (!S_ISNWK (S_IFIFO));
189 verify (!S_ISNWK (S_IFREG));
191 verify (!S_ISNWK (S_IFLNK));
194 verify (!S_ISNWK (S_IFSOCK));
197 verify (!S_ISPORT (S_IFBLK));
198 verify (!S_ISPORT (S_IFCHR));
199 verify (!S_ISPORT (S_IFDIR));
200 verify (!S_ISPORT (S_IFIFO));
201 verify (!S_ISPORT (S_IFREG));
203 verify (!S_ISPORT (S_IFLNK));
206 verify (!S_ISPORT (S_IFSOCK));
209 verify (!S_ISCTG (S_IFBLK));
210 verify (!S_ISCTG (S_IFCHR));
211 verify (!S_ISCTG (S_IFDIR));
212 verify (!S_ISCTG (S_IFIFO));
213 verify (!S_ISCTG (S_IFREG));
215 verify (!S_ISCTG (S_IFLNK));
218 verify (!S_ISCTG (S_IFSOCK));
221 verify (!S_ISOFD (S_IFBLK));
222 verify (!S_ISOFD (S_IFCHR));
223 verify (!S_ISOFD (S_IFDIR));
224 verify (!S_ISOFD (S_IFIFO));
225 verify (!S_ISOFD (S_IFREG));
227 verify (!S_ISOFD (S_IFLNK));
230 verify (!S_ISOFD (S_IFSOCK));
233 verify (!S_ISOFL (S_IFBLK));
234 verify (!S_ISOFL (S_IFCHR));
235 verify (!S_ISOFL (S_IFDIR));
236 verify (!S_ISOFL (S_IFIFO));
237 verify (!S_ISOFL (S_IFREG));
239 verify (!S_ISOFL (S_IFLNK));
242 verify (!S_ISOFL (S_IFSOCK));
245 verify (!S_ISWHT (S_IFBLK));
246 verify (!S_ISWHT (S_IFCHR));
247 verify (!S_ISWHT (S_IFDIR));
248 verify (!S_ISWHT (S_IFIFO));
249 verify (!S_ISWHT (S_IFREG));
251 verify (!S_ISWHT (S_IFLNK));
254 verify (!S_ISWHT (S_IFSOCK));