usbd_hid.h 996 B

123456789101112131415161718192021222324252627282930
  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. /* Setup request command callback api */
  15. 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);
  16. uint8_t usbd_hid_get_idle(uint8_t busid, uint8_t intf, uint8_t report_id);
  17. uint8_t usbd_hid_get_protocol(uint8_t busid, uint8_t intf);
  18. 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);
  19. void usbd_hid_set_idle(uint8_t busid, uint8_t intf, uint8_t report_id, uint8_t duration);
  20. void usbd_hid_set_protocol(uint8_t busid, uint8_t intf, uint8_t protocol);
  21. #ifdef __cplusplus
  22. }
  23. #endif
  24. #endif /* USBD_HID_H */