pkgobj/src/POSIX/osf/Umount.i3


Copyright (C) 1994, Digital Equipment Corp.

INTERFACE Umount;

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.

interface Unix is in:


interface Utypes is in: