error.h
/* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0"
*
* Written by Nir Drucker, Shay Gueron and Dusan Kostic,
* AWS Cryptographic Algorithms Group.
*
* Modification: 2021 Ming-Shing Chen, Tung Chou, and Markus Krausz
*
*/
#pragma once
#define SUCCESS 0
#define FAIL (-1)
#define ret_t int __attribute__((warn_unused_result))
#define GUARD(x) \
if((x) != SUCCESS) return FAIL
enum _bike_err
{
E_DECODING_FAILURE = 1,
E_AES_CTR_PRF_INIT_FAIL = 2,
E_AES_OVER_USED = 3,
EXTERNAL_LIB_ERROR_OPENSSL = 4
};
typedef enum _bike_err _bike_err_t;
//extern __thread _bike_err_t bike_errno;
extern _bike_err_t bike_errno;
#define BIKE_ERROR(x) \
do { \
bike_errno = (x); \
return FAIL; \
} while(0)