aboutsummaryrefslogtreecommitdiff
path: root/term/ChangeLog
diff options
context:
space:
mode:
Diffstat (limited to 'term/ChangeLog')
-rw-r--r--term/ChangeLog720
1 files changed, 720 insertions, 0 deletions
diff --git a/term/ChangeLog b/term/ChangeLog
new file mode 100644
index 00000000..be515205
--- /dev/null
+++ b/term/ChangeLog
@@ -0,0 +1,720 @@
+1999-10-04 Thomas Bushnell, BSG <tb@mit.edu>
+
+ * 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.
+
+1999-10-01 Roland McGrath <roland@baalperazim.frob.com>
+
+ * 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.
+
+1999-09-13 Roland McGrath <roland@baalperazim.frob.com>
+
+ * users.c: Reverted changes related to io_map_segment.
+
+1999-09-07 Thomas Bushnell, BSG <tb@mit.edu>
+
+ * users.c (trivfs_S_io_map): Renamed to ...
+ (trivfs_S_io_map_segment): ... here.
+
+1999-07-23 Roland McGrath <roland@baalperazim.frob.com>
+
+ * term.h (ILCASE, OLCASE): Use IUCLC, OLCUC if defined.
+
+1999-07-11 Roland McGrath <roland@baalperazim.frob.com>
+
+ * term.h: Add #include <sys/mman.h>.
+
+1999-07-09 Thomas Bushnell, BSG <tb@mit.edu>
+
+ * ptyio.c (pty_io_read): Use mmap instead of vm_allocate.
+ * users.c (trivfs_S_io_read): Likewise.
+
+1999-05-24 Mark Kettenis <kettenis@gnu.org>
+
+ * devio.c: Include <assert.h>, <errno.h> and <error.h>. Do
+ not include <stdio.h> and <sys/types.h>.
+ Reorganize the order of inclusion of the header files a bit and
+ document the baud-rate hackery. Include <termios.h> explicitely.
+ (init_devio): Use new local variable ERR instead of ERRNO. Use
+ error instead of perror and exit to report failure.
+ (devio_desert_dtr): Declare BITS as `int' instead of
+ `dev_status_t'.
+
+1999-05-13 Roland McGrath <roland@baalperazim.frob.com>
+
+ * users.c (trivfs_S_file_chown): Either arg being -1 means don't
+ change that id.
+
+1999-03-22 Roland McGrath <roland@baalperazim.frob.com>
+
+ * devio.c (initial_open): Fix typos.
+
+Wed Mar 17 16:32:05 1999 Thomas Bushnell, BSG <tb@mit.edu>
+
+ * users.c (S_term_get_peername): Compare BOTTOM against the
+ correct value, and call ports_port_deref with the proper name.
+ Reported by Yamashita TAKAO (az207@epa.go.jp).
+
+ * devio.c (devio_desert_dtr): Cast &BITS correctly in call to
+ device_set_status.
+ (device_open_reply): Alwas clean open_pending no matter what. Use
+ ERR instead of ERRNO. On fake opens, close the device before
+ deallocating the port.
+ Reported by Mark Kettenis (kettenis@gnu.org).
+
+Tue Mar 16 01:04:06 1999 Thomas Bushnell, BSG <tb@mit.edu>
+
+ * devio.c (open_pending): Make an enum.
+ (devio_desert_dtr): Don't close the device, just set the TM_HUP
+ modem bit, which should cause a hangup to occur.
+ (devio_assert_dtr): Don't always open the device, instead use
+ initial_open the first time, and schedule a fake open the other
+ times.
+ (initial_open): New function, guts from old device_assert_dtr.
+ (device_open_reply): Distinguish replies from initial and fake
+ opens appropriately.
+ (ports_do_mach_notify_send_once): Test and set open_pending using
+ new enum values.
+
+Mon Mar 15 14:58:33 1999 Thomas Bushnell, BSG <tb@mit.edu>
+
+ * users.c (S_term_get_peername): Implement new RPC.
+
+ * users.c (S_term_get_nodename): Return ENOENT if the name is not
+ set.
+
+1999-03-13 Mark Kettenis <kettenis@gnu.org>
+
+ * users.c (po_destroy_hook): Only reset state and hardware if
+ TTY_OPEN bit is set in TERMFLAGS.
+
+Mon Mar 1 09:11:06 1999 Thomas Bushnell, BSG <tb@mit.edu>
+
+ * munge.c (output_width): If C is a tab, then the width is the
+ offset from LOC, not the total final position of the tab.
+ Reported by Kalle Olavi Niemitalo <tosi@ees2.oulu.fi).
+
+1999-02-28 Roland McGrath <roland@baalperazim.frob.com>
+
+ * users.c (trivfs_S_io_revoke): Use ports_class_iterate.
+
+Mon Feb 22 04:34:55 1999 Thomas Bushnell, BSG <tb@mit.edu>
+
+ * users.c (trivfs_S_io_revoke): Protect the revocation by blocking
+ all other rpcs.
+
+Sat Feb 20 04:59:15 1999 Thomas Bushnell, BSG <tb@mit.edu>
+
+ * users.c (trivfs_S_io_revoke): Release global_lock before
+ beginning the iteration.
+
+ * users.c (trivfs_S_io_revoke): Add reply, reply_type args.
+
+1999-02-06 Mark Kettenis <kettenis@gnu.org>
+
+ * main.c (main): Initialize status from underlying node.
+ * users.c (check_access_hook): New function. Correctly implement
+ access permission checking.
+ (trivfs_check_access_hook): Initialize with check_access_hook.
+ (trivfs_S_file_check_access): Removed.
+
+Thu Feb 18 00:57:30 1999 Thomas Bushnell, BSG <tb@mit.edu>
+
+ * devio.c (devio_assert_dtr): Bother to set open_pending.
+ Reported by OKUJI Yoshinori (okuji@kuicr.kyoto-u.ac.jp).
+
+1999-02-16 Roland McGrath <roland@baalperazim.frob.com>
+
+ * users.c (trivfs_S_io_revoke): Fix typos.
+
+Tue Feb 16 06:10:08 1999 Thomas Bushnell, BSG <tb@mit.edu>
+
+ * users.c (trivfs_S_io_revoke): New function.
+
+1999-02-05 Mark Kettenis <kettenis@gnu.org>
+
+ * users.c (trivfs_S_file_chmod): Clear S_ISVTX bit instead of
+ clearing all other bits.
+
+Sat Jan 30 00:27:14 1999 Thomas Bushnell, BSG <tb@mit.edu>
+
+ * munge.c (create_queue): Make sure that malloc succeeds.
+ Reported by OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>.
+
+1998-10-24 Roland McGrath <roland@baalperazim.frob.com>
+
+ * users.c (open_hook): Assert DTR if NO_CARRIER, even for CLOCAL.
+ This is the only thing that tells it to open the device.
+
+Mon Oct 26 16:47:18 1998 Thomas Bushnell, BSG <tb@mit.edu>
+
+ * devio.c (char_size_mask_xxx): New variable.
+ (devio_set_bits): Don't munge c_cflag here. Instead,
+ set char_size_mask_xxx.
+ (device_read_reply_inband): Mask off high bits from the input to
+ simulate less than 8-bit channels.
+
+1998-09-04 Roland McGrath <roland@baalperazim.frob.com>
+
+ * devio.c: Add #undef's for B19200, B38400, B57600, B115200, in case
+ they are defined in <device/tty_status.h> too.
+
+1998-07-20 Roland McGrath <roland@baalperazim.frob.com>
+
+ * users.c: Include <hurd/fshelp.h> for fshelp_isowner decl.
+
+ * term.h (clear_queue): Change return type to void.
+
+Wed Aug 20 14:07:35 1997 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>
+
+ * main.c (main): New args for
+ ports_manage_port_operations_multithread.
+
+Mon Jun 9 12:19:51 1997 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>
+
+ * users.c (trivfs_S_file_chmod): Fix typo.
+
+Tue May 27 12:04:00 1997 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>
+
+ * users.c (trivfs_S_file_chmod): Turn off S_ISPARE too.
+
+Fri Feb 21 13:17:48 1997 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * users.c (open_hook): Add OPEN_COUNT hack to try and detect lossage.
+
+Thu Feb 20 02:25:29 1997 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * main.c (main): Initialize TTY_CLASS & PTY_CLASS too instead of
+ doing TTY_CNTL_CLASS & PTY_CNTL_CLASS twice.
+
+Wed Feb 19 13:10:47 1997 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * main.c (trivfs_protid_portclasses, trivfs_protid_nportclasses,
+ trivfs_cntl_portclasses, trivfs_cntl_nportclasses): Variables removed.
+ (main): Don't set port class/bucket variables, use
+ trivfs_add_{protid,control}_port_class instead.
+
+ * Makefile (HURDLIBS): Add iohelp & shouldbeinlibc.
+
+Thu Dec 12 18:33:52 1996 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * main.c (main): Add S_IROOT to TERM_MODE.
+ * users.c (trivfs_S_file_chmod): Turn off S_ITRANS bits, and turn
+ on S_IROOT in TERM_MODE.
+
+Sat Nov 23 16:28:36 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>
+
+ * users.c: Include <hurd/iohelp.h>.
+ (trivfs_S_file_chmod): Bother to fill in ST.
+
+Mon Nov 18 18:16:29 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>
+
+ * users.c (trivfs_modify_stat): Omit pointless assignment.
+
+Fri Nov 15 17:37:12 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>
+
+ * users.c (open_hook): New arg syntax.
+ (trivfs_check_open_hook): Likewise.
+ * ptyio.c (pty_open_hook): Likewise.
+ * term.h (pty_open_hook): Likewise.
+
+ * users.c (S_termctty_open_terminal): New syntax of trivfs_open.
+
+ * users.c (trivfs_S_file_chown): Rewrite using idvecs.
+ (trivfs_S_file_chmod): Likewise.
+
+Thu Oct 24 14:44:57 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>
+
+ * users.c (open_hook): Always assert DTR (even if O_NONBLOCK).
+ Don't return any errors if O_NONBLOCK and we don't have carrier.
+
+Tue Oct 8 22:46:09 1996 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * users.c (open_hook): Zero WINDOW_SIZE during initialization.
+
+Fri Oct 4 12:30:22 1996 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * users.c (S_tioctl_tiocswinsz): Correct test for a changed winsize.
+
+ * ptyio.c (pty_open_hook): Reinitialize pty variables.
+
+ * ptyio.c (pty_io_select): Return SELECT_READ if the slave isn't open.
+ (pty_io_read): If the slave isn't open, return EOF.
+
+ * users.c (set_state, open_hook): Call (*BOTTOM)->set_bits
+ unconditionally.
+ * devio.c (devio_set_bits): Only execute guts if CIGNORE isn't set.
+
+ * ptyio.c (pty_io_read, pty_io_write): Honor O_NONBLOCK.
+
+Wed Oct 2 10:49:18 1996 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * ptyio.c (S_tioctl_tiocsig, S_tioctl_tiocucntl, S_tioctl_tiocpkt):
+ Hold GLOBAL_LOCK while frobbing (especially around send_signal).
+
+ * ptyio.c (ptyio_set_bits): We need only be in packet mode to send
+ TIOCPKT_NOSTOP & TIOCPKT_DOSTOP, regardless of the value of
+ EXTERNAL_PROCESSING.
+
+Thu Sep 26 14:24:16 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>
+
+ * ptyio.c: Include "tioctl_S.h".
+
+Thu Sep 12 16:34:37 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>
+
+ * Makefile (HURDLIBS): New variable.
+ (OBJS): Don't list libraries here.
+
+Thu Aug 29 17:26:37 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>
+
+ * devio.c (device_open_reply): After error from ports_create_port,
+ unlock global_lock before returning.
+ * users.c (trivfs_S_io_readable): Likewise before returning
+ EBADF.
+
+Thu Aug 15 16:07:07 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>
+
+ * users.c (trivfs_S_io_pathconf): Implement function.
+
+ * term.h (QUEUE_HIWAT, QUEUE_LOWAT): New macros.
+ * main.c (main): Use these new macros to create inputq, rawq, and
+ outputq.
+
+Thu Aug 15 15:32:47 1996 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * users.c (trivfs_S_file_check_access): Renamed from
+ `trivfs_S_file_access'.
+
+Mon Aug 12 11:04:28 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>
+
+ * term.h (CTRL_BIT): Correct value is 0x40, not 0x20.
+
+ * munge.c (poutput): Compute tab width using the same loop
+ strategy as output_character and output_width.
+
+Thu Aug 8 17:16:06 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>
+
+ * munge.c (echo_char): Compute non-ctrl version of control
+ character correctly.
+ * term.h (CHAR_SOH): Delete macro.
+ (CTRL_BIT): New macro.
+
+Mon Jul 29 02:46:12 1996 Roland McGrath <roland@baalperazim.frob.com>
+
+ * munge.c (input_character): In LAST_LNEXT case, jump to `alldone'
+ after putting the char on the queue.
+
+Fri Jul 19 23:46:39 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu>
+
+ * users.c (trivfs_S_file_access): Implement locally always
+ returning all access. Eventually, this needs to do the right
+ thing when trivfs wises up wrt modes.
+
+Tue Jul 16 20:49:29 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu>
+
+ * users.c (trivfs_S_io_read): Bother to set atime when
+ appropriate.
+
+ * users.c (trivfs_modify_stat): Fill in st->st_mode, st->st_uid,
+ and st->st_gid ourselves.
+ (trivfs_S_file_chown): New routine, to override trivfs default.
+ (trivfs_S_file_chmod): Likewise.
+ * main.c (main): Initialize term_owner, term_group, and term_mode.
+ * term.h (term_owner, term_group, term_mode): New variables.
+
+Thu Jun 20 16:45:57 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu>
+
+ * devio.c (devio_abandon_physical_output): Don't do anything if
+ carrier is off.
+
+Thu Jun 20 16:26:07 1996 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * Makefile (OBJS): Add ../libfshelp/libfshelp.a.
+
+Sat May 11 01:18:41 1996 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * iomux.c (parse_opt): Use ARGP_ERR_UNKNOWN instead of EINVAL.
+
+Fri May 10 09:27:46 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu>
+
+ * users.c: Include <stdio.h>.
+
+ * users.c (init_users): Order args correctly in call to
+ ports_create_port.
+
+Thu May 9 19:32:50 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu>
+
+ * users.c (call_asyncs): Provide sigcode arg in call to
+ nowait_msg_sig_post.
+
+ * users.c (init_users): Use new ports_create_port.
+ * devio.c (device_open_reply): Likewise.
+
+Thu Apr 25 16:04:17 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu>
+
+ * ptyio.c (pty_open_hook): Don't do increment of nptyperopens
+ here.
+ (pty_po_create_hook): Increment nptyperopens here, but only if this is
+ for O_READ or O_WRITE.
+ (pty_po_destroy_hook): Only do decrement if this was for O_READ or
+ O_WRITE.
+ * users.c (open_hook): Don't circumvent pty_open_hook, not even
+ when FLAGS is clear.
+
+Wed Apr 24 09:24:29 1996 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * users.c (call_asyncs): Add DIR argument; all callers changed.
+ * term.h: Include <fcntl.h>.
+
+ * users.c (call_asyncs): Remove FORCE argument; all callers changed.
+ * term.h (enqueue_internal): Go back to only using call_asyncs
+ when inputq becomes non-empty.
+ (SUPPRESS_ASYNC): Flag removed.
+
+Tue Apr 23 17:44:25 1996 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * term.h (enqueue_internal): Use call_asyncs on every character.
+ (SUPPRESS_ASYNC): New flag.
+ * users.c (po_create_hook, trivfs_S_io_set_some_openmodes,
+ trivfs_S_io_set_all_openmodes): If setting ICKY_ASYNC, then use
+ call_asyncs.
+ (call_asyncs): New argument, FORCE, which use. All callers changed.
+ (init_users): Give our self send rights to the async id ports, since
+ hurd_sig_post uses COPY_SEND.
+ (trivfs_S_io_get_icky_async_id): Renamed from ..._get_async_icky.
+ (trivfs_S_file_set_size, trivfs_S_io_seek,
+ trivfs_S_io_get_icky_async_id, trivfs_S_io_async): Add reply port args.
+
+ * users.c (num_icky_async_peropens): New variable.
+ (po_create_hook, po_destroy_hook, trivfs_S_io_set_all_openmodes,
+ trivfs_S_io_set_some_openmodes, trivfs_S_io_clear_some_openmodes): Use
+ it to enable ICKY_ASYNC to be turned off.
+
+Tue Apr 23 14:26:22 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu>
+
+ * users.c (call_asyncs): Delete local decl; no longer static.
+ * term.h (dequeue_quote): If this is the outputq, send SIGIO as
+ appropriate with call_asyncs.
+ (enqueue_internal): If this is the inputq, send SIGIO as appropriate
+ with call_asyncs.
+ (call_asyncs): Add decl.
+
+Mon Apr 22 14:55:20 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu>
+
+ * devio.c (real_speed_to_bogus_speed): EXTB should be 38400, not
+ 24800.
+
+Tue Apr 2 16:18:09 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu>
+
+ * ptyio.c (pty_po_create_hook): Don't do anything here.
+ (pty_open_hook): Increment nptyperopens here.
+
+Wed Mar 27 11:51:43 1996 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * users.c (trivfs_S_io_read): Call call_asyncs *before* we release
+ GLOBAL_LOCK.
+ (pi_destroy_hook): Leak the hook for now, to try and catch a bug. XXX
+
+ * ptyio.c (pty_io_read): Block using hurd_condition_wait instead
+ of condition_wait.
+
+Sat Feb 24 13:56:46 1996 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * ptyio.c (ptyio_init): This can't be a constructor because it
+ frobs INPUTQ, which is assigned in main.
+ * main.c (main): Call ptyio_init if appropriate.
+ * term.h: Declare ptyio_init.
+
+Wed Feb 14 14:02:54 1996 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * users.c (trivfs_S_io_set_all_openmodes,
+ trivfs_S_io_set_some_openmodes): Set ICKY_ASYNC in TERMFLAGS if
+ O_ASYNC is set in BITS.
+
+Thu Jan 25 22:54:04 1996 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * main.c (main): Use trivfs_startup & trivfs_create_port instead
+ of trivfs_handle_port.
+ * devio.c (devio_assert_dtr): Use ports_create_port instead of
+ ports_allocate_port.
+
+Thu Jan 18 11:50:29 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu>
+
+ * users.c (report_carrier_off): Flush queues when carrier turns
+ off.
+
+Tue Dec 26 16:58:55 1995 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * users.c (trivfs_S_io_select): Ask for notification if our reply
+ port dies. Pass REPLY to pty_io_select().
+ * ptyio.c (pty_io_select): Add new reply port parameter, and ask
+ for notification if it dies.
+ * term.h (pty_io_select): Add new reply port parameter.
+
+Fri Dec 22 14:34:38 1995 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * main.c (main): Set PEERCNTL to &PTYCTL if we're a slave, not 0.
+
+Wed Dec 20 13:56:09 1995 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * users.c (S_term_get_nodename, S_term_set_nodename): Get the node
+ name from our cred->po->cntl->hook rather than NODENAME.
+ * main.c (main): Put the nodename on ourcntl->hook rather than
+ NODENAME, and also put our peer's nodname on peercntl->hook.
+ * term.h (nodename): Variable removed.
+
+ * ptyio.c (ptyopen, nptyperopens, pktnostop, output_stopped):
+ Initialize to 0.
+
+Tue Dec 19 19:57:53 1995 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu>
+
+ * users.c (trivfs_S_io_read): After a block on the input queue,
+ don't go back and check the input queue if there is a signal in
+ progress; wait for the signal to complete first.
+ (send_signal): Release global_lock around signal RPC. Call
+ report_sig_start and report_sig_end around signal RPC.
+ (call_asyncs): Likewise.
+ (report_sig_start, report_sig_end): New functions.
+ (sigs_in_progress, input_sig_wait, input_sig_wakeup): New variables.
+
+Thu Dec 14 12:48:08 1995 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu>
+
+ * ptyio.c (pty_io_read): When copying TIOCPKT_DATA; account for
+ size correctly.
+
+ * ptyio.c (pty_io_write): Always tell the user everything was
+ written.
+
+Wed Dec 13 19:32:52 1995 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * ptyio.c (pty_io_write): Keep track of how mount we wrote.
+
+Tue Dec 12 13:53:40 1995 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu>
+
+ * ptyio.c (ptyio_init): Make this a constructor function.
+
+ * ptyio.c (pty_open_hook, pty_po_create_hook,
+ pty_po_destroy_hook): New functions.
+ (ptyopen, nptyperopens): New variables.
+ * term.h (pty_open_hook, pty_po_create_hook, pty_po_destroy_hook):
+ New declarations.
+ * users.c (open_hook): If this is the pty, then call pty specific
+ function.
+ (po_create_hook): Likewise.
+ (po_destroy_hook): Likewise.
+ (pi_create_hook): Don't do anything for pty.
+ (pi_destroy_hook): Likewise.
+
+ * users.c (open_hook): Don't require carrier for opens that don't
+ want to read or write.
+
+ * users.c (S_tioctl_tiocgpgrp): Omit bogus extra attempt to lock
+ global_lock.
+
+ * users.c (S_term_get_bottom_type): Return TERM_ON_MASTERPTY when
+ appropriate.
+
+ * main.c (main): Set BOTTOM.
+
+Tue Dec 5 15:30:36 1995 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu>
+
+ * main.c (main): Totally rework arg parsing and translator
+ linkage. No longer support being started s a shell program. Now
+ support pty's, though no attempt is made to deal nicely with the
+ node collision problem.
+
+Mon Dec 4 20:09:21 1995 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu>
+
+ * term.h (pty_cntl_class, ptyctl): New variables.
+ * main.c (main): Initialize pty_class, pty_cntl_class,
+ trivfs_protid_portclasses[1], and trivfs_cntl_portclasses[1].
+ (trivfs_protid_portclasses): Increase size to 2.
+ (trivfs_cntl_portclasses): Likewise.
+ (trivfs_protid_nportclasses): Increase initialization to 2.
+ (trivfs_cntl_nportclasses): Likewise.
+
+ * ptyio.c: Include <unistd.h>.
+ (ptyio_set_bits): If the stop char state has changed, dinkle the
+ stop bits in the control_byte accordingly.
+
+ * term.h: Include <hurd/trivfs.h> and <sys/types.h>.
+ (pty_io_write, pty_io_read, pty_io_readable, pty_io_select): New
+ declarations.
+ * ptyio.c: Include <fcntl.h>.
+ (pty_io_read): Add CRED arg.
+ (pty_io_write): Likewise.
+ (pty_io_select): Likewise.
+ * users.c (trivfs_S_io_write): If this is a pty master, call pty
+ routine to do the work.
+ (trivfs_S_io_read): Likewise.
+ (trivfs_S_io_readable): Likewise.
+ (trivfs_S_io_select): Likewise.
+ (S_tioctl_tiocmodg): Accept both pty and tty ports.
+ (S_tioctl_tiocmods): Likewise.
+ (S_tioctl_tiocexcl): Likewise.
+ (S_tioctl_tiocnxcl): Likewise.
+ (S_tioctl_tiocflush): Likewise.
+ (S_tioctl_tiocgeta): Likewise.
+ (set_state): Likewise.
+ (S_tioctl_tiocgetd): Likewise.
+ (S_tioctl_tiocsetd): Likewise.
+ (S_tioctl_tiocdrain): Likewise.
+ (S_tioctl_tiocswinsz): Likewise.
+ (S_tioctl_tiocgwinsz): Likewise.
+ (S_tioctl_tiocmget): Likewise.
+ (S_tioctl_tiocmset): Likewise.
+ (S_tioctl_tiocmbic): Likewise.
+ (S_tioctl_tiocmbis): Likewise.
+ (S_tioctl_tiocstart): Likewise.
+ (S_tioctl_tiocstop): Likewise.
+ (S_tioctl_tiocsti): Likewise.
+ (S_tioctl_tiocoutq): Likewise.
+ (S_tioctl_tiocspgrp): Likewise.
+ (S_tioctl_tiocgpgrp): Likewise.
+ (S_tioctl_tioccdtr): Likewise.
+ (S_tioctl_tiocsdtr): Likewise.
+ (S_tioctl_tioccbrk): Likewise.
+ (S_tioctl_tiocsbrk): Likewise.
+ (set_state): If this op is being done on the pty master, then
+ flush output before beginning work.
+
+Fri Dec 1 14:08:44 1995 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu>
+
+ * users.c (trivfs_S_interrupt_operation): Delete function.
+
+ * users.c (S_tioctl_tiocdrain): Free reference on CRED before
+ returning.
+
+ * munge.c (input_character): Skip much processing if
+ external_processing is on.
+ (output_character): Don't do tab expansion of external_processing
+ is on.
+ (echo_p): Never echo if external_processing is on.
+ * users.c (set_state): Make EXTPROC bit read only. When
+ external_processing, call set_bits even if CIGNORE.
+ (S_tioctl_tiocext): Deleted function.
+ * term.h (external_processing): New variable.
+
+ * users.c (trivfs_S_io_readable): If remote_input_mode, then don't
+ include extra final character as input.
+ trivfs_S_io_read): If remote_input_mode, copy characters without
+ interpretation; treat last character left in queue as junk.
+ (S_tioctl_tiocremote): Deleted function.
+ * term.h (remote_input_mode): New variable.
+
+ * users.c (S_tioctl_tiocsig, S_tioctl_tiocpkt,
+ S_tioctl_tiocucntl): Deleted functions.
+
+ * term.h (ptyio_bottom, pty_class): New variables.
+ * Makefile (SRCS): Added ptyio.c.
+ * ptyio.c: New file.
+
+ * term.h (struct bottomhalf): New member `notice_input_flushed'.
+ * devio.c (devio_notice_input_flushed): New function.
+ (devio_bottom): Add devio_notice_input_flushed.
+ * users.c (po_destroy_hook): Call notice_input_flushed after
+ flushing input queues.
+ (S_tioctl_tiocflush): Likewise.
+ (set_state): Likewise.
+
+ * munge.c (input_character) [VSTOP]: Suspend physical output after
+ setting flag.
+ * term.h (struct bottomhalf): New member `suspend_physical_output'.
+ * users.c (S_tioctl_tiocstart): Start output after clearing
+ USER_OUTPUT_SUSP.
+ (S_tioctl_tiocstop): Suspend physical output after setting flag.
+ * devio.c (devio_start_output): Honor USER_OUTPUT_SUSP flag.
+ Restart output if USER_OUTPUT_SUSP flag off and output_stopped true.
+ (output_stopped): New variable.
+ (devio_suspend_physical_output): New function.
+ (devio_bottom): Add devio_suspend_physical_output.
+
+ * users.c (trivfs_S_io_select): Return EINTR if we are cancelled.
+
+ * munge.c (reprint_line): C-r is CHAR_DC2, not DC3.
+ * term.h (CHAR_DC3): Correct value is '\023'.
+ (CHAR_DC1, CHAR_DC2): New macros.
+
+Thu Nov 30 15:50:01 1995 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu>
+
+ * devio.c (start_output): Add devio_ prefix; declare static.
+ All callers changed.
+ (set_break): Likewise.
+ (clear_break): Likewise.
+ (abandon_physical_output): Likewise.
+ (pending_output_size): Likewise.
+ (assert_dtr): Likewise.
+ (desert_dtr): Likewise.
+ (set_bits): Likewise.
+ (mdmctl): Likewise.
+ (mdmstate): Likewise.
+ (devio_bottom): New variable.
+ * term.h (struct bottomhalf): New type.
+ (bottom, devio_bottom): New variables.
+ (start_output, set_break, clear_break, abandon_physical_output,
+ pending_output_size, assert_dtr, desert_dtr, set_bits, mdmctl,
+ mdmstate): Deleted declarations.
+
+ * devio.c (ports_do_mach_notify_send_once): New function.
+
+Sun Nov 5 02:07:56 1995 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * main.c (main): Add flags arg to fsys_startup call.
+
+Sat Sep 23 00:48:17 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
+
+ * term.h: Include errno.h.
+
+Mon Sep 18 14:51:40 1995 Miles Bader <miles@churchy.gnu.ai.mit.edu>
+
+ * users.c (trivfs_S_file_set_size): Renamed from
+ trivfs_S_file_truncate.
+
+Sat Sep 16 13:03:40 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
+
+ * Makefile (DIST_FILES): Added ourmsg.defs.
+ (ourmsg_U.h ourmsgUser.c, ourmsg.defs): Targets removed.
+
+Thu Sep 7 13:08:55 1995 Michael I. Bushnell, p/BSG <mib@duality.gnu.ai.mit.edu>
+
+ * users.c (trivfs_S_io_write): Start pending output before
+ blocking.
+
+Fri Sep 1 09:51:11 1995 Michael I. Bushnell, p/BSG <mib@duality.gnu.ai.mit.edu>
+
+ * munge.c (input_character): Clear input queues correctly for
+ VINTR/VQUIT, VSUSP, and input queue full.
+
+ * users.c (init_users): New function.
+ * main.c (main): Call init_users.
+ * term.h (init_users): New decl.
+
+ * users.c (open_hook): Turn on NO_OWNER for fresh opens.
+ * main.c (main): Assert NO_OWNER in initial state.
+
+ * term.h (output_psize): Delete decl.
+ (write_character): New decl.
+ * munge.c (output_character): Don't set echo_qsize or echo_pstart
+ here.
+ (write_character): New function.
+ (echo_char): Use write_character for closing '/' of hderase.
+ (output_psize): New decl.
+ * users.c (trivfs_S_io_write): Use write_character instead of
+ output_character.
+ * main.c (main): Don't initialize output_psize.