diff options
Diffstat (limited to 'winsup/cygwin/termios.cc')
-rw-r--r-- | winsup/cygwin/termios.cc | 274 |
1 files changed, 0 insertions, 274 deletions
diff --git a/winsup/cygwin/termios.cc b/winsup/cygwin/termios.cc deleted file mode 100644 index 69aaf19..0000000 --- a/winsup/cygwin/termios.cc +++ /dev/null @@ -1,274 +0,0 @@ -/* termios.cc: termios for WIN32. - - Copyright 1996, 1997, 1998, 2000 Cygnus Solutions. - - Written by Doug Evans and Steve Chamberlain of Cygnus Support - dje@cygnus.com, sac@cygnus.com - -This file is part of Cygwin. - -This software is a copyrighted work licensed under the terms of the -Cygwin license. Please consult the file "CYGWIN_LICENSE" for -details. */ - -#include <errno.h> -#include "winsup.h" - -/* tcsendbreak: POSIX 7.2.2.1 */ -extern "C" -int -tcsendbreak (int fd, int duration) -{ - int res = -1; - - if (dtable.not_open (fd)) - { - set_errno (EBADF); - goto out; - } - - fhandler_base *fh; - fh = dtable[fd]; - - if (!fh->is_tty ()) - set_errno (ENOTTY); - else - { - if ((res = fh->bg_check (-SIGTTOU)) > 0) - res = fh->tcsendbreak (duration); - } - -out: - syscall_printf ("%d = tcsendbreak (%d, %d )", res, fd, duration); - return res; -} - -/* tcdrain: POSIX 7.2.2.1 */ -extern "C" -int -tcdrain (int fd) -{ - int res = -1; - - termios_printf ("tcdrain"); - - if (dtable.not_open (fd)) - { - set_errno (EBADF); - goto out; - } - - fhandler_base *fh; - fh = dtable[fd]; - - if (!fh->is_tty ()) - set_errno (ENOTTY); - else - { - if ((res = fh->bg_check (-SIGTTOU)) > 0) - res = fh->tcdrain (); - } - -out: - syscall_printf ("%d = tcdrain (%d)", res, fd); - return res; -} - -/* tcflush: POSIX 7.2.2.1 */ -extern "C" -int -tcflush (int fd, int queue) -{ - int res = -1; - - if (dtable.not_open (fd)) - { - set_errno (EBADF); - goto out; - } - - fhandler_base *fh; - fh = dtable[fd]; - - if (!fh->is_tty ()) - set_errno (ENOTTY); - else - { - if ((res = fh->bg_check (-SIGTTOU)) > 0) - res = fh->tcflush (queue); - } - -out: - termios_printf ("%d = tcflush (%d, %d)", res, fd, queue); - return res; -} - -/* tcflow: POSIX 7.2.2.1 */ -extern "C" -int -tcflow (int fd, int action) -{ - int res = -1; - - if (dtable.not_open (fd)) - { - set_errno (EBADF); - goto out; - } - - fhandler_base *fh; - fh = dtable[fd]; - - if (!fh->is_tty ()) - set_errno (ENOTTY); - else - { - if ((res = fh->bg_check (-SIGTTOU)) > 0) - res = fh->tcflow (action); - } - -out: - syscall_printf ("%d = tcflow (%d, %d)", res, fd, action); - return res; -} - -/* tcsetattr: POSIX96 7.2.1.1 */ -extern "C" -int -tcsetattr (int fd, int a, const struct termios *t) -{ - int res = -1; - - t = __tonew_termios (t); - if (dtable.not_open (fd)) - { - set_errno (EBADF); - goto out; - } - - fhandler_base *fh; - fh = dtable[fd]; - - if (!fh->is_tty ()) - set_errno (ENOTTY); - else - { - if ((res = fh->bg_check (-SIGTTOU)) > 0) - res = fh->tcsetattr (a, t); - } - -out: - termios_printf ("iflag %x, oflag %x, cflag %x, lflag %x, VMIN %d, VTIME %d", - t->c_iflag, t->c_oflag, t->c_cflag, t->c_lflag, t->c_cc[VMIN], - t->c_cc[VTIME]); - termios_printf ("%d = tcsetattr (%d, %d, %x)", res, fd, a, t); - return res; -} - -/* tcgetattr: POSIX 7.2.1.1 */ -extern "C" -int -tcgetattr (int fd, struct termios *in_t) -{ - int res = -1; - struct termios *t = __makenew_termios (in_t); - - if (dtable.not_open (fd)) - set_errno (EBADF); - else if (!dtable[fd]->is_tty ()) - set_errno (ENOTTY); - else - { - if ((res = dtable[fd]->tcgetattr (t)) == 0) - (void) __toapp_termios (in_t, t); - } - - if (res) - termios_printf ("%d = tcgetattr (%d, %x)", res, fd, in_t); - else - termios_printf ("iflag %x, oflag %x, cflag %x, lflag %x, VMIN %d, VTIME %d", - t->c_iflag, t->c_oflag, t->c_cflag, t->c_lflag, t->c_cc[VMIN], - t->c_cc[VTIME]); - - return res; -} - -/* tcgetpgrp: POSIX 7.2.3.1 */ -extern "C" -int -tcgetpgrp (int fd) -{ - int res = -1; - - if (dtable.not_open (fd)) - set_errno (EBADF); - else if (!dtable[fd]->is_tty ()) - set_errno (ENOTTY); - else - res = dtable[fd]->tcgetpgrp (); - - termios_printf ("%d = tcgetpgrp (%d)", res, fd); - return res; -} - -/* tcsetpgrp: POSIX 7.2.4.1 */ -extern "C" -int -tcsetpgrp (int fd, pid_t pgid) -{ - int res = -1; - - if (dtable.not_open (fd)) - set_errno (EBADF); - else if (!dtable[fd]->is_tty ()) - set_errno (ENOTTY); - else - res = dtable[fd]->tcsetpgrp (pgid); - - termios_printf ("%d = tcsetpgrp (%d, %x)", res, fd, pgid); - return res; -} - -/* NIST PCTS requires not macro-only implementation */ -#undef cfgetospeed -#undef cfgetispeed -#undef cfsetospeed -#undef cfsetispeed - -/* cfgetospeed: POSIX96 7.1.3.1 */ -extern "C" -speed_t -cfgetospeed (struct termios *tp) -{ - return __tonew_termios(tp)->c_ospeed; -} - -/* cfgetispeed: POSIX96 7.1.3.1 */ -extern "C" -speed_t -cfgetispeed (struct termios *tp) -{ - return __tonew_termios(tp)->c_ispeed; -} - -/* cfsetospeed: POSIX96 7.1.3.1 */ -extern "C" -int -cfsetospeed (struct termios *in_tp, speed_t speed) -{ - struct termios *tp = __tonew_termios (in_tp); - tp->c_ospeed = speed; - (void) __toapp_termios (in_tp, tp); - return 0; -} - -/* cfsetispeed: POSIX96 7.1.3.1 */ -extern "C" -int -cfsetispeed (struct termios *in_tp, speed_t speed) -{ - struct termios *tp = __tonew_termios (in_tp); - tp->c_ispeed = speed; - (void) __toapp_termios (in_tp, tp); - return 0; -} |