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