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