Copyright (C) 1994, Digital Equipment Corp.
INTERFACE Udir;
IMPORT Utypes;
FROM Ctypes IMPORT char_star, int, long, unsigned_short;
** <dirent.h>, <sys/dirent.h> **
CONST
MAXNAMELEN = 255; (* Maximum length of component of file path name. *)
MAXPATHLEN = 4096; (* Maximum length of file path name. *)
TYPE
D_name = ARRAY [0..MAXNAMELEN] OF CHAR;
struct_dirent = RECORD
d_ino: Utypes.ino_t;
d_off: Utypes.off_t;
d_reclen: unsigned_short;
d_name: D_name;
END;
dirent_t = struct_dirent;
struct_dirent_star = UNTRACED REF struct_dirent;
DIR = RECORD
dd_fd: int;
dd_loc: int;
dd_size: int;
dd_buf: char_star;
END;
DIR_star = UNTRACED REF DIR;
<* EXTERNAL *> PROCEDURE opendir(dir: char_star): DIR_star;
<* EXTERNAL *> PROCEDURE readdir(dirPtr: DIR_star): struct_dirent_star;
<* EXTERNAL *> PROCEDURE telldir(dirPtr: DIR_star): long;
<* EXTERNAL *> PROCEDURE seekdir(dirPtr: DIR_star; location: long);
<* EXTERNAL *> PROCEDURE rewinddir(dirPtr: DIR_star);
<* EXTERNAL *> PROCEDURE closedir(dirPtr: DIR_star): int;
** re-entrant version **
<* EXTERNAL *> PROCEDURE readdir_r(dirPtr: DIR_star; res: struct_dirent_star);
END Udir.