Age | Commit message (Collapse) | Author |
|
|
|
* main.c (main): Open with O_RDWR only for hurdio bottomhalf.
|
|
|
|
* term.h (struct bottomhalf): New member `fini'.
* hurdio.c (hurdio_fini): New function.
(hurdio_bottom): Use it.
* devio.c (devio_fini): New function.
(devio_bottom): Use it.
* ptyio.c (ptyio_bottom): Add 0 entry for `fini'.
* main.c (trivfs_runtime_argp): New variable.
(options): Add --name/-N and --type/-T options.
(parse_opt): Collect parsed options in temporary storage and apply
them only at final success. For T_HURDIO, allow absent arg.
For non-startup parsing call, allow any missing args.
(tty_type_names): New const variable.
(trivfs_append_args): New function.
(main): Open underlying node with O_RDWR.
* hurdio.c (wait_for_dtr): If tty_arg is null, use termctl->underlying
instead of opening a node by name.
(hurdio_desert_dtr): If tty_arg is null, don't deallocate ioport.
|
|
* main.c (trivfs_runtime_argp): New variable.
(options): Add --name/-N and --type/-T options.
(parse_opt): Collect parsed options in temporary storage and apply
them only at final success. For T_HURDIO, allow absent arg.
For non-startup parsing call, allow any missing args.
(tty_type_names): New const variable.
(trivfs_append_args): New function.
(main): Open underlying node with O_RDWR.
* hurdio.c (wait_for_dtr): If tty_arg is null, use termctl->underlying
instead of opening a node by name.
(hurdio_desert_dtr): If tty_arg is null, don't deallocate ioport.
|
|
* term.h (struct bottomhalf): New member `fini'.
* hurdio.c (hurdio_fini): New function.
(hurdio_bottom): Use it.
* devio.c (devio_fini): New function.
(devio_bottom): Use it.
* ptyio.c (ptyio_bottom): Add 0 entry for `fini'.
|
|
* term.h (struct bottomhalf): New member GWINSZ.
* devio.c (devio_bottom): Add new member.
* ptyio.c (ptyio_bottom): Likewise.
* hurdio.c (hurdio_bottom): Likewise.
(hurdio_gwinsz): New function.
(tioc_caps): Change type to unsigned int.
(TIOC_CAP_GWINSZ): New symbol.
* users.c (open_hook): Call GWINSZ of bottom layer after
establishing the carrier.
|
|
|
|
|
|
* ptyio.c (pty_io_readable): int -> size_t in argument type.
* term.h: Update decl.
* users.c (trivfs_S_io_write): int -> size_t in AMT argument type.
(trivfs_S_io_readable): Likewise.
(trivfs_S_io_read): Likewise. Also u_int -> size_t, off_t -> loff_t.
(trivfs_S_io_write): Likewise.
(trivfs_S_io_map): Add reply port args.
|
|
|
|
* devio.c (device_open_reply): int -> size_t
(devio_set_bits, devio_mdmctl, devio_mdmstate): Likewise.
|
|
|
|
* main.c (main): Add a return after `error' call to clue compiler in.
|
|
|
|
* hurdio.c (hurdio_reader_loop): Add a return stmt.
(hurdio_writer_loop): Likewise.
|
|
|
|
* main.c: Include <error.h>.
(main): Use error, not fprintf and exit or perror and exit. Use
ERR, not errno. Use MACH_PORT_NULL explicitly.
* users.c: Include <error.h>.
(init_users): Use ERR, not errno. Use error, not perror and exit.
|
|
* main.c (main): Use memset instead bzero.
Fix error message, and formatting of some comments.
* ptyio.c (pty_io_read): Use memcpy instead bcopy.
* users.c (S_tioctl_tiocflush): Ignore error by bottom handler's
notice_input_flushed.
* users.c (set_state): Likewise.
If bottom handler's set_bits fails, don't adjust terminal state
but return success anyway.
|
|
|
|
* term.h: Declare rdev.
* main.c (options): New variable.
(parse_opt): Handle case `n' to set rdev number.
Also return EINVAL if terminal type is invalid.
* users.c (trivfs_modify_stat): Set ST->st_rdev to global rdev.
|
|
* hurdio.c: New file.
* Makefile (SRCS): Add hurdio.c.
* term.h: Add hurdio_bottom declaration.
* main.c: Add T_HURDIO to enum of tty_type.
(parse_opt): Add case for hurdio bottom handler.
(term_argp): Likewise.
(main): Likewise.
|
|
* main.c: Include `argp.h' and `version.h'.
(argp_program_version): New global variable.
(tty_name, tty_type, tty_arg): Likewise.
(parse_opt): New function.
(term_argp): New global variable.
(main): Call argp_parse, use new global variables to parse the
options. Remove TYPE variable. Get the bootstrap port after
checking the argument line.
* term.h (pterm_name): Remove variable.
(tty_arg): Declare variable.
* devio.c (initial_open): Use tty_arg instead pterm_name.
(devio_assert_dtr): Likewise.
|
|
|
|
* term.h: Include `hurd/hurd_types.h'.
(struct bottomhalf): Change the return types of the following
members from void to error_t: abandon_physical_output,
suspend_physical_output, notice_input_flushed, desert_dtr,
set_break, clear_break, start_output, set_bits (which now takes an
struct termios * as argument), mdmctl and mdmstate (which now
takes an int * as argument). Add new members init and type.
(bottom): Define as const.
(devio_bottom, ptyio_bottom): Declare as const.
(drop_output): Change return type from void to error_t.
(ptyio_init): Remove prototype.
* devio.c (devio_abandon_physical_output): Change return value to
error_t, and return 0.
(devio_suspend_physical_output): Likewise.
(devio_notice_input_flushed): Likewise.
(devio_desert_dtr): Likewise.
(devio_set_break): Likewise.
(devio_clear_break): Likewise.
(devio_start_output): Likewise.
(devio_set_bits): Likewise.
(devio_mdmctl): Likewise.
(devio_mdmstate): Likewise.
(init_devio): Rename to ...
(devio_init): ... this. Do not give constructor attribute.
Change return type to error_t, and return an error value, rather
than bailing out. Declare as static.
(devio_bottom): Add type TERM_ON_MACHDEV and init function
devio_init.
(devio_set_bits): Accept new argument STATE and use that to work
out the terminal state, rather than changing the global termstate.
(devio_mdmstate): Accept new argument STATE and use that to return
the bits.
* ptyio.c: Do not include `hurd/hurd_types.h'.
(ptyio_suspend_physical_output): Change return value to error_t,
and return 0. Likewise.
(ptyio_notice_input_flushed): Likewise.
(ptyio_desert_dtr): Likewise.
(ptyio_set_bits): Likewise.
(ptyio_set_break): Likewise.
(ptyio_clear_break): Likewise.
(ptyio_mdmctl): Likewise.
(ptyio_start_output): Likewise.
(ptyio_abandon_physical_output): Likewise.
(ptyio_mdmstate): Likewise, and accept new argument STATE.
(ptyio_init): Declare as static and change return type to error_t.
(ptyio_bottom): Add type TERM_ON_MASTERPTY and init function
ptyio_init.
(ptyio_set_bits): Accept new argument STATE and use that to work
out the terminal state, rather than changing the global termstate.
(ptyio_mdmstate): Accept new argument STATE and use that to return
the bits.
* munge.c (drop_output): Change return value to error_t. Only
clear queue if there was no error.
* users.c (S_term_get_bottom_type): Just return bottom->type.
(set_state): Rework logic to take possible errors into account,
and to delay changing the termstate until we know that we won't
fail.
(S_tioctl_tiocflush): Return errors properly, and clear queue only
if notice_input_flushed succeeded.
(open_hook): Save error value of set_bits. Save old termflags and
restore them if if set_bits failed. Call set_bits with correct
arguments.
(S_tioctl_tiocmods): Set err to result of mdmctl.
(S_tioctl_tiocmset): Likewise.
(S_tioctl_tiocmbic): Likewise.
(S_tioctl_tiocmbis): Likewise.
(S_tioctl_tioccdtr): Likewise.
(S_tioctl_tiocsdtr): Likewise.
(S_tioctl_tioccbrk): Likewise for clear_break.
(S_tioctl_tiocsbrk): Likewise for set_break.
(S_tioctl_tiocstart): Likewise for start_output. Save old
termflags and restore them if if start_output failed.
(S_tioctl_tiocstop): Likewise for stop_output.
(S_trivfs_io_write): Abort the operation if start_output fails.
Do not call start_output if it just failed, or if there was no
data to be written.
* main.c (main): Initialize bottom handler (rather than special
casing this for ptyio).
* users.c (open_hook): Use memcpy instead bcopy and memset instead
bzero.
(S_tioctl_tiocgeta): Likewise.
(set_state): Likewise.
(open_hook): Likewise.
* munge.c (rescan_inputq): Likewise.
|
|
|
|
2002-01-30 Marcus Brinkmann <marcus@gnu.org>
* users.c (trivfs_S_io_select): Remove IDTAG argument.
Also in invocation of pty_io_select.
* ptyio.c (pty_io_select): Likewise.
pfinet/
2002-01-30 Marcus Brinkmann <marcus@gnu.org>
* tunnel.c (trivfs_S_io_select): Remove IDTAG argument.
|
|
* devio.c (bogus_speed_to_real_speed): Handle B57600, B115200 if
they are defined. Reported by Diego Roversi <diegor@tiscalinet.it>.
|
|
|
|
* munge.c (input_character): Fix DISCARD character handling
so it doesn't process the character as plain input.
|
|
|
|
* devio.c (real_speed_to_bogus_speed): Handle B57600, B115200 if they
are defined. Reported by Diego Roversi <diegor@tiscalinet.it>.
|
|
|
|
* users.c (S_termctty_open_terminal): Use iohelp_create_empty_iouser.
|
|
|
|
* users.c (trivfs_S_io_select): Fix typo in last change.
|
|
|
|
* users.c (trivfs_S_io_select): Mask out SELECT_READ and/or
SELECT_WRITE if those accesses are not allowed by the peropen.
Don't keep old bits in AVAILABLE across waits, return only
what is true at the moment we return.
|
|
|
|
* users.c (trivfs_S_io_select): Don't diagnose an error for *TYPE
containing irrelevant bits (i.e. SELECT_URG). It's always ok to
ask even when the answer is always no.
|
|
comes before the ports lib. This makes sure the functions in
libthreads properly override the stubs in libports with the new
dynamic linker semantics in glibc 2.2.
|
|
|
|
* main.c (main): Don't use MAKE_SEND in Hurd RPC.
|
|
|
|
* users.c (send_signal): Use ports_get_send_right.
|
|
* devio.c (devio_abandon_physical_output): Use ports_get_send_right.
(initial_open): Use ports_get_send_right.
(device_open_reply): Use ports_get_send_right.
|
|
* term.h, devio.c, users.c: Revert previous change. Do it this
way instead:
* users.c (report_carrier_error): New function.
(carrier_error): New static global variable.
(open_hook): Deal with errors from carrier open.
* devio.c (device_open_reply): Move the !RETURNCODE case out of
the "initial open" case and use report_carrier_error.
* term.h (report_carrier_error): Declare new function.
|
|
|
|
* term.h (NO_DEVICE): New macro, bit for termflags.
(termflags): Change type to uint_fast32_t.
* devio.c (device_open_reply): For D_NO_SUCH_DEVICE error reply, set
NO_DEVICE flag in termflags.
* users.c (open_hook): If NO_DEVICE flag set, return ENXIO immediately.
If we put out an open request, check for that bit as well as
NO_CARRIER changing in termflags and diagnose with ENXIO.
* Makefile (device_replyServer-CPPFLAGS): New variable, turn off
TypeCheck for this stub. This is necessary for error replies to get
through to our server-side functions in devio.c.
|
|
|