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));