Kenji Arai / mbed-os_TYBLE16

Dependents:   TYBLE16_simple_data_logger TYBLE16_MP3_Air

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers crys_aesccm_error.h Source File

crys_aesccm_error.h

Go to the documentation of this file.
00001 /**************************************************************************************
00002 * Copyright (c) 2016-2017, ARM Limited or its affiliates. All rights reserved         *
00003 *                                                                                     *
00004 * This file and the related binary are licensed under the following license:          *
00005 *                                                                                     *
00006 * ARM Object Code and Header Files License, v1.0 Redistribution.                      *
00007 *                                                                                     *
00008 * Redistribution and use of object code, header files, and documentation, without     *
00009 * modification, are permitted provided that the following conditions are met:         *
00010 *                                                                                     *
00011 * 1) Redistributions must reproduce the above copyright notice and the                *
00012 *    following disclaimer in the documentation and/or other materials                 *
00013 *    provided with the distribution.                                                  *
00014 *                                                                                     *
00015 * 2) Unless to the extent explicitly permitted by law, no reverse                     *
00016 *    engineering, decompilation, or disassembly of is permitted.                      *
00017 *                                                                                     *
00018 * 3) Redistribution and use is permitted solely for the purpose of                    *
00019 *    developing or executing applications that are targeted for use                   *
00020 *    on an ARM-based product.                                                         *
00021 *                                                                                     *
00022 * DISCLAIMER. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND                  *
00023 * CONTRIBUTORS "AS IS." ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT             *
00024 * NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, NON-INFRINGEMENT,        *
00025 * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE          *
00026 * COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,   *
00027 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED            *
00028 * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR              *
00029 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF              *
00030 * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING                *
00031 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS                  *
00032 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.                        *
00033 **************************************************************************************/
00034 
00035 
00036 
00037 
00038 #ifndef CRYS_AESCCM_ERROR_H
00039 #define CRYS_AESCCM_ERROR_H
00040 
00041 
00042 #include "crys_error.h"
00043 
00044 #ifdef __cplusplus
00045 extern "C"
00046 {
00047 #endif
00048 
00049 /*!
00050 @file
00051 @brief This module contains the definitions of the CRYS AESCCM errors.
00052 @defgroup crys_aesccm_error CryptoCell AES-CCM specific errors
00053 @{
00054 @ingroup crys_aesccm
00055 */
00056 
00057 /************************ Defines ******************************/
00058 
00059 /*! CRYS AESCCM module errors. CRYS_AESCCM_MODULE_ERROR_BASE = 0x00F01500. */
00060 /*! Invalid context pointer. */
00061 #define CRYS_AESCCM_INVALID_USER_CONTEXT_POINTER_ERROR     (CRYS_AESCCM_MODULE_ERROR_BASE + 0x00UL)
00062 /*! Illegal key size. */
00063 #define CRYS_AESCCM_ILLEGAL_KEY_SIZE_ERROR                 (CRYS_AESCCM_MODULE_ERROR_BASE + 0x01UL)
00064 /*! Invalid key pointer. */
00065 #define CRYS_AESCCM_INVALID_KEY_POINTER_ERROR              (CRYS_AESCCM_MODULE_ERROR_BASE + 0x02UL)
00066 /*! Invalid encryption mode. */
00067 #define CRYS_AESCCM_INVALID_ENCRYPT_MODE_ERROR             (CRYS_AESCCM_MODULE_ERROR_BASE + 0x03UL)
00068 /*! Context is corrupted. */
00069 #define CRYS_AESCCM_USER_CONTEXT_CORRUPTED_ERROR           (CRYS_AESCCM_MODULE_ERROR_BASE + 0x04UL)
00070 /*! Invalid data in pointer. */
00071 #define CRYS_AESCCM_DATA_IN_POINTER_INVALID_ERROR          (CRYS_AESCCM_MODULE_ERROR_BASE + 0x05UL)
00072 /*! Invalid data out pointer. */
00073 #define CRYS_AESCCM_DATA_OUT_POINTER_INVALID_ERROR         (CRYS_AESCCM_MODULE_ERROR_BASE + 0x06UL)
00074 /*! Illegal data in size. */
00075 #define CRYS_AESCCM_DATA_IN_SIZE_ILLEGAL                   (CRYS_AESCCM_MODULE_ERROR_BASE + 0x07UL)
00076 /*! Illegal data in or data out address. */
00077 #define CRYS_AESCCM_DATA_OUT_DATA_IN_OVERLAP_ERROR         (CRYS_AESCCM_MODULE_ERROR_BASE + 0x08UL)
00078 /*! Illegal data out size. */
00079 #define CRYS_AESCCM_DATA_OUT_SIZE_INVALID_ERROR            (CRYS_AESCCM_MODULE_ERROR_BASE + 0x09UL)
00080 /*! Illegal call to process additional data. */
00081 #define CRYS_AESCCM_ADDITIONAL_BLOCK_NOT_PERMITTED_ERROR   (CRYS_AESCCM_MODULE_ERROR_BASE + 0x0AUL)
00082 /*! Illegal dma buffer type. */
00083 #define CRYS_AESCCM_ILLEGAL_DMA_BUFF_TYPE_ERROR            (CRYS_AESCCM_MODULE_ERROR_BASE + 0x0BUL)
00084 /*! Illegal parameter size. */
00085 #define CRYS_AESCCM_ILLEGAL_PARAMETER_SIZE_ERROR           (CRYS_AESCCM_MODULE_ERROR_BASE + 0x0CUL)
00086 /*! Invalid parameter pointer. */
00087 #define CRYS_AESCCM_ILLEGAL_PARAMETER_PTR_ERROR            (CRYS_AESCCM_MODULE_ERROR_BASE + 0x0DUL)
00088 /*! Invalid data type. */
00089 #define CRYS_AESCCM_ILLEGAL_DATA_TYPE_ERROR                (CRYS_AESCCM_MODULE_ERROR_BASE + 0x0EUL)
00090 /*! CCM MAC compare failure. */
00091 #define CRYS_AESCCM_CCM_MAC_INVALID_ERROR                  (CRYS_AESCCM_MODULE_ERROR_BASE + 0x0FUL)
00092 /*! Illegal operation. */
00093 #define CRYS_AESCCM_LAST_BLOCK_NOT_PERMITTED_ERROR         (CRYS_AESCCM_MODULE_ERROR_BASE + 0x10UL)
00094 /*! Illegal parameter. */
00095 #define CRYS_AESCCM_ILLEGAL_PARAMETER_ERROR                (CRYS_AESCCM_MODULE_ERROR_BASE + 0x11UL)
00096 /*! Additional data input size is incorrect. */
00097 #define CRYS_AESCCM_NOT_ALL_ADATA_WAS_PROCESSED_ERROR      (CRYS_AESCCM_MODULE_ERROR_BASE + 0x13UL)
00098 /*! Text data input size is incorrect. */
00099 #define CRYS_AESCCM_NOT_ALL_DATA_WAS_PROCESSED_ERROR       (CRYS_AESCCM_MODULE_ERROR_BASE + 0x14UL)
00100 /*! Additional data was already processed (must be processed only once). */
00101 #define CRYS_AESCCM_ADATA_WAS_PROCESSED_ERROR          (CRYS_AESCCM_MODULE_ERROR_BASE + 0x15UL)
00102 /*! Illegal Nonce size. */
00103 #define CRYS_AESCCM_ILLEGAL_NONCE_SIZE_ERROR           (CRYS_AESCCM_MODULE_ERROR_BASE + 0x16UL)
00104 /*! Illegal tag (MAC) size. */
00105 #define CRYS_AESCCM_ILLEGAL_TAG_SIZE_ERROR         (CRYS_AESCCM_MODULE_ERROR_BASE + 0x17UL)
00106 
00107 /*! Illegal context size. */
00108 #define CRYS_AESCCM_CTX_SIZES_ERROR            (CRYS_AESCCM_MODULE_ERROR_BASE + 0x28UL)
00109 /*! Illegal parameters. */
00110 #define CRYS_AESCCM_ILLEGAL_PARAMS_ERROR           (CRYS_AESCCM_MODULE_ERROR_BASE + 0x29UL)
00111 /*! AESCCM is not supported. */
00112 #define CRYS_AESCCM_IS_NOT_SUPPORTED                       (CRYS_AESCCM_MODULE_ERROR_BASE + 0xFFUL)
00113 
00114 /************************ Enums ********************************/
00115 
00116 /************************ Typedefs  ****************************/
00117 
00118 /************************ Structs  *****************************/
00119 
00120 /************************ Public Variables *********************/
00121 
00122 /************************ Public Functions *********************/
00123 
00124 #ifdef __cplusplus
00125 }
00126 #endif
00127 
00128 /**
00129 @}
00130  */
00131 
00132 #endif
00133 
00134