aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorsewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9>2015-08-14 08:17:37 +0000
committersewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9>2015-08-14 08:17:37 +0000
commit55895379b090d4db5d39013e1a9859714ac3e0d8 (patch)
tree66cf8509225f6ce912e79c8b6f3b5643f8236798 /include
parenta0107d6bc77bc91a31d5b6292adc41566aec16f7 (diff)
downloadvalgrind-55895379b090d4db5d39013e1a9859714ac3e0d8.tar.gz
345338 - TIOCGSERIAL and TIOCSSERIAL ioctl support on Linux
Patch from Martin Ling (martin-kdebugs@earth.li) git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15542 a5019735-40e9-0310-863c-91ae7b9d1cf9
Diffstat (limited to 'include')
-rw-r--r--include/vki/vki-amd64-linux.h7
-rw-r--r--include/vki/vki-arm-linux.h7
-rw-r--r--include/vki/vki-arm64-linux.h7
-rw-r--r--include/vki/vki-linux.h25
-rw-r--r--include/vki/vki-ppc32-linux.h4
-rw-r--r--include/vki/vki-ppc64-linux.h7
-rw-r--r--include/vki/vki-s390x-linux.h7
-rw-r--r--include/vki/vki-x86-linux.h7
8 files changed, 69 insertions, 2 deletions
diff --git a/include/vki/vki-amd64-linux.h b/include/vki/vki-amd64-linux.h
index 61847a711..863b31c88 100644
--- a/include/vki/vki-amd64-linux.h
+++ b/include/vki/vki-amd64-linux.h
@@ -691,6 +691,13 @@ struct vki_shminfo64 {
#define VKI_EOVERFLOW 75 /* Value too large for defined data type */
//----------------------------------------------------------------------
+// From linux-3.19.0/include/uapi/asm-generic/ioctls.h
+//----------------------------------------------------------------------
+
+#define VKI_TIOCGSERIAL 0x541E
+#define VKI_TIOCSSERIAL 0x541F
+
+//----------------------------------------------------------------------
// And that's it!
//----------------------------------------------------------------------
diff --git a/include/vki/vki-arm-linux.h b/include/vki/vki-arm-linux.h
index 031f52858..26ffc8b59 100644
--- a/include/vki/vki-arm-linux.h
+++ b/include/vki/vki-arm-linux.h
@@ -901,6 +901,13 @@ struct vki_vm86plus_struct {
#define VKI_EOVERFLOW 75 /* Value too large for defined data type */
//----------------------------------------------------------------------
+// From linux-3.19.0/include/uapi/asm-generic/ioctls.h
+//----------------------------------------------------------------------
+
+#define VKI_TIOCGSERIAL 0x541E
+#define VKI_TIOCSSERIAL 0x541F
+
+//----------------------------------------------------------------------
// And that's it!
//----------------------------------------------------------------------
diff --git a/include/vki/vki-arm64-linux.h b/include/vki/vki-arm64-linux.h
index 747d0bf80..7851cf7aa 100644
--- a/include/vki/vki-arm64-linux.h
+++ b/include/vki/vki-arm64-linux.h
@@ -684,6 +684,13 @@ struct vki_shminfo64 {
#define VKI_EOVERFLOW 75 /* Value too large for defined data type */
//----------------------------------------------------------------------
+// From linux-3.19.0/include/uapi/asm-generic/ioctls.h
+//----------------------------------------------------------------------
+
+#define VKI_TIOCGSERIAL 0x541E
+#define VKI_TIOCSSERIAL 0x541F
+
+//----------------------------------------------------------------------
// And that's it!
//----------------------------------------------------------------------
diff --git a/include/vki/vki-linux.h b/include/vki/vki-linux.h
index 4ede25c7d..b332894e9 100644
--- a/include/vki/vki-linux.h
+++ b/include/vki/vki-linux.h
@@ -4666,6 +4666,31 @@ enum vki_kcmp_type {
//----------------------------------------------------------------------
#define VKI_BINPRM_BUF_SIZE 128
+//----------------------------------------------------------------------
+// From linux-3.19.0/include/linux/serial.h
+//----------------------------------------------------------------------
+
+struct vki_serial_struct {
+ int type;
+ int line;
+ unsigned int port;
+ int irq;
+ int flags;
+ int xmit_fifo_size;
+ int custom_divisor;
+ int baud_base;
+ unsigned short close_delay;
+ char io_type;
+ char reserved_char[1];
+ int hub6;
+ unsigned short closing_wait; /* time to wait before closing */
+ unsigned short closing_wait2; /* no longer used... */
+ unsigned char *iomem_base;
+ unsigned short iomem_reg_shift;
+ unsigned int port_high;
+ unsigned long iomap_base; /* cookie passed into ioremap */
+};
+
#endif // __VKI_LINUX_H
/*--------------------------------------------------------------------*/
diff --git a/include/vki/vki-ppc32-linux.h b/include/vki/vki-ppc32-linux.h
index 6aea179c8..f92220876 100644
--- a/include/vki/vki-ppc32-linux.h
+++ b/include/vki/vki-ppc32-linux.h
@@ -626,8 +626,8 @@ struct vki_termios {
//#define VKI_TIOCSSOFTCAR 0x541A
#define VKI_TIOCLINUX 0x541C
//#define VKI_TIOCCONS 0x541D
-//#define VKI_TIOCGSERIAL 0x541E
-//#define VKI_TIOCSSERIAL 0x541F
+#define VKI_TIOCGSERIAL 0x541E
+#define VKI_TIOCSSERIAL 0x541F
//#define VKI_TIOCPKT 0x5420
//# define VKI_TIOCPKT_DATA 0
//# define VKI_TIOCPKT_FLUSHREAD 1
diff --git a/include/vki/vki-ppc64-linux.h b/include/vki/vki-ppc64-linux.h
index 8848b0576..fdcb93e8e 100644
--- a/include/vki/vki-ppc64-linux.h
+++ b/include/vki/vki-ppc64-linux.h
@@ -795,6 +795,13 @@ struct vki_shminfo64 {
#define VKI_EOVERFLOW 75 /* Value too large for defined data type */
//----------------------------------------------------------------------
+// From linux-3.19.0/arch/powerpc/include/uapi/asm/ioctls.h
+//----------------------------------------------------------------------
+
+#define VKI_TIOCGSERIAL 0x541E
+#define VKI_TIOCSSERIAL 0x541F
+
+//----------------------------------------------------------------------
// end
//----------------------------------------------------------------------
diff --git a/include/vki/vki-s390x-linux.h b/include/vki/vki-s390x-linux.h
index 85c449d4e..914cd8012 100644
--- a/include/vki/vki-s390x-linux.h
+++ b/include/vki/vki-s390x-linux.h
@@ -976,6 +976,13 @@ struct vki_shminfo64 {
#define VKI_ENOSYS 38 /* Function not implemented */
#define VKI_EOVERFLOW 75 /* Value too large for defined data type */
+//----------------------------------------------------------------------
+// From linux-3.19.0/include/uapi/asm-generic/ioctls.h
+//----------------------------------------------------------------------
+
+#define VKI_TIOCGSERIAL 0x541E
+#define VKI_TIOCSSERIAL 0x541F
+
#endif // __VKI_S390X_LINUX_H
/*--------------------------------------------------------------------*/
diff --git a/include/vki/vki-x86-linux.h b/include/vki/vki-x86-linux.h
index c34e02740..f6b1dc546 100644
--- a/include/vki/vki-x86-linux.h
+++ b/include/vki/vki-x86-linux.h
@@ -907,6 +907,13 @@ struct vki_vm86plus_struct {
#define VKI_EOVERFLOW 75 /* Value too large for defined data type */
//----------------------------------------------------------------------
+// From linux-3.19.0/include/uapi/asm-generic/ioctls.h
+//----------------------------------------------------------------------
+
+#define VKI_TIOCGSERIAL 0x541E
+#define VKI_TIOCSSERIAL 0x541F
+
+//----------------------------------------------------------------------
// And that's it!
//----------------------------------------------------------------------