Simulated product dispenser

Dependencies:   HTS221

Fork of mbed-cloud-workshop-connect-HTS221 by Jim Carver

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers pal_errors.h Source File

pal_errors.h

Go to the documentation of this file.
00001 /*******************************************************************************
00002  * Copyright 2016, 2017 ARM Ltd.
00003  *
00004  * Licensed under the Apache License, Version 2.0 (the "License");
00005  * you may not use this file except in compliance with the License.
00006  * You may obtain a copy of the License at
00007  *
00008  *     http://www.apache.org/licenses/LICENSE-2.0
00009  *
00010  * Unless required by applicable law or agreed to in writing, software
00011  * distributed under the License is distributed on an "AS IS" BASIS,
00012  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00013  * See the License for the specific language governing permissions and
00014  * limitations under the License.
00015  *******************************************************************************/
00016 
00017 
00018 #ifndef _PAL_ERRORS_H
00019 #define _PAL_ERRORS_H
00020 
00021 #ifdef __cplusplus
00022 extern "C" {
00023 #endif
00024 
00025 #include "pal_types.h"
00026 
00027 /*! \file pal_errors.h
00028  *  \brief PAL errors.
00029  *   This file contains PAL errors enumeration. These errors are returned to the service layer.
00030  */
00031 
00032 #define PAL_ERR_MODULE_GENERAL_BASE     ((int32_t)0xFFFFFFF0) // -1 << 0x4
00033 #define PAL_ERR_MODULE_PAL_BASE         ((int32_t)0xFFFFFFC0) // -1 << 0x6
00034 #define PAL_ERR_MODULE_C_BASE           ((int32_t)0xFFFFFF00) // -1 << 0x8,
00035 #define PAL_ERR_MODULE_RTOS_BASE        ((int32_t)0xFFFFF000) // -1 << 0xC,
00036 #define PAL_ERR_MODULE_NET_BASE         ((int32_t)0xFFFF0000) // -1 << 0x10,
00037 #define PAL_ERR_MODULE_TLS_BASE         ((int32_t)0xFFF00000) // -1 << 0x14,
00038 #define PAL_ERR_MODULE_CRYPTO_BASE      ((int32_t)0xFF000000) // -1 << 0x18,
00039 #define PAL_ERR_MODULE_FILESYSTEM_BASE  ((int32_t)0xFC000000)
00040 #define PAL_ERR_MODULE_INTERNAL_FLASH_BASE     ((int32_t)0xFC000500)
00041 #define PAL_ERR_MODULE_UPDATE_BASE      ((int32_t)0xF0000000) // -1 << 0x1C,
00042 #define PAL_ERR_MODULE_BITMASK_BASE      ((int32_t)0xE0000000)
00043 
00044 
00045 typedef enum {
00046     //Success Codes are positive
00047     PAL_SUCCESS = 0,
00048 
00049     //All errors are Negative
00050     // generic errors
00051     PAL_ERR_GENERAL_BASE =          PAL_ERR_MODULE_GENERAL_BASE,
00052     PAL_ERR_GENERIC_FAILURE =       PAL_ERR_GENERAL_BASE,       /*! Generic failure*/ // Try to use a more specific error message whenever possible. */
00053     PAL_ERR_INVALID_ARGUMENT  =      PAL_ERR_GENERAL_BASE + 0x01,   /*! One or more of the function arguments is invalid. */
00054     PAL_ERR_NO_MEMORY  =             PAL_ERR_GENERAL_BASE + 0x02,   /*! Failure due to a failed attempt to allocate memory. */
00055     PAL_ERR_BUFFER_TOO_SMALL  =      PAL_ERR_GENERAL_BASE + 0x03,   /*! The buffer given is too small. */
00056     PAL_ERR_NOT_SUPPORTED  =         PAL_ERR_GENERAL_BASE + 0x04,   /*! The operation is not supported by PAL for the current configuration. */
00057     PAL_ERR_TIMEOUT_EXPIRED  =       PAL_ERR_GENERAL_BASE + 0x05,   /*! The timeout for the operation has expired. */
00058     PAL_ERR_NOT_INITIALIZED  =       PAL_ERR_GENERAL_BASE + 0x06,   /*! Component is not initialized */
00059     PAL_ERR_NULL_POINTER      =      PAL_ERR_GENERAL_BASE + 0x07,   /*! Received a null pointer when it should be initialized. */
00060     PAL_ERR_CREATION_FAILED  =       PAL_ERR_GENERAL_BASE + 0x08,   /*! Failure in creation of the given type, such as mutex or thread. */
00061     PAL_ERR_END_OF_FILE  =           PAL_ERR_GENERAL_BASE + 0x09,   /*! The reading process finished since end of file reached. */
00062     PAL_ERR_INVALID_TIME  =          PAL_ERR_GENERAL_BASE + 0x0A,  /*! Invalid time value. */
00063     PAL_ERR_GET_DEV_KEY  =           PAL_ERR_GENERAL_BASE + 0x0B,  /*! Failure deriving the key from RoT. */
00064     PAL_ERR_TIME_TRANSLATE  =        PAL_ERR_GENERAL_BASE + 0x0C,  /*! Failure to translate the time from "struct tm" to epoch time. */
00065     PAL_ERR_SYSCALL_FAILED  =        PAL_ERR_GENERAL_BASE + 0x0D,  /*! Failure of calling a system call using system, popen, exec and ect.*/
00066 
00067     // pal errors
00068     PAL_ERR_NOT_IMPLEMENTED  =                               PAL_ERR_MODULE_PAL_BASE, /*! Currently not implemented. */
00069     // c errors
00070     // RTOS errors
00071     PAL_ERR_RTOS_ERROR_BASE  =                               PAL_ERR_MODULE_RTOS_BASE,      /*! A generic failure in the RTOS module*/ // Try to use a more specific error message whenever possible. */
00072     PAL_ERR_RTOS_TRNG_FAILED  =                              PAL_ERR_MODULE_RTOS_BASE + 1,  /*! failed to get all the required random data */
00073     PAL_ERR_RTOS_TRNG_PARTIAL_DATA  =                        PAL_ERR_MODULE_RTOS_BASE + 2,  /*! get partial random data, instead of getting the full length */
00074     PAL_ERR_RTOS_PARAMETER  =                                PAL_ERR_RTOS_ERROR_BASE  + 0x80,/*! PAL mapping of CMSIS error `osErrorParameter`: A parameter error: A mandatory parameter was missing or specified an incorrect object. */
00075     PAL_ERR_RTOS_RESOURCE  =                                 PAL_ERR_RTOS_ERROR_BASE  + 0x81,/*! PAL mapping of CMSIS error `osErrorResource`: Resource not available: The specified resource was not available. */
00076     PAL_ERR_RTOS_TIMEOUT  =                                  PAL_ERR_RTOS_ERROR_BASE  + 0xC1,/*! PAL mapping of CMSIS error `osErrorTimeoutResource`: Resource not available within the given time: A specified resource was not available within the timeout period. */
00077     PAL_ERR_RTOS_ISR  =                                      PAL_ERR_RTOS_ERROR_BASE  + 0x82,/*! PAL mapping of CMSIS error `osErrorISR`: Not allowed in ISR context: The function cannot be called from interrupt service routines. */
00078     PAL_ERR_RTOS_ISR_RECURSIVE  =                            PAL_ERR_RTOS_ERROR_BASE  + 0x83,/*! PAL mapping of CMSIS error `osErrorISRRecursive`: Function called multiple times from ISR with same `object.c` */
00079     PAL_ERR_RTOS_PRIORITY  =                                 PAL_ERR_RTOS_ERROR_BASE  + 0x84,/*! PAL mapping of CMSIS error `osErrorPriority`: The system cannot determine the priority or the thread has illegal priority. */
00080     PAL_ERR_RTOS_NO_MEMORY  =                                PAL_ERR_RTOS_ERROR_BASE  + 0x85,/*! PAL mapping of CMSIS error `osErrorNoMemory`: The system is out of memory: It was impossible to allocate or reserve memory for the operation. */
00081     PAL_ERR_RTOS_VALUE  =                                    PAL_ERR_RTOS_ERROR_BASE  + 0x86,/*! PAL mapping of CMSIS error `osErrorValue`: The value of a parameter is out of range. */
00082     PAL_ERR_RTOS_TASK  =                                     PAL_ERR_RTOS_ERROR_BASE  + 0x87,/*! PAL mapping - Cannot kill own task. */
00083     PAL_ERR_RTOS_RECEIVED_LENGTH_IS_TOO_SHORT  =             PAL_ERR_RTOS_ERROR_BASE  + 0x88,/*! Key received by SOTP is not long enough. */
00084     PAL_ERR_RTOS_BUFFER_NOT_ALIGNED  =                       PAL_ERR_RTOS_ERROR_BASE  + 0x89,/*! Buffer not aligned to 32 bits*/
00085     PAL_ERR_RTOS_RTC_SET_TIME_ERROR  =                       PAL_ERR_RTOS_ERROR_BASE  + 0x8A,
00086     PAL_ERR_RTOS_RTC_OPEN_DEVICE_ERROR =                    PAL_ERR_RTOS_ERROR_BASE  + 0x8B,
00087     PAL_ERR_RTOS_RTC_GET_TIME_ERROR =                       PAL_ERR_RTOS_ERROR_BASE  + 0x8C,
00088     PAL_ERR_RTOS_NO_PRIVILEGED =                            PAL_ERR_RTOS_ERROR_BASE  + 0x8D,/*! Insufficient privilege*/
00089     PAL_ERR_RTOS_RTC_OPEN_IOCTL_ERROR  =                     PAL_ERR_RTOS_ERROR_BASE  + 0x8E,
00090     PAL_ERR_NO_HIGH_RES_TIMER_LEFT =                        PAL_ERR_RTOS_ERROR_BASE  + 0x8F,/*! only one high resolution timer at a time is supported by pal  */
00091     PAL_ERR_RTOS_NOISE_BUFFER_FULL  =                        PAL_ERR_RTOS_ERROR_BASE  + 0x90,/*! Noise buffer is full. */
00092     PAL_ERR_RTOS_NOISE_BUFFER_IS_READING  =                  PAL_ERR_RTOS_ERROR_BASE  + 0x91,/*! Noise buffer is currently being read and writes are not allowed while reading. */
00093     PAL_ERR_RTOS_NOISE_BUFFER_EMPTY  =                       PAL_ERR_RTOS_ERROR_BASE  + 0x92,/*! Noise buffer is empty. */
00094     PAL_ERR_RTOS_NOISE_BUFFER_NOT_FULL  =                    PAL_ERR_RTOS_ERROR_BASE  + 0x93,/*! Noise buffer is not full. */
00095     PAL_ERR_RTOS_OS  =                                       PAL_ERR_RTOS_ERROR_BASE  + 0xFF,/*! PAL mapping of CMSIS error `osErrorOS`: An unspecified RTOS error: Run-time error but no other error message fits. */
00096 
00097 
00098     // Network errors.
00099     PAL_ERR_SOCKET_ERROR_BASE  =                             PAL_ERR_MODULE_NET_BASE,                /*! Generic socket error. */
00100     PAL_ERR_SOCKET_GENERIC  =                                PAL_ERR_SOCKET_ERROR_BASE ,              /*! Generic socket error */
00101     PAL_ERR_SOCKET_NO_BUFFERS  =                             PAL_ERR_SOCKET_ERROR_BASE  + 1,          /*! No buffers - PAL mapping of Posix error ENOBUFS. */
00102     PAL_ERR_SOCKET_HOST_UNREACHABLE  =                       PAL_ERR_SOCKET_ERROR_BASE  + 2,          /*! Host unreachable (routing error) - PAL mapping of Posix error EHOSTUNREACH. */
00103     PAL_ERR_SOCKET_IN_PROGRES  =                             PAL_ERR_SOCKET_ERROR_BASE  + 3,          /*! In progress - PAL mapping of Posix error EINPROGRESS. */
00104     PAL_ERR_SOCKET_INVALID_VALUE  =                          PAL_ERR_SOCKET_ERROR_BASE  + 4,          /*! Invalid value - PAL mapping of Posix error EINVAL*/
00105     PAL_ERR_SOCKET_WOULD_BLOCK  =                            PAL_ERR_SOCKET_ERROR_BASE  + 5,          /*! Would block - PAL mapping of Posix error EWOULDBLOCK. */
00106     PAL_ERR_SOCKET_ADDRESS_IN_USE  =                         PAL_ERR_SOCKET_ERROR_BASE  + 6,          /*! Address in use - PAL mapping of Posix error EADDRINUSE. */
00107     PAL_ERR_SOCKET_ALREADY_CONNECTED  =                      PAL_ERR_SOCKET_ERROR_BASE  + 7,          /*! Already connected - PAL mapping of Posix error EALREADY. */
00108     PAL_ERR_SOCKET_CONNECTION_ABORTED  =                     PAL_ERR_SOCKET_ERROR_BASE  + 8,          /*! Connection aborted - PAL mapping of Posix error ECONNABORTED. */
00109     PAL_ERR_SOCKET_CONNECTION_RESET  =                       PAL_ERR_SOCKET_ERROR_BASE  + 9,          /*! Connection reset - PAL mapping of Posix error ECONNRESET. */
00110     PAL_ERR_SOCKET_NOT_CONNECTED  =                          PAL_ERR_SOCKET_ERROR_BASE  + 10,         /*! Not connected - PAL mapping of Posix error ENOTCONN. */
00111     PAL_ERR_SOCKET_INPUT_OUTPUT_ERROR  =                     PAL_ERR_SOCKET_ERROR_BASE  + 11,         /*! I/O error - PAL mapping of Posix error EIO. */
00112     PAL_ERR_SOCKET_CONNECTION_CLOSED  =                      PAL_ERR_SOCKET_ERROR_BASE  + 12,         /*! Connection closed. */
00113     PAL_ERR_SOCKET_FAILED_TO_SET_SOCKET_TO_NON_BLOCKING  =   PAL_ERR_SOCKET_ERROR_BASE  + 13,         /*! Failed to set the socket to non-blocking. */
00114     PAL_ERR_SOCKET_INVALID_ADDRESS_FAMILY  =                 PAL_ERR_SOCKET_ERROR_BASE  + 14,         /*! Invalid Address family field. */
00115     PAL_ERR_SOCKET_INVALID_ADDRESS  =                        PAL_ERR_SOCKET_ERROR_BASE  + 15,         /*! Address given was not valid/found. */
00116     PAL_ERR_SOCKET_DNS_ERROR  =                              PAL_ERR_SOCKET_ERROR_BASE  + 16,         /*! DNS lookup error. */
00117     PAL_ERR_SOCKET_HDCP_ERROR  =                             PAL_ERR_SOCKET_ERROR_BASE  + 17,         /*! HDCP error. */
00118     PAL_ERR_SOCKET_AUTH_ERROR  =                             PAL_ERR_SOCKET_ERROR_BASE  + 18,         /*! Authentication error. */
00119     PAL_ERR_SOCKET_OPTION_NOT_SUPPORTED  =                   PAL_ERR_SOCKET_ERROR_BASE  + 19,         /*! Socket option not supported. */
00120     PAL_ERR_SOCKET_SEND_BUFFER_TOO_BIG  =                    PAL_ERR_SOCKET_ERROR_BASE  + 20,         /*! Buffer sent too large (over supported MTU). */
00121     PAL_ERR_SOCKET_ALLOCATION_FAILED  =                      PAL_ERR_SOCKET_ERROR_BASE  + 21,         /*! Failed to allocate the socket. */
00122     PAL_ERR_SOCKET_OPERATION_NOT_PERMITTED  =                PAL_ERR_SOCKET_ERROR_BASE  + 22,         /*! operation not permitted */
00123     PAL_ERR_SOCKET_MAX_NUMBER_OF_INTERFACES_REACHED  =       PAL_ERR_SOCKET_ERROR_BASE  + 23,         /*! Failed to register the new interface. */
00124     PAL_ERR_SOCKET_INTERRUPTED   =                           PAL_ERR_SOCKET_ERROR_BASE  + 24,         /*! Function call interrupted. */
00125     //TLS Errors
00126     PAL_ERR_TLS_ERROR_BASE  =                                PAL_ERR_MODULE_TLS_BASE,
00127     PAL_ERR_TLS_INIT =                                      PAL_ERR_TLS_ERROR_BASE ,
00128     PAL_ERR_TLS_RESOURCE =                                  PAL_ERR_TLS_ERROR_BASE  + 1,
00129     PAL_ERR_TLS_CONFIG_INIT =                               PAL_ERR_TLS_ERROR_BASE  + 2,
00130     PAL_ERR_TLS_CONTEXT_NOT_INITIALIZED =                   PAL_ERR_TLS_ERROR_BASE  + 3,
00131     PAL_ERR_TLS_INVALID_CIPHER =                            PAL_ERR_TLS_ERROR_BASE  + 4,
00132     PAL_ERR_TLS_WANT_READ =                                 PAL_ERR_TLS_ERROR_BASE  + 5,
00133     PAL_ERR_TLS_WANT_WRITE =                                PAL_ERR_TLS_ERROR_BASE  + 6,
00134     PAL_ERR_TLS_CLIENT_RECONNECT =                          PAL_ERR_TLS_ERROR_BASE  + 7,
00135     PAL_ERR_TLS_BAD_INPUT_DATA =                            PAL_ERR_TLS_ERROR_BASE  + 8,
00136     PAL_ERR_TLS_HELLO_VERIFY_REQUIRED =                     PAL_ERR_TLS_ERROR_BASE  + 9,
00137     PAL_ERR_TLS_FAILED_TO_PARSE_CERT =                      PAL_ERR_TLS_ERROR_BASE  + 10,
00138     PAL_ERR_TLS_FAILED_TO_PARSE_KEY =                       PAL_ERR_TLS_ERROR_BASE  + 11,
00139     PAL_ERR_TLS_FAILED_TO_SET_CERT =                        PAL_ERR_TLS_ERROR_BASE  + 12,
00140     PAL_ERR_TLS_PEER_CLOSE_NOTIFY =                         PAL_ERR_TLS_ERROR_BASE  + 13,
00141     PAL_ERR_TLS_MULTIPLE_HANDSHAKE =                        PAL_ERR_TLS_ERROR_BASE  + 14,
00142     //update Error
00143     PAL_ERR_UPDATE_ERROR_BASE =                             PAL_ERR_MODULE_UPDATE_BASE,             /*! Generic error. */
00144     PAL_ERR_UPDATE_ERROR  =                                  PAL_ERR_UPDATE_ERROR_BASE,              /*! Unknown error. */
00145     PAL_ERR_UPDATE_BUSY  =                                   PAL_ERR_UPDATE_ERROR_BASE + 1,          /*! Unknown error. */
00146     PAL_ERR_UPDATE_TIMEOUT  =                                PAL_ERR_UPDATE_ERROR_BASE + 2,          /*! Unknown error. */
00147     PAL_ERR_UPDATE_OUT_OF_BOUNDS  =                          PAL_ERR_UPDATE_ERROR_BASE + 3,          /*! Unknown error. */
00148     PAL_ERR_UPDATE_PALFROM_API  =                            PAL_ERR_UPDATE_ERROR_BASE + 4,          /*! Unknown error. */
00149     PAL_ERR_UPDATE_PALFROM_IO  =                             PAL_ERR_UPDATE_ERROR_BASE + 5,          /*! Unknown error. */
00150     PAL_ERR_UPDATE_END_OF_IMAGE  =                           PAL_ERR_UPDATE_ERROR_BASE + 6,          /*! Unknown error. */
00151     PAL_ERR_UPDATE_CHUNK_TO_SMALL  =                         PAL_ERR_UPDATE_ERROR_BASE + 7,          /*! Unknown error. */
00152     //Crypto Errors
00153     PAL_ERR_CRYPTO_ERROR_BASE  =                             PAL_ERR_MODULE_CRYPTO_BASE,
00154     PAL_ERR_AES_INVALID_KEY_LENGTH =                        PAL_ERR_CRYPTO_ERROR_BASE ,
00155     PAL_ERR_CERT_PARSING_FAILED =                           PAL_ERR_CRYPTO_ERROR_BASE  + 1,
00156     PAL_ERR_INVALID_MD_TYPE =                               PAL_ERR_CRYPTO_ERROR_BASE  + 2,
00157     PAL_ERR_MD_BAD_INPUT_DATA =                             PAL_ERR_CRYPTO_ERROR_BASE  + 3,
00158     PAL_ERR_PK_SIG_VERIFY_FAILED =                          PAL_ERR_CRYPTO_ERROR_BASE  + 4,
00159     PAL_ERR_ASN1_UNEXPECTED_TAG =                           PAL_ERR_CRYPTO_ERROR_BASE  + 5,
00160     PAL_ERR_CTR_DRBG_ENTROPY_SOURCE_FAILED =                PAL_ERR_CRYPTO_ERROR_BASE  + 6,
00161     PAL_ERR_CTR_DRBG_REQUEST_TOO_BIG =                      PAL_ERR_CRYPTO_ERROR_BASE  + 7,
00162     PAL_ERR_ECP_BAD_INPUT_DATA =                            PAL_ERR_CRYPTO_ERROR_BASE  + 8,
00163     PAL_ERR_MPI_ALLOC_FAILED =                              PAL_ERR_CRYPTO_ERROR_BASE  + 9,
00164     PAL_ERR_ECP_FEATURE_UNAVAILABLE =                       PAL_ERR_CRYPTO_ERROR_BASE  + 10,
00165     PAL_ERR_ECP_BUFFER_TOO_SMALL =                          PAL_ERR_CRYPTO_ERROR_BASE  + 11,
00166     PAL_ERR_MPI_BUFFER_TOO_SMALL =                          PAL_ERR_CRYPTO_ERROR_BASE  + 12,
00167     PAL_ERR_CMAC_GENERIC_FAILURE =                          PAL_ERR_CRYPTO_ERROR_BASE  + 13,
00168     PAL_ERR_NOT_SUPPORTED_ASN_TAG =                         PAL_ERR_CRYPTO_ERROR_BASE  + 14,
00169     PAL_ERR_PRIVATE_KEY_BAD_DATA =                          PAL_ERR_CRYPTO_ERROR_BASE  + 15,
00170     PAL_ERR_PRIVATE_KEY_VARIFICATION_FAILED =               PAL_ERR_CRYPTO_ERROR_BASE  + 16,
00171     PAL_ERR_PUBLIC_KEY_BAD_DATA =                           PAL_ERR_CRYPTO_ERROR_BASE  + 17,
00172     PAL_ERR_PUBLIC_KEY_VARIFICATION_FAILED =                PAL_ERR_CRYPTO_ERROR_BASE  + 18,
00173     PAL_ERR_NOT_SUPPORTED_CURVE =                           PAL_ERR_CRYPTO_ERROR_BASE  + 19,
00174     PAL_ERR_GROUP_LOAD_FAILED =                             PAL_ERR_CRYPTO_ERROR_BASE  + 20,
00175     PAL_ERR_PARSING_PRIVATE_KEY  =                          PAL_ERR_CRYPTO_ERROR_BASE  + 21,
00176     PAL_ERR_PARSING_PUBLIC_KEY   =                          PAL_ERR_CRYPTO_ERROR_BASE  + 22,
00177     PAL_ERR_KEYPAIR_GEN_FAIL     =                          PAL_ERR_CRYPTO_ERROR_BASE  + 23,
00178     PAL_ERR_X509_UNKNOWN_OID     =                          PAL_ERR_CRYPTO_ERROR_BASE  + 24,
00179     PAL_ERR_X509_INVALID_NAME    =                          PAL_ERR_CRYPTO_ERROR_BASE  + 25,
00180     PAL_ERR_FAILED_TO_SET_KEY_USAGE =                       PAL_ERR_CRYPTO_ERROR_BASE  + 26,
00181     PAL_ERR_INVALID_KEY_USAGE    =                          PAL_ERR_CRYPTO_ERROR_BASE  + 27,
00182     PAL_ERR_SET_EXTENSION_FAILED =                          PAL_ERR_CRYPTO_ERROR_BASE  + 28,
00183     PAL_ERR_CSR_WRITE_DER_FAILED =                          PAL_ERR_CRYPTO_ERROR_BASE  + 29,
00184     PAL_ERR_FAILED_TO_COPY_KEYPAIR =                        PAL_ERR_CRYPTO_ERROR_BASE  + 30,
00185     PAL_ERR_FAILED_TO_COPY_GROUP =                          PAL_ERR_CRYPTO_ERROR_BASE  + 31,
00186     PAL_ERR_FAILED_TO_WRITE_SIGNATURE =                     PAL_ERR_CRYPTO_ERROR_BASE  + 32,
00187     PAL_ERR_FAILED_TO_VERIFY_SIGNATURE =                    PAL_ERR_CRYPTO_ERROR_BASE  + 33,
00188     PAL_ERR_FAILED_TO_WRITE_PRIVATE_KEY =                   PAL_ERR_CRYPTO_ERROR_BASE  + 34,
00189     PAL_ERR_FAILED_TO_WRITE_PUBLIC_KEY  =                   PAL_ERR_CRYPTO_ERROR_BASE  + 35,
00190     PAL_ERR_FAILED_TO_COMPUTE_SHRED_KEY =                   PAL_ERR_CRYPTO_ERROR_BASE  + 36,
00191     PAL_ERR_INVALID_X509_ATTR =                             PAL_ERR_CRYPTO_ERROR_BASE  + 37,
00192     PAL_ERR_INVALID_CIPHER_ID =                             PAL_ERR_CRYPTO_ERROR_BASE  + 38,
00193     PAL_ERR_CMAC_START_FAILED =                             PAL_ERR_CRYPTO_ERROR_BASE  + 39,
00194     PAL_ERR_CMAC_UPDATE_FAILED =                            PAL_ERR_CRYPTO_ERROR_BASE  + 40,
00195     PAL_ERR_CMAC_FINISH_FAILED =                            PAL_ERR_CRYPTO_ERROR_BASE  + 41,
00196     PAL_ERR_INVALID_IOD =                                   PAL_ERR_CRYPTO_ERROR_BASE  + 42,
00197     PAL_ERR_PK_UNKNOWN_PK_ALG =                             PAL_ERR_CRYPTO_ERROR_BASE  + 43,
00198     PAL_ERR_PK_KEY_INVALID_VERSION =                        PAL_ERR_CRYPTO_ERROR_BASE  + 44,
00199     PAL_ERR_PK_KEY_INVALID_FORMAT =                         PAL_ERR_CRYPTO_ERROR_BASE  + 45,
00200     PAL_ERR_PK_PASSWORD_REQUIRED =                          PAL_ERR_CRYPTO_ERROR_BASE  + 46,
00201     PAL_ERR_PK_INVALID_PUBKEY_AND_ASN1_LEN_MISMATCH =       PAL_ERR_CRYPTO_ERROR_BASE  + 47,
00202     PAL_ERR_ECP_INVALID_KEY =                               PAL_ERR_CRYPTO_ERROR_BASE  + 48,
00203     PAL_ERR_FAILED_SET_TIME_CB =                            PAL_ERR_CRYPTO_ERROR_BASE  + 49,
00204     PAL_ERR_HMAC_GENERIC_FAILURE =                          PAL_ERR_CRYPTO_ERROR_BASE  + 50,
00205     PAL_ERR_X509_CERT_VERIFY_FAILED =                       PAL_ERR_CRYPTO_ERROR_BASE  + 51,
00206     PAL_ERR_FAILED_TO_SET_EXT_KEY_USAGE =                   PAL_ERR_CRYPTO_ERROR_BASE  + 52,
00207     PAL_ERR_X509_BADCERT_EXPIRED =                          PAL_ERR_MODULE_BITMASK_BASE + 0x01, //! Value must not be changed in order to be able to create bit mask
00208     PAL_ERR_X509_BADCERT_FUTURE =                           PAL_ERR_MODULE_BITMASK_BASE + 0x02, //! Value must not be changed in order to be able to create bit mask
00209     PAL_ERR_X509_BADCERT_BAD_MD =                           PAL_ERR_MODULE_BITMASK_BASE + 0x04, //! Value must not be changed in order to be able to create bit mask
00210     PAL_ERR_X509_BADCERT_BAD_PK =                           PAL_ERR_MODULE_BITMASK_BASE + 0x08, //! Value must not be changed in order to be able to create bit mask
00211     PAL_ERR_X509_BADCERT_NOT_TRUSTED =                      PAL_ERR_MODULE_BITMASK_BASE + 0x10, //! Value must not be changed in order to be able to create bit mask
00212     PAL_ERR_X509_BADCERT_BAD_KEY =                          PAL_ERR_MODULE_BITMASK_BASE + 0x20, //! Value must not be changed in order to be able to create bit mask
00213 
00214     PAL_ERR_FILESYSTEM_ERROR_BASE =                         PAL_ERR_MODULE_FILESYSTEM_BASE,
00215     PAL_ERR_FS_OFFSET_ERROR =                               PAL_ERR_FILESYSTEM_ERROR_BASE + 1,      //!< Offset given is greater than the EOF.
00216     PAL_ERR_FS_ACCESS_DENIED =                              PAL_ERR_FILESYSTEM_ERROR_BASE + 2,      //!< No permission to execute the command due to Permission, file in use.
00217     PAL_ERR_FS_NAME_ALREADY_EXIST =                         PAL_ERR_FILESYSTEM_ERROR_BASE + 3,      //!< Pathname or filename already exists.
00218     PAL_ERR_FS_INSUFFICIENT_SPACE =                         PAL_ERR_FILESYSTEM_ERROR_BASE + 4,      //!< Insufficient space to execute the command.
00219     PAL_ERR_FS_INVALID_FILE_NAME =                          PAL_ERR_FILESYSTEM_ERROR_BASE + 5,      //!< File name not valid.
00220     PAL_ERR_FS_BAD_FD =                                     PAL_ERR_FILESYSTEM_ERROR_BASE + 6,      //!< Bad file descriptor pointer.
00221     PAL_ERR_FS_INVALID_ARGUMENT =                           PAL_ERR_FILESYSTEM_ERROR_BASE + 7,      //!< Invalid argument in calling function.
00222     PAL_ERR_FS_NO_FILE =                                    PAL_ERR_FILESYSTEM_ERROR_BASE + 8,      //!< Could not find the file.
00223     PAL_ERR_FS_NO_PATH =                                    PAL_ERR_FILESYSTEM_ERROR_BASE + 9,      //!< Could not find the path.
00224     PAL_ERR_FS_DIR_NOT_EMPTY =                              PAL_ERR_FILESYSTEM_ERROR_BASE + 10,     //!< Directory not empty.
00225     PAL_ERR_FS_INVALID_FS =                                 PAL_ERR_FILESYSTEM_ERROR_BASE + 11,     //!< Invalid file system mounting or drive.
00226     PAL_ERR_FS_TOO_MANY_OPEN_FD =                           PAL_ERR_FILESYSTEM_ERROR_BASE + 12,     //!< Too many open file descriptors simultaneously.
00227     PAL_ERR_FS_FILENAME_LENGTH =                            PAL_ERR_FILESYSTEM_ERROR_BASE + 13,     //!< File name is too long or invalid.
00228     PAL_ERR_FS_LENGTH_ERROR =                               PAL_ERR_FILESYSTEM_ERROR_BASE + 14,     //!< Given length to read/write is wrong.
00229     PAL_ERR_FS_BUFFER_ERROR =                               PAL_ERR_FILESYSTEM_ERROR_BASE + 15,     //!< Given buffer is not initialized.
00230     PAL_ERR_FS_ERROR =                                      PAL_ERR_FILESYSTEM_ERROR_BASE + 16,     //!< Generic file system error.
00231     PAL_ERR_FS_BUSY =                                       PAL_ERR_FILESYSTEM_ERROR_BASE + 17,     //!< File/directory is open.
00232     PAL_ERR_FS_INVALID_OPEN_FLAGS =                         PAL_ERR_FILESYSTEM_ERROR_BASE + 18,     //!< File open mode is invalid.
00233     PAL_ERR_FS_FILE_IS_DIR =                                PAL_ERR_FILESYSTEM_ERROR_BASE + 19,     //!< File path given is a directory, not a file.
00234     PAL_ERR_FS_ERROR_IN_SEARCHING =                         PAL_ERR_FILESYSTEM_ERROR_BASE + 20,     //!< Next file in directory could not be found.
00235     PAL_ERR_FS_DISK_ERR =                                   PAL_ERR_FILESYSTEM_ERROR_BASE + 21,     //!< A hard error occurred in the low level disk I/O layer.
00236 
00237 
00238     PAL_ERR_INTERNAL_FLASH_ERROR_BASE =                     PAL_ERR_MODULE_INTERNAL_FLASH_BASE,
00239     PAL_ERR_INTERNAL_FLASH_GENERIC_FAILURE =                PAL_ERR_MODULE_INTERNAL_FLASH_BASE + 0x01,
00240     PAL_ERR_INTERNAL_FLASH_SECTOR_NOT_ALIGNED =             PAL_ERR_MODULE_INTERNAL_FLASH_BASE + 0x02,
00241     PAL_ERR_INTERNAL_FLASH_ADDRESS_NOT_ALIGNED =            PAL_ERR_MODULE_INTERNAL_FLASH_BASE + 0x03,
00242     PAL_ERR_INTERNAL_FLASH_CROSSING_SECTORS =               PAL_ERR_MODULE_INTERNAL_FLASH_BASE + 0x04,
00243     PAL_ERR_INTERNAL_FLASH_NULL_PTR_RECEIVED =              PAL_ERR_MODULE_INTERNAL_FLASH_BASE + 0x05,
00244     PAL_ERR_INTERNAL_FLASH_WRONG_SIZE =                     PAL_ERR_MODULE_INTERNAL_FLASH_BASE + 0x06,
00245     PAL_ERR_INTERNAL_FLASH_BUFFER_ADDRESS_NOT_ALIGNED =     PAL_ERR_MODULE_INTERNAL_FLASH_BASE + 0x07,
00246     PAL_ERR_INTERNAL_FLASH_INIT_ERROR =                     PAL_ERR_MODULE_INTERNAL_FLASH_BASE + 0x08,
00247     PAL_ERR_INTERNAL_FLASH_WRITE_ERROR =                    PAL_ERR_MODULE_INTERNAL_FLASH_BASE + 0x09,
00248     PAL_ERR_INTERNAL_FLASH_BUFFER_SIZE_NOT_ALIGNED =        PAL_ERR_MODULE_INTERNAL_FLASH_BASE + 0x0A,
00249     PAL_ERR_INTERNAL_FLASH_ERASE_ERROR =                    PAL_ERR_MODULE_INTERNAL_FLASH_BASE + 0x0B,
00250     PAL_ERR_INTERNAL_FLASH_NOT_INIT_ERROR =                 PAL_ERR_MODULE_INTERNAL_FLASH_BASE + 0x0C,
00251     PAL_ERR_INTERNAL_FLASH_MUTEX_RELEASE_ERROR =            PAL_ERR_MODULE_INTERNAL_FLASH_BASE + 0x0D,  //!< Mutex release  or/and read/write/erase commands failed
00252     PAL_ERR_INTERNAL_FLASH_FLASH_ZERO_SIZE     =            PAL_ERR_MODULE_INTERNAL_FLASH_BASE + 0x0E,
00253 
00254 } palError_t ; /*! errors returned by the pal service API  */
00255 
00256 
00257 #ifdef __cplusplus
00258 }
00259 #endif
00260 #endif //_PAL_ERRORS