#ifndef UI_FILE_H
#define UI_FILE_H
struct ui_file;
extern struct ui_file *ui_file_new (void);
typedef void (ui_file_flush_ftype) (struct ui_file * stream);
extern void set_ui_file_flush (struct ui_file *stream, ui_file_flush_ftype * flush);
typedef void (ui_file_write_ftype) (struct ui_file * stream, const char *buf, long length_buf);
extern void set_ui_file_write (struct ui_file *stream, ui_file_write_ftype *fputs);
typedef void (ui_file_fputs_ftype) (const char *, struct ui_file * stream);
extern void set_ui_file_fputs (struct ui_file *stream, ui_file_fputs_ftype * fputs);
typedef int (ui_file_isatty_ftype) (struct ui_file * stream);
extern void set_ui_file_isatty (struct ui_file *stream, ui_file_isatty_ftype * isatty);
typedef void (ui_file_rewind_ftype) (struct ui_file * stream);
extern void set_ui_file_rewind (struct ui_file *stream, ui_file_rewind_ftype * rewind);
typedef void (ui_file_put_method_ftype) (void *object, const char *buffer, long length_buffer);
typedef void (ui_file_put_ftype) (struct ui_file *stream, ui_file_put_method_ftype * method, void *context);
extern void set_ui_file_put (struct ui_file *stream, ui_file_put_ftype * put);
typedef void (ui_file_delete_ftype) (struct ui_file * stream);
extern void set_ui_file_data (struct ui_file *stream, void *data, ui_file_delete_ftype * delete);
extern void *ui_file_data (struct ui_file *file);
extern void gdb_flush (struct ui_file *);
extern void ui_file_delete (struct ui_file *stream);
extern void ui_file_rewind (struct ui_file *stream);
extern int ui_file_isatty (struct ui_file *);
extern void ui_file_write (struct ui_file *file, const char *buf, long length_buf);
extern void ui_file_put (struct ui_file *src, ui_file_put_method_ftype *write, void *dest);
extern char *ui_file_xstrdup (struct ui_file *file, long *length);
extern struct ui_file *mem_fileopen (void);
extern struct ui_file *stdio_fileopen (FILE *file);
extern struct ui_file *gdb_fopen (char *name, char *mode);
struct ui_file *tee_file_new (struct ui_file *one,
int close_one,
struct ui_file *two,
int close_two);
#endif