GDB (xrefs)
|
#include "defs.h"
#include "gdbcmd.h"
#include "remote.h"
#include "gdbsupport/gdb_wait.h"
#include <sys/stat.h>
#include "remote-fileio.h"
#include "gdbsupport/event-loop.h"
#include "target.h"
#include "filenames.h"
#include "gdbsupport/filestuff.h"
#include <fcntl.h>
#include "gdbsupport/gdb_sys_time.h"
#include <signal.h>
Go to the source code of this file.
Macros | |
#define | FIO_FD_INVALID -1 |
#define | FIO_FD_CONSOLE_IN -2 |
#define | FIO_FD_CONSOLE_OUT -3 |
Functions | |
static int | remote_fileio_init_fd_map (void) |
static int | remote_fileio_resize_fd_map (void) |
static int | remote_fileio_next_free_fd (void) |
static int | remote_fileio_fd_to_targetfd (int fd) |
static int | remote_fileio_map_fd (int target_fd) |
static void | remote_fileio_close_target_fd (int target_fd) |
static int | remote_fileio_oflags_to_host (long flags) |
static mode_t | remote_fileio_mode_to_host (long mode, int open_call) |
static int | remote_fileio_seek_flag_to_host (long num, int *flag) |
static int | remote_fileio_extract_long (char **buf, LONGEST *retlong) |
static int | remote_fileio_extract_int (char **buf, long *retint) |
static int | remote_fileio_extract_ptr_w_len (char **buf, CORE_ADDR *ptrval, int *length) |
static void | remote_fileio_to_fio_long (LONGEST num, fio_long_t fnum) |
static void | remote_fileio_to_fio_timeval (struct timeval *tv, struct fio_timeval *ftv) |
static void | remote_fileio_quit_handler (void) |
static void | remote_fileio_reply (remote_target *remote, int retcode, int error) |
static void | remote_fileio_ioerror (remote_target *remote) |
static void | remote_fileio_badfd (remote_target *remote) |
static void | remote_fileio_return_errno (remote_target *remote, int retcode) |
static void | remote_fileio_return_success (remote_target *remote, int retcode) |
static void | remote_fileio_func_open (remote_target *remote, char *buf) |
static void | remote_fileio_func_close (remote_target *remote, char *buf) |
static void | remote_fileio_func_read (remote_target *remote, char *buf) |
static void | remote_fileio_func_write (remote_target *remote, char *buf) |
static void | remote_fileio_func_lseek (remote_target *remote, char *buf) |
static void | remote_fileio_func_rename (remote_target *remote, char *buf) |
static void | remote_fileio_func_unlink (remote_target *remote, char *buf) |
static void | remote_fileio_func_stat (remote_target *remote, char *buf) |
static void | remote_fileio_func_fstat (remote_target *remote, char *buf) |
static void | remote_fileio_func_gettimeofday (remote_target *remote, char *buf) |
static void | remote_fileio_func_isatty (remote_target *remote, char *buf) |
static void | remote_fileio_func_system (remote_target *remote, char *buf) |
static void | do_remote_fileio_request (remote_target *remote, char *buf) |
void | remote_fileio_reset (void) |
void | remote_fileio_request (remote_target *remote, char *buf, int ctrlc_pending_p) |
static unsigned int | remote_fileio_to_host_uint (fio_uint_t fnum) |
static ULONGEST | remote_fileio_to_host_ulong (fio_ulong_t fnum) |
static mode_t | remote_fileio_to_host_mode (fio_mode_t fnum) |
static time_t | remote_fileio_to_host_time (fio_time_t fnum) |
void | remote_fileio_to_host_stat (struct fio_stat *fst, struct stat *st) |
static void | set_system_call_allowed (const char *args, int from_tty) |
static void | show_system_call_allowed (const char *args, int from_tty) |
void | initialize_remote_fileio (struct cmd_list_element **remote_set_cmdlist, struct cmd_list_element **remote_show_cmdlist) |
Variables | ||
struct { | ||
int * fd_map | ||
int fd_map_size | ||
} | remote_fio_data | |
static int | remote_fio_system_call_allowed = 0 | |
static quit_handler_ftype * | remote_fileio_o_quit_handler | |
struct { | ||
const char * name | ||
void(* func )(remote_target *remote, char *) | ||
} | remote_fio_func_map [] | |
#define FIO_FD_CONSOLE_IN -2 |
Definition at line 46 of file remote-fileio.c.
Referenced by remote_fileio_func_close(), remote_fileio_func_fstat(), remote_fileio_func_isatty(), remote_fileio_func_lseek(), remote_fileio_func_read(), remote_fileio_func_write(), and remote_fileio_init_fd_map().
#define FIO_FD_CONSOLE_OUT -3 |
Definition at line 47 of file remote-fileio.c.
Referenced by remote_fileio_func_close(), remote_fileio_func_fstat(), remote_fileio_func_isatty(), remote_fileio_func_lseek(), remote_fileio_func_read(), remote_fileio_func_write(), and remote_fileio_init_fd_map().
#define FIO_FD_INVALID -1 |
Definition at line 45 of file remote-fileio.c.
Referenced by remote_fileio_close_target_fd(), remote_fileio_func_close(), remote_fileio_func_fstat(), remote_fileio_func_lseek(), remote_fileio_func_read(), remote_fileio_func_write(), remote_fileio_init_fd_map(), remote_fileio_map_fd(), remote_fileio_next_free_fd(), and remote_fileio_resize_fd_map().
|
static |
Definition at line 1124 of file remote-fileio.c.
References name, quit_handler, remote_fileio_quit_handler(), remote_fileio_reply(), and remote_fio_func_map.
Referenced by remote_fileio_request().
void initialize_remote_fileio | ( | struct cmd_list_element ** | remote_set_cmdlist, |
struct cmd_list_element ** | remote_show_cmdlist ) |
Definition at line 1303 of file remote-fileio.c.
References add_cmd(), no_class, remote_set_cmdlist, remote_show_cmdlist, set_system_call_allowed(), and show_system_call_allowed().
|
static |
Definition at line 352 of file remote-fileio.c.
References remote_fileio_reply().
Referenced by remote_fileio_func_close(), remote_fileio_func_fstat(), remote_fileio_func_lseek(), remote_fileio_func_read(), and remote_fileio_func_write().
|
static |
Definition at line 115 of file remote-fileio.c.
References FIO_FD_INVALID, remote_fileio_init_fd_map(), and remote_fio_data.
Referenced by remote_fileio_func_close().
|
static |
Definition at line 253 of file remote-fileio.c.
References remote_fileio_extract_long().
Referenced by remote_fileio_func_close(), remote_fileio_func_fstat(), remote_fileio_func_isatty(), remote_fileio_func_lseek(), remote_fileio_func_open(), remote_fileio_func_read(), and remote_fileio_func_write().
|
static |
Definition at line 217 of file remote-fileio.c.
Referenced by remote_fileio_extract_int(), remote_fileio_extract_ptr_w_len(), remote_fileio_func_fstat(), remote_fileio_func_gettimeofday(), remote_fileio_func_lseek(), remote_fileio_func_read(), remote_fileio_func_stat(), and remote_fileio_func_write().
|
static |
Definition at line 267 of file remote-fileio.c.
References remote_fileio_extract_long().
Referenced by remote_fileio_func_open(), remote_fileio_func_rename(), remote_fileio_func_stat(), remote_fileio_func_system(), and remote_fileio_func_unlink().
|
static |
Definition at line 97 of file remote-fileio.c.
References remote_fileio_next_free_fd(), and remote_fio_data.
Referenced by remote_fileio_func_open().
|
static |
Definition at line 440 of file remote-fileio.c.
References FIO_FD_CONSOLE_IN, FIO_FD_CONSOLE_OUT, FIO_FD_INVALID, remote_fileio_badfd(), remote_fileio_close_target_fd(), remote_fileio_extract_int(), remote_fileio_ioerror(), remote_fileio_map_fd(), remote_fileio_return_errno(), and remote_fileio_return_success().
|
static |
Definition at line 912 of file remote-fileio.c.
References FIO_FD_CONSOLE_IN, FIO_FD_CONSOLE_OUT, FIO_FD_INVALID, remote_fileio_badfd(), remote_fileio_extract_int(), remote_fileio_extract_long(), remote_fileio_ioerror(), remote_fileio_map_fd(), remote_fileio_return_errno(), remote_fileio_return_success(), and target_write_memory().
|
static |
Definition at line 989 of file remote-fileio.c.
References remote_fileio_extract_long(), remote_fileio_ioerror(), remote_fileio_reply(), remote_fileio_return_errno(), remote_fileio_return_success(), remote_fileio_to_fio_timeval(), and target_write_memory().
|
static |
Definition at line 1040 of file remote-fileio.c.
References FIO_FD_CONSOLE_IN, FIO_FD_CONSOLE_OUT, remote_fileio_extract_int(), remote_fileio_ioerror(), remote_fileio_map_fd(), and remote_fileio_return_success().
|
static |
Definition at line 666 of file remote-fileio.c.
References FIO_FD_CONSOLE_IN, FIO_FD_CONSOLE_OUT, FIO_FD_INVALID, remote_fileio_badfd(), remote_fileio_extract_int(), remote_fileio_extract_long(), remote_fileio_ioerror(), remote_fileio_map_fd(), remote_fileio_reply(), remote_fileio_return_errno(), remote_fileio_return_success(), and remote_fileio_seek_flag_to_host().
|
static |
Definition at line 371 of file remote-fileio.c.
References flags, remote_fileio_extract_int(), remote_fileio_extract_ptr_w_len(), remote_fileio_fd_to_targetfd(), remote_fileio_ioerror(), remote_fileio_mode_to_host(), remote_fileio_oflags_to_host(), remote_fileio_reply(), remote_fileio_return_errno(), remote_fileio_return_success(), and target_read_memory().
|
static |
Definition at line 465 of file remote-fileio.c.
References FIO_FD_CONSOLE_IN, FIO_FD_CONSOLE_OUT, FIO_FD_INVALID, gdb_stdtargin, ui_file::read(), read(), remote_fileio_badfd(), remote_fileio_extract_int(), remote_fileio_extract_long(), remote_fileio_ioerror(), remote_fileio_map_fd(), remote_fileio_return_errno(), remote_fileio_return_success(), SEEK_CUR, target_write_memory(), xfree(), and xmalloc().
|
static |
Definition at line 719 of file remote-fileio.c.
References remote_fileio_extract_ptr_w_len(), remote_fileio_ioerror(), remote_fileio_reply(), remote_fileio_return_errno(), remote_fileio_return_success(), and target_read_memory().
|
static |
Definition at line 851 of file remote-fileio.c.
References remote_fileio_extract_long(), remote_fileio_extract_ptr_w_len(), remote_fileio_ioerror(), remote_fileio_reply(), remote_fileio_return_errno(), remote_fileio_return_success(), target_read_memory(), and target_write_memory().
|
static |
Definition at line 1057 of file remote-fileio.c.
References remote_fileio_extract_ptr_w_len(), remote_fileio_ioerror(), remote_fileio_reply(), remote_fileio_return_errno(), remote_fileio_return_success(), remote_fio_system_call_allowed, and target_read_memory().
|
static |
Definition at line 812 of file remote-fileio.c.
References remote_fileio_extract_ptr_w_len(), remote_fileio_ioerror(), remote_fileio_reply(), remote_fileio_return_errno(), remote_fileio_return_success(), and target_read_memory().
|
static |
Definition at line 591 of file remote-fileio.c.
References FIO_FD_CONSOLE_IN, FIO_FD_CONSOLE_OUT, FIO_FD_INVALID, gdb_stdtarg, gdb_stdtargerr, remote_fileio_badfd(), remote_fileio_extract_int(), remote_fileio_extract_long(), remote_fileio_ioerror(), remote_fileio_map_fd(), remote_fileio_return_errno(), remote_fileio_return_success(), target_read_memory(), xfree(), and xmalloc().
|
static |
Definition at line 52 of file remote-fileio.c.
References FIO_FD_CONSOLE_IN, FIO_FD_CONSOLE_OUT, FIO_FD_INVALID, and remote_fio_data.
Referenced by remote_fileio_close_target_fd(), remote_fileio_map_fd(), and remote_fileio_resize_fd_map().
|
static |
Definition at line 346 of file remote-fileio.c.
References remote_fileio_reply().
Referenced by remote_fileio_func_close(), remote_fileio_func_fstat(), remote_fileio_func_gettimeofday(), remote_fileio_func_isatty(), remote_fileio_func_lseek(), remote_fileio_func_open(), remote_fileio_func_read(), remote_fileio_func_rename(), remote_fileio_func_stat(), remote_fileio_func_system(), remote_fileio_func_unlink(), and remote_fileio_func_write().
|
static |
Definition at line 106 of file remote-fileio.c.
References FIO_FD_INVALID, remote_fileio_init_fd_map(), and remote_fio_data.
Referenced by remote_fileio_func_close(), remote_fileio_func_fstat(), remote_fileio_func_isatty(), remote_fileio_func_lseek(), remote_fileio_func_read(), and remote_fileio_func_write().
|
static |
Definition at line 150 of file remote-fileio.c.
Referenced by remote_fileio_func_open(), and remote_fileio_to_host_mode().
|
static |
Definition at line 86 of file remote-fileio.c.
References FIO_FD_INVALID, remote_fileio_resize_fd_map(), and remote_fio_data.
Referenced by remote_fileio_fd_to_targetfd().
|
static |
Definition at line 123 of file remote-fileio.c.
References flags, and O_BINARY.
Referenced by remote_fileio_func_open().
|
static |
Definition at line 309 of file remote-fileio.c.
References check_quit_flag(), and quit().
Referenced by do_remote_fileio_request().
|
static |
Definition at line 316 of file remote-fileio.c.
References check_quit_flag(), putpkt(), quit_handler, and remote_fileio_o_quit_handler.
Referenced by do_remote_fileio_request(), remote_fileio_badfd(), remote_fileio_func_gettimeofday(), remote_fileio_func_lseek(), remote_fileio_func_open(), remote_fileio_func_rename(), remote_fileio_func_stat(), remote_fileio_func_system(), remote_fileio_func_unlink(), remote_fileio_ioerror(), remote_fileio_request(), remote_fileio_return_errno(), and remote_fileio_return_success().
void remote_fileio_request | ( | remote_target * | remote, |
char * | buf, | ||
int | ctrlc_pending_p ) |
Definition at line 1172 of file remote-fileio.c.
References do_remote_fileio_request(), quit_handler, remote_fileio_o_quit_handler, remote_fileio_reply(), and set_quit_flag().
Referenced by remote_target::wait_as().
void remote_fileio_reset | ( | void | ) |
Definition at line 1148 of file remote-fileio.c.
References remote_fio_data, and xfree().
Referenced by remote_target::extended_remote_restart(), and remote_target::open_1().
|
static |
Definition at line 70 of file remote-fileio.c.
References FIO_FD_INVALID, remote_fileio_init_fd_map(), remote_fio_data, and xrealloc().
Referenced by remote_fileio_next_free_fd().
|
static |
Definition at line 358 of file remote-fileio.c.
References remote_fileio_reply().
Referenced by remote_fileio_func_close(), remote_fileio_func_fstat(), remote_fileio_func_gettimeofday(), remote_fileio_func_lseek(), remote_fileio_func_open(), remote_fileio_func_read(), remote_fileio_func_rename(), remote_fileio_func_stat(), remote_fileio_func_system(), remote_fileio_func_unlink(), and remote_fileio_func_write().
|
static |
Definition at line 365 of file remote-fileio.c.
References remote_fileio_reply().
Referenced by remote_fileio_func_close(), remote_fileio_func_fstat(), remote_fileio_func_gettimeofday(), remote_fileio_func_isatty(), remote_fileio_func_lseek(), remote_fileio_func_open(), remote_fileio_func_read(), remote_fileio_func_rename(), remote_fileio_func_stat(), remote_fileio_func_system(), remote_fileio_func_unlink(), and remote_fileio_func_write().
|
static |
Definition at line 195 of file remote-fileio.c.
References SEEK_CUR, and SEEK_SET.
Referenced by remote_fileio_func_lseek().
|
static |
Definition at line 289 of file remote-fileio.c.
Referenced by remote_fileio_to_fio_timeval().
|
static |
Definition at line 295 of file remote-fileio.c.
References remote_fileio_to_fio_long().
Referenced by remote_fileio_func_gettimeofday().
|
static |
Definition at line 1233 of file remote-fileio.c.
References remote_fileio_mode_to_host(), and remote_fileio_to_host_uint().
Referenced by remote_fileio_to_host_stat().
void remote_fileio_to_host_stat | ( | struct fio_stat * | fst, |
struct stat * | st ) |
Definition at line 1251 of file remote-fileio.c.
References remote_fileio_to_host_mode(), remote_fileio_to_host_time(), remote_fileio_to_host_uint(), and remote_fileio_to_host_ulong().
Referenced by remote_target::fileio_fstat().
|
static |
Definition at line 1242 of file remote-fileio.c.
References remote_fileio_to_host_uint().
Referenced by remote_fileio_to_host_stat().
|
static |
Definition at line 1215 of file remote-fileio.c.
References extract_unsigned_integer().
Referenced by remote_fileio_to_host_mode(), remote_fileio_to_host_stat(), and remote_fileio_to_host_time().
|
static |
Definition at line 1224 of file remote-fileio.c.
References extract_unsigned_integer().
Referenced by remote_fileio_to_host_stat().
|
static |
Definition at line 1276 of file remote-fileio.c.
References remote_fio_system_call_allowed.
Referenced by initialize_remote_fileio().
|
static |
Definition at line 1293 of file remote-fileio.c.
References gdb_printf(), and remote_fio_system_call_allowed.
Referenced by initialize_remote_fileio().
int* fd_map |
Definition at line 41 of file remote-fileio.c.
int fd_map_size |
Definition at line 42 of file remote-fileio.c.
void(* func) (remote_target *remote, char *) | ( | remote_target * | remote, |
char * | ) |
Definition at line 1106 of file remote-fileio.c.
Referenced by gdb.dap.server::_check_not_running(), gdb.prompt::_prompt_object_attr(), aarch64_fbsd_sigframe_init(), aarch64_linux_sigframe_init(), aarch64_show_debug_reg_state(), ada_args_match(), add_catch_command(), add_dump_command(), add_target(), aix_sighandle_frame_cache(), all_root_varobjs(), alpha_heuristic_proc_start(), am33_linux_sigframe_cache_init(), amd64_fbsd_sigframe_init(), amd64obsd_trapframe_cache(), arm_epilogue_frame_this_id(), arm_fbsd_sigframe_init(), arm_linux_restart_syscall_init(), arm_linux_rt_sigreturn_init(), arm_linux_sigreturn_init(), arm_linux_sigtramp_cache(), arm_prologue_this_id(), armobsd_sigframe_init(), as_a_scm_t_subr(), as_a_scm_t_subr(), as_a_scm_t_subr(), as_a_scm_t_subr(), attach_or_detach(), avr_frame_this_id(), btrace_func_from_recpy_func(), completion_tracker::build_completion_result(), call_internal_function(), check_exception_resume(), cris_frame_this_id(), csky_linux_rt_sigreturn_init(), csky_linux_rt_sigreturn_init_pt_regs(), regcache::debug_print_register(), expr::op_this_operation::do_generate_ax(), windows_nat_target::do_synchronously(), eval_op_func_static_var(), expr::func_static_var_operation::evaluate(), evpy_emit_event(), evregpy_connect(), evregpy_disconnect(), execute_code(), find_frame_funname(), exec_target::find_memory_regions(), fbsd_nat_target::find_memory_regions(), nbsd_nat_target::find_memory_regions(), procfs_target::find_memory_regions(), find_memory_regions_callback(), find_objc_msgsend(), find_solib_trampoline_target(), for_each_block(), for_each_just_stopped_thread(), frv_frame_this_id(), gdbarch_find_memory_regions(), gdbscm_call_guile(), gdbscm_with_guile(), gdbscm_wrap(), get_compile_context(), get_py_iter_from_func(), hppanbsd_sigtramp_cache_init(), i386_fbsd_sigframe_init(), i386nbsd_sigtramp_cache_init(), i386obsd_trapframe_cache(), gdb.dap.startup::in_dap_thread(), gdb.dap.startup::in_gdb_thread(), info_frame_command_core(), dap_interp::init(), inline_frame_this_id(), interp_factory_register(), linux_find_memory_regions(), linux_find_memory_regions_full(), load_libcompile(), loongarch_linux_rt_sigframe_init(), m32r_frame_this_id(), m68hc11_frame_this_id(), mach_check_error(), mi_command_mi::mi_command_mi(), microblaze_linux_sighandler_cache_init(), microblaze_linux_sigtramp_cache(), mips64_fbsd_sigframe_init(), mips64obsd_sigframe_init(), mips_fbsd_sigframe_init(), mips_linux_n32n64_sigframe_init(), mips_linux_o32_sigframe_init(), mips_show_dr(), nios2_linux_rt_sigreturn_init(), objfile_find_memory_regions(), open_target(), or1k_linux_sigframe_init(), parse_exp_in_context(), ppc32_linux_sigaction_cache_init(), ppc32_linux_sighandler_cache_init(), ppc64_linux_sigaction_cache_init(), ppc64_linux_sighandler_cache_init(), ppc_linux_sigtramp_cache(), ppcfbsd_sigtramp_frame_cache(), ppcnbsd_sigtramp_cache_init(), ppcobsd_sigtramp_frame_cache(), print_frame_arg_vars(), print_frame_args(), proc_error(), proc_warn(), windows_nat_target::process_thread(), recpy_bt_func_instructions(), recpy_bt_func_level(), recpy_bt_func_next(), recpy_bt_func_prev(), recpy_bt_func_symbol(), recpy_bt_func_up(), gdb.dap.server::request(), riscv_fbsd_sigframe_init(), riscv_linux_sigframe_init(), rs6000_frame_cache(), run_on_main_thread(), s390_prologue_frame_unwind_cache(), pv_area::scan(), set_cmd_completer_handle_brkchars(), sh_linux_rt_sigreturn_init(), sh_linux_sigreturn_init(), sh_linux_sigtramp_cache(), finish_command_fsm::should_stop(), gdb.dap.server.Server::shutdown(), sparc32_linux_sigframe_init(), sparc64_linux_sigframe_init(), target_find_memory_regions(), tic6x_linux_rt_sigreturn_init(), tilegx_linux_sigframe_init(), tramp_frame_sniffer(), tramp_frame_start(), gdb.dap.typecheck::type_check(), until_next_command(), x86_show_dr(), and z80_frame_this_id().
const char* name |
Definition at line 1105 of file remote-fileio.c.
Referenced by do_remote_fileio_request().
|
static |
Definition at line 302 of file remote-fileio.c.
Referenced by remote_fileio_reply(), and remote_fileio_request().
struct { ... } remote_fio_data |
struct { ... } remote_fio_func_map[] |
Referenced by do_remote_fileio_request().
|
static |
Definition at line 49 of file remote-fileio.c.
Referenced by remote_fileio_func_system(), set_system_call_allowed(), and show_system_call_allowed().