From: Cyrill Gorcunov <gorcu...@openvz.org>

This patch defines new ioctl codes TIOCGPKT, TIOCGPTLCK,
TIOCGEXCL for fetching pty's packet mode and locking state,
and exclusive mode of tty.

[ No real handlers for the codes though, this will be
  addressed in another patch for easier review and
  bisectability ]

Signed-off-by: Cyrill Gorcunov <gorcu...@openvz.org>
CC: Alan Cox <a...@lxorguk.ukuu.org.uk>
CC: "H. Peter Anvin" <h...@zytor.com>
CC: Greg Kroah-Hartman <gre...@linuxfoundation.org>
CC: Pavel Emelyanov <xe...@parallels.com>
CC: Jiri Slaby <jsl...@suse.cz>
---
 arch/alpha/include/asm/ioctls.h        |    3 +++
 arch/mips/include/uapi/asm/ioctls.h    |    3 +++
 arch/parisc/include/uapi/asm/ioctls.h  |    3 +++
 arch/powerpc/include/uapi/asm/ioctls.h |    3 +++
 arch/sh/include/uapi/asm/ioctls.h      |    3 +++
 arch/sparc/include/uapi/asm/ioctls.h   |    3 +++
 arch/xtensa/include/uapi/asm/ioctls.h  |    3 +++
 fs/compat_ioctl.c                      |    3 +++
 include/uapi/asm-generic/ioctls.h      |    3 +++
 9 files changed, 27 insertions(+), 0 deletions(-)

diff --git a/arch/alpha/include/asm/ioctls.h b/arch/alpha/include/asm/ioctls.h
index 80e1cee..92c557b 100644
--- a/arch/alpha/include/asm/ioctls.h
+++ b/arch/alpha/include/asm/ioctls.h
@@ -95,6 +95,9 @@
 #define TIOCGDEV       _IOR('T',0x32, unsigned int) /* Get primary device node 
of /dev/console */
 #define TIOCSIG                _IOW('T',0x36, int)  /* Generate signal on Pty 
slave */
 #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 TIOCSERCONFIG  0x5453
 #define TIOCSERGWILD   0x5454
diff --git a/arch/mips/include/uapi/asm/ioctls.h 
b/arch/mips/include/uapi/asm/ioctls.h
index 92403c3..addd56b 100644
--- a/arch/mips/include/uapi/asm/ioctls.h
+++ b/arch/mips/include/uapi/asm/ioctls.h
@@ -86,6 +86,9 @@
 #define TIOCGDEV       _IOR('T', 0x32, unsigned int) /* Get primary device 
node of /dev/console */
 #define TIOCSIG                _IOW('T', 0x36, int)  /* Generate signal on Pty 
slave */
 #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 */
 
 /* I hope the range from 0x5480 on is free ... */
 #define TIOCSCTTY      0x5480          /* become controlling tty */
diff --git a/arch/parisc/include/uapi/asm/ioctls.h 
b/arch/parisc/include/uapi/asm/ioctls.h
index 054ec06..66719c3 100644
--- a/arch/parisc/include/uapi/asm/ioctls.h
+++ b/arch/parisc/include/uapi/asm/ioctls.h
@@ -55,6 +55,9 @@
 #define TIOCGDEV       _IOR('T',0x32, int)  /* Get primary device node of 
/dev/console */
 #define TIOCSIG                _IOW('T',0x36, int)  /* Generate signal on Pty 
slave */
 #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 FIONCLEX       0x5450  /* these numbers need to be adjusted. */
 #define FIOCLEX                0x5451
diff --git a/arch/powerpc/include/uapi/asm/ioctls.h 
b/arch/powerpc/include/uapi/asm/ioctls.h
index e9b7887..49a2579 100644
--- a/arch/powerpc/include/uapi/asm/ioctls.h
+++ b/arch/powerpc/include/uapi/asm/ioctls.h
@@ -97,6 +97,9 @@
 #define TIOCGDEV       _IOR('T',0x32, unsigned int) /* Get primary device node 
