/* 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();
