]>
Commit | Line | Data |
---|---|---|
fecd2382 | 1 | /* input_file.h header for input-file.c |
6efd877d KR |
2 | Copyright (C) 1987, 1992 Free Software Foundation, Inc. |
3 | ||
a39116f1 | 4 | This file is part of GAS, the GNU Assembler. |
6efd877d | 5 | |
a39116f1 RP |
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. | |
6efd877d | 10 | |
a39116f1 RP |
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. | |
6efd877d | 15 | |
a39116f1 RP |
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, 675 Mass Ave, Cambridge, MA 02139, USA. */ | |
fecd2382 RP |
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 | ||
6efd877d | 58 | #if __STDC__ == 1 |
fecd2382 | 59 | |
6efd877d KR |
60 | char *input_file_give_next_buffer (char *where); |
61 | char *input_file_push (void); | |
62 | int input_file_buffer_size (void); | |
63 | int input_file_is_open (void); | |
64 | void input_file_begin (void); | |
65 | void input_file_close (void); | |
66 | void input_file_end (void); | |
67 | void input_file_open (char *filename, int pre); | |
68 | void input_file_pop (char *arg); | |
fecd2382 | 69 | |
6efd877d | 70 | #else /* not __STDC__ */ |
fecd2382 | 71 | |
6efd877d KR |
72 | char *input_file_give_next_buffer (); |
73 | char *input_file_push (); | |
74 | int input_file_buffer_size (); | |
75 | int input_file_is_open (); | |
76 | void input_file_begin (); | |
77 | void input_file_close (); | |
78 | void input_file_end (); | |
79 | void input_file_open (); | |
80 | void input_file_pop (); | |
fecd2382 | 81 | |
6efd877d | 82 | #endif /* not __STDC__ */ |
fecd2382 | 83 | |
8b228fe9 | 84 | /* end of input_file.h */ |