~ubuntu-branches/ubuntu/trusty/patch/trusty-security

« back to all changes in this revision

Viewing changes to lib/dirent.in.h

  • Committer: Package Import Robot
  • Author(s): Christoph Berg
  • Date: 2013-01-03 17:34:45 UTC
  • mto: (6.1.5 experimental)
  • mto: This revision was merged to the branch mainline in revision 12.
  • Revision ID: package-import@ubuntu.com-20130103173445-5vf8qmnfgd7ug67h
Tags: upstream-2.7.1
ImportĀ upstreamĀ versionĀ 2.7.1

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
/* A GNU-like <dirent.h>.
2
 
   Copyright (C) 2006-2011 Free Software Foundation, Inc.
 
2
   Copyright (C) 2006-2012 Free Software Foundation, Inc.
3
3
 
4
4
   This program is free software: you can redistribute it and/or modify
5
5
   it under the terms of the GNU General Public License as published by
14
14
   You should have received a copy of the GNU General Public License
15
15
   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
16
16
 
17
 
#ifndef _GL_DIRENT_H
 
17
#ifndef _@GUARD_PREFIX@_DIRENT_H
18
18
 
19
19
#if __GNUC__ >= 3
20
20
@PRAGMA_SYSTEM_HEADER@
22
22
@PRAGMA_COLUMNS@
23
23
 
24
24
/* The include_next requires a split double-inclusion guard.  */
25
 
#@INCLUDE_NEXT@ @NEXT_DIRENT_H@
 
25
#if @HAVE_DIRENT_H@
 
26
# @INCLUDE_NEXT@ @NEXT_DIRENT_H@
 
27
#endif
26
28
 
27
 
#ifndef _GL_DIRENT_H
28
 
#define _GL_DIRENT_H
 
29
#ifndef _@GUARD_PREFIX@_DIRENT_H
 
30
#define _@GUARD_PREFIX@_DIRENT_H
29
31
 
30
32
/* Get ino_t.  Needed on some systems, including glibc 2.8.  */
31
33
#include <sys/types.h>
32
34
 
 
35
#if !@HAVE_DIRENT_H@
 
36
/* Define types DIR and 'struct dirent'.  */
 
37
# if !GNULIB_defined_struct_dirent
 
38
struct dirent
 
39
{
 
40
  char d_type;
 
41
  char d_name[1];
 
42
};
 
43
/* Possible values for 'd_type'.  */
 
44
#  define DT_UNKNOWN 0
 
45
#  define DT_FIFO    1          /* FIFO */
 
46
#  define DT_CHR     2          /* character device */
 
47
#  define DT_DIR     4          /* directory */
 
48
#  define DT_BLK     6          /* block device */
 
49
#  define DT_REG     8          /* regular file */
 
50
#  define DT_LNK    10          /* symbolic link */
 
51
#  define DT_SOCK   12          /* socket */
 
52
#  define DT_WHT    14          /* whiteout */
 
53
typedef struct gl_directory DIR;
 
54
#  define GNULIB_defined_struct_dirent 1
 
55
# endif
 
56
#endif
 
57
 
 
58
/* The __attribute__ feature is available in gcc versions 2.5 and later.
 
59
   The attribute __pure__ was added in gcc 2.96.  */
 
60
#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96)
 
61
# define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__))
 
62
#else
 
63
# define _GL_ATTRIBUTE_PURE /* empty */
 
64
#endif
 
65
 
33
66
/* The definitions of _GL_FUNCDECL_RPL etc. are copied here.  */
34
67
 
35
68
/* The definition of _GL_ARG_NONNULL is copied here.  */
39
72
 
40
73
/* Declare overridden functions.  */
41
74
 
42
 
#if @REPLACE_CLOSEDIR@
43
 
# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
44
 
#  define closedir rpl_closedir
45
 
# endif
46
 
_GL_FUNCDECL_RPL (closedir, int, (DIR *) _GL_ARG_NONNULL ((1)));
47
 
_GL_CXXALIAS_RPL (closedir, int, (DIR *));
48
 
#else
49
 
_GL_CXXALIAS_SYS (closedir, int, (DIR *));
50
 
#endif
 
75
#if @GNULIB_OPENDIR@
 
76
# if @REPLACE_OPENDIR@
 
77
#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
 
78
#   undef opendir
 
79
#   define opendir rpl_opendir
 
80
#  endif
 
81
_GL_FUNCDECL_RPL (opendir, DIR *, (const char *dir_name) _GL_ARG_NONNULL ((1)));
 
82
_GL_CXXALIAS_RPL (opendir, DIR *, (const char *dir_name));
 
83
# else
 
84
#  if !@HAVE_OPENDIR@
 
85
_GL_FUNCDECL_SYS (opendir, DIR *, (const char *dir_name) _GL_ARG_NONNULL ((1)));
 
86
#  endif
 