of /dev/console */
 #define TIOCSIG                _IOW('T',0x36, int)  /* Generate signal on Pty 
slave */
 #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 TIOCSERCONFIG  0x5453
 #define TIOCSERGWILD   0x5454
diff --git a/arch/sh/include/uapi/asm/ioctls.h 
b/arch/sh/include/uapi/asm/ioctls.h
index a6769f3..3422410 100644
--- a/arch/sh/include/uapi/asm/ioctls.h
+++ b/arch/sh/include/uapi/asm/ioctls.h
@@ -88,6 +88,9 @@
 #define TIOCGDEV       _IOR('T',0x32, unsigned int) /* Get primary device node 
of /dev/console */
 #define TIOCSIG                _IOW('T',0x36, int)  /* Generate signal on Pty 
slave */
 #define TIOCVHANGUP    _IO('T', 0x37)
+#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 TIOCSERCONFIG  _IO('T', 83) /* 0x5453 */
 #define TIOCSERGWILD   _IOR('T', 84,  int) /* 0x5454 */
diff --git a/arch/sparc/include/uapi/asm/ioctls.h 
b/arch/sparc/include/uapi/asm/ioctls.h
index 9155f70..897d172 100644
--- a/arch/sparc/include/uapi/asm/ioctls.h
+++ b/arch/sparc/include/uapi/asm/ioctls.h
@@ -21,6 +21,9 @@
 #define TCSETSF2       _IOW('T', 15, struct termios2)
 #define TIOCGDEV       _IOR('T',0x32, unsigned int) /* Get primary device node 
of /dev/console */
 #define TIOCVHANGUP    _IO('T', 0x37)
+#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 */
 
 /* Note that all the ioctls that are not available in Linux have a 
  * double underscore on the front to: a) avoid some programs to
diff --git a/arch/xtensa/include/uapi/asm/ioctls.h 
b/arch/xtensa/include/uapi/asm/ioctls.h
index 2aa4cd9..b4cb110 100644
--- a/arch/xtensa/include/uapi/asm/ioctls.h
+++ b/arch/xtensa/include/uapi/asm/ioctls.h
@@ -101,6 +101,9 @@
 #define TIOCGDEV       _IOR('T',0x32, unsigned int) /* Get primary device node 
of /dev/console */
 #define TIOCSIG                _IOW('T',0x36, int)  /* Generate signal on Pty 
slave */
 #define TIOCVHANGUP    _IO('T', 0x37)
+#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 TIOCSERCONFIG  _IO('T', 83)
 #define TIOCSERGWILD   _IOR('T', 84,  int)
diff --git a/fs/compat_ioctl.c b/fs/compat_ioctl.c
index f505402..89cf601 100644
--- a/fs/compat_ioctl.c
+++ b/fs/compat_ioctl.c
@@ -842,6 +842,9 @@ COMPATIBLE_IOCTL(TIOCGDEV)
 COMPATIBLE_IOCTL(TIOCCBRK)
 COMPATIBLE_IOCTL(TIOCGSID)
 COMPATIBLE_IOCTL(TIOCGICOUNT)
+COMPATIBLE_IOCTL(TIOCGPKT)
+COMPATIBLE_IOCTL(TIOCGPTLCK)
+COMPATIBLE_IOCTL(TIOCGEXCL)
 /* Little t */
 COMPATIBLE_IOCTL(TIOCGETD)
 COMPATIBLE_IOCTL(TIOCSETD)
diff --git a/include/uapi/asm-generic/ioctls.h 
b/include/uapi/asm-generic/ioctls.h
index 199975f..143dacb 100644
--- a/include/uapi/asm-generic/ioctls.h
+++ b/include/uapi/asm-generic/ioctls.h
@@ -74,6 +74,9 @@
 #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 FIONCLEX       0x5450
 #define FIOCLEX                0x5451
-- 
1.7.7.6

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to