if (strlen(d->d_name) + 2 > rest)
continue;
switch (d->d_type) {
+--- klibc-0.193/include/sys/dirent.h.orig 2004-06-08 07:32:48.000000000 +0200
++++ klibc-0.193/include/sys/dirent.h 2004-12-12 21:42:06.398807280 +0100
+@@ -18,4 +18,27 @@
+
+ __extern int getdents(unsigned int, struct dirent *, unsigned int);
+
++/* File types for `d_type'. */
++enum
++ {
++ DT_UNKNOWN = 0,
++# define DT_UNKNOWN DT_UNKNOWN
++ DT_FIFO = 1,
++# define DT_FIFO DT_FIFO
++ DT_CHR = 2,
++# define DT_CHR DT_CHR
++ DT_DIR = 4,
++# define DT_DIR DT_DIR
++ DT_BLK = 6,
++# define DT_BLK DT_BLK
++ DT_REG = 8,
++# define DT_REG DT_REG
++ DT_LNK = 10,
++# define DT_LNK DT_LNK
++ DT_SOCK = 12,
++# define DT_SOCK DT_SOCK
++ DT_WHT = 14
++# define DT_WHT DT_WHT
++ };
++
+ #endif /* _SYS_DIRENT_H */