* callback.h (CB_SYSCALL): Change byte count arguments to

{read,write}_mem to `int'.  New member `magic'.
	(CB_SYSCALL_MAGIC,CB_SYSCALL_INIT): New macros.
This commit is contained in:
Doug Evans 1997-11-26 19:49:13 +00:00
parent fc63d75ab3
commit 881a60116f
2 changed files with 29 additions and 3 deletions

View file

@ -1,3 +1,9 @@
Wed Nov 26 11:39:30 1997 Doug Evans <devans@canuck.cygnus.com>
* callback.h (CB_SYSCALL): Change byte count arguments to
{read,write}_mem to `int'. New member `magic'.
(CB_SYSCALL_MAGIC,CB_SYSCALL_INIT): New macros.
Tue Nov 25 01:35:52 1997 Doug Evans <devans@seba.cygnus.com>
* callback.h (struct stat): Move forward decl up.

View file

@ -203,10 +203,30 @@ typedef struct cb_syscall {
PTR p2;
long x1,x2;
/* Callbacks for reading/writing memory (e.g. for read/write syscalls). */
unsigned long (*read_mem) PARAMS ((host_callback *, struct cb_syscall *, unsigned long taddr, char *buf, unsigned long bytes));
unsigned long (*write_mem) PARAMS ((host_callback *, struct cb_syscall *, unsigned long taddr, const char *buf, unsigned long bytes));
/* Callbacks for reading/writing memory (e.g. for read/write syscalls).
??? long or unsigned long might be better to use for the `count'
argument here. We mimic sim_{read,write} for now. Be careful to
test any changes with -Wall -Werror, mixed signed comparisons
will get you. */
int (*read_mem) PARAMS ((host_callback *, struct cb_syscall *,
unsigned long taddr, char *buf, int bytes));
int (*write_mem) PARAMS ((host_callback *, struct cb_syscall *,
unsigned long taddr, const char *buf, int bytes));
/* For sanity checking, should be last entry. */
int magic;
} CB_SYSCALL;
/* Magic number sanity checker. */
#define CB_SYSCALL_MAGIC 0x12344321
/* Macro to initialize CB_SYSCALL. Called first, before filling in
any fields. */
#define CB_SYSCALL_INIT(sc) \
do { \
memset ((sc), 0, sizeof (*(sc))); \
(sc)->magic = CB_SYSCALL_MAGIC; \
} while (0)
/* Return codes for various interface routines. */