]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
Do 'struct termios' properly.
authorNicholas Nethercote <n.nethercote@gmail.com>
Mon, 1 Nov 2004 16:22:00 +0000 (16:22 +0000)
committerNicholas Nethercote <n.nethercote@gmail.com>
Mon, 1 Nov 2004 16:22:00 +0000 (16:22 +0000)
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2891

coregrind/vg_syscalls.c
include/x86-linux/vki_arch.h

index 3f634da1922fbd22527406a8085cc7481723393d..cbe882d483c4ba45433b601358658695d2c042ec 100644 (file)
@@ -2861,11 +2861,11 @@ PRE(ioctl)
    case VKI_TCSETSW:
    case VKI_TCSETSF:
       SYSCALL_TRACK( pre_mem_read, tid, "ioctl(TCSET{S,SW,SF})", arg3, 
-                    VKI_SIZEOF_STRUCT_TERMIOS );
+                    sizeof(struct vki_termios) );
       break; 
    case VKI_TCGETS:
       SYSCALL_TRACK( pre_mem_write, tid, "ioctl(TCGETS)", arg3, 
-                    VKI_SIZEOF_STRUCT_TERMIOS );
+                    sizeof(struct vki_termios) );
       break;
    case VKI_TCSETA:
    case VKI_TCSETAW:
@@ -3571,7 +3571,7 @@ POST(ioctl)
    case VKI_TCSETSF:
       break; 
    case VKI_TCGETS:
-      VG_TRACK( post_mem_write, arg3, VKI_SIZEOF_STRUCT_TERMIOS );
+      VG_TRACK( post_mem_write, arg3, sizeof(struct vki_termios) );
       break;
    case VKI_TCSETA:
    case VKI_TCSETAW:
index 2d50c253f303710ea81d5397914d064d2b80f861..8a097e93b2d963b20b058e91a23cafd356b66596 100644 (file)
@@ -406,7 +406,18 @@ struct vki_termio {
 // From linux-2.6.8.1/include/asm-i386/termbits.h
 //----------------------------------------------------------------------
 
-#define VKI_SIZEOF_STRUCT_TERMIOS      17
+typedef unsigned char   vki_cc_t;
+typedef unsigned int    vki_tcflag_t;
+
+#define VKI_NCCS 19
+struct vki_termios {
+       vki_tcflag_t c_iflag;           /* input mode flags */
+       vki_tcflag_t c_oflag;           /* output mode flags */
+       vki_tcflag_t c_cflag;           /* control mode flags */
+       vki_tcflag_t c_lflag;           /* local mode flags */
+       vki_cc_t c_line;                /* line discipline */
+       vki_cc_t c_cc[VKI_NCCS];        /* control characters */
+};
 
 //----------------------------------------------------------------------
 // From linux-2.6.8.1/include/asm-i386/ioctl.h