123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129 |
- /* This file is part of the program psim.
- Copyright (C) 1994-1995, Andrew Cagney <cagney@highland.com.au>
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, see <http://www.gnu.org/licenses/>.
-
- */
- /* LF: Line Numbered Output Stream */
- typedef struct _lf lf;
- typedef enum {
- lf_is_h,
- lf_is_c,
- lf_is_text,
- } lf_file_type;
- typedef enum {
- lf_include_references,
- lf_omit_references,
- } lf_file_references;
- /* Open the file NAME for writing. REAL_NAME is to be included in any
- line number outputs. The output of line number information can be
- suppressed with LINE_NUMBERS */
- extern lf *lf_open
- (char *name,
- char *real_name,
- lf_file_references file_references,
- lf_file_type type,
- const char *program);
- extern void lf_close
- (lf *file);
- /* Basic output functions */
- extern int lf_putchr
- (lf *file,
- const char ch);
- extern int lf_putstr
- (lf *file,
- const char *string);
- extern int lf_putint
- (lf *file,
- int decimal);
- extern int lf_putbin
- (lf *file,
- int decimal,
- int width);
- extern int lf_printf
- (lf *file,
- const char *fmt,
- ...) __attribute__((format(printf, 2, 3)));
- /* Indentation control.
- lf_indent_suppress suppresses indentation on the next line (current
- line if that has not yet been started) */
- extern void lf_indent_suppress
- (lf *file);
- extern void lf_indent
- (lf *file,
- int delta);
- /* Print generic text: */
- extern int lf_print__gnu_copyleft
- (lf *file);
- extern int lf_print__file_start
- (lf *file);
- extern int lf_print__this_file_is_empty
- (lf *file);
- extern int lf_print__file_finish
- (lf *file);
- extern int lf_print__internal_reference
- (lf *file);
- extern int lf_print__external_reference
- (lf *file,
- int line_nr,
- const char *file_name);
- extern int lf_print__ucase_filename
- (lf *file);
- /* Tab prefix is suppressed */
- extern int lf_print__c_code
- (lf *file,
- const char *code);
- extern int lf_print_function_type
- (lf *file,
- const char *type,
- const char *prefix,
- const char *trailing_space);
|