1 /**
2   **************************************************************************
3   * @file     usbd_int.h
4   * @brief    usb interrupt header file
5   **************************************************************************
6   *                       Copyright notice & Disclaimer
7   *
8   * The software Board Support Package (BSP) that is made available to
9   * download from Artery official website is the copyrighted work of Artery.
10   * Artery authorizes customers to use, copy, and distribute the BSP
11   * software and its related documentation for the purpose of design and
12   * development in conjunction with Artery microcontrollers. Use of the
13   * software is governed by this copyright notice and the following disclaimer.
14   *
15   * THIS SOFTWARE IS PROVIDED ON "AS IS" BASIS WITHOUT WARRANTIES,
16   * GUARANTEES OR REPRESENTATIONS OF ANY KIND. ARTERY EXPRESSLY DISCLAIMS,
17   * TO THE FULLEST EXTENT PERMITTED BY LAW, ALL EXPRESS, IMPLIED OR
18   * STATUTORY OR OTHER WARRANTIES, GUARANTEES OR REPRESENTATIONS,
19   * INCLUDING BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY,
20   * FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT.
21   *
22   **************************************************************************
23   */
24 
25 /* define to prevent recursive inclusion -------------------------------------*/
26 #ifndef __USBD_INT_H
27 #define __USBD_INT_H
28 
29 #ifdef __cplusplus
30 extern "C" {
31 #endif
32 
33 /* includes ------------------------------------------------------------------*/
34 #include "usbd_core.h"
35 #include "usb_core.h"
36 
37 /** @addtogroup USBD_drivers_int
38   * @{
39   */
40 
41 /** @defgroup USBD_interrupt_exported_types
42   * @{
43   */
44 
45 #ifdef USE_OTG_DEVICE_MODE
46 
47 void usbd_irq_handler(otg_core_type *udev);
48 void usbd_ept_handler(usbd_core_type *udev);
49 void usbd_reset_handler(usbd_core_type *udev);
50 void usbd_sof_handler(usbd_core_type *udev);
51 void usbd_suspend_handler(usbd_core_type *udev);
52 void usbd_wakeup_handler(usbd_core_type *udev);
53 void usbd_inept_handler(usbd_core_type *udev);
54 void usbd_outept_handler(usbd_core_type *udev);
55 void usbd_ep1_in_handler(usbd_core_type *udev);
56 void usbd_ep1_out_handler(usbd_core_type *udev);
57 void usbd_enumdone_handler(usbd_core_type *udev);
58 void usbd_rxflvl_handler(usbd_core_type *udev);
59 void usbd_incomisioin_handler(usbd_core_type *udev);
60 void usbd_discon_handler(usbd_core_type *udev);
61 void usbd_incomisoout_handler(usbd_core_type *udev);
62 void usb_write_empty_txfifo(usbd_core_type *udev, uint32_t ept_num);
63 
64 /* callback for rt-thread */
65 void usbd_reset_callback(usbd_core_type *udev);
66 void usbd_setup_phase_done_callback(usbd_core_type *udev);
67 void usbd_data_in_stage_callback(usbd_core_type *udev, uint32_t ept_num);
68 void usbd_sof_callback(usbd_core_type *udev);
69 void usbd_data_out_stage_callback(usbd_core_type *udev, uint32_t ept_num);
70 void usbd_connectCallback(usbd_core_type *udev);
71 void usbd_disconnectCallback(usbd_core_type *udev);
72 
73 #endif
74 
75 /**
76   * @}
77   */
78 
79 /**
80   * @}
81   */
82 
83 #ifdef __cplusplus
84 }
85 #endif
86 
87 #endif
88