GDB (xrefs)
|
#include "defs.h"
#include "gdb_select.h"
#include "interps.h"
#include "target.h"
#include "guile-internal.h"
#include <poll.h>
Go to the source code of this file.
Classes | |
struct | ioscm_file_port |
struct | ioscm_memory_port |
Macros | |
#define | GDB_STDIO_BUFFER_DEFAULT_SIZE 1024 |
Enumerations | |
enum | oport { GDB_STDOUT, GDB_STDERR } |
Functions | |
static SCM | ioscm_open_port (scm_t_bits port_type, long mode_bits) |
static int | ioscm_input_waiting (SCM port) |
static int | ioscm_fill_input (SCM port) |
static void | fputsn_filtered (const char *s, size_t size, struct ui_file *stream) |
static void | ioscm_write (SCM port, const void *data, size_t size) |
static void | ioscm_flush (SCM port) |
static void | ioscm_init_gdb_stdio_port (void) |
static void | ioscm_init_stdio_buffers (SCM port, long mode_bits) |
static SCM | ioscm_make_gdb_stdio_port (int fd) |
static SCM | gdbscm_stdio_port_p (SCM scm) |
static SCM | gdbscm_input_port (void) |
static SCM | gdbscm_output_port (void) |
static SCM | gdbscm_error_port (void) |
static void | ioscm_file_port_delete (struct ui_file *file) |
static void | ioscm_file_port_rewind (struct ui_file *file) |
static void | ioscm_file_port_put (struct ui_file *file, ui_file_put_method_ftype *write, void *dest) |
static void | ioscm_file_port_write (struct ui_file *file, const char *buffer, long length_buffer) |
static struct ui_file * | ioscm_file_port_new (SCM port) |
static SCM | ioscm_with_output_to_port_worker (SCM port, SCM thunk, enum oport oport, const char *func_name) |
static SCM | gdbscm_percent_with_gdb_output_to_port (SCM port, SCM thunk) |
static SCM | gdbscm_percent_with_gdb_error_to_port (SCM port, SCM thunk) |
static int | ioscm_lseek_address (ioscm_memory_port *iomem, LONGEST offset, int whence) |
static int | gdbscm_memory_port_fill_input (SCM port) |
static void | gdbscm_memory_port_end_input (SCM port, int offset) |
static void | gdbscm_memory_port_flush (SCM port) |
static void | gdbscm_memory_port_write (SCM port, const void *data, size_t size) |
static scm_t_off | gdbscm_memory_port_seek (SCM port, scm_t_off offset, int whence) |
static int | gdbscm_memory_port_close (SCM port) |
static size_t | gdbscm_memory_port_free (SCM port) |
static int | gdbscm_memory_port_print (SCM exp, SCM port, scm_print_state *pstate) |
static void | ioscm_init_memory_port_type (void) |
static long | ioscm_parse_mode_bits (const char *func_name, const char *mode) |
static void | ioscm_init_memory_port (SCM port, CORE_ADDR start, CORE_ADDR end) |
static void | ioscm_reinit_memory_port (SCM port, size_t read_buf_size, size_t write_buf_size, const char *func_name) |
static SCM | gdbscm_open_memory (SCM rest) |
static int | gdbscm_is_memory_port (SCM obj) |
static SCM | gdbscm_memory_port_p (SCM obj) |
static SCM | gdbscm_memory_port_range (SCM port) |
static SCM | gdbscm_memory_port_read_buffer_size (SCM port) |
static SCM | gdbscm_set_memory_port_read_buffer_size_x (SCM port, SCM size) |
static SCM | gdbscm_memory_port_write_buffer_size (SCM port) |
static SCM | gdbscm_set_memory_port_write_buffer_size_x (SCM port, SCM size) |
void | gdbscm_initialize_ports (void) |
Variables | |
static SCM | orig_input_port_scm |
static SCM | orig_output_port_scm |
static SCM | orig_error_port_scm |
static scm_t_bits | stdio_port_desc |
static char | stdio_port_desc_name [] = "gdb:stdio-port" |
static const char | input_port_name [] = "gdb:stdin" |
static const char | output_port_name [] = "gdb:stdout" |
static const char | error_port_name [] = "gdb:stderr" |
static SCM | input_port_scm |
static SCM | output_port_scm |
static SCM | error_port_scm |
static int | file_port_magic |
static scm_t_bits | memory_port_desc |
static char | memory_port_desc_name [] = "gdb:memory-port" |
static const unsigned | default_read_buf_size = 16 |
static const unsigned | default_write_buf_size = 16 |
static const unsigned | min_memory_port_buf_size = 1 |
static const unsigned | max_memory_port_buf_size = 4096 |
static char * | out_of_range_buf_size |
static SCM | mode_keyword |
static SCM | start_keyword |
static SCM | size_keyword |
static const scheme_function | port_functions [] |
static const scheme_function | private_port_functions [] |
#define GDB_STDIO_BUFFER_DEFAULT_SIZE 1024 |
Referenced by ioscm_init_stdio_buffers().
enum oport |
Enumerator | |
---|---|
GDB_STDOUT | |
GDB_STDERR |
Definition at line 98 of file scm-ports.c.
Definition at line 246 of file scm-ports.c.
References fputc_filtered(), fputs_filtered(), and size.
Referenced by ioscm_write().
|
static |
Definition at line 421 of file scm-ports.c.
References error_port_scm.
void gdbscm_initialize_ports | ( | void | ) |
Definition at line 1388 of file scm-ports.c.
References error_port_scm, gdbscm_define_functions(), input_port_scm, ioscm_init_gdb_stdio_port(), ioscm_init_memory_port_type(), ioscm_make_gdb_stdio_port(), max_memory_port_buf_size, min_memory_port_buf_size, mode_keyword, orig_error_port_scm, orig_input_port_scm, orig_output_port_scm, out_of_range_buf_size, output_port_scm, size_keyword, start_keyword, and xstrprintf().
|
static |
Definition at line 405 of file scm-ports.c.
References input_port_scm.
|
static |
Definition at line 1174 of file scm-ports.c.
References memory_port_desc.
Referenced by gdbscm_memory_port_p(), gdbscm_memory_port_range(), gdbscm_memory_port_read_buffer_size(), gdbscm_memory_port_write_buffer_size(), gdbscm_set_memory_port_read_buffer_size_x(), and gdbscm_set_memory_port_write_buffer_size_x().
|
static |
Definition at line 875 of file scm-ports.c.
References gdbscm_memory_port_flush(), and xfree().
Referenced by gdbscm_memory_port_free(), and ioscm_init_memory_port_type().
|
static |
Definition at line 654 of file scm-ports.c.
References _, FUNC_NAME, gdbscm_out_of_range_error(), ioscm_lseek_address(), and SEEK_CUR.
Referenced by ioscm_init_memory_port_type().
|
static |
Definition at line 624 of file scm-ports.c.
References _, ioscm_memory_port::current, FUNC_NAME, gdb_assert, gdbscm_memory_error(), ioscm_memory_port::size, ioscm_memory_port::start, and target_read_memory().
Referenced by ioscm_init_memory_port_type().
|
static |
Definition at line 687 of file scm-ports.c.
References _, ioscm_memory_port::current, FUNC_NAME, gdbscm_memory_error(), gdbscm_out_of_range_error(), gdbscm_scm_from_ulongest(), ioscm_memory_port::size, ioscm_memory_port::start, and target_write_memory().
Referenced by gdbscm_memory_port_close(), gdbscm_memory_port_seek(), gdbscm_memory_port_write(), and ioscm_init_memory_port_type().
|
static |
Definition at line 896 of file scm-ports.c.
References gdbscm_memory_port_close().
Referenced by ioscm_init_memory_port_type().
|
static |
Definition at line 1182 of file scm-ports.c.
References gdbscm_is_memory_port().
|
static |
Definition at line 906 of file scm-ports.c.
References ioscm_memory_port::end, gdbscm_printf(), hex_string(), and ioscm_memory_port::start.
Referenced by ioscm_init_memory_port_type().
|
static |
Definition at line 1190 of file scm-ports.c.
References ioscm_memory_port::end, FUNC_NAME, gdbscm_is_memory_port(), gdbscm_scm_from_ulongest(), memory_port_desc_name, and ioscm_memory_port::start.
|
static |
Definition at line 1205 of file scm-ports.c.
References FUNC_NAME, gdbscm_is_memory_port(), memory_port_desc_name, and ioscm_memory_port::read_buf_size.
|
static |
Definition at line 783 of file scm-ports.c.
References _, ioscm_memory_port::current, FUNC_NAME, gdbscm_memory_port_flush(), gdbscm_out_of_range_error(), gdbscm_scm_from_longest(), ioscm_lseek_address(), SEEK_CUR, and ioscm_memory_port::size.
Referenced by ioscm_init_memory_port_type().
|
static |
Definition at line 717 of file scm-ports.c.
References _, ioscm_memory_port::current, FUNC_NAME, gdbscm_memory_error(), gdbscm_memory_port_flush(), gdbscm_out_of_range_error(), gdbscm_scm_from_ulongest(), ioscm_memory_port::size, size, ioscm_memory_port::start, and target_write_memory().
Referenced by ioscm_init_memory_port_type().
|
static |
Definition at line 1247 of file scm-ports.c.
References FUNC_NAME, gdbscm_is_memory_port(), memory_port_desc_name, and ioscm_memory_port::write_buf_size.
|
static |
Definition at line 1119 of file scm-ports.c.
References _, FUNC_NAME, gdbscm_out_of_range_error(), gdbscm_parse_function_args(), gdbscm_scm_from_ulongest(), ioscm_init_memory_port(), ioscm_open_port(), ioscm_parse_mode_bits(), memory_port_desc, mode_keyword, size, size_keyword, and start_keyword.
|
static |
Definition at line 413 of file scm-ports.c.
References output_port_scm.
|
static |
Definition at line 573 of file scm-ports.c.
References FUNC_NAME, GDB_STDERR, and ioscm_with_output_to_port_worker().
|
static |
Definition at line 558 of file scm-ports.c.
References FUNC_NAME, GDB_STDOUT, and ioscm_with_output_to_port_worker().
|
static |
Definition at line 1221 of file scm-ports.c.
References _, FUNC_NAME, gdbscm_is_memory_port(), gdbscm_out_of_range_error(), ioscm_reinit_memory_port(), max_memory_port_buf_size, memory_port_desc_name, min_memory_port_buf_size, out_of_range_buf_size, and ioscm_memory_port::write_buf_size.
|
static |
Definition at line 1263 of file scm-ports.c.
References _, FUNC_NAME, gdbscm_is_memory_port(), gdbscm_out_of_range_error(), ioscm_reinit_memory_port(), max_memory_port_buf_size, memory_port_desc_name, min_memory_port_buf_size, out_of_range_buf_size, and ioscm_memory_port::read_buf_size.
|
static |
Definition at line 393 of file scm-ports.c.
References stdio_port_desc.
|
static |
Definition at line 429 of file scm-ports.c.
References _, file_port_magic, internal_error(), ioscm_file_port::magic, ui_file_data(), and xfree().
Referenced by ioscm_file_port_new().
|
static |
Definition at line 482 of file scm-ports.c.
References file_port_magic, ioscm_file_port_delete(), ioscm_file_port_put(), ioscm_file_port_rewind(), ioscm_file_port_write(), ioscm_file_port::magic, ioscm_file_port::port, set_ui_file_data(), set_ui_file_put(), set_ui_file_rewind(), set_ui_file_write(), and ui_file_new().
Referenced by ioscm_with_output_to_port_worker().
|
static |
Definition at line 452 of file scm-ports.c.
References _, file_port_magic, internal_error(), ioscm_file_port::magic, and ui_file_data().
Referenced by ioscm_file_port_new().
|
static |
Definition at line 440 of file scm-ports.c.
References _, file_port_magic, internal_error(), ioscm_file_port::magic, ioscm_file_port::port, and ui_file_data().
Referenced by ioscm_file_port_new().
|
static |
Definition at line 466 of file scm-ports.c.
References _, file_port_magic, internal_error(), ioscm_file_port::magic, ioscm_file_port::port, and ui_file_data().
Referenced by ioscm_file_port_new().
|
static |
Definition at line 218 of file scm-ports.c.
References FUNC_NAME, gdb_flush(), gdb_stderr, gdb_stdin, gdb_stdout, input_port_scm, and ui_file_read().
Referenced by ioscm_init_gdb_stdio_port().
|
static |
Definition at line 286 of file scm-ports.c.
References error_port_scm, gdb_flush(), gdb_stderr, gdb_stdout, and input_port_scm.
Referenced by ioscm_init_gdb_stdio_port().
|
static |
Definition at line 304 of file scm-ports.c.
References ioscm_fill_input(), ioscm_flush(), ioscm_input_waiting(), ioscm_write(), stdio_port_desc, and stdio_port_desc_name.
Referenced by gdbscm_initialize_ports().
Definition at line 980 of file scm-ports.c.
References ioscm_memory_port::current, default_read_buf_size, default_write_buf_size, ioscm_memory_port::end, gdb_assert, ioscm_memory_port::read_buf_size, ioscm_memory_port::size, ioscm_memory_port::start, ioscm_memory_port::write_buf_size, and xmalloc().
Referenced by gdbscm_open_memory().
|
static |
Definition at line 923 of file scm-ports.c.
References gdbscm_memory_port_close(), gdbscm_memory_port_end_input(), gdbscm_memory_port_fill_input(), gdbscm_memory_port_flush(), gdbscm_memory_port_free(), gdbscm_memory_port_print(), gdbscm_memory_port_seek(), gdbscm_memory_port_write(), memory_port_desc, and memory_port_desc_name.
Referenced by gdbscm_initialize_ports().
|
static |
Definition at line 318 of file scm-ports.c.
References GDB_STDIO_BUFFER_DEFAULT_SIZE, and size.
Referenced by ioscm_make_gdb_stdio_port().
|
static |
Definition at line 156 of file scm-ports.c.
References FUNC_NAME, gdb_select(), input_port_scm, num_fds, and use_poll.
Referenced by ioscm_init_gdb_stdio_port().
|
static |
Definition at line 585 of file scm-ports.c.
References ioscm_memory_port::current, gdb_assert, offset, SEEK_CUR, SEEK_SET, and ioscm_memory_port::size.
Referenced by gdbscm_memory_port_end_input(), and gdbscm_memory_port_seek().
|
static |
Definition at line 356 of file scm-ports.c.
References error_port_name, gdb_assert_not_reached, gdbscm_scm_from_c_string(), input_port_name, ioscm_init_stdio_buffers(), ioscm_open_port(), name, output_port_name, and stdio_port_desc.
Referenced by gdbscm_initialize_ports().
|
static |
Definition at line 131 of file scm-ports.c.
Referenced by gdbscm_open_memory(), and ioscm_make_gdb_stdio_port().
Definition at line 941 of file scm-ports.c.
References _, gdbscm_out_of_range_error(), and gdbscm_scm_from_c_string().
Referenced by gdbscm_open_memory().
|
static |
Definition at line 1036 of file scm-ports.c.
References _, gdb_assert, max_memory_port_buf_size, min_memory_port_buf_size, ioscm_memory_port::read_buf_size, ioscm_memory_port::write_buf_size, xfree(), and xmalloc().
Referenced by gdbscm_set_memory_port_read_buffer_size_x(), and gdbscm_set_memory_port_write_buffer_size_x().
|
static |
Definition at line 500 of file scm-ports.c.
References _, current_uiout, do_cleanups(), gdb_stderr, GDB_STDERR, gdb_stdout, gdbscm_is_exception(), gdbscm_is_true, gdbscm_safe_call_0(), gdbscm_throw(), interpreter_async, ioscm_file_port_new(), make_cleanup_restore_integer(), make_cleanup_restore_ui_file(), make_cleanup_ui_file_delete(), make_cleanup_ui_out_redirect_pop(), set_batch_flag_and_make_cleanup_restore_page_info(), ui_out_redirect(), and warning().
Referenced by gdbscm_percent_with_gdb_error_to_port(), and gdbscm_percent_with_gdb_output_to_port().
|
static |
Definition at line 262 of file scm-ports.c.
References CATCH, END_CATCH, error_port_scm, fputsn_filtered(), gdb_stderr, gdb_stdout, GDBSCM_HANDLE_GDB_EXCEPTION, input_port_scm, RETURN_MASK_ALL, and TRY.
Referenced by ioscm_init_gdb_stdio_port().
|
static |
Definition at line 112 of file scm-ports.c.
Referenced by ioscm_init_memory_port().
|
static |
Definition at line 113 of file scm-ports.c.
Referenced by ioscm_init_memory_port().
|
static |
Definition at line 84 of file scm-ports.c.
Referenced by ioscm_make_gdb_stdio_port().
|
static |
Definition at line 91 of file scm-ports.c.
Referenced by gdbscm_error_port(), gdbscm_initialize_ports(), ioscm_flush(), and ioscm_write().
|
static |
Definition at line 95 of file scm-ports.c.
Referenced by ioscm_file_port_delete(), ioscm_file_port_new(), ioscm_file_port_put(), ioscm_file_port_rewind(), and ioscm_file_port_write().
|
static |
Definition at line 82 of file scm-ports.c.
Referenced by ioscm_make_gdb_stdio_port().
|
static |
Definition at line 89 of file scm-ports.c.
Referenced by gdbscm_initialize_ports(), gdbscm_input_port(), ioscm_fill_input(), ioscm_flush(), ioscm_input_waiting(), and ioscm_write().
|
static |
Definition at line 117 of file scm-ports.c.
Referenced by gdbscm_initialize_ports(), gdbscm_set_memory_port_read_buffer_size_x(), gdbscm_set_memory_port_write_buffer_size_x(), and ioscm_reinit_memory_port().
|
static |
Definition at line 101 of file scm-ports.c.
Referenced by gdbscm_is_memory_port(), gdbscm_open_memory(), and ioscm_init_memory_port_type().
|
static |
Definition at line 104 of file scm-ports.c.
Referenced by gdbscm_memory_port_range(), gdbscm_memory_port_read_buffer_size(), gdbscm_memory_port_write_buffer_size(), gdbscm_set_memory_port_read_buffer_size_x(), gdbscm_set_memory_port_write_buffer_size_x(), and ioscm_init_memory_port_type().
|
static |
Definition at line 116 of file scm-ports.c.
Referenced by gdbscm_initialize_ports(), gdbscm_set_memory_port_read_buffer_size_x(), gdbscm_set_memory_port_write_buffer_size_x(), and ioscm_reinit_memory_port().
|
static |
Definition at line 123 of file scm-ports.c.
Referenced by gdbscm_initialize_ports(), and gdbscm_open_memory().
|
static |
Definition at line 73 of file scm-ports.c.
Referenced by gdbscm_initialize_ports().
|
static |
Definition at line 71 of file scm-ports.c.
Referenced by gdbscm_initialize_ports().
|
static |
Definition at line 72 of file scm-ports.c.
Referenced by gdbscm_initialize_ports().
|
static |
Definition at line 120 of file scm-ports.c.
Referenced by gdbscm_initialize_ports(), gdbscm_set_memory_port_read_buffer_size_x(), and gdbscm_set_memory_port_write_buffer_size_x().
|
static |
Definition at line 83 of file scm-ports.c.
Referenced by ioscm_make_gdb_stdio_port().
|
static |
Definition at line 90 of file scm-ports.c.
Referenced by gdbscm_initialize_ports(), and gdbscm_output_port().
|
static |
Definition at line 1288 of file scm-ports.c.
|
static |
Definition at line 1350 of file scm-ports.c.
|
static |
Definition at line 125 of file scm-ports.c.
Referenced by gdbscm_initialize_ports(), and gdbscm_open_memory().
|
static |
Definition at line 124 of file scm-ports.c.
Referenced by gdbscm_initialize_ports(), and gdbscm_open_memory().
|
static |
Definition at line 76 of file scm-ports.c.
Referenced by gdbscm_stdio_port_p(), ioscm_init_gdb_stdio_port(), and ioscm_make_gdb_stdio_port().
|
static |
Definition at line 79 of file scm-ports.c.
Referenced by ioscm_init_gdb_stdio_port().