87
_GL_CXXALIAS_SYS (opendir, DIR *, (const char *dir_name));
 
88
# endif
 
89
_GL_CXXALIASWARN (opendir);
 
90
#elif defined GNULIB_POSIXCHECK
 
91
# undef opendir
 
92
# if HAVE_RAW_DECL_OPENDIR
 
93
_GL_WARN_ON_USE (opendir, "opendir is not portable - "
 
94
                 "use gnulib module opendir for portability");
 
95
# endif
 
96
#endif
 
97
 
 
98
#if @GNULIB_READDIR@
 
99
# if !@HAVE_READDIR@
 
100
_GL_FUNCDECL_SYS (readdir, struct dirent *, (DIR *dirp) _GL_ARG_NONNULL ((1)));
 
101
# endif
 
102
_GL_CXXALIAS_SYS (readdir, struct dirent *, (DIR *dirp));
 
103
_GL_CXXALIASWARN (readdir);
 
104
#elif defined GNULIB_POSIXCHECK
 
105
# undef readdir
 
106
# if HAVE_RAW_DECL_READDIR
 
107
_GL_WARN_ON_USE (readdir, "readdir is not portable - "
 
108
                 "use gnulib module readdir for portability");
 
109
# endif
 
110
#endif
 
111
 
 
112
#if @GNULIB_REWINDDIR@
 
113
# if !@HAVE_REWINDDIR@
 
114
_GL_FUNCDECL_SYS (rewinddir, void, (DIR *dirp) _GL_ARG_NONNULL ((1)));
 
115
# endif
 
116
_GL_CXXALIAS_SYS (rewinddir, void, (DIR *dirp));
 
117
_GL_CXXALIASWARN (rewinddir);
 
118
#elif defined GNULIB_POSIXCHECK
 
119
# undef rewinddir
 
120
# if HAVE_RAW_DECL_REWINDDIR
 
121
_GL_WARN_ON_USE (rewinddir, "rewinddir is not portable - "
 
122
                 "use gnulib module rewinddir for portability");
 
123
# endif
 
124
#endif
 
125
 
 
126
#if @GNULIB_CLOSEDIR@
 
127
# if @REPLACE_CLOSEDIR@
 
128
#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
 
129
#   undef closedir
 
130
#   define closedir rpl_closedir
 
131
#  endif
 
132
_GL_FUNCDECL_RPL (closedir, int, (DIR *dirp) _GL_ARG_NONNULL ((1)));
 
133
_GL_CXXALIAS_RPL (closedir, int, (DIR *dirp));
 
134
# else
 
135
#  if !@HAVE_CLOSEDIR@
 
136
_GL_FUNCDECL_SYS (closedir, int, (DIR *dirp) _GL_ARG_NONNULL ((1)));
 
137
#  endif
 
138
_GL_CXXALIAS_SYS (closedir, int, (DIR *dirp));
 
139
# endif
51
140
_GL_CXXALIASWARN (closedir);
 
141
#elif defined GNULIB_POSIXCHECK
 
142
# undef closedir
 
143
# if HAVE_RAW_DECL_CLOSEDIR
 
144
_GL_WARN_ON_USE (closedir, "closedir is not portable - "
 
145
                 "use gnulib module closedir for portability");
 
146
# endif
 
147
#endif
52
148
 
53
149
#if @GNULIB_DIRFD@
54
150
/* Return the file descriptor associated with the given directory stream,
109
205
# endif
110
206
#endif
111
207
 
112
 
#if @REPLACE_OPENDIR@
113
 
# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
114
 
#  define opendir rpl_opendir
115
 
# endif
116
 
_GL_FUNCDECL_RPL (opendir, DIR *, (const char *) _GL_ARG_NONNULL ((1)));
117
 
_GL_CXXALIAS_RPL (opendir, DIR *, (const char *));
118
 
#else
119
 
_GL_CXXALIAS_SYS (opendir, DIR *, (const char *));
120
 
#endif
121
 
_GL_CXXALIASWARN (opendir);
122
 
 
123
208
#if @GNULIB_SCANDIR@
124
209
/* Scan the directory DIR, calling FILTER on each directory entry.
125
210
   Entries for which FILTER returns nonzero are individually malloc'd,
152
237
# if !@HAVE_ALPHASORT@
153
238
_GL_FUNCDECL_SYS (alphasort, int,
154
239
                  (const struct dirent **, const struct dirent **)
 
240
                  _GL_ATTRIBUTE_PURE
155
241
                  _GL_ARG_NONNULL ((1, 2)));
156
242
# endif
157
243
/* Need to cast, because on glibc systems, the parameters are
168
254
#endif
169
255
 
170
256
 
171
 
#endif /* _GL_DIRENT_H */
172
 
#endif /* _GL_DIRENT_H */
 
257
#endif /* _@GUARD_PREFIX@_DIRENT_H */
 
258
#endif /* _@GUARD_PREFIX@_DIRENT_H */