/* Directory entry structure `struct dirent'. Hurd version. Copyright (C) 1996, 1997, 1998 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 Library General Public License as published by the Free Software Foundation; either version 2 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 Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with the GNU C Library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #ifndef _DIRENT_H # error "Never use directly; include instead." #endif #ifndef __USE_FILE_OFFSET64 /* The old BSD4.4-compatible struct dirent. */ struct dirent { __ino_t d_ino; /* File serial number. */ 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). */ }; #else /* Linux-style 64-bit struct dirent. */ struct dirent { __ino64_t d_ino; __off64_t d_off; unsigned short int d_reclen; unsigned char d_type; char d_name[256]; /* We must not include limits.h! */ }; #endif #ifdef __USE_LARGEFILE64 /* Same as above (Linux-style 64-bit struct dirent). */ struct dirent64 { __ino64_t d_ino; __off64_t d_off; unsigned short int d_reclen; unsigned char d_type; char d_name[256]; /* We must not include limits.h! */ }; #endif #define d_fileno d_ino /* Backwards compatibility. */ /* These definitions are accurate for neither the 32-bit nor the 64-bit structures, but at least they are compatible. */ #undef _DIRENT_HAVE_D_NAMLEN #define _DIRENT_HAVE_D_RECLEN 1 #define _DIRENT_HAVE_D_TYPE 1