diff options
author | Stan Shebs <shebs@codesourcery.com> | 1999-04-16 01:35:26 +0000 |
---|---|---|
committer | Stan Shebs <shebs@codesourcery.com> | 1999-04-16 01:35:26 +0000 |
commit | c906108c21474dfb4ed285bcc0ac6fe02cd400cc (patch) | |
tree | a0015aa5cedc19ccbab307251353a41722a3ae13 /sim/ppc/sim_callbacks.h | |
parent | cd946cff9ede3f30935803403f06f6ed30cad136 (diff) | |
download | gdb-c906108c21474dfb4ed285bcc0ac6fe02cd400cc.zip gdb-c906108c21474dfb4ed285bcc0ac6fe02cd400cc.tar.gz gdb-c906108c21474dfb4ed285bcc0ac6fe02cd400cc.tar.bz2 |
Initial creation of sourceware repositorygdb-4_18-branchpoint
Diffstat (limited to 'sim/ppc/sim_callbacks.h')
-rw-r--r-- | sim/ppc/sim_callbacks.h | 115 |
1 files changed, 115 insertions, 0 deletions
diff --git a/sim/ppc/sim_callbacks.h b/sim/ppc/sim_callbacks.h new file mode 100644 index 0000000..322af9d --- /dev/null +++ b/sim/ppc/sim_callbacks.h @@ -0,0 +1,115 @@ +/* This file is part of the program psim. + + Copyright (C) 1994-1995,1998, 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 2 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, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + */ + + +#ifndef _SIM_CALLBACKS_H_ +#define _SIM_CALLBACKS_H_ + +/* Simulator output: + + Functions to report diagnostic information to the user. */ + +#define printf_filtered sim_io_printf_filtered +void sim_io_printf_filtered +(const char *msg, ...) __attribute__ ((format (printf, 1, 2))); + +void NORETURN error +(const char *msg, ...); + + +/* External environment: + + Some HOST OS's require regular polling so that external events such + as GUI io can be handled. */ + +void sim_io_poll_quit +(void); + + + +/* Model I/O: + + These functions provide the interface between the modeled targets + standard input and output streams and the hosts external + environment. + + The underlying model is responsible for co-ordinating I/O + interactions such as: + + main() + { + const char mess[] = "Hello World\r\n"; + int out; + out = dup(1); + close(1); + write(out, mess, sizeof(mess)) + } + + That is to say, the underlying model would, in implementing dup() + recorded the fact that any output directed at fid-OUT should be + displayed using sim_io_write_stdout(). While for the code stub: + + main() + { + const char mess[] = "Hello World\r\n"; + int out; + close(1); + out = open("output", 0x0001|0x0200, 0); // write+create + out = dup(1); + write(out, mess, sizeof(mess)) + } + + would result in output to fid-1 being directed towards the file + "output". */ + + +int +sim_io_write_stdout +(const char *buf, + int sizeof_buf); + +int +sim_io_write_stderr +(const char *buf, + int sizeof_buf); + +/* read results */ +enum { sim_io_eof = -1, sim_io_not_ready = -2, }; /* See: IEEE 1275 */ + +int +sim_io_read_stdin +(char *buf, + int sizeof_buf); + +#define flush_stdoutput sim_io_flush_stdoutput +void sim_io_flush_stdoutput +(void); + + +/* Memory management with an allocator that clears memory before use. */ + +void *zalloc +(long size); + +#define ZALLOC(TYPE) (TYPE*)zalloc(sizeof (TYPE)) + +void zfree(void*); + +#endif |