]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blame - readline/posixdir.h
TUI window resize should not need invisibility
[thirdparty/binutils-gdb.git] / readline / posixdir.h
CommitLineData
d60d9f65
SS
1/* posixdir.h -- Posix directory reading includes and defines. */
2
775e241e 3/* Copyright (C) 1987,1991,2012 Free Software Foundation, Inc.
d60d9f65
SS
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
775e241e 49/* The bash code fairly consistenly uses d_fileno; make sure it's available */
5bdf8622 50#if defined (HAVE_STRUCT_DIRENT_D_INO) && !defined (HAVE_STRUCT_DIRENT_D_FILENO)
d60d9f65
SS
51# define d_fileno d_ino
52#endif
53
9255ee31
EZ
54/* Posix does not require that the d_ino field be present, and some
55 systems do not provide it. */
775e241e 56#if !defined (HAVE_STRUCT_DIRENT_D_INO) || defined (BROKEN_DIRENT_D_INO)
9255ee31
EZ
57# define REAL_DIR_ENTRY(dp) 1
58#else
59# define REAL_DIR_ENTRY(dp) (dp->d_ino != 0)
60#endif /* _POSIX_SOURCE */
61
775e241e
TT
62#if defined (HAVE_STRUCT_DIRENT_D_INO) && !defined (BROKEN_DIRENT_D_INO)
63# define D_INO_AVAILABLE
64#endif
65
66/* Signal the rest of the code that it can safely use dirent.d_fileno */
67#if defined (D_INO_AVAILABLE) || defined (HAVE_STRUCT_DIRENT_D_FILENO)
68# define D_FILENO_AVAILABLE 1
69#endif
70
d60d9f65 71#endif /* !_POSIXDIR_H_ */