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