xref: /OK3568_Linux_fs/kernel/arch/sh/include/uapi/asm/ioctls.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2*4882a593Smuzhiyun #ifndef __ASM_SH_IOCTLS_H
3*4882a593Smuzhiyun #define __ASM_SH_IOCTLS_H
4*4882a593Smuzhiyun 
5*4882a593Smuzhiyun #include <asm/ioctl.h>
6*4882a593Smuzhiyun 
7*4882a593Smuzhiyun #define FIOCLEX		_IO('f', 1)
8*4882a593Smuzhiyun #define FIONCLEX	_IO('f', 2)
9*4882a593Smuzhiyun #define FIOASYNC	_IOW('f', 125, int)
10*4882a593Smuzhiyun #define FIONBIO		_IOW('f', 126, int)
11*4882a593Smuzhiyun #define FIONREAD	_IOR('f', 127, int)
12*4882a593Smuzhiyun #define TIOCINQ		FIONREAD
13*4882a593Smuzhiyun #define FIOQSIZE	_IOR('f', 128, loff_t)
14*4882a593Smuzhiyun 
15*4882a593Smuzhiyun #define TCGETS		0x5401
16*4882a593Smuzhiyun #define TCSETS		0x5402
17*4882a593Smuzhiyun #define TCSETSW		0x5403
18*4882a593Smuzhiyun #define TCSETSF		0x5404
19*4882a593Smuzhiyun 
20*4882a593Smuzhiyun #define TCGETA		0x80127417	/* _IOR('t', 23, struct termio) */
21*4882a593Smuzhiyun #define TCSETA		0x40127418	/* _IOW('t', 24, struct termio) */
22*4882a593Smuzhiyun #define TCSETAW		0x40127419	/* _IOW('t', 25, struct termio) */
23*4882a593Smuzhiyun #define TCSETAF		0x4012741C	/* _IOW('t', 28, struct termio) */
24*4882a593Smuzhiyun 
25*4882a593Smuzhiyun #define TCSBRK		_IO('t', 29)
26*4882a593Smuzhiyun #define TCXONC		_IO('t', 30)
27*4882a593Smuzhiyun #define TCFLSH		_IO('t', 31)
28*4882a593Smuzhiyun 
29*4882a593Smuzhiyun #define TIOCSWINSZ	0x40087467	/* _IOW('t', 103, struct winsize) */
30*4882a593Smuzhiyun #define TIOCGWINSZ	0x80087468	/* _IOR('t', 104, struct winsize) */
31*4882a593Smuzhiyun #define	TIOCSTART	_IO('t', 110)		/* start output, like ^Q */
32*4882a593Smuzhiyun #define	TIOCSTOP	_IO('t', 111)		/* stop output, like ^S */
33*4882a593Smuzhiyun #define TIOCOUTQ        _IOR('t', 115, int)     /* output queue size */
34*4882a593Smuzhiyun 
35*4882a593Smuzhiyun #define TIOCSPGRP	_IOW('t', 118, int)
36*4882a593Smuzhiyun #define TIOCGPGRP	_IOR('t', 119, int)
37*4882a593Smuzhiyun 
38*4882a593Smuzhiyun #define TIOCEXCL	_IO('T', 12) /* 0x540C */
39*4882a593Smuzhiyun #define TIOCNXCL	_IO('T', 13) /* 0x540D */
40*4882a593Smuzhiyun #define TIOCSCTTY	_IO('T', 14) /* 0x540E */
41*4882a593Smuzhiyun 
42*4882a593Smuzhiyun #define TIOCSTI		_IOW('T', 18, char) /* 0x5412 */
43*4882a593Smuzhiyun #define TIOCMGET	_IOR('T', 21, unsigned int) /* 0x5415 */
44*4882a593Smuzhiyun #define TIOCMBIS	_IOW('T', 22, unsigned int) /* 0x5416 */
45*4882a593Smuzhiyun #define TIOCMBIC	_IOW('T', 23, unsigned int) /* 0x5417 */
46*4882a593Smuzhiyun #define TIOCMSET	_IOW('T', 24, unsigned int) /* 0x5418 */
47*4882a593Smuzhiyun # define TIOCM_LE	0x001
48*4882a593Smuzhiyun # define TIOCM_DTR	0x002
49*4882a593Smuzhiyun # define TIOCM_RTS	0x004
50*4882a593Smuzhiyun # define TIOCM_ST	0x008
51*4882a593Smuzhiyun # define TIOCM_SR	0x010
52*4882a593Smuzhiyun # define TIOCM_CTS	0x020
53*4882a593Smuzhiyun # define TIOCM_CAR	0x040
54*4882a593Smuzhiyun # define TIOCM_RNG	0x080
55*4882a593Smuzhiyun # define TIOCM_DSR	0x100
56*4882a593Smuzhiyun # define TIOCM_CD	TIOCM_CAR
57*4882a593Smuzhiyun # define TIOCM_RI	TIOCM_RNG
58*4882a593Smuzhiyun 
59*4882a593Smuzhiyun #define TIOCGSOFTCAR	_IOR('T', 25, unsigned int) /* 0x5419 */
60*4882a593Smuzhiyun #define TIOCSSOFTCAR	_IOW('T', 26, unsigned int) /* 0x541A */
61*4882a593Smuzhiyun #define TIOCLINUX	_IOW('T', 28, char) /* 0x541C */
62*4882a593Smuzhiyun #define TIOCCONS	_IO('T', 29) /* 0x541D */
63*4882a593Smuzhiyun #define TIOCGSERIAL	0x803C541E	/* _IOR('T', 30, struct serial_struct) 0x541E */
64*4882a593Smuzhiyun #define TIOCSSERIAL	0x403C541F	/* _IOW('T', 31, struct serial_struct) 0x541F */
65*4882a593Smuzhiyun #define TIOCPKT		_IOW('T', 32, int) /* 0x5420 */
66*4882a593Smuzhiyun # define TIOCPKT_DATA		 0
67*4882a593Smuzhiyun # define TIOCPKT_FLUSHREAD	 1
68*4882a593Smuzhiyun # define TIOCPKT_FLUSHWRITE	 2
69*4882a593Smuzhiyun # define TIOCPKT_STOP		 4
70*4882a593Smuzhiyun # define TIOCPKT_START		 8
71*4882a593Smuzhiyun # define TIOCPKT_NOSTOP		16
72*4882a593Smuzhiyun # define TIOCPKT_DOSTOP		32
73*4882a593Smuzhiyun # define TIOCPKT_IOCTL		64
74*4882a593Smuzhiyun 
75*4882a593Smuzhiyun 
76*4882a593Smuzhiyun #define TIOCNOTTY	_IO('T', 34) /* 0x5422 */
77*4882a593Smuzhiyun #define TIOCSETD	_IOW('T', 35, int) /* 0x5423 */
78*4882a593Smuzhiyun #define TIOCGETD	_IOR('T', 36, int) /* 0x5424 */
79*4882a593Smuzhiyun #define TCSBRKP		_IOW('T', 37, int) /* 0x5425 */	/* Needed for POSIX tcsendbreak() */
80*4882a593Smuzhiyun #define TIOCSBRK	_IO('T', 39) /* 0x5427 */ /* BSD compatibility */
81*4882a593Smuzhiyun #define TIOCCBRK	_IO('T', 40) /* 0x5428 */ /* BSD compatibility */
82*4882a593Smuzhiyun #define TIOCGSID	_IOR('T', 41, pid_t) /* 0x5429 */ /* Return the session ID of FD */
83*4882a593Smuzhiyun #define TCGETS2		_IOR('T', 42, struct termios2)
84*4882a593Smuzhiyun #define TCSETS2		_IOW('T', 43, struct termios2)
85*4882a593Smuzhiyun #define TCSETSW2	_IOW('T', 44, struct termios2)
86*4882a593Smuzhiyun #define TCSETSF2	_IOW('T', 45, struct termios2)
87*4882a593Smuzhiyun #define TIOCGRS485	_IOR('T', 46, struct serial_rs485)
88*4882a593Smuzhiyun #define TIOCSRS485	_IOWR('T', 47, struct serial_rs485)
89*4882a593Smuzhiyun #define TIOCGPTN	_IOR('T',0x30, unsigned int) /* Get Pty Number (of pty-mux device) */
90*4882a593Smuzhiyun #define TIOCSPTLCK	_IOW('T',0x31, int)  /* Lock/unlock Pty */
91*4882a593Smuzhiyun #define TIOCGDEV	_IOR('T',0x32, unsigned int) /* Get primary device node of /dev/console */
92*4882a593Smuzhiyun #define TIOCSIG		_IOW('T',0x36, int)  /* Generate signal on Pty slave */
93*4882a593Smuzhiyun #define TIOCVHANGUP	_IO('T', 0x37)
94*4882a593Smuzhiyun #define TIOCGPKT	_IOR('T', 0x38, int) /* Get packet mode state */
95*4882a593Smuzhiyun #define TIOCGPTLCK	_IOR('T', 0x39, int) /* Get Pty lock state */
96*4882a593Smuzhiyun #define TIOCGEXCL	_IOR('T', 0x40, int) /* Get exclusive mode state */
97*4882a593Smuzhiyun #define TIOCGPTPEER	_IO('T', 0x41) /* Safely open the slave */
98*4882a593Smuzhiyun #define TIOCGISO7816	_IOR('T', 0x42, struct serial_iso7816)
99*4882a593Smuzhiyun #define TIOCSISO7816	_IOWR('T', 0x43, struct serial_iso7816)
100*4882a593Smuzhiyun 
101*4882a593Smuzhiyun #define TIOCSERCONFIG	_IO('T', 83) /* 0x5453 */
102*4882a593Smuzhiyun #define TIOCSERGWILD	_IOR('T', 84,  int) /* 0x5454 */
103*4882a593Smuzhiyun #define TIOCSERSWILD	_IOW('T', 85,  int) /* 0x5455 */
104*4882a593Smuzhiyun #define TIOCGLCKTRMIOS	0x5456
105*4882a593Smuzhiyun #define TIOCSLCKTRMIOS	0x5457
106*4882a593Smuzhiyun #define TIOCSERGSTRUCT	0x80d85458	/* _IOR('T', 88, struct async_struct) 0x5458 */ /* For debugging only */
107*4882a593Smuzhiyun #define TIOCSERGETLSR   _IOR('T', 89, unsigned int) /* 0x5459 */ /* Get line status register */
108*4882a593Smuzhiyun   /* ioctl (fd, TIOCSERGETLSR, &result) where result may be as below */
109*4882a593Smuzhiyun # define TIOCSER_TEMT    0x01	/* Transmitter physically empty */
110*4882a593Smuzhiyun #define TIOCSERGETMULTI 0x80A8545A	/* _IOR('T', 90, struct serial_multiport_struct) 0x545A */ /* Get multiport config */
111*4882a593Smuzhiyun #define TIOCSERSETMULTI 0x40A8545B	/* _IOW('T', 91, struct serial_multiport_struct) 0x545B */ /* Set multiport config */
112*4882a593Smuzhiyun 
113*4882a593Smuzhiyun #define TIOCMIWAIT	_IO('T', 92) /* 0x545C */	/* wait for a change on serial input line(s) */
114*4882a593Smuzhiyun #define TIOCGICOUNT	0x545D	/* read serial port inline interrupt counts */
115*4882a593Smuzhiyun 
116*4882a593Smuzhiyun #endif /* __ASM_SH_IOCTLS_H */
117