text: /* 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 */
  