1 
2 #ifndef UX_DEVICE_CLASS_DUMMY_H
3 #define UX_DEVICE_CLASS_DUMMY_H
4 
5 /* Define Data Pump Class instance structure.  */
6 
7 struct UX_DEVICE_CLASS_DUMMY_STRUCT;
8 typedef struct UX_DEVICE_CLASS_DUMMY_CALLBACKS_STRUCT
9 {
10     VOID (*ux_device_class_dummy_initialize)(VOID *);
11     VOID (*ux_device_class_dummy_uninitialize)(VOID *);
12 
13     VOID (*ux_device_class_dummy_instance_activate)(VOID *);
14     VOID (*ux_device_class_dummy_instance_deactivate)(VOID *);
15 
16     VOID (*ux_device_class_dummy_change)(struct UX_DEVICE_CLASS_DUMMY_STRUCT *);
17     VOID (*ux_device_class_dummy_control_request)(struct UX_DEVICE_CLASS_DUMMY_STRUCT *, UX_SLAVE_TRANSFER *);
18 
19     VOID *ux_device_class_dummy_arg;
20 } UX_DEVICE_CLASS_DUMMY_CALLBACKS;
21 
22 typedef struct UX_DEVICE_CLASS_DUMMY_PARAMETER_STRUCT
23 {
24     UX_DEVICE_CLASS_DUMMY_CALLBACKS ux_device_class_dummy_parameter_callbacks;
25 } UX_DEVICE_CLASS_DUMMY_PARAMETER;
26 
27 typedef struct UX_DEVICE_CLASS_DUMMY_STRUCT
28 {
29 
30     UX_SLAVE_CLASS                  *ux_device_class_dummy_class;
31     UX_SLAVE_DEVICE                 *ux_device_class_dummy_device;
32     UX_SLAVE_INTERFACE              *ux_device_class_dummy_interface;
33 
34     VOID                            *ux_device_class_dummy_instance;
35 
36     UX_DEVICE_CLASS_DUMMY_CALLBACKS ux_device_class_dummy_callbacks;
37 } UX_DEVICE_CLASS_DUMMY;
38 
39 extern UCHAR _ux_device_class_dummy_name[];
40 
41 UINT  _ux_device_class_dummy_entry(UX_SLAVE_CLASS_COMMAND *command);
42 
43 VOID *_ux_device_class_dummy_get_arg(UX_DEVICE_CLASS_DUMMY *dummy);
44 
45 UX_SLAVE_ENDPOINT *_ux_device_class_dummy_get_endpoint(UX_DEVICE_CLASS_DUMMY *dummy, UCHAR endpoint_address);
46 UX_SLAVE_TRANSFER *_ux_device_class_dummy_get_transfer_request(UX_DEVICE_CLASS_DUMMY *dummy, UCHAR endpoint_address);
47 
48 ULONG _ux_device_class_dummy_get_max_packet_size(UX_DEVICE_CLASS_DUMMY *dummy, UCHAR endpoint_address);
49 
50 UINT  _ux_device_class_dummy_transfer(UX_DEVICE_CLASS_DUMMY *dummy, UCHAR endpoint_address, UCHAR *buffer, ULONG length, ULONG *actual_length);
51 UINT  _ux_device_class_dummy_abort(UX_DEVICE_CLASS_DUMMY *dummy, UCHAR endpoint_address);
52 
53 #endif
54