PRE_MEM_WRITE( "ioctl(FIONREAD)", ARG3, sizeof(int) );
break;
+ case VKI_TIOCSERGETLSR:
+ PRE_MEM_WRITE( "ioctl(TIOCSERGETLSR)", ARG3, sizeof(int) );
+ break;
+ case VKI_TIOCGICOUNT:
+ PRE_MEM_WRITE( "ioctl(TIOCGICOUNT)", ARG3,
+ sizeof(struct vki_serial_icounter_struct) );
+ break;
+
case VKI_SG_SET_COMMAND_Q:
PRE_MEM_READ( "ioctl(SG_SET_COMMAND_Q)", ARG3, sizeof(int) );
break;
case VKI_HDIO_GETGEO: /* 0x0301 */
PRE_MEM_WRITE( "ioctl(HDIO_GETGEO)", ARG3, sizeof(struct vki_hd_geometry));
break;
+ case VKI_HDIO_GET_DMA: /* 0x030b */
+ PRE_MEM_WRITE( "ioctl(HDIO_GET_DMA)", ARG3, sizeof(long));
+ break;
case VKI_HDIO_GET_IDENTITY: /* 0x030d */
PRE_MEM_WRITE( "ioctl(HDIO_GET_IDENTITY)", ARG3,
VKI_SIZEOF_STRUCT_HD_DRIVEID );
POST_MEM_WRITE( ARG3, sizeof(int) );
break;
+ case VKI_TIOCSERGETLSR:
+ POST_MEM_WRITE( ARG3, sizeof(int) );
+ break;
+ case VKI_TIOCGICOUNT:
+ POST_MEM_WRITE( ARG3, sizeof(struct vki_serial_icounter_struct) );
+ break;
+
case VKI_SG_SET_COMMAND_Q:
break;
case VKI_SG_IO:
case VKI_HDIO_GETGEO: /* 0x0301 */
POST_MEM_WRITE(ARG3, sizeof(struct vki_hd_geometry));
break;
+ case VKI_HDIO_GET_DMA: /* 0x030b */
+ POST_MEM_WRITE(ARG3, sizeof(long));
+ break;
case VKI_HDIO_GET_IDENTITY: /* 0x030d */
POST_MEM_WRITE(ARG3, VKI_SIZEOF_STRUCT_HD_DRIVEID );
break;
#define VKI_TIOCSPTLCK _VKI_IOW('T',0x31, int) /* Lock/unlock Pty */
#define VKI_FIOASYNC 0x5452
+#define TIOCSERGETLSR 0x5459 /* Get line status register */
+
+#define TIOCGICOUNT 0x545D /* read serial port inline interrupt counts */
//----------------------------------------------------------------------
// From linux-2.6.9/include/asm-x86_64/poll.h
};
#define VKI_HDIO_GETGEO 0x0301 /* get device geometry */
+#define VKI_HDIO_GET_DMA 0x030b /* get use-dma flag */
#define VKI_HDIO_GET_IDENTITY 0x030d /* get IDE identification info */
// [[Nb: done like this because the original type is a huge struct that will
VKI_SNDRV_TIMER_IOCTL_PAUSE = _VKI_IO('T', 0xa3),
};
+//----------------------------------------------------------------------
+// From linux-2.6.15.4/include/linux/serial.h
+//----------------------------------------------------------------------
+
+struct vki_serial_icounter_struct {
+ int cts, dsr, rng, dcd;
+ int rx, tx;
+ int frame, overrun, parity, brk;
+ int buf_overrun;
+ int reserved[9];
+};
+
#endif // __VKI_LINUX_H
/*--------------------------------------------------------------------*/
//#define VKI_TIOCGLCKTRMIOS 0x5456
//#define VKI_TIOCSLCKTRMIOS 0x5457
//#define VKI_TIOCSERGSTRUCT 0x5458 /* For debugging only */
-//#define VKI_TIOCSERGETLSR 0x5459 /* Get line status register */
-// /* ioctl (fd, VKI_TIOCSERGETLSR, &result) where result may be as below */
+#define VKI_TIOCSERGETLSR 0x5459 /* Get line status register */
+ /* ioctl (fd, VKI_TIOCSERGETLSR, &result) where result may be as below */
//# define VKI_TIOCSER_TEMT 0x01 /* Transmitter physically empty */
//#define VKI_TIOCSERGETMULTI 0x545A /* Get multiport config */
//#define VKI_TIOCSERSETMULTI 0x545B /* Set multiport config */
//#define VKI_TIOCMIWAIT 0x545C /* wait for a change on serial input line(s) */
-//#define VKI_TIOCGICOUNT 0x545D /* read serial port inline interrupt counts */
+#define VKI_TIOCGICOUNT 0x545D /* read serial port inline interrupt counts */
//----------------------------------------------------------------------
// From linux-2.6.9/include/asm-ppc/poll.h
#define VKI_TIOCSPTLCK _VKI_IOW('T',0x31, int) /* Lock/unlock Pty */
#define VKI_FIOASYNC 0x5452
+#define VKI_TIOCSERGETLSR 0x5459 /* Get line status register */
+
+#define VKI_TIOCGICOUNT 0x545D /* read serial port inline interrupt counts */
//----------------------------------------------------------------------
// From linux-2.6.8.1/include/asm-i386/poll.h