Usbvirthid


Files

file  bootkbd.c
file  device.c
 Virtual USB HID device.
file  ifaces.c
 List of known interfaces.
file  ifaces.h
file  main.c
 Virtual USB HID device.
file  stdreq.c
file  stdreq.h
 Device request handlers.
file  virthid.h

Data Structures

struct  hid_descriptor_t
struct  vuhid_data_t
struct  vuhid_interface

Defines

#define INPUT_SIZE   8
#define VUHID_DATA(vuhid, device)   vuhid_data_t *vuhid = device->device_data
#define VUHID_ENDPOINT_MAX   USB11_ENDPOINT_MAX
#define VUHID_INTERFACE_MAX   8

Typedefs

typedef vuhid_interface vuhid_interface_t

Functions

int add_interface_by_id (vuhid_interface_t **interfaces, const char *id, usbvirt_device_t *dev)
static vuhid_interface_tfind_interface_by_id (vuhid_interface_t **ifaces, const char *id)
static int interface_life_fibril (void *arg)
static void live (vuhid_interface_t *iface)
int main (int argc, char *argv[])
 Main entry point.
static int on_data_from_device (usbvirt_device_t *dev, usb_endpoint_t ep, usb_transfer_type_t tr_type, void *data, size_t data_size, size_t *actual_size)
static int on_data_in (vuhid_interface_t *iface, void *buffer, size_t buffer_size, size_t *act_buffer_size)
static int on_data_out (vuhid_interface_t *iface, void *buffer, size_t buffer_size)
static int on_data_to_device (usbvirt_device_t *dev, usb_endpoint_t ep, usb_transfer_type_t tr_type, void *data, size_t data_size)
int req_get_descriptor (usbvirt_device_t *device, const usb_device_request_setup_packet_t *setup_packet, uint8_t *data, size_t *act_size)
int req_set_protocol (usbvirt_device_t *device, const usb_device_request_setup_packet_t *setup_packet, uint8_t *data, size_t *act_size)
int req_set_report (usbvirt_device_t *device, const usb_device_request_setup_packet_t *setup_packet, uint8_t *data, size_t *act_size)
void wait_for_interfaces_death (usbvirt_device_t *dev)

Variables

vuhid_interface_tavailable_hid_interfaces []
vuhid_interface_tavailable_hid_interfaces []
usbvirt_device_configuration_t configuration
 HID configuration.
usbvirt_descriptors_t descriptors
 HID standard descriptors.
static usbvirt_control_request_handler_t endpoint_zero_handlers []
static usbvirt_device_t hid_dev
 Keyboard device.
static usbvirt_device_ops_t hid_ops
 Keyboard callbacks.
static uint8_t in_data []
static size_t in_data_count = sizeof(in_data)/INPUT_SIZE
static size_t in_data_position = 0
uint8_t report_descriptor []
static usb_standard_configuration_descriptor_t std_configuration_descriptor
 Standard configuration descriptor.
static usb_standard_device_descriptor_t std_device_descriptor
 Standard device descriptor.
static vuhid_data_t vuhid_data
vuhid_interface_t vuhid_interface_bootkbd
vuhid_interface_t vuhid_interface_bootkbd

Function Documentation

int main ( int  argc,
char *  argv[] 
)

Main entry point.

Returns:
Zero on success, non-zero on error.

Definition at line 153 of file main.c.


Variable Documentation

usbvirt_device_t hid_dev [static]

Initial value:

 {
        .ops = &hid_ops,
        .descriptors = &descriptors,
        .name = "HID",
        .device_data = &vuhid_data
}
Keyboard device.

Rest of the items will be initialized later.

Definition at line 145 of file main.c.

usbvirt_device_ops_t hid_ops [static]

Initial value:

 {
        .control = endpoint_zero_handlers,
}
Keyboard callbacks.

We abuse the fact that static variables are zero-filled.

Definition at line 87 of file main.c.


Generated on Thu Jun 2 07:45:57 2011 for HelenOS/USB by  doxygen 1.4.7