pkgobj/src/POSIX/ultrix/Umnt.i3


Copyright (C) 1994, Digital Equipment Corp.

INTERFACE Umnt;

FROM Unix IMPORT MaxPathLen;
FROM Ctypes IMPORT char_star, int, short, unsigned_int, unsigned_int_star;

TYPE
  fs_data = RECORD
          fd_req:     fs_data_req;   (* required data *)
          fd_spare:   ARRAY [0..111] OF unsigned_int;
  END;

  dev_t = short;

  fs_data_req = RECORD
          flags: unsigned_int;        (* how mounted *)
          mtsize: unsigned_int;       (* max transfer size in bytes *)
          otsize: unsigned_int;       (* optimal transfer size in bytes *)
          bsize: unsigned_int;        (* fs block size in bytes for vm code *)
          fstype: unsigned_int;       (* see ../h/fs_types.h  *)
          gtot: unsigned_int;         (* total number of gnodes *)
          gfree: unsigned_int;        (* # of free gnodes *)
          btot: unsigned_int;         (* total number of 1K blocks *)
          bfree: unsigned_int;        (* # of free 1K blocks *)
          bfreen: unsigned_int;       (* user consumable 1K blocks *)
          pgthresh: unsigned_int;     (* min size in bytes before paging *)
          uid: int;                   (* uid that mounted me *)
          dev: dev_t;                 (* major/minor of fs *)
          exroot: short;              (* root mapping from exports *)
          devname: ARRAY [0..MaxPathLen+4] OF CHAR; (* name of dev *)
          path: ARRAY [0..MaxPathLen+4] OF CHAR;  (* name of mount point *)
          updates: unsigned_int;      (* number of writes *)
  END;

  fs_data_star = UNTRACED REF fs_data;

CONST    (* values for mode argument *)
  NOSTAT_MANY = 1;
  STAT_MANY = 2;
  STAT_ONE = 3;
  NOSTAT_ONE = 4;
  STAT_FD = 5;
  NOSTAT_FD = 6;

CONST    (* flags in fd_data_req.flags *)
  M_RONLY =        16_0001;
  M_MOD =          16_0002;
  M_QUOTA =        16_0004;
  M_LOCAL =        16_0008;
  M_NOEXEC =       16_0010;
  M_NOSUID =       16_0020;
  M_NODEV =        16_0040;
  M_FORCE =        16_0080;
  M_SYNC =         16_0100;
  M_DONE =         16_0200;
  M_NOCACHE =      16_0400;
  M_EXPORTED =     16_0800;          (* export flag *)
  M_NOFH =         16_1000;          (* no fhandle flag *)
  M_EXRONLY =      16_2000;          (* export read-only *)

<*EXTERNAL*> PROCEDURE getmnt (
         start: unsigned_int_star;
         buffer: fs_data_star;
         nbytes, mode: int;
         path: char_star) : int;

END Umnt.

interface Unix is in: