#ifndef CE_SECMATH_ERR_H
#define CE_SECMATH_ERR_H

/*===========================================================================
   Copyright (c) by Qualcomm Technologies, Incorporated.  All Rights Reserved.
===========================================================================*/

/* error codes */
typedef enum
{
  E_SECMATH_SUCCESS = 0,         ///< Result OK
  E_SECMATH_FAILURE,             ///< Generic Error */
  E_SECMATH_NOP,                 ///< Not a failure but no operation was performed */
  E_SECMATH_FAIL_TESTVECTOR,     ///< Algorithm failed test vectors */
  E_SECMATH_BUFFER_OVERFLOW,     ///< Not enough space for output */
  E_SECMATH_MEM,                 ///< Out of memory */
  E_SECMATH_INVALID_ARG,         ///< Generic invalid argument */
  E_SECMATH_INVALID_PRIME_SIZE,  ///< Invalid size of prime requested */
  E_SECMATH_NOT_SUPPORTED,        ///< Operation not supported
  E_SECMATH_INVALID_OP,          ///< Invalid operation*/
  E_SECMATH_EVEN_MODULUS,        ///< Even modulus*/
  E_SECMATH_INVALID_DATA_SIZE,    ///< Invalid data size */
  E_SECMATH_INVALID_PADDING_TYPE, ///<Invalid padding type */
  E_SECMATH_DIVIDEND_TOO_LARGE,   ///< Dividend too large*/
  E_SECMATH_INVALID_QUOTIENT,      ///< Invalid Quotient*/
  E_SECMATH_DIVISION_BY_ZERO  ///< Division by zero error */	  
} SECMATH_ERRNO_ET;

#endif
