2011-10-11 Sterling Augustine <saugustine@google.com>
[deliverable/binutils-gdb.git] / readline / posixdir.h
CommitLineData
d60d9f65
SS
1/* posixdir.h -- Posix directory reading includes and defines. */
2
3/* Copyright (C) 1987,1991 Free Software Foundation, Inc.
4
5 This file is part of GNU Bash, the Bourne Again SHell.
6
cc88a640
JK
7 Bash is free software: you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation, either version 3 of the License, or
10 (at your option) any later version.
d60d9f65 11
cc88a640
JK
12 Bash is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
d60d9f65
SS
16
17 You should have received a copy of the GNU General Public License
cc88a640
JK
18 along with Bash. If not, see <http://www.gnu.org/licenses/>.
19*/
d60d9f65
SS
20
21/* This file should be included instead of <dirent.h> or <sys/dir.h>. */
22
23#if !defined (_POSIXDIR_H_)
24#define _POSIXDIR_H_
25
26#if defined (HAVE_DIRENT_H)
27# include <dirent.h>
5bdf8622
DJ
28# if defined (HAVE_STRUCT_DIRENT_D_NAMLEN)
29# define D_NAMLEN(d) ((d)->d_namlen)
30# else
31# define D_NAMLEN(d) (strlen ((d)->d_name))
32# endif /* !HAVE_STRUCT_DIRENT_D_NAMLEN */
d60d9f65
SS
33#else
34# if defined (HAVE_SYS_NDIR_H)
35# include <sys/ndir.h>
36# endif
37# if defined (HAVE_SYS_DIR_H)
38# include <sys/dir.h>
39# endif
40# if defined (HAVE_NDIR_H)
41# include <ndir.h>
42# endif
43# if !defined (dirent)
44# define dirent direct
45# endif /* !dirent */
46# define D_NAMLEN(d) ((d)->d_namlen)
47#endif /* !HAVE_DIRENT_H */
48
5bdf8622 49#if defined (HAVE_STRUCT_DIRENT_D_INO) && !defined (HAVE_STRUCT_DIRENT_D_FILENO)
d60d9f65
SS
50# define d_fileno d_ino
51#endif
52
5bdf8622 53#if defined (_POSIX_SOURCE) && (!defined (HAVE_STRUCT_DIRENT_D_INO) || defined (BROKEN_DIRENT_D_INO))
9255ee31
EZ
54/* Posix does not require that the d_ino field be present, and some
55 systems do not provide it. */
56# define REAL_DIR_ENTRY(dp) 1
57#else
58# define REAL_DIR_ENTRY(dp) (dp->d_ino != 0)
59#endif /* _POSIX_SOURCE */
60
d60d9f65 61#endif /* !_POSIXDIR_H_ */
This page took 0.971404 seconds and 4 git commands to generate.