usbd_rndis.h 937 B

12345678910111213141516171819202122232425262728293031323334353637
  1. /*
  2. * Copyright (c) 2022, sakumisu
  3. *
  4. * SPDX-License-Identifier: Apache-2.0
  5. */
  6. #ifndef USBD_RNDIS_H
  7. #define USBD_RNDIS_H
  8. #include "usb_cdc.h"
  9. #ifdef __cplusplus
  10. extern "C" {
  11. #endif
  12. /* Init rndis interface driver */
  13. struct usbd_interface *usbd_rndis_init_intf(struct usbd_interface *intf,
  14. const uint8_t out_ep,
  15. const uint8_t in_ep,
  16. const uint8_t int_ep, uint8_t mac[6]);
  17. void usbd_rndis_set_connect(bool connect);
  18. void usbd_rndis_data_recv_done(uint32_t len);
  19. void usbd_rndis_data_send_done(uint32_t len);
  20. int usbd_rndis_start_write(uint8_t *buf, uint32_t len);
  21. int usbd_rndis_start_read(uint8_t *buf, uint32_t len);
  22. #ifdef CONFIG_USBDEV_RNDIS_USING_LWIP
  23. struct pbuf *usbd_rndis_eth_rx(void);
  24. int usbd_rndis_eth_tx(struct pbuf *p);
  25. #endif
  26. #ifdef __cplusplus
  27. }
  28. #endif
  29. #endif /* USBD_RNDIS_H */