signature OS_FILE_SYS_1997 =
   sig
      type dirstream

      val openDir: string -> dirstream 
      val readDir: dirstream -> string 
      val rewindDir: dirstream -> unit 
      val closeDir: dirstream -> unit 
      val chDir: string -> unit

      val getDir: unit -> string 
      val mkDir: string -> unit 
      val rmDir: string -> unit 
      val isDir: string -> bool 
      val isLink: string -> bool 
      val readLink: string -> string 
      val fullPath: string -> string 
      val realPath: string -> string 
      val modTime: string -> Time.time 
      val fileSize: string -> Position.int 
      val setTime: string * Time.time option -> unit 
      val remove: string -> unit 
      val rename: {old: string, new: string} -> unit

      datatype access_mode =
         A_READ
       | A_WRITE
       | A_EXEC

      val access: string * access_mode list -> bool 
      val tmpName: unit -> string 

      eqtype file_id
      val fileId: string -> file_id 
      val hash: file_id -> word 
      val compare: file_id * file_id -> order
   end
