1 
2 #ifndef UX_HOST_CLASS_DUMMY_H
3 #define UX_HOST_CLASS_DUMMY_H
4 
5 /* Define Data Pump Class instance structure.  */
6 
7 typedef struct UX_HOST_CLASS_DUMMY_STRUCT
8 {
9 
10     struct UX_HOST_CLASS_DUMMY_STRUCT
11                         *ux_host_class_dummy_next_instance;
12 
13     UX_HOST_CLASS       *ux_host_class_dummy_class;
14     UX_DEVICE           *ux_host_class_dummy_device;
15     UX_INTERFACE        *ux_host_class_dummy_interface;
16 
17     UINT                ux_host_class_dummy_state;
18 } UX_HOST_CLASS_DUMMY;
19 
20 typedef struct UX_HOST_CLASS_DUMMY_QUERY_STRUCT
21 {
22     ULONG           ux_host_class_query_on;                                 /* 0x0 to end list.  */
23     UINT            (*ux_host_class_query_entry)(UX_HOST_CLASS_COMMAND *);  /* 0x0 for any.  */
24     UINT            ux_host_class_query_usage;                              /* 0x0 for any.  */
25     UINT            ux_host_class_query_pid;                                /* 0x0 for any.  */
26     UINT            ux_host_class_query_vid;                                /* 0x0 for any.  */
27     UINT            ux_host_class_query_class;                              /* 0x0 for any.  */
28     UINT            ux_host_class_query_subclass;                           /* 0x0 for any.  */
29     UINT            ux_host_class_query_protocol;                           /* 0x0 for any.  */
30     UINT            ux_host_class_query_iad_class;                          /* 0x0 for any.  */
31     UINT            ux_host_class_query_iad_subclass;                       /* 0x0 for any.  */
32     UINT            ux_host_class_query_iad_protocol;                       /* 0x0 for any.  */
33 } UX_HOST_CLASS_DUMMY_QUERY;
34 
35 extern UCHAR _ux_host_class_dummy_name[];
36 
37 UINT _ux_host_class_dummy_entry(UX_HOST_CLASS_COMMAND *command);        /* For function/interface class.  */
38 UINT _ux_host_class_dummy_device_entry(UX_HOST_CLASS_COMMAND *command); /* For device class.  */
39 
40 VOID _ux_host_class_dummy_query_reject_unknown_set(UCHAR yes_no);
41 VOID _ux_host_class_dummy_query_list_set(UX_HOST_CLASS_DUMMY_QUERY *query_list); /* {..., {UX_NULL}}  */
42 
43 UINT _ux_host_class_dummy_select_interface(UX_HOST_CLASS_DUMMY *dummy,
44                                 UCHAR interface_number, UCHAR alternate_setting);
45 
46 UX_ENDPOINT *_ux_host_class_dummy_get_endpoint(UX_HOST_CLASS_DUMMY *dummy,
47                                 UCHAR endpoint_address, UCHAR alternate_setting);
48 UX_TRANSFER *_ux_host_class_dummy_get_transfer_request(UX_HOST_CLASS_DUMMY *dummy,
49                                 UCHAR endpoint_address, UCHAR alternate_setting);
50 
51 ULONG _ux_host_class_dummy_get_max_packet_size(UX_HOST_CLASS_DUMMY *dummy,
52                                 UCHAR endpoint_address, UCHAR alternate_setting);
53 ULONG _ux_host_class_dummy_get_max_payload_size(UX_HOST_CLASS_DUMMY *dummy,
54                                 UCHAR endpoint_address, UCHAR alternate_setting);
55 
56 VOID  _ux_host_class_dummy_set_timeout(UX_HOST_CLASS_DUMMY *dummy,
57                                 UCHAR endpoint_address, UCHAR alternate_setting,
58                                 ULONG timeout);
59 
60 UINT  _ux_host_class_dummy_transfer(UX_HOST_CLASS_DUMMY *dummy,
61                                 UCHAR endpoint_address, UCHAR alternate_setting,
62                                 UCHAR *buffer, ULONG length, ULONG *actual_length);
63 UINT  _ux_host_class_dummy_abort(UX_HOST_CLASS_DUMMY *dummy,
64                                 UCHAR endpoint_address, UCHAR alternate_setting);
65 
66 
67 #endif
68