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