Back to home page

LXR

 
 

    


File indexing completed on 2025-05-11 08:23:43

0001 /**
0002  * @file
0003  * @ingroup lm32_milkymist_usbinput RTEMSBSPsLM32SharedMilkymistOne
0004  * @brief Milkymist USB input devices driver
0005  */
0006 
0007 /*  milkymist_usbinput.h
0008  *
0009  *  Milkymist USB input devices driver for RTEMS
0010  *
0011  *  The license and distribution terms for this file may be
0012  *  found in the file LICENSE in this distribution or at
0013  *  http://www.rtems.org/license/LICENSE.
0014  *
0015  *  COPYRIGHT (c) 2010, 2012 Sebastien Bourdeauducq
0016  */
0017 
0018 /**
0019  * @defgroup lm32_milkymist_usbinput Milkymist USB input devices
0020  * @ingroup RTEMSBSPsLM32SharedMilkymistOne
0021  * @brief Milkymist USB input devices driver
0022  * @{
0023  */
0024 
0025 #ifndef __MILKYMIST_USBINPUT_H_
0026 #define __MILKYMIST_USBINPUT_H_
0027 
0028 #ifdef __cplusplus
0029 extern "C" {
0030 #endif
0031 
0032 /* Ioctls */
0033 #define USBINPUT_LOAD_FIRMWARE          0x5500
0034 
0035 struct usbinput_firmware_description {
0036   const unsigned char *data;
0037   int length;
0038 };
0039 
0040 rtems_device_driver usbinput_initialize(
0041   rtems_device_major_number major,
0042   rtems_device_minor_number minor,
0043   void *arg
0044 );
0045 
0046 rtems_device_driver usbinput_open(
0047   rtems_device_major_number major,
0048   rtems_device_minor_number minor,
0049   void *arg
0050 );
0051 
0052 rtems_device_driver usbinput_read(
0053   rtems_device_major_number major,
0054   rtems_device_minor_number minor,
0055   void *arg
0056 );
0057 
0058 rtems_device_driver usbinput_control(
0059   rtems_device_major_number major,
0060   rtems_device_minor_number minor,
0061   void *arg
0062 );
0063 
0064 #define USBINPUT_DRIVER_TABLE_ENTRY {usbinput_initialize, \
0065 usbinput_open, NULL, usbinput_read, NULL, usbinput_control}
0066 
0067 #ifdef __cplusplus
0068 }
0069 #endif
0070 
0071 #endif /* __MILKYMIST_USBINPUT_H_ */