RT-USB-9AXIS-00
usbcore.h
1 /*----------------------------------------------------------------------------
2  * U S B - K e r n e l
3  *----------------------------------------------------------------------------
4  * Name: usbcore.h
5  * Purpose: USB Core Definitions
6  * Version: V1.20
7  *----------------------------------------------------------------------------
8  * This software is supplied "AS IS" without any warranties, express,
9  * implied or statutory, including but not limited to the implied
10  * warranties of fitness for purpose, satisfactory quality and
11  * noninfringement. Keil extends you a royalty-free right to reproduce
12  * and distribute executable files created using this software for use
13  * on NXP Semiconductors LPC microcontroller devices only. Nothing else
14  * gives you the right to use this software.
15  *
16  * Copyright (c) 2009 Keil - An ARM Company. All rights reserved.
17  *---------------------------------------------------------------------------*/
18 
19 #ifndef __USBCORE_H__
20 #define __USBCORE_H__
21 
22 
23 /* USB Endpoint Data Structure */
24 typedef struct _USB_EP_DATA {
25  uint8_t *pData;
26  uint16_t Count;
27 } USB_EP_DATA;
28 
29 /* USB Core Global Variables */
30 extern uint16_t USB_DeviceStatus;
31 extern uint8_t USB_DeviceAddress;
32 extern uint8_t USB_Configuration;
33 extern uint32_t USB_EndPointMask;
34 extern uint32_t USB_EndPointHalt;
35 extern uint32_t USB_EndPointStall;
36 extern uint8_t USB_AltSetting[USB_IF_NUM];
37 
38 /* USB Endpoint 0 Buffer */
39 extern uint8_t EP0Buf[USB_MAX_PACKET0];
40 
41 /* USB Endpoint 0 Data Info */
42 extern USB_EP_DATA EP0Data;
43 
44 /* USB Setup Packet */
45 extern USB_SETUP_PACKET SetupPacket;
46 
47 /* USB Core Functions */
48 extern void USB_ResetCore (void);
49 
50 /* Newer C compilers make it really difficult to add
51  * an integer to a pointer */
52 __inline void UsbAddPtr(void **vpptr, uint32_t n);
53 
54 
55 
56 #endif /* __USBCORE_H__ */