Home | History | Annotate | Download | only in include
History log of /src/include/dirent.h
RevisionDateAuthorComments
 1.38  28-Dec-2022  nia scandir(3) and alphasort(3) are part of POSIX-2008, so don't require
_NETBSD_SOURCE to use them.
 1.37  30-Dec-2021  nros branches: 1.37.2;
Make fdopendir visible according to POSIX.1 spec.
 1.36  16-Dec-2016  mrg scandir/alphasort take "const struct dirent **" not "const void *" in
modern unix. since we claim to be 'IEEE Std 1003.1-2008', make it so.
 1.35  30-Jul-2012  yamt branches: 1.35.14;
comments
 1.34  26-Sep-2010  yamt branches: 1.34.6;
fix rewinddir on nfs. fix PR/42879 (and probably PR/40229.)
 1.33  24-Feb-2009  christos branches: 1.33.2;
version alphasort.
 1.32  11-Jan-2009  christos branches: 1.32.2;
merge christos-time_t
 1.31  05-Dec-2008  ad Add fdopendir(), from Solaris/Linux.
 1.30  09-Jan-2008  christos branches: 1.30.14;
tell about getdents, not getdirentries
 1.29  17-May-2006  christos branches: 1.29.10;
rename dd_rewind to dd_internal so that it can be re-used to implement
telldir/seekdir/rewinddir differently. While there change the prototype
to telldir to take a non-const DIR, per:
http://www.opengroup.org/onlinepubs/009695399/basedefs/dirent.h.html
 1.28  26-Mar-2006  christos PR/33124: Murray Armfield: readdir_r is missing a restrict qualifier.
http://www.opengroup.org/onlinepubs/000095399/basedefs/dirent.h.html
 1.27  24-Jan-2006  christos remove functions that we should not be exposing.
 1.26  24-Jan-2006  christos expose unlocked versions of readdir and telldir.
 1.25  14-Sep-2005  christos Fix opendir30 screwup and sort the compat defs for clarity.
 1.24  13-Sep-2005  christos compat code reorg
 1.23  19-Aug-2005  christos 64 bit inode changes
 1.22  03-Feb-2005  perry de-__P -- the hack is long since useless. Discussed with christos,
matt, kleink, others. Approved by christos.
 1.21  07-Aug-2003  agc Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22270, verified by myself.
 1.20  28-May-2003  christos add mutex locking and dirent_r.
 1.19  29-Apr-2003  bjh21 Fix things so that _NETBSD_SOURCE correctly exposes the dirfd() and
the insides of struct _dirdesc. Also make the existence of struct
_dirdesc visible to POSIX applications since this is less ugly than
pretending that DIR is a void *.
 1.18  28-Apr-2003  bjh21 Add a new feature-test macro, _NETBSD_SOURCE. If this is defined
by the application, all NetBSD interfaces are made visible, even
if some other feature-test macro (like _POSIX_C_SOURCE) is defined.
<sys/featuretest.h> defined _NETBSD_SOURCE if none of _ANSI_SOURCE,
_POSIX_C_SOURCE and _XOPEN_SOURCE is defined, so as to preserve
existing behaviour.

This has two major advantages:
+ Programs that require non-POSIX facilities but define _POSIX_C_SOURCE
can trivially be overruled by putting -D_NETBSD_SOURCE in their CFLAGS.
+ It makes most of the #ifs simpler, in that they're all now ORs of the
various macros, rather than having checks for (!defined(_ANSI_SOURCE) ||
!defined(_POSIX_C_SOURCE) || !defined(_XOPEN_SOURCE)) all over the place.

I've tried not to change the semantics of the headers in any case where
_NETBSD_SOURCE wasn't defined, but there were some places where the
current semantics were clearly mad, and retaining them was harder than
correcting them. In particular, I've mostly normalised things so that
_ANSI_SOURCE gets you the smallest set of stuff, then _POSIX_C_SOURCE,
_XOPEN_SOURCE and _NETBSD_SOURCE in that order.

Tested by building for vax, encouraged by thorpej, and uncontested in
tech-userlevel for a week.
 1.17  16-Apr-2000  mrg make scandir(3)'s 3rd argument take a function that takes a *const*
struct dirent *, rather than non-const. this makes scandir(3) the
same as the scandir implementations in libiberty and glibc, and the
select function has no need to modify the dirent.
 1.16  10-Jan-2000  kleink Move <null.h> to <sys/null.h> for the purpose of avoiding conflicts due to
std C headers including it, and a kernel module written in C++ would benfit
as well.
 1.15  22-Dec-1999  kleink For the benefit of G++'s null pointer constant implementation, #define NULL
as __null with egcs 1.0 (GCC 2.90) and above. As several headers are affected
by this change, move the definition into a new header file, <null.h>, to ease
maintenance.
 1.14  06-May-1998  kleink Reorganize name space protection.
 1.13  10-Oct-1997  fvdl oops. Checked in wrong dirent.h version. Add missing getdents prototype
to this one.
 1.12  10-Oct-1997  fvdl Correct comment: getdirentries() -> getdents()
 1.11  13-Jul-1997  christos Added missing __seekdir prototype
 1.10  05-Dec-1995  jtc Changed to unconditionally include <sys/types.h> as required by X/Open XPG4.2.
 1.9  26-Mar-1995  jtc KERNEL -> _KERNEL
 1.8  28-Dec-1994  mycroft Sync with CSRG.
 1.7  26-Oct-1994  cgd new RCS ID format.
 1.6  29-Aug-1994  mycroft branches: 1.6.2;
Update to 4.4-Lite version.
 1.5  15-Dec-1993  jtc Struct dirent definition moved to <sys/dirent.h>.
 1.4  10-Dec-1993  jtc Expand "u_long" & "u_short" to "unsigned long" and "unsigned short".
Some programs (like NSCA httpd) include <dirent.h> without first including
<sys/types.h> so the u_foo types aren't declared. I don't think POSIX.1
allows us to include <sys/types.h> in <dirent.h> either.
 1.3  01-Aug-1993  mycroft Add RCS identifiers.
 1.2  04-Jun-1993  proven Removed bugs and memory leaks from the directory functions.
 1.1  21-Mar-1993  cgd branches: 1.1.1;
Initial revision
 1.1.1.3  02-Feb-1998  perry import lite-2
 1.1.1.2  29-Aug-1994  mycroft Import original 4.4-Lite version.
 1.1.1.1  21-Mar-1993  cgd initial import of 386bsd-0.1 sources
 1.6.2.2  29-Aug-1994  mycroft Update to 4.4-Lite version.
 1.6.2.1  29-Aug-1994  mycroft file dirent.h was added on branch netbsd-1-0 on 1994-08-29 18:11:09 +0000
 1.29.10.1  23-Mar-2008  matt sync with HEAD
 1.30.14.1  28-Dec-2008  christos sync with head.
 1.32.2.1  13-May-2009  jym Sync with HEAD.

Third (and last) commit. See http://mail-index.netbsd.org/source-changes/2009/05/13/msg221222.html
 1.33.2.1  22-Oct-2010  uebayasi Sync with HEAD (-D20101022).
 1.34.6.1  30-Oct-2012  yamt sync with head
 1.35.14.1  07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.37.2.1  28-Dec-2022  martin Pull up following revision(s) (requested by nia in ticket #28):

include/dirent.h: revision 1.38

scandir(3) and alphasort(3) are part of POSIX-2008, so don't require
_NETBSD_SOURCE to use them.

RSS XML Feed