Subversion Repositories Kolibri OS

Rev

Rev 5222 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

  1. /* input_file.h header for input-file.c
  2.    Copyright (C) 1987-2015 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 3, 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 the Free
  18.    Software Foundation, 51 Franklin Street - Fifth Floor, Boston, MA
  19.    02110-1301, USA.  */
  20.  
  21. /*"input_file.c":Operating-system dependant functions to read source files.*/
  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 so caller doesn't have to think
  55.  * about I/O errors.
  56.  */
  57.  
  58. char *input_file_give_next_buffer (char *where);
  59. char *input_file_push (void);
  60. size_t input_file_buffer_size (void);
  61. void input_file_begin (void);
  62. void input_file_close (void);
  63. void input_file_end (void);
  64. void input_file_open (char *filename, int pre);
  65. void input_file_pop (char *arg);
  66.