/* Generic serial interface routines
- Copyright (C) 1992-2019 Free Software Foundation, Inc.
+ Copyright (C) 1992-2021 Free Software Foundation, Inc.
This file is part of GDB.
{
#ifndef USE_WIN32API
/* Check to see if name is a socket. If it is, then treat it
- as such. Otherwise assume that it's a character device. */
+ as such. Otherwise assume that it's a character device. */
struct stat sb;
if (stat (name, &sb) == 0 && (sb.st_mode & S_IFMT) == S_IFSOCK)
ops = serial_interface_lookup ("local");
return NULL;
}
+ scb->name = open_name != NULL ? xstrdup (open_name) : NULL;
scb->next = scb_base;
scb_base = scb;
{
ops = serial_interface_lookup ("terminal");
if (!ops)
- ops = serial_interface_lookup ("hardwire");
+ ops = serial_interface_lookup ("hardwire");
}
if (!ops)
scb = new_serial (ops);
+ scb->name = NULL;
scb->next = scb_base;
scb_base = scb;
if (really_close)
scb->ops->close (scb);
+ xfree (scb->name);
+
/* For serial_is_open. */
scb->bufp = NULL;
serial_logchar (serial_logfp, 'r', ch, timeout);
/* Make sure that the log file is as up-to-date as possible,
- in case we are getting ready to dump core or something. */
+ in case we are getting ready to dump core or something. */
gdb_flush (serial_logfp);
}
if (serial_debug_p (scb))
serial_logchar (serial_logfp, 'w', str[c] & 0xff, 0);
/* Make sure that the log file is as up-to-date as possible,
- in case we are getting ready to dump core or something. */
+ in case we are getting ready to dump core or something. */
gdb_flush (serial_logfp);
}
if (serial_debug_p (scb))
static struct cmd_list_element *serial_set_cmdlist;
static struct cmd_list_element *serial_show_cmdlist;
-static void
-serial_set_cmd (const char *args, int from_tty)
-{
- printf_unfiltered ("\"set serial\" must be followed "
- "by the name of a command.\n");
- help_list (serial_set_cmdlist, "set serial ", all_commands, gdb_stdout);
-}
-
-static void
-serial_show_cmd (const char *args, int from_tty)
-{
- cmd_show_list (serial_show_cmdlist, from_tty, "");
-}
-
-/* Baud rate specified for talking to serial target systems. Default
- is left as -1, so targets can choose their own defaults. */
-/* FIXME: This means that "show serial baud" and gr_files_info can
- print -1 or (unsigned int)-1. This is a Bad User Interface. */
+/* See serial.h. */
int baud_rate = -1;
value);
}
-/* Parity for serial port. */
+/* See serial.h. */
int serial_parity = GDBPARITY_NONE;
serial_parity = GDBPARITY_NONE;
}
+void _initialize_serial ();
void
-_initialize_serial (void)
+_initialize_serial ()
{
#if 0
add_com ("connect", class_obscure, connect_command, _("\
Use <CR>~. or <CR>~^D to break out."));
#endif /* 0 */
- add_prefix_cmd ("serial", class_maintenance, serial_set_cmd, _("\
+ add_basic_prefix_cmd ("serial", class_maintenance, _("\
Set default serial/parallel port configuration."),
- &serial_set_cmdlist, "set serial ",
- 0/*allow-unknown*/,
- &setlist);
+ &serial_set_cmdlist,
+ 0/*allow-unknown*/,
+ &setlist);
- add_prefix_cmd ("serial", class_maintenance, serial_show_cmd, _("\
+ add_show_prefix_cmd ("serial", class_maintenance, _("\
Show default serial/parallel port configuration."),
- &serial_show_cmdlist, "show serial ",
- 0/*allow-unknown*/,
- &showlist);
+ &serial_show_cmdlist,
+ 0/*allow-unknown*/,
+ &showlist);
/* If target is open when baud changes, it doesn't take effect until
the next open (I think, not sure). */
&serial_set_cmdlist, &serial_show_cmdlist);
add_setshow_enum_cmd ("parity", no_class, parity_enums,
- &parity, _("\
-Set parity for remote serial I/O"), _("\
-Show parity for remote serial I/O"), NULL,
- set_parity,
- NULL, /* FIXME: i18n: */
- &serial_set_cmdlist, &serial_show_cmdlist);
+ &parity, _("\
+Set parity for remote serial I/O."), _("\
+Show parity for remote serial I/O."), NULL,
+ set_parity,
+ NULL, /* FIXME: i18n: */
+ &serial_set_cmdlist, &serial_show_cmdlist);
add_setshow_filename_cmd ("remotelogfile", no_class, &serial_logfile, _("\
Set filename for remote session recording."), _("\
add_setshow_enum_cmd ("remotelogbase", no_class, logbase_enums,
&serial_logbase, _("\
-Set numerical base for remote session logging"), _("\
-Show numerical base for remote session logging"), NULL,
+Set numerical base for remote session logging."), _("\
+Show numerical base for remote session logging."), NULL,
NULL,
NULL, /* FIXME: i18n: */
&setlist, &showlist);