home *** CD-ROM | disk | FTP | other *** search
/ Geek Gadgets 1 / ADE-1.bin / ade-dist / binutils-2.7-src.tgz / tar.out / fsf / binutils / gas / input-file.h < prev    next >
C/C++ Source or Header  |  1996-09-28  |  3KB  |  69 lines

  1. /* input_file.h header for input-file.c
  2.    Copyright (C) 1987, 1992 Free Software Foundation, Inc.
  3.  
  4.    This file is part of GAS, the GNU Assembler.
  5.  
  6.    GAS is free software; you can redistribute it and/or modify
  7.    it under the terms of the GNU General Public License as published by
  8.    the Free Software Foundation; either version 2, or (at your option)
  9.    any later version.
  10.  
  11.    GAS is distributed in the hope that it will be useful,
  12.    but WITHOUT ANY WARRANTY; without even the implied warranty of
  13.    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  14.    GNU General Public License for more details.
  15.  
  16.    You should have received a copy of the GNU General Public License
  17.    along with GAS; see the file COPYING.  If not, write to
  18.    the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
  19.  
  20. /*"input_file.c":Operating-system dependant functions to read source files.*/
  21.  
  22.  
  23. /*
  24.  * No matter what the operating system, this module must provide the
  25.  * following services to its callers.
  26.  *
  27.  * input_file_begin()            Call once before anything else.
  28.  *
  29.  * input_file_end()            Call once after everything else.
  30.  *
  31.  * input_file_buffer_size()        Call anytime. Returns largest possible
  32.  *                    delivery from
  33.  *                    input_file_give_next_buffer().
  34.  *
  35.  * input_file_open(name)        Call once for each input file.
  36.  *
  37.  * input_file_give_next_buffer(where)    Call once to get each new buffer.
  38.  *                    Return 0: no more chars left in file,
  39.  *                       the file has already been closed.
  40.  *                    Otherwise: return a pointer to just
  41.  *                       after the last character we read
  42.  *                       into the buffer.
  43.  *                    If we can only read 0 characters, then
  44.  *                    end-of-file is faked.
  45.  *
  46.  * input_file_push()            Push state, which can be restored
  47.  *                    later.  Does implicit input_file_begin.
  48.  *                    Returns char * to saved state.
  49.  *
  50.  * input_file_pop (arg)            Pops previously saved state.
  51.  *
  52.  * input_file_close ()            Closes opened file.
  53.  *
  54.  * All errors are reported (using as_perror) so caller doesn't have to think
  55.  * about I/O errors. No I/O errors are fatal: an end-of-file may be faked.
  56.  */
  57.  
  58. char *input_file_give_next_buffer PARAMS ((char *where));
  59. char *input_file_push PARAMS ((void));
  60. unsigned int input_file_buffer_size PARAMS ((void));
  61. int input_file_is_open PARAMS ((void));
  62. void input_file_begin PARAMS ((void));
  63. void input_file_close PARAMS ((void));
  64. void input_file_end PARAMS ((void));
  65. void input_file_open PARAMS ((char *filename, int pre));
  66. void input_file_pop PARAMS ((char *arg));
  67.  
  68. /* end of input_file.h */
  69.