* callback.h: New file, moved here from gdb.
authorDavid Edelsohn <dje.gcc@gmail.com>
Wed, 20 Nov 1996 08:42:22 +0000 (08:42 +0000)
committerDavid Edelsohn <dje.gcc@gmail.com>
Wed, 20 Nov 1996 08:42:22 +0000 (08:42 +0000)
include/.Sanitize
include/callback.h [new file with mode: 0644]

index 0ed04e074c33197dd56d89bb73515771f351c856..d6be81f6d5741f892a8abcc70f4b6c366266276b 100644 (file)
@@ -30,6 +30,7 @@ ansidecl.h
 aout
 bfdlink.h
 bout.h
+callback.h
 coff
 demangle.h
 dis-asm.h
diff --git a/include/callback.h b/include/callback.h
new file mode 100644 (file)
index 0000000..b6d7b69
--- /dev/null
@@ -0,0 +1,56 @@
+#ifndef CALLBACK_H
+#define CALLBACK_H
+
+typedef struct host_callback_struct host_callback;
+
+#define MAX_CALLBACK_FDS 10
+
+struct host_callback_struct 
+{
+  int (*close) PARAMS ((host_callback *,int));
+  int (*get_errno) PARAMS ((host_callback *));
+  int (*isatty) PARAMS ((host_callback *, int));
+  int (*lseek) PARAMS ((host_callback *, int, long , int));
+  int (*open) PARAMS ((host_callback *, const char*, int mode));
+  int (*read) PARAMS ((host_callback *,int,  char *, int));
+  int (*read_stdin) PARAMS (( host_callback *, char *, int));
+  int (*rename) PARAMS ((host_callback *, const char *, const char *));
+  int (*system) PARAMS ((host_callback *, const char *));
+  long (*time) PARAMS ((host_callback *, long *));
+  int (*unlink) PARAMS ((host_callback *, const char *));
+  int (*write) PARAMS ((host_callback *,int, const char *, int));
+  int (*write_stdout) PARAMS ((host_callback *, const char *, int));
+
+  /* Used when the target has gone away, so we can close open
+     handles and free memory etc etc. */
+  int (*shutdown) PARAMS ((host_callback *));
+  int (*init)     PARAMS ((host_callback *));
+
+  /* Talk to the user on a console. */
+  void (*printf_filtered) PARAMS ((host_callback *, const char *, ...));
+
+  int last_errno;              /* host format */
+
+  int fdmap[MAX_CALLBACK_FDS];
+  char fdopen[MAX_CALLBACK_FDS];
+  char alwaysopen[MAX_CALLBACK_FDS];
+};
+
+extern host_callback default_callback;
+
+/* Mapping of host/target values.  */
+/* ??? For debugging purposes, one might want to add a string of the
+   name of the symbol.  */
+
+typedef struct {
+  int host_val;
+  int target_val;
+} target_defs_map;
+
+extern target_defs_map errno_map[];
+extern target_defs_map open_map[];
+
+extern int host_to_target_errno PARAMS ((int));
+extern int target_to_host_open PARAMS ((int));
+
+#endif