| 
									
										
										
										
											2009-05-13 22:56:27 +00:00
										 |  |  | #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
 | 
					
						
							| 
									
										
										
										
											2010-08-20 17:14:04 -04:00
										 |  |  | #ifndef TIOCSRS485
 | 
					
						
							| 
									
										
										
										
											2009-05-13 22:56:27 +00:00
										 |  |  | #define TIOCSRS485	0x542F
 | 
					
						
							| 
									
										
										
										
											2010-08-20 17:14:04 -04:00
										 |  |  | #endif
 | 
					
						
							| 
									
										
										
										
											2009-05-13 22:56:27 +00:00
										 |  |  | #define TIOCGPTN	_IOR('T', 0x30, unsigned int) /* Get Pty Number (of pty-mux device) */
 | 
					
						
							|  |  |  | #define TIOCSPTLCK	_IOW('T', 0x31, int)  /* Lock/unlock Pty */
 | 
					
						
							| 
									
										
										
										
											2010-12-03 12:48:23 +01:00
										 |  |  | #define TIOCGDEV	_IOR('T', 0x32, unsigned int) /* Get primary device node of /dev/console */
 | 
					
						
							| 
									
										
										
										
											2009-05-13 22:56:27 +00:00
										 |  |  | #define TCGETX		0x5432 /* SYS5 TCGETX compatibility */
 | 
					
						
							|  |  |  | #define TCSETX		0x5433
 | 
					
						
							|  |  |  | #define TCSETXF		0x5434
 | 
					
						
							|  |  |  | #define TCSETXW		0x5435
 | 
					
						
							| 
									
										
											  
											
												tty: Add EXTPROC support for LINEMODE
This patch is against the 2.6.34 source.
Paraphrased from the 1989 BSD patch by David Borman @ cray.com:
     These are the changes needed for the kernel to support
     LINEMODE in the server.
     There is a new bit in the termios local flag word, EXTPROC.
     When this bit is set, several aspects of the terminal driver
     are disabled.  Input line editing, character echo, and mapping
     of signals are all disabled.  This allows the telnetd to turn
     off these functions when in linemode, but still keep track of
     what state the user wants the terminal to be in.
     New ioctl:
         TIOCSIG         Generate a signal to processes in the
                         current process group of the pty.
     There is a new mode for packet driver, the TIOCPKT_IOCTL bit.
     When packet mode is turned on in the pty, and the EXTPROC bit
     is set, then whenever the state of the pty is changed, the
     next read on the master side of the pty will have the TIOCPKT_IOCTL
     bit set.  This allows the process on the server side of the pty
     to know when the state of the terminal has changed; it can then
     issue the appropriate ioctl to retrieve the new state.
Since the original BSD patches accompanied the source code for telnet
I've left that reference here, but obviously the feature is useful for
any remote terminal protocol, including ssh.
The corresponding feature has existed in the BSD tty driver since 1989.
For historical reference, a good copy of the relevant files can be found
here:
http://anonsvn.mit.edu/viewvc/krb5/trunk/src/appl/telnet/?pathrev=17741
Signed-off-by: Howard Chu <hyc@symas.com>
Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
											
										 
											2010-06-22 10:14:49 -07:00
										 |  |  | #define TIOCSIG		_IOW('T', 0x36, int)  /* pty: generate signal */
 | 
					
						
							| 
									
										
										
										
											2011-02-17 18:39:28 +01:00
										 |  |  | #define TIOCVHANGUP	0x5437
 | 
					
						
							| 
									
										
										
										
											2009-05-13 22:56:27 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | #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 */
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /*
 | 
					
						
							| 
									
										
										
										
											2010-06-17 15:15:16 -04:00
										 |  |  |  * Some arches already define FIOQSIZE due to a historical | 
					
						
							|  |  |  |  * conflict with a Hayes modem-specific ioctl value. | 
					
						
							| 
									
										
										
										
											2009-05-13 22:56:27 +00:00
										 |  |  |  */ | 
					
						
							|  |  |  | #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
 | 
					
						
							| 
									
										
											  
											
												tty: Add EXTPROC support for LINEMODE
This patch is against the 2.6.34 source.
Paraphrased from the 1989 BSD patch by David Borman @ cray.com:
     These are the changes needed for the kernel to support
     LINEMODE in the server.
     There is a new bit in the termios local flag word, EXTPROC.
     When this bit is set, several aspects of the terminal driver
     are disabled.  Input line editing, character echo, and mapping
     of signals are all disabled.  This allows the telnetd to turn
     off these functions when in linemode, but still keep track of
     what state the user wants the terminal to be in.
     New ioctl:
         TIOCSIG         Generate a signal to processes in the
                         current process group of the pty.
     There is a new mode for packet driver, the TIOCPKT_IOCTL bit.
     When packet mode is turned on in the pty, and the EXTPROC bit
     is set, then whenever the state of the pty is changed, the
     next read on the master side of the pty will have the TIOCPKT_IOCTL
     bit set.  This allows the process on the server side of the pty
     to know when the state of the terminal has changed; it can then
     issue the appropriate ioctl to retrieve the new state.
Since the original BSD patches accompanied the source code for telnet
I've left that reference here, but obviously the feature is useful for
any remote terminal protocol, including ssh.
The corresponding feature has existed in the BSD tty driver since 1989.
For historical reference, a good copy of the relevant files can be found
here:
http://anonsvn.mit.edu/viewvc/krb5/trunk/src/appl/telnet/?pathrev=17741
Signed-off-by: Howard Chu <hyc@symas.com>
Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
											
										 
											2010-06-22 10:14:49 -07:00
										 |  |  | #define TIOCPKT_IOCTL		64
 | 
					
						
							| 
									
										
										
										
											2009-05-13 22:56:27 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | #define TIOCSER_TEMT	0x01	/* Transmitter physically empty */
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #endif /* __ASM_GENERIC_IOCTLS_H */
 |