Copyright (C) 1994, Digital Equipment Corp. INTERFACEUmount ; IMPORT Unix, Utypes; FROM Ctypes IMPORT char_star, int, short; TYPE mount_name = ARRAY [0..Unix.MaxPathLen-1] OF CHAR; fsid_t = Utypes.quad; struct_statfs_star = UNTRACED REF struct_statfs; struct_statfs = RECORD f_type: short; (* type of filesystem (see below) *) f_flags: short; (* copy of mount flags *) f_fsize: int; (* fundamental filesystem block size *) f_bsize: int; (* optimal transfer block size *) f_blocks: int; (* total data blocks in file system *) f_bfree: int; (* free blocks in fs *) f_bavail: int; (* free blocks avail to non-su *) f_files: int; (* total file nodes in file system *) f_ffree: int; (* free file nodes in fs *) f_fsid: fsid_t; (* file system id *) f_spare: ARRAY [0..8] OF int; (* spare for later *) f_mntonname: mount_name; (* directory on which mounted *) f_mntfromname: mount_name; (* mounted filesystem *) mount_info: ARRAY [0..10] OF int; END; CONST (* flags in struct_statfs.flags *) M_RONLY = 16_0001; (* read only filesystem *) M_SYNCHRONOUS = 16_0002; (* file system written synchronously *) M_NOEXEC = 16_0004; (* can't exec from filesystem *) M_NOSUID = 16_0008; (* don't honor setuid bits on fs *) M_NODEV = 16_0010; (* don't interpret special files *) M_EXPORTED = 16_0100; (* export flag *) M_EXRDONLY = 16_0200; (* export read-only *) M_EXRDMOSTLY = 16_0400; (* exported ro to most *) M_LOCAL = 16_1000; (* filesystem is stored locally *) M_QUOTA = 16_2000; (* quotas are enabled on filesystem *) <*EXTERNAL*> PROCEDURE statfs ( path: char_star; statfs: struct_statfs_star; length: int) : int; END Umount.