master
1/* termios type and macro definitions. Linux version.
2 Copyright (C) 1993-2025 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see
17 <https://www.gnu.org/licenses/>. */
18
19#ifndef _TERMIOS_H
20# error "Never include <bits/termios.h> directly; use <termios.h> instead."
21#endif
22
23typedef unsigned char cc_t;
24typedef unsigned int speed_t;
25typedef unsigned int tcflag_t;
26
27#ifdef _TERMIOS_H
28# include <bits/termios-struct.h>
29#endif
30
31#include <bits/termios-c_cc.h>
32#include <bits/termios-c_iflag.h>
33#include <bits/termios-c_oflag.h>
34
35/* c_cflag bit meaning */
36#include <bits/termios-c_cflag.h>
37
38#ifdef __USE_MISC
39#define __B0 0000000 /* hang up */
40#define __B50 0000001
41#define __B75 0000002
42#define __B110 0000003
43#define __B134 0000004
44#define __B150 0000005
45#define __B200 0000006
46#define __B300 0000007
47#define __B600 0000010
48#define __B1200 0000011
49#define __B1800 0000012
50#define __B2400 0000013
51#define __B4800 0000014
52#define __B9600 0000015
53#define __B19200 0000016
54#define __B38400 0000017
55#include <bits/termios-cbaud.h>
56
57# define __EXTA __B19200
58# define __EXTB __B38400
59# define BOTHER __BOTHER
60#endif
61
62#include <bits/termios-c_lflag.h>
63
64#ifdef __USE_MISC
65/* ioctl (fd, TIOCSERGETLSR, &result) where result may be as below */
66# define TIOCSER_TEMT 0x01 /* Transmitter physically empty */
67#endif
68
69/* tcflow() and TCXONC use these */
70#define TCOOFF 0
71#define TCOON 1
72#define TCIOFF 2
73#define TCION 3
74
75/* tcflush() and TCFLSH use these */
76#define TCIFLUSH 0
77#define TCOFLUSH 1
78#define TCIOFLUSH 2
79
80#include <bits/termios-tcflow.h>
81
82#include <bits/termios-misc.h>
83
84#include <bits/termios-baud.h>