aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicolas Morey-Chaisemartin <nmorey@kalray.eu>2015-11-10 16:31:37 +0100
committerMaxim Uvarov <maxim.uvarov@linaro.org>2015-11-25 17:23:47 +0300
commitb0e764fa6d3c80652e5af027256e2db323d1b1ee (patch)
treed085cce9d0f79570cbcd7aa0eba15ec80c8dcfe6
parente56a592c7e074872aa1d818c3f12782f6f22047a (diff)
api: crypto: move enums from platform types to odp and rename to fit the API format
Signed-off-by: Nicolas Morey-Chaisemartin <nmorey@kalray.eu> Reviewed-by: Petri Savolainen <petri.savolainen@nokia.com> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
-rw-r--r--example/ipsec/odp_ipsec_cache.c2
-rw-r--r--example/ipsec/odp_ipsec_cache.h4
-rw-r--r--example/ipsec/odp_ipsec_misc.h4
-rw-r--r--include/odp/api/crypto.h140
-rw-r--r--platform/linux-generic/include/odp/plat/crypto_types.h42
-rw-r--r--platform/linux-generic/include/odp_crypto_internal.h12
-rw-r--r--platform/linux-generic/odp_crypto.c29
-rw-r--r--test/validation/crypto/odp_crypto_test_inp.c10
8 files changed, 93 insertions, 150 deletions
diff --git a/example/ipsec/odp_ipsec_cache.c b/example/ipsec/odp_ipsec_cache.c
index 6a8f3c9aa..0883d4d4e 100644
--- a/example/ipsec/odp_ipsec_cache.c
+++ b/example/ipsec/odp_ipsec_cache.c
@@ -46,7 +46,7 @@ int create_ipsec_cache_entry(sa_db_entry_t *cipher_sa,
{
odp_crypto_session_params_t params;
ipsec_cache_entry_t *entry;
- enum odp_crypto_ses_create_err ses_create_rc;
+ odp_crypto_ses_create_err_t ses_create_rc;
odp_crypto_session_t session;
sa_mode_t mode = IPSEC_SA_MODE_TRANSPORT;
diff --git a/example/ipsec/odp_ipsec_cache.h b/example/ipsec/odp_ipsec_cache.h
index 570600798..91d9d7e14 100644
--- a/example/ipsec/odp_ipsec_cache.h
+++ b/example/ipsec/odp_ipsec_cache.h
@@ -38,14 +38,14 @@ typedef struct ipsec_cache_entry_s {
uint32_t tun_src_ip; /**< Tunnel src IPv4 addr */
uint32_t tun_dst_ip; /**< Tunnel dst IPv4 addr */
struct {
- enum odp_cipher_alg alg; /**< Cipher algorithm */
+ odp_cipher_alg_t alg; /**< Cipher algorithm */
uint32_t spi; /**< Cipher SPI */
uint32_t block_len; /**< Cipher block length */
uint32_t iv_len; /**< Cipher IV length */
ipsec_key_t key; /**< Cipher key */
} esp;
struct {
- enum odp_auth_alg alg; /**< Auth algorithm */
+ odp_auth_alg_t alg; /**< Auth algorithm */
uint32_t spi; /**< Auth SPI */
uint32_t icv_len; /**< Auth ICV length */
ipsec_key_t key; /**< Auth key */
diff --git a/example/ipsec/odp_ipsec_misc.h b/example/ipsec/odp_ipsec_misc.h
index f6a12b5ce..85c5f6aae 100644
--- a/example/ipsec/odp_ipsec_misc.h
+++ b/example/ipsec/odp_ipsec_misc.h
@@ -59,8 +59,8 @@ typedef struct {
typedef struct {
odp_bool_t cipher;
union {
- enum odp_cipher_alg cipher;
- enum odp_auth_alg auth;
+ odp_cipher_alg_t cipher;
+ odp_auth_alg_t auth;
} u;
} ipsec_alg_t;
diff --git a/include/odp/api/crypto.h b/include/odp/api/crypto.h
index a9a2a1d94..28d345be9 100644
--- a/include/odp/api/crypto.h
+++ b/include/odp/api/crypto.h
@@ -39,51 +39,46 @@ extern "C" {
*/
/**
- * @enum odp_crypto_op_mode
* Crypto API operation mode
- *
- * @enum odp_crypto_op_mode:ODP_CRYPTO_SYNC
- * Synchronous, return results immediately
- *
- * @enum odp_crypto_op_mode:ODP_CRYPTO_ASYNC
- * Aynchronous, return results via posted event
*/
+typedef enum {
+ /** Synchronous, return results immediately */
+ ODP_CRYPTO_SYNC,
+ /** Asynchronous, return results via posted event */
+ ODP_CRYPTO_ASYNC,
+} odp_crypto_op_mode_t;
/**
- * @enum odp_crypto_op
* Crypto API operation type
- *
- * @enum odp_crypto_op:ODP_CRYPTO_OP_ENCODE
- * Encrypt and/or compute authentication ICV
- *
- * @enum odp_crypto_op:ODP_CRYPTO_OP_DECODE
- * Decrypt and/or verify authentication ICV
*/
+typedef enum {
+ /** Encrypt and/or compute authentication ICV */
+ ODP_CRYPTO_OP_ENCODE,
+ /** Decrypt and/or verify authentication ICV */
+ ODP_CRYPTO_OP_DECODE,
+} odp_crypto_op_t;
/**
- * @enum odp_cipher_alg
* Crypto API cipher algorithm
- *
- * @enum odp_cipher_alg:ODP_CIPHER_ALG_NULL
- * No cipher algorithm specified
- *
- * @enum odp_cipher_alg:ODP_CIPHER_ALG_DES
- * DES
- *
- * @enum odp_cipher_alg:ODP_CIPHER_ALG_3DES_CBC
- * Triple DES with cipher block chaining
*/
+typedef enum {
+ /** No cipher algorithm specified */
+ ODP_CIPHER_ALG_NULL,
+ /** DES */
+ ODP_CIPHER_ALG_DES,
+ /** Triple DES with cipher block chaining */
+ ODP_CIPHER_ALG_3DES_CBC,
+} odp_cipher_alg_t;
/**
- * @enum odp_auth_alg
* Crypto API authentication algorithm
- *
- * @enum odp_auth_alg:ODP_AUTH_ALG_NULL
- * No authentication algorithm specified
- *
- * @enum odp_auth_alg:ODP_AUTH_ALG_MD5_96
- * HMAC-MD5 with 96 bit key
*/
+typedef enum {
+ /** No authentication algorithm specified */
+ ODP_AUTH_ALG_NULL,
+ /** HMAC-MD5 with 96 bit key */
+ ODP_AUTH_ALG_MD5_96,
+} odp_auth_alg_t;
/**
* Crypto API key structure
@@ -115,13 +110,13 @@ typedef struct odp_crypto_data_range {
* @todo Add "odp_session_proc_info_t"
*/
typedef struct odp_crypto_session_params {
- enum odp_crypto_op op; /**< Encode versus decode */
+ odp_crypto_op_t op; /**< Encode versus decode */
odp_bool_t auth_cipher_text; /**< Authenticate/cipher ordering */
- enum odp_crypto_op_mode pref_mode; /**< Preferred sync vs async */
- enum odp_cipher_alg cipher_alg; /**< Cipher algorithm */
+ odp_crypto_op_mode_t pref_mode; /**< Preferred sync vs async */
+ odp_cipher_alg_t cipher_alg; /**< Cipher algorithm */
odp_crypto_key_t cipher_key; /**< Cipher key */
odp_crypto_iv_t iv; /**< Cipher Initialization Vector (IV) */
- enum odp_auth_alg auth_alg; /**< Authentication algorithm */
+ odp_auth_alg_t auth_alg; /**< Authentication algorithm */
odp_crypto_key_t auth_key; /**< Authentication key */
odp_queue_t compl_queue; /**< Async mode completion event queue */
odp_pool_t output_pool; /**< Output buffer pool */
@@ -190,62 +185,53 @@ typedef struct odp_crypto_op_params {
*/
/**
- * @enum odp_crypto_ses_create_err
* Crypto API session creation return code
- *
- * @enum odp_crypto_ses_create_err:ODP_CRYPTO_SES_CREATE_ERR_NONE
- * Session created
- *
- * @enum odp_crypto_ses_create_err:ODP_CRYPTO_SES_CREATE_ERR_ENOMEM
- * Creation failed, no resources
- *
- * @enum odp_crypto_ses_create_err:ODP_CRYPTO_SES_CREATE_ERR_INV_CIPHER
- * Creation failed, bad cipher params
- *
- * @enum odp_crypto_ses_create_err:ODP_CRYPTO_SES_CREATE_ERR_INV_AUTH
- * Creation failed, bad auth params
*/
+typedef enum {
+ /** Session created */
+ ODP_CRYPTO_SES_CREATE_ERR_NONE,
+ /** Creation failed, no resources */
+ ODP_CRYPTO_SES_CREATE_ERR_ENOMEM,
+ /** Creation failed, bad cipher params */
+ ODP_CRYPTO_SES_CREATE_ERR_INV_CIPHER,
+ /** Creation failed, bad auth params */
+ ODP_CRYPTO_SES_CREATE_ERR_INV_AUTH,
+} odp_crypto_ses_create_err_t;
/**
- * @enum crypto_alg_err
* Crypto API algorithm return code
- *
- * @enum crypto_alg_err:ODP_CRYPTO_ALG_ERR_NONE
- * Algorithm successful
- *
- * @enum crypto_alg_err:ODP_CRYPTO_ALG_ERR_DATA_SIZE
- * Invalid data block size
- *
- * @enum crypto_alg_err:ODP_CRYPTO_ALG_ERR_KEY_SIZE
- * Key size invalid for algorithm
- *
- * @enum crypto_alg_err:ODP_CRYPTO_ALG_ERR_ICV_CHECK
- * Computed ICV value mismatch
- *
- * @enum crypto_alg_err:ODP_CRYPTO_ALG_ERR_IV_INVALID
- * IV value not specified
*/
+typedef enum {
+ /** Algorithm successful */
+ ODP_CRYPTO_ALG_ERR_NONE,
+ /** Invalid data block size */
+ ODP_CRYPTO_ALG_ERR_DATA_SIZE,
+ /** Key size invalid for algorithm */
+ ODP_CRYPTO_ALG_ERR_KEY_SIZE,
+ /** Computed ICV value mismatch */
+ ODP_CRYPTO_ALG_ERR_ICV_CHECK,
+ /** IV value not specified */
+ ODP_CRYPTO_ALG_ERR_IV_INVALID,
+} odp_crypto_alg_err_t;
/**
- * @enum crypto_hw_err
* Crypto API hardware centric return code
- *
- * @enum crypto_hw_err:ODP_CRYPTO_HW_ERR_NONE
- * Operation completed successfully
- *
- * @enum crypto_hw_err:ODP_CRYPTO_HW_ERR_DMA
- * Error detected during DMA of data
- *
- * @enum crypto_hw_err:ODP_CRYPTO_HW_ERR_BP_DEPLETED
- * Operation failed due to buffer pool depletion
*/
+typedef enum {
+ /** Operation completed successfully */
+ ODP_CRYPTO_HW_ERR_NONE,
+ /** Error detected during DMA of data */
+ ODP_CRYPTO_HW_ERR_DMA,
+ /** Operation failed due to buffer pool depletion */
+ ODP_CRYPTO_HW_ERR_BP_DEPLETED,
+} odp_crypto_hw_err_t;
/**
* Cryto API per packet operation completion status
*/
typedef struct odp_crypto_compl_status {
- enum crypto_alg_err alg_err; /**< Algorithm specific return code */
- enum crypto_hw_err hw_err; /**< Hardware specific return code */
+ odp_crypto_alg_err_t alg_err; /**< Algorithm specific return code */
+ odp_crypto_hw_err_t hw_err; /**< Hardware specific return code */
} odp_crypto_compl_status_t;
/**
@@ -272,7 +258,7 @@ typedef struct odp_crypto_op_result {
int
odp_crypto_session_create(odp_crypto_session_params_t *params,
odp_crypto_session_t *session,
- enum odp_crypto_ses_create_err *status);
+ odp_crypto_ses_create_err_t *status);
/**
* Crypto session destroy
diff --git a/platform/linux-generic/include/odp/plat/crypto_types.h b/platform/linux-generic/include/odp/plat/crypto_types.h
index a91d88e6c..0cbbce8bd 100644
--- a/platform/linux-generic/include/odp/plat/crypto_types.h
+++ b/platform/linux-generic/include/odp/plat/crypto_types.h
@@ -27,48 +27,6 @@ extern "C" {
typedef uint64_t odp_crypto_session_t;
typedef ODP_HANDLE_T(odp_crypto_compl_t);
-enum odp_crypto_op_mode {
- ODP_CRYPTO_SYNC,
- ODP_CRYPTO_ASYNC,
-};
-
-enum odp_crypto_op {
- ODP_CRYPTO_OP_ENCODE,
- ODP_CRYPTO_OP_DECODE,
-};
-
-enum odp_cipher_alg {
- ODP_CIPHER_ALG_NULL,
- ODP_CIPHER_ALG_DES,
- ODP_CIPHER_ALG_3DES_CBC,
-};
-
-enum odp_auth_alg {
- ODP_AUTH_ALG_NULL,
- ODP_AUTH_ALG_MD5_96,
-};
-
-enum odp_crypto_ses_create_err {
- ODP_CRYPTO_SES_CREATE_ERR_NONE,
- ODP_CRYPTO_SES_CREATE_ERR_ENOMEM,
- ODP_CRYPTO_SES_CREATE_ERR_INV_CIPHER,
- ODP_CRYPTO_SES_CREATE_ERR_INV_AUTH,
-};
-
-enum crypto_alg_err {
- ODP_CRYPTO_ALG_ERR_NONE,
- ODP_CRYPTO_ALG_ERR_DATA_SIZE,
- ODP_CRYPTO_ALG_ERR_KEY_SIZE,
- ODP_CRYPTO_ALG_ERR_ICV_CHECK,
- ODP_CRYPTO_ALG_ERR_IV_INVALID,
-};
-
-enum crypto_hw_err {
- ODP_CRYPTO_HW_ERR_NONE,
- ODP_CRYPTO_HW_ERR_DMA,
- ODP_CRYPTO_HW_ERR_BP_DEPLETED,
-};
-
/** Get printable format of odp_crypto_session_t */
static inline uint64_t odp_crypto_session_to_u64(odp_crypto_session_t hdl)
{
diff --git a/platform/linux-generic/include/odp_crypto_internal.h b/platform/linux-generic/include/odp_crypto_internal.h
index ebd6170e2..23fec04d6 100644
--- a/platform/linux-generic/include/odp_crypto_internal.h
+++ b/platform/linux-generic/include/odp_crypto_internal.h
@@ -22,20 +22,20 @@ typedef struct odp_crypto_generic_session odp_crypto_generic_session_t;
* Algorithm handler function prototype
*/
typedef
-enum crypto_alg_err (*crypto_func_t)(odp_crypto_op_params_t *params,
- odp_crypto_generic_session_t *session);
+odp_crypto_alg_err_t (*crypto_func_t)(odp_crypto_op_params_t *params,
+ odp_crypto_generic_session_t *session);
/**
* Per crypto session data structure
*/
struct odp_crypto_generic_session {
struct odp_crypto_generic_session *next;
- enum odp_crypto_op op;
+ odp_crypto_op_t op;
odp_bool_t do_cipher_first;
odp_queue_t compl_queue;
odp_pool_t output_pool;
struct {
- enum odp_cipher_alg alg;
+ odp_cipher_alg_t alg;
struct {
uint8_t *data;
size_t len;
@@ -50,7 +50,7 @@ struct odp_crypto_generic_session {
crypto_func_t func;
} cipher;
struct {
- enum odp_auth_alg alg;
+ odp_auth_alg_t alg;
union {
struct {
uint8_t key[16];
@@ -73,7 +73,7 @@ typedef struct odp_crypto_generic_op_result {
* Per session creation operation result
*/
typedef struct odp_crypto_generic_session_result {
- enum odp_crypto_ses_create_err rc;
+ odp_crypto_ses_create_err_t rc;
odp_crypto_session_t session;
} odp_crypto_generic_session_result_t;
diff --git a/platform/linux-generic/odp_crypto.c b/platform/linux-generic/odp_crypto.c
index d49e256d5..e3bc557d9 100644
--- a/platform/linux-generic/odp_crypto.c
+++ b/platform/linux-generic/odp_crypto.c
@@ -66,17 +66,16 @@ void free_session(odp_crypto_generic_session_t *session)
odp_spinlock_unlock(&global->lock);
}
-static
-enum crypto_alg_err null_crypto_routine(
- odp_crypto_op_params_t *params ODP_UNUSED,
- odp_crypto_generic_session_t *session ODP_UNUSED)
+static odp_crypto_alg_err_t
+null_crypto_routine(odp_crypto_op_params_t *params ODP_UNUSED,
+ odp_crypto_generic_session_t *session ODP_UNUSED)
{
return ODP_CRYPTO_ALG_ERR_NONE;
}
static
-enum crypto_alg_err md5_gen(odp_crypto_op_params_t *params,
- odp_crypto_generic_session_t *session)
+odp_crypto_alg_err_t md5_gen(odp_crypto_op_params_t *params,
+ odp_crypto_generic_session_t *session)
{
uint8_t *data = odp_packet_data(params->out_pkt);
uint8_t *icv = data;
@@ -103,8 +102,8 @@ enum crypto_alg_err md5_gen(odp_crypto_op_params_t *params,
}
static
-enum crypto_alg_err md5_check(odp_crypto_op_params_t *params,
- odp_crypto_generic_session_t *session)
+odp_crypto_alg_err_t md5_check(odp_crypto_op_params_t *params,
+ odp_crypto_generic_session_t *session)
{
uint8_t *data = odp_packet_data(params->out_pkt);
uint8_t *icv = data;
@@ -141,8 +140,8 @@ enum crypto_alg_err md5_check(odp_crypto_op_params_t *params,
}
static
-enum crypto_alg_err des_encrypt(odp_crypto_op_params_t *params,
- odp_crypto_generic_session_t *session)
+odp_crypto_alg_err_t des_encrypt(odp_crypto_op_params_t *params,
+ odp_crypto_generic_session_t *session)
{
uint8_t *data = odp_packet_data(params->out_pkt);
uint32_t len = params->cipher_range.length;
@@ -179,8 +178,8 @@ enum crypto_alg_err des_encrypt(odp_crypto_op_params_t *params,
}
static
-enum crypto_alg_err des_decrypt(odp_crypto_op_params_t *params,
- odp_crypto_generic_session_t *session)
+odp_crypto_alg_err_t des_decrypt(odp_crypto_op_params_t *params,
+ odp_crypto_generic_session_t *session)
{
uint8_t *data = odp_packet_data(params->out_pkt);
uint32_t len = params->cipher_range.length;
@@ -265,7 +264,7 @@ int process_md5_params(odp_crypto_generic_session_t *session,
int
odp_crypto_session_create(odp_crypto_session_params_t *params,
odp_crypto_session_t *session_out,
- enum odp_crypto_ses_create_err *status)
+ odp_crypto_ses_create_err_t *status)
{
int rc;
odp_crypto_generic_session_t *session;
@@ -354,8 +353,8 @@ odp_crypto_operation(odp_crypto_op_params_t *params,
odp_bool_t *posted,
odp_crypto_op_result_t *result)
{
- enum crypto_alg_err rc_cipher = ODP_CRYPTO_ALG_ERR_NONE;
- enum crypto_alg_err rc_auth = ODP_CRYPTO_ALG_ERR_NONE;
+ odp_crypto_alg_err_t rc_cipher = ODP_CRYPTO_ALG_ERR_NONE;
+ odp_crypto_alg_err_t rc_auth = ODP_CRYPTO_ALG_ERR_NONE;
odp_crypto_generic_session_t *session;
odp_crypto_op_result_t local_result;
diff --git a/test/validation/crypto/odp_crypto_test_inp.c b/test/validation/crypto/odp_crypto_test_inp.c
index 69325a4a7..05b6885d9 100644
--- a/test/validation/crypto/odp_crypto_test_inp.c
+++ b/test/validation/crypto/odp_crypto_test_inp.c
@@ -12,7 +12,7 @@
#include "crypto.h"
struct suite_context_s {
- enum odp_crypto_op_mode pref_mode;
+ odp_crypto_op_mode_t pref_mode;
odp_pool_t pool;
odp_queue_t queue;
};
@@ -28,12 +28,12 @@ static struct suite_context_s suite_context;
* Completion event can be a separate buffer or the input packet
* buffer can be used.
* */
-static void alg_test(enum odp_crypto_op op,
- enum odp_cipher_alg cipher_alg,
+static void alg_test(odp_crypto_op_t op,
+ odp_cipher_alg_t cipher_alg,
odp_crypto_iv_t ses_iv,
uint8_t *op_iv_ptr,
odp_crypto_key_t cipher_key,
- enum odp_auth_alg auth_alg,
+ odp_auth_alg_t auth_alg,
odp_crypto_key_t auth_key,
uint8_t *input_vec,
unsigned int input_vec_len,
@@ -42,7 +42,7 @@ static void alg_test(enum odp_crypto_op op,
{
odp_crypto_session_t session;
int rc;
- enum odp_crypto_ses_create_err status;
+ odp_crypto_ses_create_err_t status;
odp_bool_t posted;
odp_event_t event;
odp_crypto_compl_t compl_event;