summaryrefslogtreecommitdiff
path: root/include/arch/x86_64/asm-generic/ioctls.h
blob: 3351185dd57e6625fe2c985831dd3a515f10d51a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
#ifndef __ASM_GENERIC_IOCTLS_H
#define __ASM_GENERIC_IOCTLS_H

#include <linux/ioctl.h>

/*
 * These are the most common definitions for tty ioctl numbers.
 * Most of them do not use the recommended _IOC(), but there is
 * probably some source code out there hardcoding the number,
 * so we might as well use them for all new platforms.
 *
 * The architectures that use different values here typically
 * try to be compatible with some Unix variants for the same
 * architecture.
 */

/* 0x54 is just a magic number to make these relatively unique ('T') */

#define TCGETS	     0x5401
#define TCSETS	     0x5402
#define TCSETSW	     0x5403
#define TCSETSF	     0x5404
#define TCGETA	     0x5405
#define TCSETA	     0x5406
#define TCSETAW	     0x5407
#define TCSETAF	     0x5408
#define TCSBRK	     0x5409
#define TCXONC	     0x540A
#define TCFLSH	     0x540B
#define TIOCEXCL     0x540C
#define TIOCNXCL     0x540D
#define TIOCSCTTY    0x540E
#define TIOCGPGRP    0x540F
#define TIOCSPGRP    0x5410
#define TIOCOUTQ     0x5411
#define TIOCSTI	     0x5412
#define TIOCGWINSZ   0x5413
#define TIOCSWINSZ   0x5414
#define TIOCMGET     0x5415
#define TIOCMBIS     0x5416
#define TIOCMBIC     0x5417
#define TIOCMSET     0x5418
#define TIOCGSOFTCAR 0x5419
#define TIOCSSOFTCAR 0x541A
#define FIONREAD     0x541B
#define TIOCINQ	     FIONREAD
#define TIOCLINUX    0x541C
#define TIOCCONS     0x541D
#define TIOCGSERIAL  0x541E
#define TIOCSSERIAL  0x541F
#define TIOCPKT	     0x5420
#define FIONBIO	     0x5421
#define TIOCNOTTY    0x5422
#define TIOCSETD     0x5423
#define TIOCGETD     0x5424
#define TCSBRKP	     0x5425 /* Needed for POSIX tcsendbreak() */
#define TIOCSBRK     0x5427 /* BSD compatibility */
#define TIOCCBRK     0x5428 /* BSD compatibility */
#define TIOCGSID     0x5429 /* Return the session ID of FD */
#define TCGETS2	     _IOR('T', 0x2A, struct termios2)
#define TCSETS2	     _IOW('T', 0x2B, struct termios2)
#define TCSETSW2     _IOW('T', 0x2C, struct termios2)
#define TCSETSF2     _IOW('T', 0x2D, struct termios2)
#define TIOCGRS485   0x542E
#ifndef TIOCSRS485
#define TIOCSRS485 0x542F
#endif
#define TIOCGPTN   _IOR('T', 0x30, unsigned int) /* Get Pty Number (of pty-mux device) */
#define TIOCSPTLCK _IOW('T', 0x31, int)		 /* Lock/unlock Pty */
#define TIOCGDEV                                                    \
	_IOR('T', 0x32, unsigned int) /* Get primary device node of \
					 /dev/console */
#define TCGETX	     0x5432	      /* SYS5 TCGETX compatibility */
#define TCSETX	     0x5433
#define TCSETXF	     0x5434
#define TCSETXW	     0x5435
#define TIOCSIG	     _IOW('T', 0x36, int) /* pty: generate signal */
#define TIOCVHANGUP  0x5437
#define TIOCGPKT     _IOR('T', 0x38, int) /* Get packet mode state */
#define TIOCGPTLCK   _IOR('T', 0x39, int) /* Get Pty lock state */
#define TIOCGEXCL    _IOR('T', 0x40, int) /* Get exclusive mode state */
#define TIOCGPTPEER  _IO('T', 0x41)	  /* Safely open the slave */
#define TIOCGISO7816 _IOR('T', 0x42, struct serial_iso7816)
#define TIOCSISO7816 _IOWR('T', 0x43, struct serial_iso7816)

#define FIONCLEX	0x5450
#define FIOCLEX		0x5451
#define FIOASYNC	0x5452
#define TIOCSERCONFIG	0x5453
#define TIOCSERGWILD	0x5454
#define TIOCSERSWILD	0x5455
#define TIOCGLCKTRMIOS	0x5456
#define TIOCSLCKTRMIOS	0x5457
#define TIOCSERGSTRUCT	0x5458 /* For debugging only */
#define TIOCSERGETLSR	0x5459 /* Get line status register */
#define TIOCSERGETMULTI 0x545A /* Get multiport config  */
#define TIOCSERSETMULTI 0x545B /* Set multiport config */

#define TIOCMIWAIT  0x545C /* wait for a change on serial input line(s) */
#define TIOCGICOUNT 0x545D /* read serial port __inline__ interrupt counts */

/*
 * Some arches already define FIOQSIZE due to a historical
 * conflict with a Hayes modem-specific ioctl value.
 */
#ifndef FIOQSIZE
#define FIOQSIZE 0x5460
#endif

/* Used for packet mode */
#define TIOCPKT_DATA	   0
#define TIOCPKT_FLUSHREAD  1
#define TIOCPKT_FLUSHWRITE 2
#define TIOCPKT_STOP	   4
#define TIOCPKT_START	   8
#define TIOCPKT_NOSTOP	   16
#define TIOCPKT_DOSTOP	   32
#define TIOCPKT_IOCTL	   64

#define TIOCSER_TEMT 0x01 /* Transmitter physically empty */

#endif /* __ASM_GENERIC_IOCTLS_H */