summaryrefslogtreecommitdiff
path: root/term/users.c
AgeCommit message (Collapse)Author
2002-06-252002-06-25 Marcus Brinkmann <marcus@gnu.org>Marcus Brinkmann
* 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.
2002-06-13(S_tioctl_tiocspgrp): revert unintentional checkinRoland McGrath
2002-06-132002-06-13 Roland McGrath <roland@frob.com>Roland McGrath
* 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.
2002-03-262002-03-23 James A. Morrison <ja2morri@uwaterloo.ca>Neal H. Walfield
* 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.
2002-03-052002-03-05 Marcus Brinkmann <marcus@gnu.org>Marcus Brinkmann
* 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.
2002-02-102002-02-10 Marcus Brinkmann <marcus@gnu.org>Marcus Brinkmann
* 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.
2002-02-102002-02-10 Marcus Brinkmann <marcus@gnu.org>Marcus Brinkmann
* 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-30term/Marcus Brinkmann
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.
2001-06-162001-04-01 Neal H Walfield <neal@cs.uml.edu>Roland McGrath
* users.c (S_termctty_open_terminal): Use iohelp_create_empty_iouser.
2001-06-012001-06-01 Roland McGrath <roland@frob.com>Roland McGrath
* users.c (trivfs_S_io_select): Fix typo in last change.
2001-05-312001-05-30 Roland McGrath <roland@frob.com>Roland McGrath
* 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.
2001-05-262001-05-26 Roland McGrath <roland@frob.com>Roland McGrath
* 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.
2000-03-172000-03-17 Roland McGrath <roland@baalperazim.frob.com>Roland McGrath
* users.c (send_signal): Use ports_get_send_right.
1999-10-041999-10-04 Thomas Bushnell, BSG <tb@mit.edu>Thomas Bushnell
* 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-011999-10-01 Roland McGrath <roland@baalperazim.frob.com>Roland McGrath
* 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-13Reverted changes related to io_map_segment.Roland McGrath
1999-09-081999-09-07 Thomas Bushnell, BSG <tb@mit.edu>Thomas Bushnell
* users.c (trivfs_S_io_map): Renamed to ... (trivfs_S_io_map_segment): ... here.
1999-07-111999-07-09 Thomas Bushnell, BSG <tb@mit.edu>Thomas Bushnell
* ptyio.c (pty_io_read): Use mmap instead of vm_allocate. * users.c (trivfs_S_io_read): Likewise.
1999-05-151999-05-13 Roland McGrath <roland@baalperazim.frob.com>Roland McGrath
* users.c (trivfs_S_file_chown): Either arg being -1 means don't change that id.
1999-03-17Wed Mar 17 16:32:05 1999 Thomas Bushnell, BSG <tb@mit.edu>Thomas Bushnell
* 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.
1999-03-15Mon Mar 15 14:58:33 1999 Thomas Bushnell, BSG <tb@mit.edu>Thomas Bushnell
* 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-141999-03-13 Mark Kettenis <kettenis@gnu.org>Thomas Bushnell
* users.c (po_destroy_hook): Only reset state and hardware if TTY_OPEN bit is set in TERMFLAGS.
1999-02-281999-02-28 Roland McGrath <roland@baalperazim.frob.com>Roland McGrath
* users.c (trivfs_S_io_revoke): Use ports_class_iterate.
1999-02-22Mon Feb 22 04:34:55 1999 Thomas Bushnell, BSG <tb@mit.edu>Thomas Bushnell
* users.c (trivfs_S_io_revoke): Protect the revocation by blocking all other rpcs.
1999-02-21Sat Feb 20 04:59:15 1999 Thomas Bushnell, BSG <tb@mit.edu>Thomas Bushnell
* 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-191999-02-06 Mark Kettenis <kettenis@gnu.org>Thomas Bushnell
* 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.
1999-02-171999-02-16 Roland McGrath <roland@baalperazim.frob.com>Roland McGrath
* users.c (trivfs_S_io_revoke): Fix typos.
1999-02-16Tue Feb 16 06:10:08 1999 Thomas Bushnell, BSG <tb@mit.edu>Thomas Bushnell
* users.c (trivfs_S_io_revoke): New function.
1999-02-161999-02-05 Mark Kettenis <kettenis@gnu.org>Thomas Bushnell
* users.c (trivfs_S_file_chmod): Clear S_ISVTX bit instead of clearing all other bits.
1998-11-251998-10-24 Roland McGrath <roland@baalperazim.frob.com>Roland McGrath
* users.c (open_hook): Assert DTR if NO_CARRIER, even for CLOCAL. This is the only thing that tells it to open the device.
1998-07-201998-07-20 Roland McGrath <roland@baalperazim.frob.com>Roland McGrath
* users.c: Include <hurd/fshelp.h> for fshelp_isowner decl.
1997-06-10Mon Jun 9 12:19:51 1997 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>Thomas Bushnell
* users.c (trivfs_S_file_chmod): Fix typo.
1997-06-05Tue May 27 12:04:00 1997 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>Thomas Bushnell
* users.c (trivfs_S_file_chmod): Turn off S_ISPARE too.
1997-03-02(open_hook):Miles Bader
Add OPEN_COUNT hack to try and detect lossage.
1996-12-12(trivfs_S_file_chmod):Miles Bader
Turn off S_ITRANS bits, and turn on S_IROOT in TERM_MODE.
1996-12-05Sat Nov 23 16:28:36 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>Thomas Bushnell
* users.c: Include <hurd/iohelp.h>. (trivfs_S_file_chmod): Bother to fill in ST.
1996-11-18Mon Nov 18 18:16:29 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>Thomas Bushnell
* 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.
1996-10-24Thu Oct 24 14:44:57 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>Thomas Bushnell
* 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.
1996-10-09(open_hook): Zero WINDOW_SIZE during initialization.Miles Bader
1996-10-04(S_tioctl_tiocswinsz): Correct test for a changed winsize.Miles Bader
1996-10-04(set_state, open_hook): Call (*BOTTOM)->set_bits unconditionally.Miles Bader
1996-08-29*** empty log message ***Thomas Bushnell
1996-08-15*** empty log message ***Thomas Bushnell
1996-08-15(trivfs_S_file_check_access): Renamed from `trivfs_S_file_access'.Miles Bader
1996-07-20*** empty log message ***Michael I. Bushnell
1996-07-17(trivfs_S_file_chown): Return 0 for success.Michael I. Bushnell
1996-07-17(trivfs_S_file_chown): fixupMichael I. Bushnell
1996-07-17(trivfs_S_file_chmod): Bother to return a value.Michael I. Bushnell
1996-07-17(trivfs_S_io_read): Bother to set atime when appropriate.Michael I. Bushnell
1996-07-17(trivfs_modify_stat): Fill in st->st_mode, st->st_uid, and st->st_gidMichael I. Bushnell
ourselves. (trivfs_S_file_chown): New routine, to override trivfs default. (trivfs_S_file_chmod): Likewise.