00001 /* ---------------------------------------------------------------------------- 00002 * SAM Software Package License 00003 * ---------------------------------------------------------------------------- 00004 * Copyright (c) 2014, Atmel Corporation 00005 * 00006 * All rights reserved. 00007 * 00008 * Redistribution and use in source and binary forms, with or without 00009 * modification, are permitted provided that the following conditions are met: 00010 * 00011 * - Redistributions of source code must retain the above copyright notice, 00012 * this list of conditions and the disclaimer below. 00013 * 00014 * Atmel's name may not be used to endorse or promote products derived from 00015 * this software without specific prior written permission. 00016 * 00017 * DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR 00018 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 00019 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE 00020 * DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT, 00021 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 00022 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, 00023 * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 00024 * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 00025 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 00026 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 00027 * ---------------------------------------------------------------------------- 00028 */ 00029 00030 /** \file 00031 * Definitions for USB Lib compiling. 00032 */ 00033 00034 #ifndef USBLIB_TYPES_H 00035 #define USBLIB_TYPES_H 00036 /*---------------------------------------------------------------------------- 00037 * Includes 00038 *----------------------------------------------------------------------------*/ 00039 00040 #include <stdint.h> 00041 #include "compiler.h" 00042 00043 /*---------------------------------------------------------------------------- 00044 * Defines 00045 *----------------------------------------------------------------------------*/ 00046 00047 /** USB status ReturnCode */ 00048 typedef enum _USBRC { 00049 USBRC_OK = 0, /**< Operation was successful */ 00050 USBRC_SUCCESS = 0, /**< Operation was successful */ 00051 /* Bool codes */ 00052 USBRC_FALSE = 0, /**< As boolean TRUE */ 00053 USBRC_TRUE = 1, /**< As boolean FALSE */ 00054 /* Error codes */ 00055 USBRC_BUSY, /**< EP/Device is already busy */ 00056 USBRC_ABORTED, /**< Operation aborted due to error or stall */ 00057 USBRC_CANCELED, /**< Operation cancelled by user */ 00058 USBRC_RESET, /**< Operation aborted due to init/reset/un-configure */ 00059 USBRC_PARTIAL_DONE,/**< Part of operation successfully done */ 00060 USBRC_FINISHED, /**< All operation successfully done and terminate */ 00061 00062 USBRC_PARAM_ERR, /**< Failed due to parameter error */ 00063 USBRC_STATE_ERR, /**< Failed due to state error */ 00064 USBRC_ERROR, /**< General error */ 00065 00066 USBRC_SW_NOT_SUPPORTED = 0xFD, /**< Failed due to SW not supported */ 00067 USBRC_HW_NOT_SUPPORTED = 0xFE /**< Failed due to HW not supported */ 00068 } USBRC; 00069 00070 #endif /* #define USBLIB_TYPES_H */ 00071