--- klibc-0.193/kinit/do_mounts.c.orig 2004-12-12 21:12:27.000000000 +0100 +++ klibc-0.193/kinit/do_mounts.c 2004-12-12 21:13:41.211035224 +0100 @@ -1,6 +1,7 @@ #include #include #include +#include #include #include #include @@ -162,8 +163,8 @@ if (!p) return -1; - for (s = p; s < p + size; s += ((struct linux_dirent64 *)s)->d_reclen) { - struct linux_dirent64 *d = (struct linux_dirent64 *)s; + for (s = p; s < p + size; s += ((struct dirent *)s)->d_reclen) { + struct dirent *d = (struct dirent *)s; 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 */