xref: /llvm-project/libc/include/llvm-libc-types/struct_termios.h (revision 88a0a318e80565fef9367728b878641d261acfb6)
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