/* * dirent.h -- * * Declarations of a library of directory-reading procedures * in the POSIX style ("struct dirent"). * * Copyright 1991 Regents of the University of California * Permission to use, copy, modify, and distribute this * software and its documentation for any purpose and without * fee is hereby granted, provided that this copyright * notice appears in all copies. The University of California * makes no representations about the suitability of this * software for any purpose. It is provided "as is" without * express or implied warranty. * * $Header: /a/cvs/386BSD/ports/tcl/compat/dirent2.h,v 1.1.1.1 1993/08/09 10:57:36 alm Exp $ SPRITE (Berkeley) */ #ifndef _DIRENT #define _DIRENT #ifndef _TCL #include #endif /* * Dirent structure, which holds information about a single * directory entry. */ #define MAXNAMLEN 255 #define DIRBLKSIZ 512 struct dirent { long d_ino; /* Inode number of entry */ short d_reclen; /* Length of this record */ short d_namlen; /* Length of string in d_name */ char d_name[MAXNAMLEN + 1]; /* Name must be no longer than this */ }; /* * State that keeps track of the reading of a directory (clients * should never look inside this structure; the fields should * only be accessed by the library procedures). */ typedef struct _dirdesc { int dd_fd; long dd_loc; long dd_size; char dd_buf[DIRBLKSIZ]; } DIR; /* * Procedures defined for reading directories: */ extern void closedir _ANSI_ARGS_((DIR *dirp)); extern DIR * opendir _ANSI_ARGS_((char *name)); extern struct dirent * readdir _ANSI_ARGS_((DIR *dirp)); #endif /* _DIRENT */