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