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