00001 /*This file has been prepared for Doxygen automatic documentation generation.*/ 00021 00022 /* Copyright (c) 2007, Atmel Corporation All rights reserved. 00023 * 00024 * Redistribution and use in source and binary forms, with or without 00025 * modification, are permitted provided that the following conditions are met: 00026 * 00027 * 1. Redistributions of source code must retain the above copyright notice, 00028 * this list of conditions and the following disclaimer. 00029 * 00030 * 2. Redistributions in binary form must reproduce the above copyright notice, 00031 * this list of conditions and the following disclaimer in the documentation 00032 * and/or other materials provided with the distribution. 00033 * 00034 * 3. The name of ATMEL may not be used to endorse or promote products derived 00035 * from this software without specific prior written permission. 00036 * 00037 * THIS SOFTWARE IS PROVIDED BY ATMEL ``AS IS'' AND ANY EXPRESS OR IMPLIED 00038 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 00039 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE EXPRESSLY AND 00040 * SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, 00041 * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 00042 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 00043 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 00044 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 00045 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 00046 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 00047 */ 00048 00049 #ifndef _USB_STANDARD_REQUEST_H_ 00050 #define _USB_STANDARD_REQUEST_H_ 00051 00052 //_____ I N C L U D E S ____________________________________________________ 00053 00054 #include "modules/usb/usb_task.h" 00055 #include "usb_descriptors.h" 00056 00057 //_____ M A C R O S ________________________________________________________ 00058 00059 //_____ S T A N D A R D D E F I N I T I O N S ___________________________ 00060 00063 00064 00065 00066 // Device State 00067 #define ATTACHED 0 00068 #define POWERED 1 00069 #define DEFAULT 2 00070 #define ADDRESSED 3 00071 #define CONFIGURED 4 00072 #define SUSPENDED 5 00073 00074 #define USB_REMOTE_WAKEUP 1 00075 #define OTG_B_HNP_ENABLE 3 00076 #define OTG_A_HNP_SUPPORT 4 00077 #define OTG_A_ALT_HNP_SUPPORT 5 00078 00079 00080 //_____ D E C L A R A T I O N ______________________________________________ 00081 00084 #define Is_device_enumerated() ((usb_configuration_nb!=0) ? TRUE : FALSE) 00085 #define Is_device_not_enumerated() ((usb_configuration_nb!=0) ? FALSE : TRUE) 00086 00087 00088 00089 00109 void usb_process_request( void); 00110 00120 void usb_generate_remote_wakeup(void); 00121 00122 extern U8 usb_configuration_nb; 00123 extern U8 remote_wakeup_feature; 00124 00125 00126 #if (USE_DEVICE_SN_UNIQUE==ENABLE) 00127 extern U8 f_get_serial_string; 00128 #endif 00129 00131 00132 #endif // _USB_STANDARD_REQUEST_H_ 00133