Appendix B Sequential_IO package with IO_exceptions; generic type ELEMENT_TYPE is private; package SEQUENTIAL_IO is type file_type is limited private; type file_mode is (in_file,out_file); -- File management procedure CREATE (file :in out file_type; mode :in file_mode:=out_file; name :in string := ""; form :in string := ""); procedure OPEN ( file :in out file_type; mode :in file_mode; name :in string; form :in string := ""); procedure CLOSE (file :in out file_type); procedure DELETE (file :in out file_type); procedure RESET (file :in out file_type; mode :in file_mode); procedure RESET (file :in out file_type); function MODE (file :in file_type) return file_mode; function NAME (file :in file_type) return string; function FORM (file :in file_type) return string; function IS_OPEN(file :in file_type) return boolean; -- Input and output operations procedure READ( file :in file_type; item :out element_type); procedure WRITE( file :in file_type; item :in element_type); function END_OF_FILE(file:in file_type) return boolean; -- Exceptions status_error :exception renames IO_EXCEPTIONS.status_error; mode_error :exception renames IO_EXCEPTIONS.mode_error; name_error :exception renames IO_EXCEPTIONS.name_error; use_error :exception renames IO_EXCEPTIONS.use_error; device_error :exception renames IO_EXCEPTIONS.device_error; end_error :exception renames IO_EXCEPTIONS.end_error; data_error :exception renames IO_EXCEPTIONS.data_error; private -- implementation dependent end sequential_IO