mirror of https://github.com/n-hys/bash.git
51 lines
1.3 KiB
C
51 lines
1.3 KiB
C
/* <dir.h> -- definitions for 4.2BSD-compatible directory access.
|
|
last edit: 09-Jul-1983 D A Gwyn. */
|
|
|
|
#if defined (VMS)
|
|
# if !defined (FAB$C_BID)
|
|
# include <fab.h>
|
|
# endif
|
|
# if !defined (NAM$C_BID)
|
|
# include <nam.h>
|
|
# endif
|
|
# if !defined (RMS$_SUC)
|
|
# include <rmsdef.h>
|
|
# endif
|
|
# include "dir.h"
|
|
#endif /* VMS */
|
|
|
|
/* Size of directory block. */
|
|
#define DIRBLKSIZ 512
|
|
|
|
/* NOTE: MAXNAMLEN must be one less than a multiple of 4 */
|
|
|
|
#if defined (VMS)
|
|
# define MAXNAMLEN (DIR$S_NAME + 7) /* 80 plus room for version #. */
|
|
# define MAXFULLSPEC NAM$C_MAXRSS /* Maximum full spec */
|
|
#else
|
|
# define MAXNAMLEN 15 /* Maximum filename length. */
|
|
#endif /* VMS */
|
|
|
|
/* Data from readdir (). */
|
|
struct direct {
|
|
long d_ino; /* Inode number of entry. */
|
|
unsigned short d_reclen; /* Length of this record. */
|
|
unsigned short d_namlen; /* Length of string in d_name. */
|
|
char d_name[MAXNAMLEN + 1]; /* Name of file. */
|
|
};
|
|
|
|
/* Stream data from opendir (). */
|
|
typedef struct {
|
|
int dd_fd; /* File descriptor. */
|
|
int dd_loc; /* Offset in block. */
|
|
int dd_size; /* Amount of valid data. */
|
|
char dd_buf[DIRBLKSIZ]; /* Directory block. */
|
|
} DIR;
|
|
|
|
extern DIR *opendir ();
|
|
extern struct direct *readdir ();
|
|
extern long telldir ();
|
|
extern void seekdir (), closedir ();
|
|
|
|
#define rewinddir(dirp) seekdir (dirp, 0L)
|