Beispiel #1
0
/*
 * Handle ioctl request. This is a generic internal
 * routine to handle both devices.
 */
static rtems_device_driver serial_mouse_control_internal( int port, void  *arg )
{
	rtems_libio_ioctl_args_t *args = arg;
	switch( args->command )
	{
	   default:
      return rtems_termios_ioctl (arg);
		break;

      case MW_UID_REGISTER_DEVICE:
      printk( "SerialMouse: reg=%s\n", args->buffer );
      register_mou_msg_queue( args->buffer, BSP_UART_PORT );
		break;

      case MW_UID_UNREGISTER_DEVICE:
      unregister_mou_msg_queue( BSP_UART_PORT );
		break;

   }
 	args->ioctl_return = 0;
   return RTEMS_SUCCESSFUL;
}
Beispiel #2
0
rtems_device_driver
touchscreen_control (rtems_device_major_number major,
                     rtems_device_minor_number minor, void *arg)
{
  rtems_libio_ioctl_args_t *args = arg;

  switch (args->command) {
  case MW_UID_REGISTER_DEVICE:
    register_mou_msg_queue (args->buffer);
    break;
  case MW_UID_UNREGISTER_DEVICE:
    unregister_mou_msg_queue ();
    break;
  case MW_UID_SET_LEFTHANDED:
    touchscreen_sethand (0);
    break;
  case MW_UID_SET_RIGHTHANDED:
    touchscreen_sethand (1);
    break;
  }
  args->ioctl_return = 0;

  return RTEMS_SUCCESSFUL;
}