50 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			50 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)
 |