usbd_hid.h 1.2 KB

12345678910111213141516171819202122232425262728293031323334
  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. #include "usb_hid.h"
  9. #ifdef __cplusplus
  10. extern "C" {
  11. #endif
  12. /* Init hid interface driver */
  13. struct usbd_interface *usbd_hid_init_intf(uint8_t busid, struct usbd_interface *intf, const uint8_t *desc, uint32_t desc_len);
  14. /* Register desc api */
  15. void usbd_hid_descriptor_register(uint8_t busid, uint8_t intf_num, const uint8_t *desc);
  16. void usbd_hid_report_descriptor_register(uint8_t busid, uint8_t intf_num, const uint8_t *desc, uint32_t desc_len);
  17. /* Setup request command callback api */
  18. 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);
  19. uint8_t usbd_hid_get_idle(uint8_t busid, uint8_t intf, uint8_t report_id);
  20. uint8_t usbd_hid_get_protocol(uint8_t busid, uint8_t intf);
  21. 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);
  22. void usbd_hid_set_idle(uint8_t busid, uint8_t intf, uint8_t report_id, uint8_t duration);
  23. void usbd_hid_set_protocol(uint8_t busid, uint8_t intf, uint8_t protocol);
  24. #ifdef __cplusplus
  25. }
  26. #endif
  27. #endif /* USBD_HID_H */