1 /*
2  * SPDX-FileCopyrightText: 2019-2022 Espressif Systems (Shanghai) CO LTD
3  *
4  * SPDX-License-Identifier: Apache-2.0
5  */
6 
7 #pragma once
8 
9 #include <stdint.h>
10 
11 #ifdef __cplusplus
12 extern "C" {
13 #endif
14 
15 
16 typedef void(*usb_osglue_intdisena_routine_t)(void);
17 typedef int(*usb_osglue_wait_routine_t)(int delay_us);
18 
19 typedef struct {
20     /* Disable USB interrupt */
21     usb_osglue_intdisena_routine_t int_dis_proc;
22     /* Enable USB interrupt */
23     usb_osglue_intdisena_routine_t int_ena_proc;
24     /* Wait for a set amount of uS. Return the amount actually waited. If delay_us is 0, just yield.*/
25     usb_osglue_wait_routine_t wait_proc;
26 } usb_osglue_data_t;
27 
28 extern usb_osglue_data_t rom_usb_osglue;
29 
30 #ifdef __cplusplus
31 }
32 #endif
33