1 /* Copyright (C) 1991-2020 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.
4 The GNU C Library is free software; you can redistribute it and/or
5 modify it under the terms of the GNU Lesser General Public
6 License as published by the Free Software Foundation; either
7 version 2.1 of the License, or (at your option) any later version.
9 The GNU C Library is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 Lesser General Public License for more details.
14 You should have received a copy of the GNU Lesser General Public
15 License along with the GNU C Library; if not, see
16 <https://www.gnu.org/licenses/>. */
22 static int bad_speed (speed_t speed
);
24 /* Set the state of FD to *TERMIOS_P. */
26 tcsetattr (int fd
, int optional_actions
, const struct termios
*termios_p
)
33 if (termios_p
== NULL
)
38 switch (optional_actions
)
49 if (bad_speed(termios_p
->__ospeed
)
50 || bad_speed(termios_p
->__ispeed
== 0
51 ? termios_p
->__ospeed
: termios_p
->__ispeed
))
60 libc_hidden_def (tcsetattr
)
62 /* Strychnine checking. */
64 bad_speed (speed_t speed
)
106 stub_warning (tcsetattr
)