summaryrefslogtreecommitdiff
path: root/vmsdir.h
diff options
context:
space:
mode:
authorPaul Smith <psmith@gnu.org>2000-01-22 05:43:03 +0000
committerPaul Smith <psmith@gnu.org>2000-01-22 05:43:03 +0000
commit5577cdc2616262ae89c28cda49b5dd5449be472d (patch)
tree9e5b67f4754ce5a2d64bad43d28a7eaf093b6274 /vmsdir.h
parentb7b83d6398e8e552dd1b9d70d18d7262753e03d4 (diff)
downloadgunmake-5577cdc2616262ae89c28cda49b5dd5449be472d.tar.gz
* Merge VMS patches by Hartmut Becker.
Diffstat (limited to 'vmsdir.h')
-rw-r--r--vmsdir.h29
1 files changed, 24 insertions, 5 deletions
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 <rms.h>
#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 */