1 struct File{ 2 int walked; 3 Fs *fs; 4 char *path; 5 }; 6 7 struct Fs{ 8 int dev; /* device id */ 9 long (*diskread)(Fs*, void*, long); /* disk read routine */ 10 vlong (*diskseek)(Fs*, vlong); /* disk seek routine */ 11 long (*read)(File*, void*, long); 12 int (*walk)(File*, char*); 13 File root; 14 }; 15 16 extern int chatty; 17 extern int dotini(Fs*); 18 extern int fswalk(Fs*, char*, File*); 19 extern int fsread(File*, void*, long); 20 extern int fsboot(Fs*, char*, Boot*); 21 22 #define BADPTR(x) (0 && (ulong)x < 0x80000000) 23