Files | |
file | consumer.c |
UUSB multimedia key usage, to string mapping. | |
file | consumer.h |
USB multimedia key usage to string mapping. | |
file | core.h |
USB HID Usage Tables. | |
file | hid.h |
USB HID device related types. | |
file | hiddescriptor.c |
HID report descriptor and report data parser implementation. | |
file | hidiface.c |
Client functions for accessing USB HID interface (implementation). | |
file | hidparser.c |
USB HID report data parser implementation. | |
file | hidparser.h |
USB HID report descriptor and report data parser. | |
file | hidpath.c |
HID report descriptor and report data parser implementation. | |
file | hidreport.c |
USB HID keyboard device structure and API. | |
file | hidreport.h |
USB HID report parser initialization from descriptors. | |
file | iface.h |
Client functions for accessing USB HID interface. | |
file | kbdgen.h |
USB HID key codes. | |
file | led.h |
USB HID Usage Tables - LED page. | |
file | request.h |
HID class-specific requests. | |
Defines | |
#define | __NONPRINT(name, usage_id) USB_HIDUT_KBD_KEY(name, usage_id, 0, 0, 0, 0) |
#define | INSIDE_DELIMITER_SET 2 |
Parser is in the set of local items. | |
#define | OUTSIDE_DELIMITER_SET 0 |
Second delimiter tag was read. | |
#define | START_DELIMITER_SET 1 |
First delimiter tag was read. | |
#define | USB_HID_NEW_REPORT_ITEM 1 |
The new report item flag. | |
#define | USB_HID_NO_ACTION 2 |
No special action after the report descriptor tag is processed should be done. | |
#define | USB_HID_RESET_OFFSET 3 |
#define | USB_HID_SAME_USAGE(usage1, usage2) ((usage1 == usage2) || (usage1 == 0) || (usage2 == 0)) |
Compares two usages if they are same or not or one of the usages is not set. | |
#define | USB_HID_SAME_USAGE_PAGE(page1, page2) ((page1 == page2) || (page1 == 0) || (page2 == 0)) |
Compares two usage pages if they are same or not or one of them is not set. | |
#define | USB_HID_UNKNOWN_TAG -99 |
Unknown tag was founded in report descriptor data. | |
#define | USB_HIDUT_KBD_KEY(name, usage_id, letter, letter_caps, letter_mod1, letter_mod2) |
Declare keyboard key. | |
Enumerations | |
enum | usb_hid_iface_protocol_t |
USB/HID interface protocols. | |
enum | usb_hid_protocol_t |
enum | usb_hid_request_t |
USB/HID device requests. | |
enum | usb_hid_subclass_t |
USB/HID subclass constants. | |
enum | usb_hid_usage_led_t |
enum | usb_hidut_usage_consumer_t |
enum | usb_hidut_usage_generic_desktop_t |
Usages for Generic Desktop Page. | |
enum | usb_hidut_usage_page_t |
USB/HID Usage Pages. | |
Functions | |
void | usb_hid_descriptor_print (usb_hid_report_t *report) |
Prints content of given report descriptor in human readable format. | |
void | usb_hid_descriptor_print_list (link_t *head) |
Prints content of given list of report items. | |
void | usb_hid_free_report (usb_hid_report_t *report) |
Frees the HID report descriptor parser structure. | |
void | usb_hid_free_report_list (link_t *head) |
Releases whole linked list of report items. | |
uint8_t | usb_hid_get_next_report_id (usb_hid_report_t *report, uint8_t report_id, usb_hid_report_type_t type) |
Returns next report_id of report of specified type. | |
static int | usb_hid_get_report_descriptor (usb_device_t *dev, uint8_t **report_desc, size_t *size) |
int | usb_hid_parse_report (const usb_hid_report_t *report, const uint8_t *data, size_t size, uint8_t *report_id) |
Parse and act upon a HID report. | |
int | usb_hid_parse_report_descriptor (usb_hid_report_t *report, const uint8_t *data, size_t size) |
Parse HID report descriptor. | |
void | usb_hid_print_usage_path (usb_hid_report_path_t *path) |
int | usb_hid_process_report_descriptor (usb_device_t *dev, usb_hid_report_t *report, uint8_t **report_desc, size_t *report_size) |
Retrieves the Report descriptor from the USB device and initializes the report parser. | |
int | usb_hid_report_append_fields (usb_hid_report_t *report, usb_hid_report_item_t *report_item) |
size_t | usb_hid_report_byte_size (usb_hid_report_t *report, uint8_t report_id, usb_hid_report_type_t type) |
Returns size of report of specified report id and type in bytes. | |
int | usb_hid_report_compare_usage_path (usb_hid_report_path_t *report_path, usb_hid_report_path_t *path, int flags) |
Compares two usage paths structures. | |
usb_hid_report_description_t * | usb_hid_report_find_description (const usb_hid_report_t *report, uint8_t report_id, usb_hid_report_type_t type) |
Finds description of report with given report_id and of given type in opaque report structure. | |
usb_hid_report_field_t * | usb_hid_report_get_sibling (usb_hid_report_t *report, usb_hid_report_field_t *field, usb_hid_report_path_t *path, int flags, usb_hid_report_type_t type) |
Function for sequence walking through the report. | |
int | usb_hid_report_init (usb_hid_report_t *report) |
Initialize the report descriptor parser structure. | |
usb_hid_report_item_t * | usb_hid_report_item_clone (const usb_hid_report_item_t *item) |
Clones given state table. | |
void | usb_hid_report_null_last_item (usb_hid_report_path_t *usage_path) |
Nulls last item of the usage path structure. | |
uint8_t * | usb_hid_report_output (usb_hid_report_t *report, size_t *size, uint8_t report_id) |
Allocates output report buffer for output report. | |
void | usb_hid_report_output_free (uint8_t *output) |
Frees output report buffer. | |
int | usb_hid_report_output_translate (usb_hid_report_t *report, uint8_t report_id, uint8_t *buffer, size_t size) |
Makes the output report buffer for data given in the report structure. | |
int | usb_hid_report_parse_global_tag (uint8_t tag, const uint8_t *data, size_t item_size, usb_hid_report_item_t *report_item, usb_hid_report_path_t *usage_path) |
Parse global tags of report descriptor. | |
int | usb_hid_report_parse_local_tag (uint8_t tag, const uint8_t *data, size_t item_size, usb_hid_report_item_t *report_item, usb_hid_report_path_t *usage_path) |
Parse local tags of report descriptor. | |
int | usb_hid_report_parse_main_tag (uint8_t tag, const uint8_t *data, size_t item_size, usb_hid_report_item_t *report_item, usb_hid_report_path_t *usage_path) |
Parse main tags of report descriptor. | |
int | usb_hid_report_parse_tag (uint8_t tag, uint8_t class, const uint8_t *data, size_t item_size, usb_hid_report_item_t *report_item, usb_hid_report_path_t *usage_path) |
Parse one tag of the report descriptor. | |
usb_hid_report_path_t * | usb_hid_report_path (void) |
Allocates and initializes new usage path structure. | |
int | usb_hid_report_path_append_item (usb_hid_report_path_t *usage_path, int32_t usage_page, int32_t usage) |
Appends one item (couple of usage_path and usage) into the usage path structure. | |
usb_hid_report_path_t * | usb_hid_report_path_clone (usb_hid_report_path_t *usage_path) |
Clone content of given usage path to the new one. | |
void | usb_hid_report_path_free (usb_hid_report_path_t *path) |
Releases given usage path structure. | |
int | usb_hid_report_path_set_report_id (usb_hid_report_path_t *path, uint8_t report_id) |
Sets report id in usage path structure. | |
usb_hid_report_path_t * | usb_hid_report_path_try_insert (usb_hid_report_t *report, usb_hid_report_path_t *cmp_path) |
Checks if given collection path is already present in report structure and inserts it if not. | |
void | usb_hid_report_remove_last_item (usb_hid_report_path_t *usage_path) |
Removes last item from the usage path structure. | |
void | usb_hid_report_reset_local_items (usb_hid_report_item_t *report_item) |
Reset all local items in given state table. | |
void | usb_hid_report_set_last_item (usb_hid_report_path_t *usage_path, int32_t tag, int32_t data) |
Modifies last item of usage path structure by given usage page or usage. | |
size_t | usb_hid_report_size (usb_hid_report_t *report, uint8_t report_id, usb_hid_report_type_t type) |
Returns size of report of specified report id and type in items. | |
uint32_t | usb_hid_report_tag_data_uint32 (const uint8_t *data, size_t size) |
Converts raw data to uint32 (thats the maximum length of short item data). | |
int | usb_hid_translate_data (usb_hid_report_field_t *item, const uint8_t *data) |
Translate data from the report as specified in report descriptor item. | |
uint32_t | usb_hid_translate_data_reverse (usb_hid_report_field_t *item, int value) |
Translate given data for putting them into the outoput report. | |
int | usb_pow (int a, int b) |
int | usbhid_dev_get_event (int dev_phone, uint8_t *buf, size_t size, size_t *actual_size, int *event_nr, unsigned int flags) |
Request for next event from HID device. | |
int | usbhid_dev_get_event_length (int dev_phone, size_t *size) |
Ask for event array length. | |
int | usbhid_dev_get_report_descriptor (int, uint8_t *, size_t, size_t *) |
int | usbhid_dev_get_report_descriptor_length (int, size_t *) |
const char * | usbhid_multimedia_usage_to_str (int usage) |
Translates USB HID Usages from the Consumer Page into their string representation. | |
int | usbhid_req_get_idle (usb_pipe_t *ctrl_pipe, int iface_no, uint8_t *duration) |
Send Get Idle request to the HID device. | |
int | usbhid_req_get_protocol (usb_pipe_t *ctrl_pipe, int iface_no, usb_hid_protocol_t *protocol) |
Send Get Protocol request to the HID device. | |
int | usbhid_req_get_report (usb_pipe_t *ctrl_pipe, int iface_no, usb_hid_report_type_t type, uint8_t *buffer, size_t buf_size, size_t *actual_size) |
Send Get Report request to the HID device. | |
int | usbhid_req_set_idle (usb_pipe_t *ctrl_pipe, int iface_no, uint8_t duration) |
Send Set Idle request to the HID device. | |
int | usbhid_req_set_protocol (usb_pipe_t *ctrl_pipe, int iface_no, usb_hid_protocol_t protocol) |
Send Set Protocol request to the HID device. | |
int | usbhid_req_set_report (usb_pipe_t *ctrl_pipe, int iface_no, usb_hid_report_type_t type, uint8_t *buffer, size_t buf_size) |
Send Set Report request to the HID device. | |
Variables | |
_ | |
B | |
b | |
D | |
d | |
F | |
f | |
H | |
h | |
J | |
j | |
L | |
l | |
N | |
n | |
P | |
p | |
R | |
r | |
t | |
T | |
t | |
static const char * | usbhid_consumer_usage_str [0x29d] |
V | |
v | |
X | |
x | |
x05 | |
x07 | |
x09 | |
x0B | |
x0D | |
x0F | |
x11 | |
x13 | |
x15 | |
x17 | |
x19 | |
x1B | |
x1D | |
x1F | |
x21 | |
x23 | |
x25 | |
x27 | |
x29 | |
x2B | |
x2D | |
x2F | |
x32 | |
x34 | |
x36 | |
<', 0, 0) USB_HIDUT_KBD_KEY(PERIOD, 0x37,'.','> | x39 |
Z | |
z |
#define OUTSIDE_DELIMITER_SET 0 |
Second delimiter tag was read.
The set of local items (usage) ended.
Definition at line 51 of file hiddescriptor.c.
#define START_DELIMITER_SET 1 |
First delimiter tag was read.
The set of local items (usage) started.
Definition at line 56 of file hiddescriptor.c.
#define USB_HID_NEW_REPORT_ITEM 1 |
The new report item flag.
Used to determine when the item is completly configured and should be added to the report structure
Definition at line 68 of file hiddescriptor.c.
#define USB_HID_SAME_USAGE | ( | usage1, | |||
usage2 | ) | ((usage1 == usage2) || (usage1 == 0) || (usage2 == 0)) |
#define USB_HID_SAME_USAGE_PAGE | ( | page1, | |||
page2 | ) | ((page1 == page2) || (page1 == 0) || (page2 == 0)) |
#define USB_HIDUT_KBD_KEY | ( | name, | |||
usage_id, | |||||
letter, | |||||
letter_caps, | |||||
letter_mod1, | |||||
letter_mod2 | ) |
Declare keyboard key.
name | Key name (identifier). | |
usage_id | Key code (see Keyboard/Keypad Page (0x07) in HUT1.12. | |
letter | Corresponding character (0 if not applicable). | |
letter_caps | Corresponding character with Caps on. | |
letter_mod1 | Corresponding character with modifier #1 on. | |
letter_mod2 | Corresponding character with modifier #2 on. |
void usb_hid_descriptor_print | ( | usb_hid_report_t * | report | ) |
Prints content of given report descriptor in human readable format.
parser | Parsed descriptor to print |
Definition at line 955 of file hiddescriptor.c.
void usb_hid_descriptor_print_list | ( | link_t * | head | ) |
Prints content of given list of report items.
List | of report items (usb_hid_report_item_t) |
Definition at line 903 of file hiddescriptor.c.
void usb_hid_free_report | ( | usb_hid_report_t * | report | ) |
Frees the HID report descriptor parser structure.
parser | Opaque HID report parser structure |
Definition at line 1025 of file hiddescriptor.c.
void usb_hid_free_report_list | ( | link_t * | head | ) |
Releases whole linked list of report items.
head | Head of list of report descriptor items (usb_hid_report_item_t) |
Definition at line 989 of file hiddescriptor.c.
uint8_t usb_hid_get_next_report_id | ( | usb_hid_report_t * | report, | |
uint8_t | report_id, | |||
usb_hid_report_type_t | type | |||
) |
Returns next report_id of report of specified type.
If zero is given than first report_id of specified type is returned (0 is not legal value for repotr_id)
report_id | Current report_id, 0 if there is no current report_id | |
type | Type of searched report | |
report | Report structure inwhich we search |
0 | if report structure is null or there is no specified report | |
report_id | otherwise |
Definition at line 596 of file hidparser.c.
int usb_hid_parse_report | ( | const usb_hid_report_t * | report, | |
const uint8_t * | data, | |||
size_t | size, | |||
uint8_t * | report_id | |||
) |
Parse and act upon a HID report.
parser | Opaque HID report parser structure. | |
data | Data for the report. |
Definition at line 134 of file hidparser.c.
int usb_hid_parse_report_descriptor | ( | usb_hid_report_t * | report, | |
const uint8_t * | data, | |||
size_t | size | |||
) |
Parse HID report descriptor.
parser | Opaque HID report parser structure. | |
data | Data describing the report. |
ENOMEM | If no more memmory is available | |
EINVAL | If invalid data are founded | |
EOK | If report descriptor is successfully parsed |
Definition at line 364 of file hiddescriptor.c.
int usb_hid_process_report_descriptor | ( | usb_device_t * | dev, | |
usb_hid_report_t * | report, | |||
uint8_t ** | report_desc, | |||
size_t * | report_size | |||
) |
Retrieves the Report descriptor from the USB device and initializes the report parser.
[in] | dev | USB device representing a HID device. |
in/out] | parser HID Report parser. | |
[out] | report_desc | Place to save report descriptor into. |
[out] | report_size |
EOK | if successful. | |
EINVAL | if one of the parameters is not given (is NULL). | |
ENOENT | if there are some descriptors missing. | |
ENOMEM | if an error with allocation occured. | |
EINVAL | if the Report descriptor's size does not match the size from the interface descriptor. |
Definition at line 165 of file hidreport.c.
int usb_hid_report_append_fields | ( | usb_hid_report_t * | report, | |
usb_hid_report_item_t * | report_item | |||
) |
report | Report structure in which the new report items should be stored | |
report_item | Current report descriptor's parsing state table |
EOK | If all fields were successfully append to report | |
EINVAL | If invalid parameters (NULL) was given | |
ENOMEM | If there is no memmory to store new report description |
Definition at line 163 of file hiddescriptor.c.
size_t usb_hid_report_byte_size | ( | usb_hid_report_t * | report, | |
uint8_t | report_id, | |||
usb_hid_report_type_t | type | |||
) |
Returns size of report of specified report id and type in bytes.
parser | Opaque report parser structure | |
report_id | ||
type |
Definition at line 107 of file hidparser.c.
int usb_hid_report_compare_usage_path | ( | usb_hid_report_path_t * | report_path, | |
usb_hid_report_path_t * | path, | |||
int | flags | |||
) |
usb_hid_report_description_t* usb_hid_report_find_description | ( | const usb_hid_report_t * | report, | |
uint8_t | report_id, | |||
usb_hid_report_type_t | type | |||
) |
Finds description of report with given report_id and of given type in opaque report structure.
report | Opaque structure containing the parsed report descriptor | |
report_id | ReportId of report we are searching | |
type | Type of report we are searching |
NULL | If no description is founded |
Definition at line 327 of file hiddescriptor.c.
usb_hid_report_field_t * usb_hid_report_get_sibling | ( | usb_hid_report_t * | report, | |
usb_hid_report_field_t * | field, | |||
usb_hid_report_path_t * | path, | |||
int | flags, | |||
usb_hid_report_type_t | type | |||
) |
Function for sequence walking through the report.
Returns next field in the report or the first one when no field is given.
report | Searched report structure | |
field | Current field. If NULL is given, the first one in the report is returned. Otherwise the next one i nthe list is returned. | |
path | Usage path specifying which fields wa are interested in. | |
flags | Flags defining mode of usage paths comparison | |
type | Type of report we search. |
NULL | if no field is founded | |
Pointer | to the founded report structure when founded |
Definition at line 538 of file hidparser.c.
int usb_hid_report_init | ( | usb_hid_report_t * | report | ) |
Initialize the report descriptor parser structure.
parser | Report descriptor parser structure |
EINVAL | If no report structure was given | |
EOK | If report structure was successfully initialized |
Definition at line 135 of file hiddescriptor.c.
usb_hid_report_item_t* usb_hid_report_item_clone | ( | const usb_hid_report_item_t * | item | ) |
Clones given state table.
item | State table to clone |
Definition at line 510 of file hidparser.c.
void usb_hid_report_null_last_item | ( | usb_hid_report_path_t * | usage_path | ) |
uint8_t * usb_hid_report_output | ( | usb_hid_report_t * | report, | |
size_t * | size, | |||
uint8_t | report_id | |||
) |
Allocates output report buffer for output report.
parser | Report parsed structure | |
size | Size of returned buffer | |
report_id | Report id of created output report |
Definition at line 304 of file hidparser.c.
void usb_hid_report_output_free | ( | uint8_t * | output | ) |
Frees output report buffer.
output | Output report buffer |
Definition at line 344 of file hidparser.c.
int usb_hid_report_output_translate | ( | usb_hid_report_t * | report, | |
uint8_t | report_id, | |||
uint8_t * | buffer, | |||
size_t | size | |||
) |
Makes the output report buffer for data given in the report structure.
parser | Opaque report parser structure | |
path | Usage path specifing which parts of output will be set | |
flags | Usage path structure comparison flags | |
buffer | Output buffer | |
size | Size of output buffer |
Definition at line 361 of file hidparser.c.
int usb_hid_report_parse_global_tag | ( | uint8_t | tag, | |
const uint8_t * | data, | |||
size_t | item_size, | |||
usb_hid_report_item_t * | report_item, | |||
usb_hid_report_path_t * | usage_path | |||
) |
Parse global tags of report descriptor.
Tag | identifier | |
Data | buffer | |
Length | of data buffer | |
Current | state table |
Definition at line 658 of file hiddescriptor.c.
int usb_hid_report_parse_local_tag | ( | uint8_t | tag, | |
const uint8_t * | data, | |||
size_t | item_size, | |||
usb_hid_report_item_t * | report_item, | |||
usb_hid_report_path_t * | usage_path | |||
) |
Parse local tags of report descriptor.
Tag | identifier | |
Data | buffer | |
Length | of data buffer | |
Current | state table |
Definition at line 744 of file hiddescriptor.c.
int usb_hid_report_parse_main_tag | ( | uint8_t | tag, | |
const uint8_t * | data, | |||
size_t | item_size, | |||
usb_hid_report_item_t * | report_item, | |||
usb_hid_report_path_t * | usage_path | |||
) |
Parse main tags of report descriptor.
Tag | identifier | |
Data | buffer | |
Length | of data buffer | |
Current | state table |
Definition at line 594 of file hiddescriptor.c.
int usb_hid_report_parse_tag | ( | uint8_t | tag, | |
uint8_t | class, | |||
const uint8_t * | data, | |||
size_t | item_size, | |||
usb_hid_report_item_t * | report_item, | |||
usb_hid_report_path_t * | usage_path | |||
) |
Parse one tag of the report descriptor.
Tag | to parse | |
Report | descriptor buffer | |
Size | of data belongs to this tag | |
Current | report item structe |
Definition at line 550 of file hiddescriptor.c.
usb_hid_report_path_t* usb_hid_report_path | ( | void | ) |
int usb_hid_report_path_append_item | ( | usb_hid_report_path_t * | usage_path, | |
int32_t | usage_page, | |||
int32_t | usage | |||
) |
usb_hid_report_path_t* usb_hid_report_path_clone | ( | usb_hid_report_path_t * | usage_path | ) |
void usb_hid_report_path_free | ( | usb_hid_report_path_t * | path | ) |
int usb_hid_report_path_set_report_id | ( | usb_hid_report_path_t * | path, | |
uint8_t | report_id | |||
) |
usb_hid_report_path_t* usb_hid_report_path_try_insert | ( | usb_hid_report_t * | report, | |
usb_hid_report_path_t * | cmp_path | |||
) |
Checks if given collection path is already present in report structure and inserts it if not.
report | Report structure | |
cmp_path | The collection path |
NULL | If some error occurs |
Definition at line 90 of file hiddescriptor.c.
void usb_hid_report_remove_last_item | ( | usb_hid_report_path_t * | usage_path | ) |
void usb_hid_report_reset_local_items | ( | usb_hid_report_item_t * | report_item | ) |
Reset all local items in given state table.
report_item | State table containing current state of report descriptor parsing |
Definition at line 643 of file hidparser.c.
void usb_hid_report_set_last_item | ( | usb_hid_report_path_t * | usage_path, | |
int32_t | tag, | |||
int32_t | data | |||
) |
Modifies last item of usage path structure by given usage page or usage.
usage_path | Opaque usage path structure | |
tag | Class of currently processed tag (Usage page tag falls into Global class but Usage tag into the Local) | |
data | Value of the processed tag |
size_t usb_hid_report_size | ( | usb_hid_report_t * | report, | |
uint8_t | report_id, | |||
usb_hid_report_type_t | type | |||
) |
Returns size of report of specified report id and type in items.
parser | Opaque report parser structure | |
report_id | ||
type |
Definition at line 82 of file hidparser.c.
uint32_t usb_hid_report_tag_data_uint32 | ( | const uint8_t * | data, | |
size_t | size | |||
) |
Converts raw data to uint32 (thats the maximum length of short item data).
Data | buffer | |
Size | of buffer |
Definition at line 883 of file hiddescriptor.c.
int usb_hid_translate_data | ( | usb_hid_report_field_t * | item, | |
const uint8_t * | data | |||
) |
Translate data from the report as specified in report descriptor item.
item | Report descriptor item with definition of translation | |
data | Data to translate |
Definition at line 217 of file hidparser.c.
uint32_t usb_hid_translate_data_reverse | ( | usb_hid_report_field_t * | item, | |
int | value | |||
) |
Translate given data for putting them into the outoput report.
item | Report item structure | |
value | Value to translate |
Definition at line 465 of file hidparser.c.
int usbhid_dev_get_event | ( | int | dev_phone, | |
uint8_t * | buf, | |||
size_t | size, | |||
size_t * | actual_size, | |||
int * | event_nr, | |||
unsigned int | flags | |||
) |
Request for next event from HID device.
[in] | dev_phone | Opened phone to DDF device providing USB HID interface. |
[out] | usage_pages | Where to store usage pages. |
[out] | usages | Where to store usages (actual data). |
[in] | usage_count | Length of usage_pages and usages buffer (in items, not bytes). |
[out] | actual_usage_count | Number of usages actually returned by the device driver. |
[in] | flags | Flags (see USBHID_IFACE_FLAG_*). |
Definition at line 78 of file hidiface.c.
int usbhid_dev_get_event_length | ( | int | dev_phone, | |
size_t * | size | |||
) |
Ask for event array length.
dev_phone | Opened phone to DDF device providing USB HID interface. |
Definition at line 48 of file hidiface.c.
const char * usbhid_multimedia_usage_to_str | ( | int | usage | ) |
Translates USB HID Usages from the Consumer Page into their string representation.
usage | USB HID Consumer Page Usage number. |
HelenOS | key code corresponding to the given USB Consumer Page Usage. |
Definition at line 719 of file consumer.c.
int usbhid_req_get_idle | ( | usb_pipe_t * | ctrl_pipe, | |
int | iface_no, | |||
uint8_t * | duration | |||
) |
Send Get Idle request to the HID device.
[in] | hid_dev | HID device to send the request to. |
[out] | duration | Duration value (multiplicate by 4 to get real duration in miliseconds). |
EOK | if successful. | |
EINVAL | if no HID device is given. |
int usbhid_req_get_protocol | ( | usb_pipe_t * | ctrl_pipe, | |
int | iface_no, | |||
usb_hid_protocol_t * | protocol | |||
) |
Send Get Protocol request to the HID device.
[in] | hid_dev | HID device to send the request to. |
[out] | protocol | Current protocol of the device. |
EOK | if successful. | |
EINVAL | if no HID device is given. |
int usbhid_req_get_report | ( | usb_pipe_t * | ctrl_pipe, | |
int | iface_no, | |||
usb_hid_report_type_t | type, | |||
uint8_t * | buffer, | |||
size_t | buf_size, | |||
size_t * | actual_size | |||
) |
Send Get Report request to the HID device.
[in] | hid_dev | HID device to send the request to. |
[in] | type | Type of the report. |
[in] | out] | buffer Buffer for the report data. |
[in] | buf_size | Size of the buffer (in bytes). |
[out] | actual_size | Actual size of report received from the device (in bytes). |
EOK | if successful. | |
EINVAL | if no HID device is given. |
int usbhid_req_set_idle | ( | usb_pipe_t * | ctrl_pipe, | |
int | iface_no, | |||
uint8_t | duration | |||
) |
Send Set Idle request to the HID device.
hid_dev | HID device to send the request to. | |
duration | Duration value (is multiplicated by 4 by the device to get real duration in miliseconds). |
EOK | if successful. | |
EINVAL | if no HID device is given. |
int usbhid_req_set_protocol | ( | usb_pipe_t * | ctrl_pipe, | |
int | iface_no, | |||
usb_hid_protocol_t | protocol | |||
) |
Send Set Protocol request to the HID device.
hid_dev | HID device to send the request to. | |
protocol | Protocol to set. |
EOK | if successful. | |
EINVAL | if no HID device is given. |
int usbhid_req_set_report | ( | usb_pipe_t * | ctrl_pipe, | |
int | iface_no, | |||
usb_hid_report_type_t | type, | |||
uint8_t * | buffer, | |||
size_t | buf_size | |||
) |
Send Set Report request to the HID device.
hid_dev | HID device to send the request to. | |
type | Type of the report. | |
buffer | Report data. | |
buf_size | Report data size (in bytes). |
EOK | if successful. | |
EINVAL | if no HID device is given. |