1/* The common simulator framework for GDB, the GNU Debugger.
2
3   Copyright 2002, 2007 Free Software Foundation, Inc.
4
5   Contributed by Andrew Cagney and Red Hat.
6
7   This file is part of GDB.
8
9   This program is free software; you can redistribute it and/or modify
10   it under the terms of the GNU General Public License as published by
11   the Free Software Foundation; either version 3 of the License, or
12   (at your option) any later version.
13
14   This program is distributed in the hope that it will be useful,
15   but WITHOUT ANY WARRANTY; without even the implied warranty of
16   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17   GNU General Public License for more details.
18
19   You should have received a copy of the GNU General Public License
20   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
21
22
23#ifndef SIM_IO_H
24#define SIM_IO_H
25
26/* See the file include/callbacks.h for a description */
27
28int sim_io_init (SIM_DESC sd);
29
30int sim_io_shutdown (SIM_DESC sd);
31
32int sim_io_unlink (SIM_DESC sd, const char *);
33
34long sim_io_time (SIM_DESC sd, long *);
35
36int sim_io_system (SIM_DESC sd, const char *);
37
38int sim_io_rename (SIM_DESC sd, const char *, const char *);
39
40int sim_io_write_stdout (SIM_DESC sd, const char *, int);
41
42void sim_io_flush_stdout (SIM_DESC sd);
43
44int sim_io_write_stderr (SIM_DESC sd, const char *, int);
45
46void sim_io_flush_stderr (SIM_DESC sd);
47
48int sim_io_write (SIM_DESC sd, int, const char *, int);
49
50int sim_io_read_stdin (SIM_DESC sd, char *, int);
51
52int sim_io_read (SIM_DESC sd, int, char *, int);
53
54int sim_io_open (SIM_DESC sd, const char *, int);
55
56int sim_io_lseek (SIM_DESC sd, int, long, int);
57
58int sim_io_isatty (SIM_DESC sd, int);
59
60int sim_io_get_errno (SIM_DESC sd);
61
62int sim_io_close (SIM_DESC sd, int);
63
64void sim_io_printf (SIM_DESC sd,
65		    const char *fmt,
66		    ...) __attribute__ ((format (printf, 2, 3)));
67
68void sim_io_vprintf (SIM_DESC sd, const char *fmt, va_list ap);
69
70void sim_io_eprintf (SIM_DESC sd,
71		     const char *fmt,
72		     ...) __attribute__ ((format (printf, 2, 3)));
73
74void sim_io_evprintf (SIM_DESC sd, const char *fmt, va_list ap);
75
76void sim_io_error (SIM_DESC sd,
77		   const char *fmt,
78		   ...) __attribute__ ((format (printf, 2, 3)));
79
80void sim_io_poll_quit (SIM_DESC sd);
81
82/* Returns -1 and sets (host) EAGAIN if not ready. */
83int sim_io_poll_read (SIM_DESC sd, int, char *, int);
84
85#endif
86