1 /* 2 * Copyright (c) 2022, sakumisu 3 * 4 * SPDX-License-Identifier: Apache-2.0 5 */ 6 #ifndef USBD_HID_H 7 #define USBD_HID_H 8 9 #include "usb_hid.h" 10 11 #ifdef __cplusplus 12 extern "C" { 13 #endif 14 15 /* Init hid interface driver */ 16 struct usbd_interface *usbd_hid_init_intf(uint8_t busid, struct usbd_interface *intf, const uint8_t *desc, uint32_t desc_len); 17 18 /* Setup request command callback api */ 19 void usbd_hid_get_report(uint8_t busid, uint8_t intf, uint8_t report_id, uint8_t report_type, uint8_t **data, uint32_t *len); 20 uint8_t usbd_hid_get_idle(uint8_t busid, uint8_t intf, uint8_t report_id); 21 uint8_t usbd_hid_get_protocol(uint8_t busid, uint8_t intf); 22 void usbd_hid_set_report(uint8_t busid, uint8_t intf, uint8_t report_id, uint8_t report_type, uint8_t *report, uint32_t report_len); 23 void usbd_hid_set_idle(uint8_t busid, uint8_t intf, uint8_t report_id, uint8_t duration); 24 void usbd_hid_set_protocol(uint8_t busid, uint8_t intf, uint8_t protocol); 25 26 #ifdef __cplusplus 27 } 28 #endif 29 30 #endif /* USBD_HID_H */ 31