home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / xc212os2.zip / ISODEF / streamfi.def < prev    next >
Text File  |  1994-12-22  |  2KB  |  44 lines

  1. DEFINITION MODULE StreamFile;
  2.  
  3.   (* Independent sequential data streams *)
  4.  
  5. IMPORT IOChan, ChanConsts;
  6.  
  7. TYPE
  8.   ChanId = IOChan.ChanId;
  9.   FlagSet = ChanConsts.FlagSet;
  10.   OpenResults = ChanConsts.OpenResults;
  11.  
  12.   (* Accepted singleton values of FlagSet *)
  13.  
  14. CONST
  15.   read = FlagSet{ChanConsts.readFlag};   (* input operations are requested/available *)
  16.   write = FlagSet{ChanConsts.writeFlag}; (* output operations are requested/available *)
  17.   old = FlagSet{ChanConsts.oldFlag};     (* a file may/must/did exist before the channel is
  18.                                             opened *)
  19.   text = FlagSet{ChanConsts.textFlag};   (* text operations are requested/available *)
  20.   raw = FlagSet{ChanConsts.rawFlag};     (* raw operations are requested/available *)
  21.  
  22.  
  23. PROCEDURE Open (VAR cid: ChanId; name: ARRAY OF CHAR; flags: FlagSet; VAR res: OpenResults);
  24.   (* Attempts to obtain and open a channel connected to a sequential stream of the given
  25.      name.
  26.      The read flag implies old; without the raw flag, text is implied.
  27.      If successful, assigns to cid the identity of the opened channel, and assigns the value
  28.      opened to res.
  29.      If a channel cannot be opened as required, the value of res indicates the reason, and
  30.      cid identifies the invalid channel.
  31.   *)
  32.  
  33. PROCEDURE IsStreamFile (cid: ChanId): BOOLEAN;
  34.   (* Tests if the channel identified by cid is open to a sequential stream. *)
  35.  
  36. PROCEDURE Close (VAR cid: ChanId);
  37.   (* If the channel identified by cid is not open to a sequential stream, the exception
  38.      wrongDevice is raised; otherwise closes the channel, and assigns the value identifying
  39.      the invalid channel to cid.
  40.   *)
  41.  
  42. END StreamFile.
  43.  
  44.