diff options
-rw-r--r-- | ChangeLog | 3 | ||||
-rw-r--r-- | bits/dirent.h | 35 | ||||
-rw-r--r-- | sysdeps/unix/bsd/bsd4.4/bits/dirent.h | 59 |
3 files changed, 31 insertions, 66 deletions
@@ -1,5 +1,8 @@ 2012-08-07 Roland McGrath <roland@hack.frob.com> + * sysdeps/unix/bsd/bsd4.4/bits/dirent.h: Renamed to ... + * bits/dirent.h: ... here. + * sysdeps/unix/bsd/bsd4.4/bits/dirent.h [__INO_T_MATCHES_INO64_T] (_DIRENT_MATCHES_DIRENT64): New macro. diff --git a/bits/dirent.h b/bits/dirent.h index 5b803c6..948510c 100644 --- a/bits/dirent.h +++ b/bits/dirent.h @@ -1,4 +1,4 @@ -/* Directory entry structure `struct dirent'. Stub version. +/* Directory entry structure `struct dirent'. 4.4BSD/Generic version. Copyright (C) 1996-2012 Free Software Foundation, Inc. This file is part of the GNU C Library. @@ -22,17 +22,38 @@ struct dirent { - char d_name[1]; /* Variable length. */ - int d_fileno; +#ifndef __USE_FILE_OFFSET64 + __ino_t d_ino; /* File serial number. */ +#else + __ino64_t d_ino; +#endif + unsigned short int d_reclen; /* Length of the whole `struct dirent'. */ + unsigned char d_type; /* File type, possibly unknown. */ + unsigned char d_namlen; /* Length of the file name. */ + + /* Only this member is in the POSIX standard. */ + char d_name[1]; /* File name (actually longer). */ }; #ifdef __USE_LARGEFILE64 struct dirent64 { - char d_name[1]; /* Variable length. */ - int d_fileno; + __ino64_t d_ino; + unsigned short int d_reclen; + unsigned char d_type; + unsigned char d_namlen; + + char d_name[1]; }; #endif -/* Inform libc code that these two types are identical. */ -#define _DIRENT_MATCHES_DIRENT64 1 +#define d_fileno d_ino /* Backwards compatibility. */ + +#define _DIRENT_HAVE_D_RECLEN 1 +#define _DIRENT_HAVE_D_NAMLEN 1 +#define _DIRENT_HAVE_D_TYPE 1 + +#ifdef __INO_T_MATCHES_INO64_T +/* Inform libc code that these two types are effectively identical. */ +# define _DIRENT_MATCHES_DIRENT64 1 +#endif diff --git a/sysdeps/unix/bsd/bsd4.4/bits/dirent.h b/sysdeps/unix/bsd/bsd4.4/bits/dirent.h deleted file mode 100644 index 30b9940..0000000 --- a/sysdeps/unix/bsd/bsd4.4/bits/dirent.h +++ /dev/null @@ -1,59 +0,0 @@ -/* Directory entry structure `struct dirent'. 4.4BSD version. - Copyright (C) 1996-2012 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - <http://www.gnu.org/licenses/>. */ - -#ifndef _DIRENT_H -# error "Never use <bits/dirent.h> directly; include <dirent.h> instead." -#endif - -struct dirent - { -#ifndef __USE_FILE_OFFSET64 - __ino_t d_ino; /* File serial number. */ -#else - __ino64_t d_ino; -#endif - unsigned short int d_reclen; /* Length of the whole `struct dirent'. */ - unsigned char d_type; /* File type, possibly unknown. */ - unsigned char d_namlen; /* Length of the file name. */ - - /* Only this member is in the POSIX standard. */ - char d_name[1]; /* File name (actually longer). */ - }; - -#ifdef __USE_LARGEFILE64 -struct dirent64 - { - __ino64_t d_ino; - unsigned short int d_reclen; - unsigned char d_type; - unsigned char d_namlen; - - char d_name[1]; - }; -#endif - -#define d_fileno d_ino /* Backwards compatibility. */ - -#define _DIRENT_HAVE_D_RECLEN 1 -#define _DIRENT_HAVE_D_NAMLEN 1 -#define _DIRENT_HAVE_D_TYPE 1 - -#ifdef __INO_T_MATCHES_INO64_T -/* Inform libc code that these two types are effectively identical. */ -# define _DIRENT_MATCHES_DIRENT64 1 -#endif |