]> git.ipfire.org Git - thirdparty/glibc.git/blob - sysdeps/unix/bsd/bsd4.4/bits/dirent.h
3f8990cb5dece6a7151af1bc4c8f0b2364fab498
[thirdparty/glibc.git] / sysdeps / unix / bsd / bsd4.4 / bits / dirent.h
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.
4
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.
9
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.
14
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. */
19
20 #ifndef _DIRENT_H
21 # error "Never use <bits/dirent.h> directly; include <dirent.h> instead."
22 #endif
23
24 struct dirent
25 {
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. */
34
35 /* Only this member is in the POSIX standard. */
36 char d_name[1]; /* File name (actually longer). */
37 };
38
39 #ifdef __USE_LARGEFILE64
40 struct dirent64
41 {
42 __ino64_t d_ino;
43 unsigned short int d_reclen;
44 unsigned char d_type;
45 unsigned char d_namlen;
46
47 char d_name[1];
48 };
49 #endif
50
51 #define d_fileno d_ino /* Backwards compatibility. */
52
53 #define _DIRENT_HAVE_D_RECLEN 1
54 #define _DIRENT_HAVE_D_NAMLEN 1
55 #define _DIRENT_HAVE_D_TYPE 1