hc
2024-03-22 ac5f19e89dcbd5c7428fcc78a0d407c887564466
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
/* 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 */