/* ndir.h: 4.2BSD directory access emulation for non-4.2 systems */ #define MAXNAMLEN 255 /* name can't be longer than this */ struct direct { long d_ino; /* inode number of entry */ short d_reclen; /* length of this record */ short d_namlen; /* length of d_name string */ char d_name[MAXNAMLEN+1]; /* directory name */ }; #undef DIRSIZ #define DIRSIZ(dp) \ ((sizeof(struct direct) - (MAXNAMLEN+1)) \ + (((dp)->d_namlen+1+3) & ~3)) struct _dta { char dta_msdos[21]; /* used by msdos */ char dta_attrib; short dta_ftime; short dta_fdate; long dta_fsize; char dta_fname[12+2]; }; typedef struct _dirdesc { struct _dta msdos_info; short _dta_dtaseg; short _dta_adr; short _dta_seg; short _dta_set; struct direct _u; } DIR; #ifndef NULL #define NULL 0 #endif extern DIR *opendir(); extern struct direct *readdir(); extern void closedir();