From ccf281c974e967f55ac3c21f7ebfacf1cc3afda2 Mon Sep 17 00:00:00 2001 From: "Michael I. Bushnell" Date: Wed, 8 Jan 1992 23:30:19 +0000 Subject: Formerly term.defs.~7~ --- hurd/term.defs | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/hurd/term.defs b/hurd/term.defs index 6cf18d7d..ed63a2ac 100644 --- a/hurd/term.defs +++ b/hurd/term.defs @@ -23,12 +23,37 @@ subsystem term 28000; #include +/* Find out what the controlling terminal ID port is. */ term_getctty ( terminal: io_t; out ctty: mach_port_make_send_t); +/* +Return a controlling terminal port for this terminal. This has the +following effects: + +Certain input characters in certain modes will cause signals to be +sent to foreground processes which have made this call, on the sigpt +port they specified. The ctty ID will be used as the reference port. + +Certain conditions will cause SIGHUP to be sent using the same +mechanism as above. + +When background processes do certain operations on a port returned by +term_become_ctty, the EBACKGROUND error may be returned. This occurs +for io_read always, io_write if the appropriate bit is set in the +status, and various control operations always. The vanilla port to +the terminal can still be used to do these operations. + +A "foreground process" is one making a request over a port returned by +term_become_ctty whose pid (as provided in the term_become_ctty call) +matches the current owner (as set by io_mod_owner) or whose pgrp +matches the owner in the same fashion. A "background process" is one +making a request over a port returned by term_become_ctty which is not +a foreground process. */ term_become_ctty ( terminal: io_t; pid: pid_t; pgrp: pid_t; + sigpt: mach_port_t; out newtty: io_t); -- cgit v1.2.3