rtems_device_driver serial_mouse_control( rtems_device_major_number major, rtems_device_minor_number minor, void *arg ) { rtems_libio_ioctl_args_t *args = (rtems_libio_ioctl_args_t *)arg; switch( args->command ) { case MW_UID_REGISTER_DEVICE: printk( "SerialMouse: reg=%s\n", args->buffer ); mouse_parser_initialize( serial_mouse_type ); break; case MW_UID_UNREGISTER_DEVICE: break; default: args->ioctl_return = ioctl(serial_mouse_fd, args->command, args->buffer ); if ( !args->ioctl_return ) return RTEMS_SUCCESSFUL; return RTEMS_IO_ERROR; } args->ioctl_return = 0; return RTEMS_SUCCESSFUL; }
/* * Handle ioctl request. */ rtems_device_driver paux_control( rtems_device_major_number major, rtems_device_minor_number minor, 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( "PS2 Mouse: registering\n" ); mouse_parser_initialize( "ps2" ); ps2_set_driver_handler( minor, mouse_parser_enqueue ); break; case MW_UID_UNREGISTER_DEVICE: /* unregister_mou_msg_queue( -1 ); */ ps2_set_driver_handler( minor, NULL ); break; } args->ioctl_return = 0; return RTEMS_SUCCESSFUL; }