1/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2#ifndef _UAPI_LINUX_TTY_H
3#define _UAPI_LINUX_TTY_H
4
5/*
6 * 'tty.h' defines some structures used by tty_io.c and some defines.
7 */
8
9/* line disciplines */
10#define N_TTY 0
11#define N_SLIP 1
12#define N_MOUSE 2
13#define N_PPP 3
14#define N_STRIP 4
15#define N_AX25 5
16#define N_X25 6 /* X.25 async */
17#define N_6PACK 7
18#define N_MASC 8 /* Reserved for Mobitex module <kaz@cafe.net> */
19#define N_R3964 9 /* Reserved for Simatic R3964 module */
20#define N_PROFIBUS_FDL 10 /* Reserved for Profibus */
21#define N_IRDA 11 /* Linux IrDa - http://irda.sourceforge.net/ */
22#define N_SMSBLOCK 12 /* SMS block mode - for talking to GSM data */
23 /* cards about SMS messages */
24#define N_HDLC 13 /* synchronous HDLC */
25#define N_SYNC_PPP 14 /* synchronous PPP */
26#define N_HCI 15 /* Bluetooth HCI UART */
27#define N_GIGASET_M101 16 /* Siemens Gigaset M101 serial DECT adapter */
28#define N_SLCAN 17 /* Serial / USB serial CAN Adaptors */
29#define N_PPS 18 /* Pulse per Second */
30#define N_V253 19 /* Codec control over voice modem */
31#define N_CAIF 20 /* CAIF protocol for talking to modems */
32#define N_GSM0710 21 /* GSM 0710 Mux */
33#define N_TI_WL 22 /* for TI's WL BT, FM, GPS combo chips */
34#define N_TRACESINK 23 /* Trace data routing for MIPI P1149.7 */
35#define N_TRACEROUTER 24 /* Trace data routing for MIPI P1149.7 */
36#define N_NCI 25 /* NFC NCI UART */
37#define N_SPEAKUP 26 /* Speakup communication with synths */
38#define N_NULL 27 /* Null ldisc used for error handling */
39#define N_MCTP 28 /* MCTP-over-serial */
40#define N_DEVELOPMENT 29 /* Manual out-of-tree testing */
41#define N_CAN327 30 /* ELM327 based OBD-II interfaces */
42
43/* Always the newest line discipline + 1 */
44#define NR_LDISCS 31
45
46#endif /* _UAPI_LINUX_TTY_H */
47

source code of linux/include/uapi/linux/tty.h