From 5577cdc2616262ae89c28cda49b5dd5449be472d Mon Sep 17 00:00:00 2001 From: Paul Smith Date: Sat, 22 Jan 2000 05:43:03 +0000 Subject: * Merge VMS patches by Hartmut Becker. --- vmsdir.h | 29 ++++++++++++++++++++++++----- 1 file changed, 24 insertions(+), 5 deletions(-) (limited to 'vmsdir.h') diff --git a/vmsdir.h b/vmsdir.h index 4cf1583..5903475 100644 --- a/vmsdir.h +++ b/vmsdir.h @@ -1,15 +1,21 @@ /* dirent.h for vms */ +#ifndef VMSDIR_H +#define VMSDIR_H + #include #define MAXNAMLEN 255 #ifndef __DECC +#if !defined (__GNUC__) && !defined (__ALPHA) typedef unsigned long u_long; typedef unsigned short u_short; #endif +#endif -struct direct { +struct direct +{ off_t d_off; u_long d_fileno; u_short d_reclen; @@ -18,8 +24,11 @@ struct direct { }; #undef DIRSIZ -#define DIRSIZ(dp) \ - (((sizeof (struct direct) - (MAXNAMLEN+1) + ((dp)->d_namlen+1)) + 3) & ~3) +#define DIRSIZ(dp) \ + (((sizeof (struct direct) \ + - (MAXNAMLEN+1) \ + + ((dp)->d_namlen+1)) \ + + 3) & ~3) #define d_ino d_fileno /* compatability */ @@ -28,15 +37,25 @@ struct direct { * Definitions for library routines operating on directories. */ -typedef struct FAB DIR; +typedef struct DIR +{ + struct direct dir; + char d_result[MAXNAMLEN + 1]; +#if defined (__ALPHA) || defined (__DECC) + struct FAB fab; +#else + struct fabdef fab; +#endif +} DIR; #ifndef NULL #define NULL 0 #endif + extern DIR *opendir PARAMS (()); extern struct direct *readdir PARAMS ((DIR *dfd)); #define rewinddir(dirp) seekdir((dirp), (long)0) extern int closedir PARAMS ((DIR *dfd)); extern char *vmsify PARAMS ((char *name, int type)); -/* EOF */ +#endif /* VMSDIR_H */ -- cgit v1.2.3