aboutsummaryrefslogtreecommitdiff
path: root/gdb/ser-unix.c
AgeCommit message (Collapse)AuthorFilesLines
2000-02-09Replace ../include/wait.h with gdb_wait.h.Andrew Cagney1-3/+1
2000-02-02import gdb-2000-02-01 snapshotJason Molenda1-4/+4
1999-10-05import gdb-1999-10-04 snapshotJason Molenda1-67/+273
1999-09-22import gdb-1999-09-21Jason Molenda1-125/+378
1999-08-31import gdb-1999-08-30 snapshotJason Molenda1-3/+0
1999-07-07import gdb-1999-07-07 post reformatJason Molenda1-100/+161
1999-07-07import gdb-1999-07-07 pre reformatJason Molenda1-5/+1
1999-07-05import gdb-1999-07-05 snapshotJason Molenda1-1/+5
1999-04-26import gdb-19990422 snapshotStan Shebs1-24/+24
1999-04-16Initial creation of sourceware repositorygdb-4_18-branchpointStan Shebs1-0/+808
1999-04-16Initial creation of sourceware repositoryStan Shebs1-808/+0
1999-01-28This is the merge of the Itcl3.0 gdbtk development branch into theJim Ingham1-6/+6
trunk. To build it, you will have to do update -dP in the itcl directory, and update tcl, tk, tix and libgui as well.
1998-11-13Fri Nov 13 00:15:08 1998 Geoffrey Noer <noer@cygnus.com>Geoffrey Noer1-6/+6
Changes to account for name change from cygwin32 to cygwin and clean up Win32-related ifdefs. * configure.tgt: check for cygwin* instead of cygwin32. New cygwin gdb_target variable loses the "32". * configure.host: check for cygwin* instead of cygwin32. New cygwin gdb_host variable loses the "32". * configure.in: test __CYGWIN__ instead of __CYGWIN32__, rename gdb_cv_os_cygwin32 variable to drop the "32". Call AM_EXEEXT instead of AC_EXEEXT since that isn't in a released autoconf yet. * configure: regenerate. * main.c: drop "32" from cygwin_ funcs, include sys/cygwin.h where cygwin path conv protos live, instead of adding a proto here for them here. * {main.c, ser-tcp.c, ser-unix.c, top.c}: check __CYGWIN__ instead of __CYGWIN32__. * source.c: thoughout, check _WIN32 instead of WIN32. * config/i386/cygwin32.mh: delete. * config/i386/cygwin.mh: new file, was cygwin32.mh. * config/i386/cygwin32.mt: delete. * config/i386/cygwin.mt: new file, was cygwin32.mt. * config/i386/tm-cygwin32.h: delete. * config/i386/tm-cygwin.h: new file, was tm-cygwin32.h. * config/i386/xm-cygwin32.h: delete. * config/i386/xm-cygwin.h: new file, was xm-cygwin32.h. * config/i386/xm-windows.h: #include xm-cygwin.h now. * config/powerpc/cygwin32.mh: delete. * config/powerpc/cygwin.mh: new file, was cygwin32.mh. * config/powerpc/cygwin32.mt: delete. * config/powerpc/cygwin.mt: new file, was cygwin32.mt. * config/powerpc/tm-cygwin32.h: delete. * config/powerpc/tm-cygwin.h: new file, was tm-cygwin32.h. * config/powerpc/xm-cygwin32.h: delete. * config/powerpc/xm-cygwin.h: new file, was xm-cygwin32.h. * rdi-share/aclocal.m4: regenerate with aclocal. * rdi-share/configure: regenerate with autoconf. * rdi-share/{host.h, hostchan.c, hostchan.h, serdrv.c, * serpardr.c, unixcomm.c}: check __CYGWIN__ instead of __CYGWIN32__.
1998-10-161998-10-16 Jason Molenda (jsm@bugshack.cygnus.com)Jason Molenda1-5/+8
* command.c copying.c copying.awk core-aout.c core-regset.c corelow.c dcache.c i386-tdep.c i386v4-nat.c i387-tdep.c infcmd.c infptrace.c infrun.c remote.c solib.c symfile.c symmisc.c valarith.c: Add prototypes. * defs.h: Add prototype for utils.c::do_run_cleanups. * gdbtypes.c: Add prototypes. (make_pointer_type): Add braces to remove nested if-else ambiguity. (make_reference_type): Ditto. * printcmd.c (printf_command): Initialize 'f' and 'string' at function startup to suppress possibly-used-before-initialized warning. * remote-utils.c: Add prototypes. (sr_pollchar): Add braces to remove nested if-else ambiguity. * ser-tcp.c: Add prototypes. (wait_for): Add braces to remove nested if-else ambiguity. (tcp_readchar): Ditto. * ser-unix.c: Add prototypes. (get_tty_state): Don't define errno here. (get_tty_state): Don't define errno here. (hardwire_readchar): Only define 't' if we are compiling in a Cygwin environment. * symtab.c: Add prototypes. (find_methods): Add braces to remove nested if-else ambiguity. (search_symbols): Set 'i' to an initial value to suppress a possibly-used-before-initialized warning. * valops.c: Add prototypes. (value_cast): Set 'eltype2' to an initial value to suppress a possibly-used-before-initialized warning. (value_of_variable): Add braces to remove nested if-else ambiguity. (value_of_this): Ditto. * valprint.c: Add prototypes. (print_floating): Add braces to remove nested if-else ambiguity. Looks like a big change, but it is really just a lot of small stuff. In the cases where GCC was flagging a possible use-before-initialized warning on variables, it turned out that these were being used properly but GCC couldn't see that.
1998-07-31Change the definition of ui_loop_hook to be a function pointerDrew Moseley1-1/+1
rather than a function.
1998-05-24 * ser-unix.c (wait_for): Do not reset timeout_remaining for cygwin32 soKeith Seitz1-3/+26
that we can use this member to track real timeouts. (hardwire_readchar): Modify for cygwin32 so that we only ever use a real system timeout of one second. Track the "real" timeout as a series of th ese one second timeouts. Call ui_loop_hook to keep the gui alive. * top.c: Define new hook for cygwin32, "ui_loop_hook". * gdbtk.c (gdbtk_init): Add ui_loop_hook for CygWin32 to work around update problems.
1998-05-04Update copyright.Stu Grossman1-1/+1
1998-05-02 * ser-unix.c (baudtab): Add 57600, 115200, 230400, and 460800 baud.Stu Grossman1-0/+12
1998-03-06PR 15068Fred Fish1-0/+34
* utils.c (quit): Call SERIAL_DRAIN_OUTPUT rather than SERIAL_FLUSH_OUTPUT. * serial.h (struct serial_ops): Add drain_output, pointer to function that waits for output to drain. (SERIAL_DRAIN_OUTPUT): Macro to wait for output to drain. * ser-unix.c (hardwire_drain_output): New function and prototype. * ser-unix.c (hardwire_ops): Add entry for drain_output function. * ser-tcp.c (tcp_ops): Ditto. * ser-ocd.c (ocd_ops): Ditto. * ser-mac.c (mac_ops): Ditto. * ser-go32.c (dos_ops): Ditto. * ser-e7kpc.c (e7000pc_ops): Ditto.
1996-07-26See gdb ChangeLog entry with header:Fred Fish1-1/+7
Thu Jul 25 19:41:31 1996 Fred Fish <fnf@cygnus.com> for a rather huge set of changes. I was going to put them here, but it made cvs dump core. :-(
1995-09-29Thu Sep 28 14:32:11 1995 steve chamberlain <sac@slash.cygnus.com>Steve Chamberlain1-8/+6
* callback.[ch]: New files. * remote-rdp.c: Support for the ARM RDP monitor. * Makefile: Update. * arm-tdep.c (arm_othernames): New. (_initialize_arm_tdep): install 'othernames' command. (arm_nullified_insn, shifted_reg_val, arm_get_next_pc): New. * configure.in: Check for termios.h, termio.h and sgtty.h. (i[345]86-*-win32*): New host. * configure: Regenerated. * inflow.c: Clean up inclusions. * main.c (main): Check for WINGDB, not WIN32. * printcmd.c (do_examine): Put QUIT test in loop. * remote-hms.c (e7000_load): Delete. (hms_ops): Point to generic_load instead. * remote-hms.c (hms_ops): Point to generic_load. * remote-sim.c (sim_callback_write_stdout): Becomes gdbsim_write_stdout. (gdbsim_load): Call generic_load. * remote-utils.c (gr_load_image): Delete. * ser-unix.c (terminal.h): Include instead of havig own #if tree. (hardwire_flush_input): Reset input buffer too. * source.c (openp): If WIN32 then open file in binary mode. * terminal.h: Configure IO mechanism using autoconf defines if available and not overriden. * utils.c (quit, pollquit, notice_quit): WIN32 check becomes WINGDB check. * config/arm/arm.mt (TDEPFILES): Add remote-rdp.o * config/arm/tm-arm.h (TARGET_BYTE_ORDER): becomes TARGET_BYTE_ORDER_SELECTABLE. (ADDR_BITS_REMOVE): New. (ORIGINAL_REGISTER_NAMES, ADDITIONAL_REGISTER_NAMES): New. (INST_xx): New (FRAME_FIND_SAVED_REGS): Pass the right argument. (arm_get_next_pc): Declare. * mswin/prebuilt/*/bfdtarget.h (SELECT_ARCHITECTURES): Need leading &.
1995-08-02Update FSF address.Fred Fish1-1/+1
1995-07-18 * dache.c (struct dcache_block): Change data member from unsigned charFred Fish1-0/+2
to char, since everything passed in and out of dcache is char or casted to appropriate type anyway. (dcache_alloc): Move assignment of db out of test and combine separate tests into if-else. (dcache_peek_byte): Change ptr from unsigned char* to char*. (dcache_peek_byte): Remove now unnecessary cast in read_memory call. (dcache_peek): Change cast of incoming data arg. (dcache_poke): Change cast of addr of incoming data arg. (dcache_info): Mask data passed to printf_filtered to lsbyte only. (dcache_info): Change printf_filtered arg from "% 2x" to " %2x". * target.c (debug_to_thread_alive): Change return type to int and return zero, for type compatibility with other *_thread_alive funcs. (cleanup_target): Change cast of ignore function to match type of the to_thread_alive member. * defs.h (error_hook): Add ATTR_NORETURN. * defs.h (NORETURN, ATTR_NORETURN): Switch from volatile to __attribute__ method with gcc 2.7, to avoid gcc 2.6.3 bug. * remote.c (remote_wait): Cast first arg to strtol, strchr, and strncmp to "const char *" from "unsigned char *". (remote_wait): Cast arg to putpkt and strcpy from "unsigned char *" to "char *". (remote_wait): Change printf format for long arg from "%d" to "%ld". (getpkt): Remove unused variable "bp". (remote_fetch_word, remote_store_word): Ifdef out apparently unused functions. * breakpoint.c (watchpoint_check): Removed unused variables "saved_level" and "saved_frame". * valops.c (value_arg_coerce): Add other enum TYPE_CODE_* and default cases to switch for completeness. * infrun.c (wait_for_inferior): Enclose "have_waited" label in #ifdef that matches the one in which it is referenced. * ser-unix.c (hardwire_noflush_set_tty_state): Enclose otherwise unused variable "state" in #ifdef that matches one in which it is referenced. * eval.c (evaluate_subexp_standard): Remove unused variable "var". * eval.c (evaluate_subexp_standard): Remove unused variable "tmp_symbol". * valarith.c (value_subscript): Remove unused variable "lowerbound", which is redeclared in a nested scope prior to use. * printcmd.c (print_frame_nameless_args): Use "%ld" to print long arg, not "%d". * {mem-break.c, remote-pa.c, remote.c, saber.suppress}: Remove unused static var "check_break_insn_size". * buildsym.c (finish_block): Add other enum LOC_* and default cases to switch for completeness. ch-lang.c (type_lower_upper): Removed unused label "retry". Add other enum TYPE_* and default cases to switch for completeness. * f-typeprint.c (f_type_print_args): Ifdef out unused function that may be used someday when Fortran support is complete. * ch-valprint.c (chill_print_type_scalar): Add other enum TYPE_* and default cases to switch for completeness. (chill_val_print): Remove unused local var "high_bound" that is redeclared in a nested scope prior to use. (chill_var_print): Use "%ld" to print long arg, not "%d". * regex.c (re_compile_fastmap, re_match_2): Add remaining enum types and default to switches for completeness. * minsyms.c (lookup_minimal_symbol_text): Delete unused variable "trampoline_symbol". (prim_record_minimal_symbol_and_info): Return NULL rather than trash. * elfread.c (elf_symtab_read): Don't dereference NULL returns from record_minimal_symbol_and_info. * f-lang.c (saved_function_list_end): Ifdef out unused variable that may be used someday. * f-valprint.c (f_val_print): Remove unused local variable "straddr".
1995-03-07 * serial.h ser-go32.c ser-go32-para.c ser-mac.c ser-tcp.cStu Grossman1-0/+46
ser-unix.c: Add SERIAL_SETSTOPBITS to set the number of stopbits (needed for IDP board?!?!?).
1994-06-02 * configure.in: Add nlm subdir to configdirs for alpha-*-netwareStu Grossman1-2/+4
target. * defs.h (enum language): Add language_asm. * findvar.c (read_register_bytes read_register_gen write_register_bytes read_register read_register_pid write_register write_register_pid supply_register): Move multi- thread handling down into these routines. Create XXX_pid routines that allow register references to specify the pid. * findvar.c infcmd.c (read_pc read_pc_pid write_pc write_pc_pid read_sp write_sp read_fp write_fp): Move these routines from infcmd to findvar to centralize the whole mess. * i386-nlmstub.c: Portability fixes. * infptrace.c (child_resume): Conditionalize to allow other natives to override it. Remove PIDGET gubbish, it's no longer necessary. * infrun.c (wait_for_inferior): Put registers_changed() before target_wait() to speed up remote debugging. * Replace code that reads registers from other threads with much nicer looking new function calls (see changes to findvar.c). * Don't skip prologues if debugging assembly source. * lynx-nat.c (child_resume): Lynx now needs it's own version of child_resume to handle multi-thread debugging properly. * remote.c: Add O response to get console output from target. * (readchar): Add timeout parameter. Handle SERIAL_EOF and SERIAL_ERROR here to simplify callers. * Change static var timeout to remote_timeout. * (fromhex): Remove unnecessary return -1 at end of routine. * (remote_wait): Turn this into a big switch statement. Add support for O response. * (putpkt): Remove unnecessary handling of SERIAL_EOF/ERROR. * (getpkt): Split getpkt into two parts. read_frame deals with all formatting issues, run-length encoding, and framing. getpkt now handles error recovery, and frame detection. * ser-tcp.c (tcp_readchar): Handle EINTR from read(). * ser-unix.c (hardwire_raw): Set CLOCAL so that we ignore modem control. (hardwire_readchar): Handle EINTR from read(). * symfile.c (deduce_language_from_filename): Add support for .s files. * config/nm-lynx.h: Define CHILD_WAIT so that lynx-nat.c can override infptrace's child_wait. * config/rs6000/rs6000lynx.mh: Use xm-rs6000ly.h & nm-rs6000ly.h instead of XXXlynx.h. * config/rs6000/rs6000lynx.mt: Use tm-rs6000ly.h instead of tm-rs6000lynx.h. * nlm/gdbserve.c: Portability fixes.
1994-02-24 * exec.c (print_section_info): Print entry point for exec_bfd only.Peter Schauer1-2/+2
* ser-unix.c (wait_for): Fix typo in HAVE_TERMIO case.
1994-01-29 * ser-unix.c (wait_for, hardwire_readchar) [HAVE_TERMIO, HAVE_TERMIOS]:Jim Kingdon1-47/+74
If the timeout is too big to fit in c_cc[VTIME], then do multiple reads to achieve the desired timeout. * serial.h (serial_t): Add field timeout_remaining.
1994-01-22 * remote-mips.c (mips_initialize): Clear mips_initializing viaJim Kingdon1-2/+32
cleanup chain, not directly. * ser-unix.c (wait_for) [HAVE_TERMIO, HAVE_TERMIOS]: Make a timeout of -1 mean forever, like in the HAVE_SGTTY case. Warn if we are munging the timeout due to the limited range of c_cc[VTIME].
1994-01-18 * ser-unix.c (hardwire_noflush_set_tty_state): Don't muck with ICANON.Jim Kingdon1-17/+3
* inflow.c (terminal_ours_1): When discussing how to deal with the tty state, make note of query() as well as readline.
1993-12-07set the other three terminal state pieces for systems that HAVE_SGTTYK. Richard Pixley1-0/+6
1993-11-01Change the stream argument to _filtered to GDB_FILE *.Thomas Lord1-4/+4
Change all references to stdout/stderr to gdb_stdout/gdb_stderr. Replace all calls to stdio output functions with calls to corresponding _unfiltered functions (`fprintf_unfiltered') Replaced calls to fopen for output to gdb_fopen. Added sufficient goo to utils.c and defs.h to make the above work. The net effect is that stdio output functions are only directly used in utils.c. Elsewhere, the _unfiltered and _filtered functions and GDB_FILE type are used. In the near future, GDB_FILE will stop being equivalant to FILE. The semantics of some commands has changed in a very subtle way: called in the right context, they may cause new occurences of prompt_for_continue() behavior. The testsuite doesn't notice anything like this, though. Please respect this change by not reintroducing stdio output dependencies in the main body of gdb code. All output from commands should go to a GDB_FILE. Target-specific code can still use stdio directly to communicate with targets.
1993-10-08 * inflow.c: Remove unused includes of sys/param.h, etc.Jim Kingdon1-120/+3
* inflow.c, ser-unix.c, ser-go32.c, ser-tcp.c, serial.h, terminal.h: Move all the process group stuff back to inflow.c; that's a better place for it and fixes problems with trying to get/set the process group of a tty we're doing remote debugging on. * terminal.h: Skip the redefine crap if HAVE_TERMIOS.
1993-09-08gcc lintK. Richard Pixley1-5/+4
1993-08-13 * ser-unix.c (get_tty_state): if a descriptor is not a tty, thenK. Richard Pixley1-4/+14
simply save encode this fact as the process group and return success rather than an error. (set_tty_state): if process group is -1, do not reset the process group. (hardwire_reachar): comment change.
1993-08-08* ser-unix.c (hardwire_send_break) [HAVE_SGTTY]: Use select not usleep.Jim Kingdon1-4/+14
1993-07-29* ser-unix.c (gdb_setpgid): Pass our pid, not 0, to setpgid.Jim Kingdon1-1/+4
1993-07-28 * serial.h, ser-{unix,go32,tcp}.c: Add flush_input and send_break.Jim Kingdon1-0/+42
* nindy-share/*, remote-nindy.c: Extensive hacking to make it conform to GDB conventions like using memcpy not bcopy, serial.h, etc. This is to make it host on Solaris, AIX, etc. * Makefile.in: Reflect removed nindy-share files.
1993-07-27 * config/sparc/xm-sun4os4.h: Define MEM_FNS_DECLARED and includeJim Kingdon1-6/+2
<memory.h>. Include <malloc.h> rather than declaring malloc functions ourself. * ser-unix.c (set_tty_state): Don't ignore errors setting process group. * inflow.c (terminal_inferior): If attach_flag set, ignore errors from set_tty_state.
1993-07-19* ser-unix.c: Don't try to use job control with termio.Jim Kingdon1-21/+22
1993-07-02 * ser-unix.c (hardwire_noflush_set_tty_state): Use an assignment,Jim Kingdon1-2/+3
not an initializer, to copy the structure.
1993-07-01 * ser-unix.c (hardwire_print_tty_state) [HAVE_TERMIOS]: Don'tJim Kingdon1-4/+11
print c_line. (_initialize_ser_hardwire): Just check whether _POSIX_JOB_CONTROL is defined; don't care what it is defined to.
1993-06-30 * inftarg.c: Remove unused include of terminal.h.Jim Kingdon1-8/+258
* signals.h: Don't undefine signals anymore. * main.c: Use job_control from serial.h. * fork-child.c (fork_inferior): Use gdb_setpgid. * serial.h, ser-unix.c, ser-go32.c: Provide gdb_setpgid. * utils.c (quit): Use current_target->to_terminal_ours to figure out whether we care about lack of job control, rather than __GO32__. * utils.c: Include serial.h not terminal.h (quit): Use job_control not TIOCGPGRP. * terminal.h: Don't undefine TIOCGPGRP. * serial.h, ser-unix.c, ser-go32.c, ser-tcp.c: Add SERIAL_FLUSH_OUTPUT. * utils.c (quit): Use it. * serial.h: Add SERIAL_UN_FDOPEN. * utils.c (quit): Use it. * ser-unix.c: Add process group to ttystate. [HAVE_SGTTY]: Add tchars, ltchars, and lmode to ttystate. * inflow.c: Include serial.h not terminal.h. Use serial.h stuff to replace most of the maze of #ifdef's. * inflow.c, main.c, inferior.h: make gdb_has_a_terminal a function. * serial.h: Document SERIAL_SET_TTY_STATE as being immediate. * ser-unix.c: Use TIOCSETN not TIOCSETP so it is true. * serial.h, ser-unix.c, ser-go32.c, ser-tcp.c: Add SERIAL_PRINT_TTY_STATE, SERIAL_NOFLUSH_SET_TTY_STATE, and SERIAL_SET_PROCESS_GROUP. * inflow.c: Use them. * config/xm-svr4.h, config/rs6000/xm-rs6000.h, config/sparc/sun4os4.h: Define HAVE_TERMIOS. * Various: Remove all use of TIOC*_BROKEN.
1993-06-27* ser-unix.c: Move #include of <sys/time.h> to HAVE_SGTTY section.Jim Kingdon1-1/+4
1993-06-26 * remote.c: Add arg names to prototypes, in a modest effort atStu Grossman1-12/+17
clarification. Also add prototypes for some new functions. * (remote_wait): Better error reporting for 'T' responses. * ser-go32.c (strncasecmp): Make str1 & str2 be const. * (dos_async_init): Make usage message reflect requested port #. * ser-tcp.c (tcp_open): Terminate hostname properly to prevent random hostname lookup failures. Add nicer message for unknown host error. (wait_for): Wake up in case of exceptions. Also, restart select() if we got EINTR. * ser-unix.c (wait_for): Restart select() if we got EINTR. * serial.c: (serial_close): Clean up code.
1993-05-29 * Makefile.in: Add new file ser-tcp.c.Stu Grossman1-98/+129
* defs.h (memcmp): Add decl for memcmp to #ifndef MEM_FNS_DECLARED. * findvar.c (write_register): See if we are writing back the same value that's already in the register. If so, don't bother. * remote.c (putpkt, getpkt): Improve handling of communication problems. * ser-go32.c: Prototype it to death. Update serial_ops and add dummy routines where appropriate. * ser-tcp.c: New module to implement serial I/O via TCP connections. * ser-unix.c: Clean up getting/setting of tty state. Get rid of SERIAL_RESTORE, add SERIAL_{GET|SET}_TTY_STATE interfaces. * serial.c: Add start of support for connect command. (serial_open): Distinguish between tcp and local devices. * serial.h (struct serial_ops): Get rid of restore, add get_tty_state and set_tty_state. Define protoypes and macros for this mess. * gdbserver/remote-utils.c: Add tcp support. (readchar): Do some real buffering. Handle error conditions gracefully. * gdbserver/remote-inflow-sparc.c: Update to remote-inflow.c (Lynx), remove lots of cruft.
1993-05-06 * ser-unix.c (wait_for): Use VTIME to do timeouts instead ofStu Grossman1-16/+46
poll() for termio{s}.
1993-05-04 * ser-unix.c (wait_for): New routine to handle read timeouts,Stu Grossman1-97/+63
etc. Uses poll() if HAVE_TERMIO[S] is defined, select() otherwise.
1993-05-02 * defs.h (UINT_MAX, LONG_MAX, INT_MAX, INT_MIN): Replace hexFred Fish1-1/+1
constants with slightly more portable definitions (still depends on 2's complement arithmetic though). * config/i386/nm-linux.h: Define NO_SYS_REG_H for no <sys/reg.h>. * i386v-nat.c (sys/reg.h): Conditionalize include on NO_SYS_REG_H. Linux doesn't have <sys/reg.h>. * ser-unix.c (termio.h): Include <termio.h> like other files that include termio.h, not <sys/termio.h> which may not exist (on linux for example).
1993-04-30 * ser-unix.c [USE_{TERMIO,ALARM}_TIMEOUT]: New code to deal withJim Kingdon1-17/+96
systems lacking select().
1993-04-09 * remote.c (remote_open): Use SERIAL_OPEN instead of serial_open.Stu Grossman1-19/+12
(putpkt, getpkt): Use new return codes for SERIAL_READCHAR. * ser-go32.c: Return -1 on most failures, 0 on most successes, and use new return codes for go32_readchar(). * ser-unix.c: Ditto. Also, move error handling up to caller for SERIAL_SETBAUDRATE(). * serial.c (serial_open): Internal call, not SERIAL_OPEN to get to specific routine. (serial_close): New routine to wrap around device close routine. serial.h: Clean & document return values more clearly.