1/* dirent.h for vms */ 2 3#ifndef VMSDIR_H 4#define VMSDIR_H 5 6#include <rms.h> 7 8#define MAXNAMLEN 255 9 10#ifndef __DECC 11#if !defined (__GNUC__) && !defined (__ALPHA) 12typedef unsigned long u_long; 13typedef unsigned short u_short; 14#endif 15#endif 16 17struct direct 18{ 19 off_t d_off; 20 u_long d_fileno; 21 u_short d_reclen; 22 u_short d_namlen; 23 char d_name[MAXNAMLEN + 1]; 24}; 25 26#undef DIRSIZ 27#define DIRSIZ(dp) \ 28 (((sizeof (struct direct) \ 29 - (MAXNAMLEN+1) \ 30 + ((dp)->d_namlen+1)) \ 31 + 3) & ~3) 32 33#define d_ino d_fileno /* compatability */ 34 35 36/* 37 * Definitions for library routines operating on directories. 38 */ 39 40typedef struct DIR 41{ 42 struct direct dir; 43 char d_result[MAXNAMLEN + 1]; 44#if defined (__ALPHA) || defined (__DECC) 45 struct FAB fab; 46#else 47 struct fabdef fab; 48#endif 49} DIR; 50 51#ifndef NULL 52#define NULL 0 53#endif 54 55extern DIR *opendir PARAMS (()); 56extern struct direct *readdir PARAMS ((DIR *dfd)); 57#define rewinddir(dirp) seekdir((dirp), (long)0) 58extern int closedir PARAMS ((DIR *dfd)); 59extern char *vmsify PARAMS ((char *name, int type)); 60 61#endif /* VMSDIR_H */ 62