1 /* Copyright (C) 1997-2022 Free Software Foundation, Inc. 2 This file is part of the GNU C Library. 3 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. 8 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. 13 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/>. */ 17 18 #ifndef _KERNEL_TERMIOS_H 19 #define _KERNEL_TERMIOS_H 1 20 21 /* We need the definition of tcflag_t, cc_t, and speed_t. */ 22 #include <termios.h> 23 24 #define __KERNEL_NCCS 19 25 26 struct __kernel_termios 27 { 28 tcflag_t c_iflag; /* input mode flags */ 29 tcflag_t c_oflag; /* output mode flags */ 30 tcflag_t c_cflag; /* control mode flags */ 31 tcflag_t c_lflag; /* local mode flags */ 32 cc_t c_cc[__KERNEL_NCCS]; /* control characters */ 33 cc_t c_line; /* line discipline */ 34 speed_t c_ispeed; /* input speed */ 35 speed_t c_ospeed; /* output speed */ 36 }; 37 38 #define _HAVE_C_ISPEED 1 39 #define _HAVE_C_OSPEED 1 40 41 /* We have the kernel termios structure, so we can presume this code knows 42 what it's doing... */ 43 44 #undef TCGETS 45 #undef TCSETS 46 #undef TCSETSW 47 #undef TCSETSF 48 #define TCGETS _IOR ('t', 19, struct __kernel_termios) 49 #define TCSETS _IOW ('t', 20, struct __kernel_termios) 50 #define TCSETSW _IOW ('t', 21, struct __kernel_termios) 51 #define TCSETSF _IOW ('t', 22, struct __kernel_termios) 52 53 #endif /* kernel_termios.h */ 54