1 /* dirent.h for vms 2 Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 3 2006 Free Software Foundation, Inc. 4 This file is part of GNU Make. 5 6 GNU Make is free software; you can redistribute it and/or modify it under the 7 terms of the GNU General Public License as published by the Free Software 8 Foundation; either version 2, or (at your option) any later version. 9 10 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY 11 WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR 12 A PARTICULAR PURPOSE. See the GNU General Public License for more details. 13 14 You should have received a copy of the GNU General Public License along with 15 GNU Make; see the file COPYING. If not, write to the Free Software 16 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. */ 17 18 #ifndef VMSDIR_H 19 #define VMSDIR_H 20 21 #include <rms.h> 22 23 #define MAXNAMLEN 255 24 25 #ifndef __DECC 26 #if !defined (__GNUC__) && !defined (__ALPHA) 27 typedef unsigned long u_long; 28 typedef unsigned short u_short; 29 #endif 30 #endif 31 32 struct direct 33 { 34 off_t d_off; 35 u_long d_fileno; 36 u_short d_reclen; 37 u_short d_namlen; 38 char d_name[MAXNAMLEN + 1]; 39 }; 40 41 #undef DIRSIZ 42 #define DIRSIZ(dp) \ 43 (((sizeof (struct direct) \ 44 - (MAXNAMLEN+1) \ 45 + ((dp)->d_namlen+1)) \ 46 + 3) & ~3) 47 48 #define d_ino d_fileno /* compatability */ 49 50 51 /* 52 * Definitions for library routines operating on directories. 53 */ 54 55 typedef struct DIR 56 { 57 struct direct dir; 58 char d_result[MAXNAMLEN + 1]; 59 #if defined (__ALPHA) || defined (__DECC) 60 struct FAB fab; 61 #else 62 struct fabdef fab; 63 #endif 64 } DIR; 65 66 #ifndef NULL 67 #define NULL 0 68 #endif 69 70 extern DIR *opendir PARAMS (()); 71 extern struct direct *readdir PARAMS ((DIR *dfd)); 72 #define rewinddir(dirp) seekdir((dirp), (long)0) 73 extern int closedir PARAMS ((DIR *dfd)); 74 extern char *vmsify PARAMS ((char *name, int type)); 75 76 #endif /* VMSDIR_H */ 77