• Home
  • History
  • Annotate
  • Line#
  • Navigate
  • Raw
  • Download
  • only in /netgear-WNDR4500v2-V1.0.0.60_1.0.38/ap/gpl/timemachine/gettext-0.17/gettext-tools/gnulib-tests/
1/* Test of <sys/stat.h> substitute.
2   Copyright (C) 2007 Free Software Foundation, Inc.
3
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 3 of the License, or
7   (at your option) any later version.
8
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.
13
14   You should have received a copy of the GNU General Public License
15   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
16
17/* Written by Bruno Haible <bruno@clisp.org>, 2007.  */
18
19#include <config.h>
20
21#include <sys/stat.h>
22
23#include "verify.h"
24
25/* Check the existence of some macros.  */
26int a[] =
27  {
28    S_IFMT,
29    S_IFBLK, S_IFCHR, S_IFDIR, S_IFIFO, S_IFREG,
30#ifdef S_IFLNK /* missing on mingw and djgpp */
31    S_IFLNK,
32#endif
33#ifdef S_IFSOCK /* missing on mingw and djgpp */
34    S_IFSOCK,
35#endif
36    S_IRWXU, S_IRUSR, S_IWUSR, S_IXUSR,
37    S_IRWXG, S_IRGRP, S_IWGRP, S_IXGRP,
38    S_IRWXO, S_IROTH, S_IWOTH, S_IXOTH,
39    S_ISUID, S_ISGID, S_ISVTX,
40    S_ISBLK (S_IFREG),
41    S_ISCHR (S_IFREG),
42    S_ISDIR (S_IFREG),
43    S_ISFIFO (S_IFREG),
44    S_ISREG (S_IFREG),
45    S_ISLNK (S_IFREG),
46    S_ISSOCK (S_IFREG),
47    S_ISDOOR (S_IFREG),
48    S_ISMPB (S_IFREG),
49    S_ISNAM (S_IFREG),
50    S_ISNWK (S_IFREG),
51    S_ISPORT (S_IFREG),
52    S_ISCTG (S_IFREG),
53    S_ISOFD (S_IFREG),
54    S_ISOFL (S_IFREG),
55    S_ISWHT (S_IFREG)
56  };
57
58/* Sanity checks.  */
59
60verify (S_IRWXU == (S_IRUSR | S_IWUSR | S_IXUSR));
61verify (S_IRWXG == (S_IRGRP | S_IWGRP | S_IXGRP));
62verify (S_IRWXO == (S_IROTH | S_IWOTH | S_IXOTH));
63
64verify (S_ISBLK (S_IFBLK));
65verify (!S_ISBLK (S_IFCHR));
66verify (!S_ISBLK (S_IFDIR));
67verify (!S_ISBLK (S_IFIFO));
68verify (!S_ISBLK (S_IFREG));
69#ifdef S_IFLNK
70verify (!S_ISBLK (S_IFLNK));
71#endif
72#ifdef S_IFSOCK
73verify (!S_ISBLK (S_IFSOCK));
74#endif
75
76verify (!S_ISCHR (S_IFBLK));
77verify (S_ISCHR (S_IFCHR));
78verify (!S_ISCHR (S_IFDIR));
79verify (!S_ISCHR (S_IFIFO));
80verify (!S_ISCHR (S_IFREG));
81#ifdef S_IFLNK
82verify (!S_ISCHR (S_IFLNK));
83#endif
84#ifdef S_IFSOCK
85verify (!S_ISCHR (S_IFSOCK));
86#endif
87
88verify (!S_ISDIR (S_IFBLK));
89verify (!S_ISDIR (S_IFCHR));
90verify (S_ISDIR (S_IFDIR));
91verify (!S_ISDIR (S_IFIFO));
92verify (!S_ISDIR (S_IFREG));
93#ifdef S_IFLNK
94verify (!S_ISDIR (S_IFLNK));
95#endif
96#ifdef S_IFSOCK
97verify (!S_ISDIR (S_IFSOCK));
98#endif
99
100verify (!S_ISFIFO (S_IFBLK));
101verify (!S_ISFIFO (S_IFCHR));
102verify (!S_ISFIFO (S_IFDIR));
103verify (S_ISFIFO (S_IFIFO));
104verify (!S_ISFIFO (S_IFREG));
105#ifdef S_IFLNK
106verify (!S_ISFIFO (S_IFLNK));
107#endif
108#ifdef S_IFSOCK
109verify (!S_ISFIFO (S_IFSOCK));
110#endif
111
112verify (!S_ISREG (S_IFBLK));
113verify (!S_ISREG (S_IFCHR));
114verify (!S_ISREG (S_IFDIR));
115verify (!S_ISREG (S_IFIFO));
116verify (S_ISREG (S_IFREG));
117#ifdef S_IFLNK
118verify (!S_ISREG (S_IFLNK));
119#endif
120#ifdef S_IFSOCK
121verify (!S_ISREG (S_IFSOCK));
122#endif
123
124verify (!S_ISLNK (S_IFBLK));
125verify (!S_ISLNK (S_IFCHR));
126verify (!S_ISLNK (S_IFDIR));
127verify (!S_ISLNK (S_IFIFO));
128verify (!S_ISLNK (S_IFREG));
129#ifdef S_IFLNK
130verify (S_ISLNK (S_IFLNK));
131#endif
132#ifdef S_IFSOCK
133verify (!S_ISLNK (S_IFSOCK));
134#endif
135
136verify (!S_ISSOCK (S_IFBLK));
137verify (!S_ISSOCK (S_IFCHR));
138verify (!S_ISSOCK (S_IFDIR));
139verify (!S_ISSOCK (S_IFIFO));
140verify (!S_ISSOCK (S_IFREG));
141#ifdef S_IFLNK
142verify (!S_ISSOCK (S_IFLNK));
143#endif
144#ifdef S_IFSOCK
145verify (S_ISSOCK (S_IFSOCK));
146#endif
147
148verify (!S_ISDOOR (S_IFBLK));
149verify (!S_ISDOOR (S_IFCHR));
150verify (!S_ISDOOR (S_IFDIR));
151verify (!S_ISDOOR (S_IFIFO));
152verify (!S_ISDOOR (S_IFREG));
153#ifdef S_IFLNK
154verify (!S_ISDOOR (S_IFLNK));
155#endif
156#ifdef S_IFSOCK
157verify (!S_ISDOOR (S_IFSOCK));
158#endif
159
160verify (!S_ISMPB (S_IFBLK));
161verify (!S_ISMPB (S_IFCHR));
162verify (!S_ISMPB (S_IFDIR));
163verify (!S_ISMPB (S_IFIFO));
164verify (!S_ISMPB (S_IFREG));
165#ifdef S_IFLNK
166verify (!S_ISMPB (S_IFLNK));
167#endif
168#ifdef S_IFSOCK
169verify (!S_ISMPB (S_IFSOCK));
170#endif
171
172verify (!S_ISNAM (S_IFBLK));
173verify (!S_ISNAM (S_IFCHR));
174verify (!S_ISNAM (S_IFDIR));
175verify (!S_ISNAM (S_IFIFO));
176verify (!S_ISNAM (S_IFREG));
177#ifdef S_IFLNK
178verify (!S_ISNAM (S_IFLNK));
179#endif
180#ifdef S_IFSOCK
181verify (!S_ISNAM (S_IFSOCK));
182#endif
183
184verify (!S_ISNWK (S_IFBLK));
185verify (!S_ISNWK (S_IFCHR));
186verify (!S_ISNWK (S_IFDIR));
187verify (!S_ISNWK (S_IFIFO));
188verify (!S_ISNWK (S_IFREG));
189#ifdef S_IFLNK
190verify (!S_ISNWK (S_IFLNK));
191#endif
192#ifdef S_IFSOCK
193verify (!S_ISNWK (S_IFSOCK));
194#endif
195
196verify (!S_ISPORT (S_IFBLK));
197verify (!S_ISPORT (S_IFCHR));
198verify (!S_ISPORT (S_IFDIR));
199verify (!S_ISPORT (S_IFIFO));
200verify (!S_ISPORT (S_IFREG));
201#ifdef S_IFLNK
202verify (!S_ISPORT (S_IFLNK));
203#endif
204#ifdef S_IFSOCK
205verify (!S_ISPORT (S_IFSOCK));
206#endif
207
208verify (!S_ISCTG (S_IFBLK));
209verify (!S_ISCTG (S_IFCHR));
210verify (!S_ISCTG (S_IFDIR));
211verify (!S_ISCTG (S_IFIFO));
212verify (!S_ISCTG (S_IFREG));
213#ifdef S_IFLNK
214verify (!S_ISCTG (S_IFLNK));
215#endif
216#ifdef S_IFSOCK
217verify (!S_ISCTG (S_IFSOCK));
218#endif
219
220verify (!S_ISOFD (S_IFBLK));
221verify (!S_ISOFD (S_IFCHR));
222verify (!S_ISOFD (S_IFDIR));
223verify (!S_ISOFD (S_IFIFO));
224verify (!S_ISOFD (S_IFREG));
225#ifdef S_IFLNK
226verify (!S_ISOFD (S_IFLNK));
227#endif
228#ifdef S_IFSOCK
229verify (!S_ISOFD (S_IFSOCK));
230#endif
231
232verify (!S_ISOFL (S_IFBLK));
233verify (!S_ISOFL (S_IFCHR));
234verify (!S_ISOFL (S_IFDIR));
235verify (!S_ISOFL (S_IFIFO));
236verify (!S_ISOFL (S_IFREG));
237#ifdef S_IFLNK
238verify (!S_ISOFL (S_IFLNK));
239#endif
240#ifdef S_IFSOCK
241verify (!S_ISOFL (S_IFSOCK));
242#endif
243
244verify (!S_ISWHT (S_IFBLK));
245verify (!S_ISWHT (S_IFCHR));
246verify (!S_ISWHT (S_IFDIR));
247verify (!S_ISWHT (S_IFIFO));
248verify (!S_ISWHT (S_IFREG));
249#ifdef S_IFLNK
250verify (!S_ISWHT (S_IFLNK));
251#endif
252#ifdef S_IFSOCK
253verify (!S_ISWHT (S_IFSOCK));
254#endif
255
256int
257main ()
258{
259  return 0;
260}
261