linux/include/uapi/asm-generic/ioctls.h

/* 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
#define TCSETS
#define TCSETSW
#define TCSETSF
#define TCGETA
#define TCSETA
#define TCSETAW
#define TCSETAF
#define TCSBRK
#define TCXONC
#define TCFLSH
#define TIOCEXCL
#define TIOCNXCL
#define TIOCSCTTY
#define TIOCGPGRP
#define TIOCSPGRP
#define TIOCOUTQ
#define TIOCSTI
#define TIOCGWINSZ
#define TIOCSWINSZ
#define TIOCMGET
#define TIOCMBIS
#define TIOCMBIC
#define TIOCMSET
#define TIOCGSOFTCAR
#define TIOCSSOFTCAR
#define FIONREAD
#define TIOCINQ
#define TIOCLINUX
#define TIOCCONS
#define TIOCGSERIAL
#define TIOCSSERIAL
#define TIOCPKT
#define FIONBIO
#define TIOCNOTTY
#define TIOCSETD
#define TIOCGETD
#define TCSBRKP
#define TIOCSBRK
#define TIOCCBRK
#define TIOCGSID
#define TCGETS2
#define TCSETS2
#define TCSETSW2
#define TCSETSF2
#define TIOCGRS485
#ifndef TIOCSRS485
#define TIOCSRS485
#endif
#define TIOCGPTN
#define TIOCSPTLCK
#define TIOCGDEV
#define TCGETX
#define TCSETX
#define TCSETXF
#define TCSETXW
#define TIOCSIG
#define TIOCVHANGUP
#define TIOCGPKT
#define TIOCGPTLCK
#define TIOCGEXCL
#define TIOCGPTPEER
#define TIOCGISO7816
#define TIOCSISO7816

#define FIONCLEX
#define FIOCLEX
#define FIOASYNC
#define TIOCSERCONFIG
#define TIOCSERGWILD
#define TIOCSERSWILD
#define TIOCGLCKTRMIOS
#define TIOCSLCKTRMIOS
#define TIOCSERGSTRUCT
#define TIOCSERGETLSR
#define TIOCSERGETMULTI
#define TIOCSERSETMULTI

#define TIOCMIWAIT
#define TIOCGICOUNT

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

/* Used for packet mode */
#define TIOCPKT_DATA
#define TIOCPKT_FLUSHREAD
#define TIOCPKT_FLUSHWRITE
#define TIOCPKT_STOP
#define TIOCPKT_START
#define TIOCPKT_NOSTOP
#define TIOCPKT_DOSTOP
#define TIOCPKT_IOCTL

#define TIOCSER_TEMT

#endif /* __ASM_GENERIC_IOCTLS_H */