home *** CD-ROM | disk | FTP | other *** search
/ Geek Gadgets 1 / ADE-1.bin / ade-dist / gnat-2.06-src.tgz / tar.out / fsf / gnat / ada / tree_io.ads < prev    next >
Text File  |  1996-09-28  |  4KB  |  88 lines

  1. ------------------------------------------------------------------------------
  2. --                                                                          --
  3. --                         GNAT COMPILER COMPONENTS                         --
  4. --                                                                          --
  5. --                              T R E E _ I O                               --
  6. --                                                                          --
  7. --                                 S p e c                                  --
  8. --                                                                          --
  9. --                            $Revision: 1.2 $                              --
  10. --                                                                          --
  11. --        Copyright (c) 1992,1993,1994,1995 NYU, All Rights Reserved        --
  12. --                                                                          --
  13. -- The GNAT library is free software; you can redistribute it and/or modify --
  14. -- it under terms of the GNU Library General Public License as published by --
  15. -- the Free Software  Foundation; either version 2, or (at your option) any --
  16. -- later version.  The GNAT library is distributed in the hope that it will --
  17. -- be useful, but WITHOUT ANY WARRANTY;  without even  the implied warranty --
  18. -- of MERCHANTABILITY  or  FITNESS FOR  A PARTICULAR PURPOSE.  See the  GNU --
  19. -- Library  General  Public  License for  more  details.  You  should  have --
  20. -- received  a copy of the GNU  Library  General Public License  along with --
  21. -- the GNAT library;  see the file  COPYING.LIB.  If not, write to the Free --
  22. -- Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.        --
  23. --                                                                          --
  24. ------------------------------------------------------------------------------
  25.  
  26. --  This package contains the routines used to read and write the tree files
  27. --  used by ASIS. Only the actual read and write routines are here. The open,
  28. --  create and close routines are elsewhere (in Osint in the compiler, and in
  29. --  the tree read driver for the tree read interface).
  30.  
  31. with GNAT.OS_Lib; use GNAT.OS_Lib;
  32. with System;      use System;
  33. with Types;       use Types;
  34.  
  35. package Tree_IO is
  36.  
  37.    Tree_Format_Error : exception;
  38.    --  Raised if a format error is detected in the input file
  39.  
  40.    procedure Tree_Read_Initialize (Desc : File_Descriptor);
  41.    --  Called to initialize reading of a tree file. This call must be made
  42.    --  before calls to Tree_Read_xx. No calls to Tree_Write_xx are permitted
  43.    --  after this call.
  44.  
  45.    procedure Tree_Read_Data (Addr : Address; Length : Int);
  46.    --  Reads Length bytes of information into memory starting at Addr. The
  47.    --  data must have been written with a call to Tree_Write_Data with the
  48.    --  same length. Tree_Format_Error is raised if this is not the case.
  49.  
  50.    procedure Tree_Read_Bool (B : out Boolean);
  51.    --  Reads a single boolean value. The boolean value must have been written
  52.    --  with a call to the Tree_Write_Bool procedure.
  53.  
  54.    procedure Tree_Read_Char (C : out Character);
  55.    --  Reads a single character. The character must have been written with a
  56.    --  call to the Tree_Write_Char procedure.
  57.  
  58.    procedure Tree_Read_Int (N : out Int);
  59.    --  Reads a single integer value. The integer must have been written with
  60.    --  a call to the Tree_Write_Int procedure.
  61.  
  62.    procedure Tree_Read_Terminate;
  63.    --  Called after reading all data, checks that the buffer pointers is at
  64.    --  the end of file, raising Tree_Format_Error if not.
  65.  
  66.    procedure Tree_Write_Initialize (Desc : File_Descriptor);
  67.    --  Called to initialize writing of a tree file. This call must be made
  68.    --  before calls to Tree_Write_xx. No calls to Tree_Read_xx are permitted
  69.    --  after this call.
  70.  
  71.    procedure Tree_Write_Data (Addr : Address; Length : Int);
  72.    --  Writes Length bytes of data starting at Addr to current tree file.
  73.  
  74.    procedure Tree_Write_Bool (B : Boolean);
  75.    --  Writes a single boolean value to the current tree file
  76.  
  77.    procedure Tree_Write_Char (C : Character);
  78.    --  Writes a single character to the current tree file
  79.  
  80.    procedure Tree_Write_Int (N : Int);
  81.    --  Writes a single integer value to the current tree file
  82.  
  83.    procedure Tree_Write_Terminate;
  84.    --  Terminates writing of the file (flushing the buffer), but does not
  85.    --  close the file (the caller is responsible for closing the file).
  86.  
  87. end Tree_IO;
  88.