summaryrefslogtreecommitdiff
path: root/libc/sysdeps/linux/common-generic/bits/dirent.h
diff options
context:
space:
mode:
Diffstat (limited to 'libc/sysdeps/linux/common-generic/bits/dirent.h')
-rw-r--r--libc/sysdeps/linux/common-generic/bits/dirent.h53
1 files changed, 53 insertions, 0 deletions
diff --git a/libc/sysdeps/linux/common-generic/bits/dirent.h b/libc/sysdeps/linux/common-generic/bits/dirent.h
new file mode 100644
index 000000000..74edd305d
--- /dev/null
+++ b/libc/sysdeps/linux/common-generic/bits/dirent.h
@@ -0,0 +1,53 @@
+/*
+ * Copyright (C) 2000-2006 Erik Andersen <andersen@uclibc.org>
+ *
+ * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
+ */
+
+#ifndef _DIRENT_H
+# error "Never use <bits/dirent.h> directly; include <dirent.h> instead."
+#endif
+
+#include <bits/align64bit.h>
+#include <endian.h>
+
+struct dirent
+ {
+#ifndef __USE_FILE_OFFSET64
+# if __BYTE_ORDER == __LITTLE_ENDIAN
+ __U32_TYPE d_ino;
+ __U32_TYPE __pad1;
+ __S32_TYPE d_off;
+ __S32_TYPE __pad2;
+# else
+ __U32_TYPE __pad1;
+ __U32_TYPE d_ino;
+ __S32_TYPE __pad2;
+ __S32_TYPE d_off;
+# endif /* __LITTLE_ENDIAN */
+#else
+ __U64_TYPE d_ino;
+ __S64_TYPE d_off;
+#endif
+ unsigned short int d_reclen;
+ unsigned char d_type;
+ char d_name[256]; /* We must not include limits.h! */
+ } __ARCH_64BIT_ALIGNMENT__;
+
+#ifdef __USE_LARGEFILE64
+struct dirent64
+ {
+ __U64_TYPE d_ino;
+ __S64_TYPE 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. */
+
+#undef _DIRENT_HAVE_D_NAMLEN
+#define _DIRENT_HAVE_D_RECLEN
+#define _DIRENT_HAVE_D_OFF
+#define _DIRENT_HAVE_D_TYPE