2.9
[glibc/nacl-glibc.git] / sysdeps / unix / bsd / bsd4.4 / bits / dirent.h
blob3f8990cb5dece6a7151af1bc4c8f0b2364fab498
1 /* Directory entry structure `struct dirent'. 4.4BSD version.
2 Copyright (C) 1996,97,98,2001 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, write to the Free
17 Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
18 02111-1307 USA. */
20 #ifndef _DIRENT_H
21 # error "Never use <bits/dirent.h> directly; include <dirent.h> instead."
22 #endif
24 struct dirent
26 #ifndef __USE_FILE_OFFSET64
27 __ino_t d_ino; /* File serial number. */
28 #else
29 __ino64_t d_ino;
30 #endif
31 unsigned short int d_reclen; /* Length of the whole `struct dirent'. */
32 unsigned char d_type; /* File type, possibly unknown. */
33 unsigned char d_namlen; /* Length of the file name. */
35 /* Only this member is in the POSIX standard. */
36 char d_name[1]; /* File name (actually longer). */
39 #ifdef __USE_LARGEFILE64
40 struct dirent64
42 __ino64_t d_ino;
43 unsigned short int d_reclen;
44 unsigned char d_type;
45 unsigned char d_namlen;
47 char d_name[1];
49 #endif
51 #define d_fileno d_ino /* Backwards compatibility. */
53 #define _DIRENT_HAVE_D_RECLEN 1
54 #define _DIRENT_HAVE_D_NAMLEN 1
55 #define _DIRENT_HAVE_D_TYPE 1