1 //===-- Definition of struct termios --------------------------------------===// 2 // 3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4 // See https://llvm.org/LICENSE.txt for license information. 5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6 // 7 //===----------------------------------------------------------------------===// 8 9 #ifndef __LLVM_LIBC_TYPES_STRUCT_TERMIOS_H__ 10 #define __LLVM_LIBC_TYPES_STRUCT_TERMIOS_H__ 11 12 #include "cc_t.h" 13 #include "speed_t.h" 14 #include "tcflag_t.h" 15 16 struct termios { 17 tcflag_t c_iflag; // Input mode flags 18 tcflag_t c_oflag; // Output mode flags 19 tcflag_t c_cflag; // Control mode flags 20 tcflag_t c_lflag; // Local mode flags 21 #ifdef __linux__ 22 cc_t c_line; // Line discipline 23 #endif // __linux__ 24 // NCCS is defined in llvm-libc-macros/termios-macros.h. 25 cc_t c_cc[NCCS]; // Control characters 26 #ifdef __linux__ 27 speed_t c_ispeed; // Input speed 28 speed_t c_ospeed; // output speed 29 #endif // __linux__ 30 }; 31 32 #endif // __LLVM_LIBC_TYPES_STRUCT_TERMIOS_H__ 33