diff options
Diffstat (limited to 'gdb/target')
-rw-r--r-- | gdb/target/target.h | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/gdb/target/target.h b/gdb/target/target.h new file mode 100644 index 0000000..0a3c4b7 --- /dev/null +++ b/gdb/target/target.h @@ -0,0 +1,62 @@ +/* Declarations for common target functions. + + Copyright (C) 1986-2014 Free Software Foundation, Inc. + + This file is part of GDB. + + 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 3 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, see <http://www.gnu.org/licenses/>. */ + +#ifndef TARGET_COMMON_H +#define TARGET_COMMON_H + +#include "target/waitstatus.h" +#include <stdint.h> + +/* This header is a stopgap until more code is shared. */ + +/* Read LEN bytes of target memory at address MEMADDR, placing the + results in GDB's memory at MYADDR. Return zero for success, + nonzero if any error occurs. This function must be provided by + the client. Implementations of this function may define and use + their own error codes, but functions in the common, nat and target + directories must treat the return code as opaque. No guarantee is + made about the contents of the data at MYADDR if any error + occurs. */ + +extern int target_read_memory (CORE_ADDR memaddr, gdb_byte *myaddr, + ssize_t len); + +/* Read an unsigned 32-bit integer in the target's format from target + memory at address MEMADDR, storing the result in GDB's format in + GDB's memory at RESULT. Return zero for success, nonzero if any + error occurs. This function must be provided by the client. + Implementations of this function may define and use their own error + codes, but functions in the common, nat and target directories must + treat the return code as opaque. No guarantee is made about the + contents of the data at RESULT if any error occurs. */ + +extern int target_read_uint32 (CORE_ADDR memaddr, uint32_t *result); + +/* Write LEN bytes from MYADDR to target memory at address MEMADDR. + Return zero for success, nonzero if any error occurs. This + function must be provided by the client. Implementations of this + function may define and use their own error codes, but functions + in the common, nat and target directories must treat the return + code as opaque. No guarantee is made about the contents of the + data at MEMADDR if any error occurs. */ + +extern int target_write_memory (CORE_ADDR memaddr, const gdb_byte *myaddr, + ssize_t len); + +#endif /* TARGET_COMMON_H */ |