BeRTOS
|
00001 00042 #ifndef USB_ENDPOINT_H 00043 #define USB_ENDPOINT_H 00044 00045 #include "cfg/cfg_usb.h" 00046 #include "cfg/cfg_usbser.h" 00047 #include "cfg/cfg_usbkbd.h" 00048 #include "cfg/cfg_usbmouse.h" 00049 00050 /* Enpoint allocation (according to the compile-time options) */ 00051 enum { 00052 USB_CTRL_ENDPOINT = 0, /* This must be always allocated */ 00053 #if (defined(CONFIG_USBSER) && CONFIG_USBSER) 00054 USB_SERIAL_EP_REPORT, 00055 USB_SERIAL_EP_OUT, 00056 USB_SERIAL_EP_IN, 00057 #endif 00058 #if (defined(CONFIG_USBKBD) && CONFIG_USBKBD) 00059 USB_KBD_EP_REPORT, 00060 #endif 00061 #if (defined(CONFIG_USBMOUSE) && CONFIG_USBMOUSE) 00062 USB_MOUSE_EP_REPORT, 00063 #endif 00064 /* Number of allocated endpoints */ 00065 #if (CONFIG_USB_EP_MAX == 0) 00066 USB_EP_MAX, 00067 #else 00068 USB_EP_MAX = CONFIG_USB_EP_MAX, 00069 #endif 00070 }; 00071 00072 /* 00073 * NOTE: a USB inteface requires at least one endpoint. Moreover, there's the 00074 * special endpoint 0. In conclusion, the number of endpoints must be always 00075 * greater than the number of interfaces. 00076 */ 00077 STATIC_ASSERT(USB_EP_MAX >= CONFIG_USB_INTERFACE_MAX); 00078 00079 #endif /* USB_ENDPOINT_H */