1 /*
2  *	(c) Copyright 1990, Kim Fabricius Storm.  All rights reserved.
3  *      Copyright (c) 1996-2003 Michael T Pins.  All rights reserved.
4  *
5  *	Directory access routines (faked ones).
6  *
7  *	If HAVE_DIRECTORY is not defined, traditional sysV directory
8  *	structure is assumed unless NOT_SYS5_DIRECTORY is defined (in
9  *	which case a shell command is used to list a directory).
10  */
11 
12 #ifndef _NN_DIR_H
13 #define _NN_DIR_H 1
14 
15 #ifndef HAVE_DIRECTORY
16 
17 #ifndef NOT_SYS5_DIRECTORY
18 static struct dir_entry {
19     short int       d_ino;
20     char            d_name[15];
21 }               dirbuf;
22 
23 #define Direntry struct dir_entry
24 #define	DIR FILE
25 #define opendir(name)	fopen(name, "r")
26 #define readdir(dirp)	(fread(&dirbuf, 16, 1, dirp) == 1 ? &dirbuf : NULL)
27 #undef rewinddir
28 #define rewinddir(dirp)	rewind(dirp)
29 #define closedir(dirp)	fclose(dirp)
30 
31 #define HAVE_DIRECTORY
32 #define FAKED_DIRECTORY
33 #endif
34 
35 #endif
36 
37 int             list_directory(char *, char *);
38 int             next_directory(register char *, int);
39 int             compl_help_directory(void);
40 void            close_directory(void);
41 #endif				/* _NN_DIR_H */
42