Enumerations and other Constants

Typedefs

typedef enum
fsl_shw_user_ctx_flags_t 
fsl_shw_user_ctx_flags_t
typedef enum fsl_shw_return_t fsl_shw_return_t
typedef enum fsl_shw_key_alg_t fsl_shw_key_alg_t
typedef enum fsl_shw_sym_mode_t fsl_shw_sym_mode_t
typedef enum fsl_shw_hash_alg_t fsl_shw_hash_alg_t
typedef enum fsl_shw_acc_mode_t fsl_shw_acc_mode_t
typedef enum fsl_shw_key_wrap_t fsl_shw_key_wrap_t
typedef enum
fsl_shw_hash_ctx_flags_t 
fsl_shw_hash_ctx_flags_t
typedef enum
fsl_shw_hmac_ctx_flags_t 
fsl_shw_hmac_ctx_flags_t
typedef enum
fsl_shw_sym_ctx_flags_t 
fsl_shw_sym_ctx_flags_t
typedef enum fsl_shw_key_flags_t fsl_shw_key_flags_t
typedef uint64_t key_userid_t
typedef enum
fsl_shw_auth_ctx_flags_t 
fsl_shw_auth_ctx_flags_t
typedef enum fsl_shw_ctr_mod_t fsl_shw_ctr_mod_t
typedef enum fsl_shw_permission_t fsl_shw_permission_t
typedef enum fsl_shw_cypher_mode_t fsl_shw_cypher_mode_t
typedef enum fsl_shw_pf_key_t fsl_shw_pf_key_t
typedef enum fsl_shw_tamper_t fsl_shw_tamper_t
typedef enum
fsl_shw_user_ctx_flags_t 
fsl_shw_user_ctx_flags_t
typedef enum fsl_shw_return_t fsl_shw_return_t
typedef enum fsl_shw_key_alg_t fsl_shw_key_alg_t
typedef enum fsl_shw_sym_mode_t fsl_shw_sym_mode_t
typedef enum fsl_shw_hash_alg_t fsl_shw_hash_alg_t
typedef enum fsl_shw_acc_mode_t fsl_shw_acc_mode_t
typedef enum fsl_shw_key_wrap_t fsl_shw_key_wrap_t
typedef enum
fsl_shw_hash_ctx_flags_t 
fsl_shw_hash_ctx_flags_t
typedef enum
fsl_shw_hmac_ctx_flags_t 
fsl_shw_hmac_ctx_flags_t
typedef enum
fsl_shw_sym_ctx_flags_t 
fsl_shw_sym_ctx_flags_t
typedef enum fsl_shw_key_flags_t fsl_shw_key_flags_t
typedef uint64_t key_userid_t
typedef enum
fsl_shw_auth_ctx_flags_t 
fsl_shw_auth_ctx_flags_t
typedef enum fsl_shw_ctr_mod_t fsl_shw_ctr_mod_t
typedef enum fsl_shw_permission_t fsl_shw_permission_t
typedef enum fsl_shw_cypher_mode_t fsl_shw_cypher_mode_t
typedef enum fsl_shw_pf_key_t fsl_shw_pf_key_t
typedef enum fsl_shw_tamper_t fsl_shw_tamper_t

Enumerations

enum  fsl_shw_user_ctx_flags_t {
  FSL_UCO_BLOCKING_MODE = 0x01,
  FSL_UCO_CALLBACK_MODE = 0x02,
  FSL_UCO_SAVE_DESC_CHAIN = 0x04,
  FSL_UCO_CALLBACK_SETUP_COMPLETE = 0x08,
  FSL_UCO_CHAIN_PREPHYSICALIZED = 0x10,
  FSL_UCO_CONTEXT_CHANGED = 0x20,
  FSL_UCO_USERMODE_USER = 0x40,
  FSL_UCO_BLOCKING_MODE,
  FSL_UCO_CALLBACK_MODE,
  FSL_UCO_SAVE_DESC_CHAIN,
  FSL_UCO_CALLBACK_SETUP_COMPLETE,
  FSL_UCO_CHAIN_PREPHYSICALIZED,
  FSL_UCO_CONTEXT_CHANGED,
  FSL_UCO_USERMODE_USER,
  FSL_UCO_BLOCKING_MODE = 0x01,
  FSL_UCO_CALLBACK_MODE = 0x02,
  FSL_UCO_SAVE_DESC_CHAIN = 0x04,
  FSL_UCO_CALLBACK_SETUP_COMPLETE = 0x08,
  FSL_UCO_CHAIN_PREPHYSICALIZED = 0x10,
  FSL_UCO_CONTEXT_CHANGED = 0x20,
  FSL_UCO_USERMODE_USER = 0x40,
  FSL_UCO_BLOCKING_MODE,
  FSL_UCO_CALLBACK_MODE,
  FSL_UCO_SAVE_DESC_CHAIN,
  FSL_UCO_CALLBACK_SETUP_COMPLETE,
  FSL_UCO_CHAIN_PREPHYSICALIZED,
  FSL_UCO_CONTEXT_CHANGED,
  FSL_UCO_USERMODE_USER,
  FSL_UCO_BLOCKING_MODE = 0x01,
  FSL_UCO_CALLBACK_MODE = 0x02,
  FSL_UCO_SAVE_DESC_CHAIN = 0x04,
  FSL_UCO_CALLBACK_SETUP_COMPLETE = 0x08,
  FSL_UCO_CHAIN_PREPHYSICALIZED = 0x10,
  FSL_UCO_CONTEXT_CHANGED = 0x20,
  FSL_UCO_USERMODE_USER = 0x40
}
enum  fsl_shw_return_t {
  FSL_RETURN_OK_S = 0,
  FSL_RETURN_ERROR_S,
  FSL_RETURN_NO_RESOURCE_S,
  FSL_RETURN_BAD_ALGORITHM_S,
  FSL_RETURN_BAD_MODE_S,
  FSL_RETURN_BAD_FLAG_S,
  FSL_RETURN_BAD_KEY_LENGTH_S,
  FSL_RETURN_BAD_KEY_PARITY_S,
  FSL_RETURN_BAD_DATA_LENGTH_S,
  FSL_RETURN_AUTH_FAILED_S,
  FSL_RETURN_MEMORY_ERROR_S,
  FSL_RETURN_INTERNAL_ERROR_S,
  FSL_RETURN_POINT_AT_INFINITY_S,
  FSL_RETURN_POINT_NOT_AT_INFINITY_S,
  FSL_RETURN_GCD_IS_ONE_S,
  FSL_RETURN_GCD_IS_NOT_ONE_S,
  FSL_RETURN_PRIME_S,
  FSL_RETURN_NOT_PRIME_S,
  FSL_RETURN_EVEN_MODULUS_ERROR_S,
  FSL_RETURN_DIVIDE_BY_ZERO_ERROR_S,
  FSL_RETURN_BAD_EXPONENT_ERROR_S,
  FSL_RETURN_OSCILLATOR_ERROR_S,
  FSL_RETURN_STATISTICS_ERROR_S,
  FSL_RETURN_OK_S = 0,
  FSL_RETURN_ERROR_S,
  FSL_RETURN_NO_RESOURCE_S,
  FSL_RETURN_BAD_ALGORITHM_S,
  FSL_RETURN_BAD_MODE_S,
  FSL_RETURN_BAD_FLAG_S,
  FSL_RETURN_BAD_KEY_LENGTH_S,
  FSL_RETURN_BAD_KEY_PARITY_S,
  FSL_RETURN_BAD_DATA_LENGTH_S,
  FSL_RETURN_AUTH_FAILED_S,
  FSL_RETURN_MEMORY_ERROR_S,
  FSL_RETURN_INTERNAL_ERROR_S,
  FSL_RETURN_POINT_AT_INFINITY_S,
  FSL_RETURN_POINT_NOT_AT_INFINITY_S,
  FSL_RETURN_GCD_IS_ONE_S,
  FSL_RETURN_GCD_IS_NOT_ONE_S,
  FSL_RETURN_PRIME_S,
  FSL_RETURN_NOT_PRIME_S,
  FSL_RETURN_EVEN_MODULUS_ERROR_S,
  FSL_RETURN_DIVIDE_BY_ZERO_ERROR_S,
  FSL_RETURN_BAD_EXPONENT_ERROR_S,
  FSL_RETURN_OSCILLATOR_ERROR_S,
  FSL_RETURN_STATISTICS_ERROR_S,
  FSL_RETURN_OK_S = 0,
  FSL_RETURN_ERROR_S,
  FSL_RETURN_NO_RESOURCE_S,
  FSL_RETURN_BAD_ALGORITHM_S,
  FSL_RETURN_BAD_MODE_S,
  FSL_RETURN_BAD_FLAG_S,
  FSL_RETURN_BAD_KEY_LENGTH_S,
  FSL_RETURN_BAD_KEY_PARITY_S,
  FSL_RETURN_BAD_DATA_LENGTH_S,
  FSL_RETURN_AUTH_FAILED_S,
  FSL_RETURN_MEMORY_ERROR_S,
  FSL_RETURN_INTERNAL_ERROR_S,
  FSL_RETURN_POINT_AT_INFINITY_S,
  FSL_RETURN_POINT_NOT_AT_INFINITY_S,
  FSL_RETURN_GCD_IS_ONE_S,
  FSL_RETURN_GCD_IS_NOT_ONE_S,
  FSL_RETURN_PRIME_S,
  FSL_RETURN_NOT_PRIME_S,
  FSL_RETURN_EVEN_MODULUS_ERROR_S,
  FSL_RETURN_DIVIDE_BY_ZERO_ERROR_S,
  FSL_RETURN_BAD_EXPONENT_ERROR_S,
  FSL_RETURN_OSCILLATOR_ERROR_S,
  FSL_RETURN_STATISTICS_ERROR_S,
  FSL_RETURN_OK_S = 0,
  FSL_RETURN_ERROR_S,
  FSL_RETURN_NO_RESOURCE_S,
  FSL_RETURN_BAD_ALGORITHM_S,
  FSL_RETURN_BAD_MODE_S,
  FSL_RETURN_BAD_FLAG_S,
  FSL_RETURN_BAD_KEY_LENGTH_S,
  FSL_RETURN_BAD_KEY_PARITY_S,
  FSL_RETURN_BAD_DATA_LENGTH_S,
  FSL_RETURN_AUTH_FAILED_S,
  FSL_RETURN_MEMORY_ERROR_S,
  FSL_RETURN_INTERNAL_ERROR_S,
  FSL_RETURN_POINT_AT_INFINITY_S,
  FSL_RETURN_POINT_NOT_AT_INFINITY_S,
  FSL_RETURN_GCD_IS_ONE_S,
  FSL_RETURN_GCD_IS_NOT_ONE_S,
  FSL_RETURN_PRIME_S,
  FSL_RETURN_NOT_PRIME_S,
  FSL_RETURN_EVEN_MODULUS_ERROR_S,
  FSL_RETURN_DIVIDE_BY_ZERO_ERROR_S,
  FSL_RETURN_BAD_EXPONENT_ERROR_S,
  FSL_RETURN_OSCILLATOR_ERROR_S,
  FSL_RETURN_STATISTICS_ERROR_S,
  FSL_RETURN_OK_S = 0,
  FSL_RETURN_ERROR_S,
  FSL_RETURN_NO_RESOURCE_S,
  FSL_RETURN_BAD_ALGORITHM_S,
  FSL_RETURN_BAD_MODE_S,
  FSL_RETURN_BAD_FLAG_S,
  FSL_RETURN_BAD_KEY_LENGTH_S,
  FSL_RETURN_BAD_KEY_PARITY_S,
  FSL_RETURN_BAD_DATA_LENGTH_S,
  FSL_RETURN_AUTH_FAILED_S,
  FSL_RETURN_MEMORY_ERROR_S,
  FSL_RETURN_INTERNAL_ERROR_S,
  FSL_RETURN_POINT_AT_INFINITY_S,
  FSL_RETURN_POINT_NOT_AT_INFINITY_S,
  FSL_RETURN_GCD_IS_ONE_S,
  FSL_RETURN_GCD_IS_NOT_ONE_S,
  FSL_RETURN_PRIME_S,
  FSL_RETURN_NOT_PRIME_S,
  FSL_RETURN_EVEN_MODULUS_ERROR_S,
  FSL_RETURN_DIVIDE_BY_ZERO_ERROR_S,
  FSL_RETURN_BAD_EXPONENT_ERROR_S,
  FSL_RETURN_OSCILLATOR_ERROR_S,
  FSL_RETURN_STATISTICS_ERROR_S
}
enum  fsl_shw_key_alg_t {
  FSL_KEY_ALG_HMAC,
  FSL_KEY_ALG_AES,
  FSL_KEY_ALG_DES,
  FSL_KEY_ALG_TDES,
  FSL_KEY_ALG_ARC4,
  FSL_KEY_ALG_HMAC,
  FSL_KEY_ALG_AES,
  FSL_KEY_ALG_DES,
  FSL_KEY_ALG_TDES,
  FSL_KEY_ALG_ARC4,
  FSL_KEY_ALG_HMAC,
  FSL_KEY_ALG_AES,
  FSL_KEY_ALG_DES,
  FSL_KEY_ALG_TDES,
  FSL_KEY_ALG_ARC4,
  FSL_KEY_PK_PRIVATE,
  FSL_KEY_ALG_HMAC,
  FSL_KEY_ALG_AES,
  FSL_KEY_ALG_DES,
  FSL_KEY_ALG_TDES,
  FSL_KEY_ALG_ARC4,
  FSL_KEY_ALG_HMAC,
  FSL_KEY_ALG_AES,
  FSL_KEY_ALG_DES,
  FSL_KEY_ALG_TDES,
  FSL_KEY_ALG_ARC4,
  FSL_KEY_PK_PRIVATE
}
enum  fsl_shw_sym_mode_t {
  FSL_SYM_MODE_STREAM,
  FSL_SYM_MODE_ECB,
  FSL_SYM_MODE_CBC,
  FSL_SYM_MODE_CTR,
  FSL_SYM_MODE_STREAM,
  FSL_SYM_MODE_ECB,
  FSL_SYM_MODE_CBC,
  FSL_SYM_MODE_CTR,
  FSL_SYM_MODE_STREAM,
  FSL_SYM_MODE_ECB,
  FSL_SYM_MODE_CBC,
  FSL_SYM_MODE_CTR,
  FSL_SYM_MODE_STREAM,
  FSL_SYM_MODE_ECB,
  FSL_SYM_MODE_CBC,
  FSL_SYM_MODE_CTR,
  FSL_SYM_MODE_STREAM,
  FSL_SYM_MODE_ECB,
  FSL_SYM_MODE_CBC,
  FSL_SYM_MODE_CTR
}
enum  fsl_shw_hash_alg_t {
  FSL_HASH_ALG_MD5,
  FSL_HASH_ALG_SHA1,
  FSL_HASH_ALG_SHA224,
  FSL_HASH_ALG_SHA256,
  FSL_HASH_ALG_MD5,
  FSL_HASH_ALG_SHA1,
  FSL_HASH_ALG_SHA224,
  FSL_HASH_ALG_SHA256,
  FSL_HASH_ALG_MD5,
  FSL_HASH_ALG_SHA1,
  FSL_HASH_ALG_SHA224,
  FSL_HASH_ALG_SHA256,
  FSL_HASH_ALG_MD5,
  FSL_HASH_ALG_SHA1,
  FSL_HASH_ALG_SHA224,
  FSL_HASH_ALG_SHA256,
  FSL_HASH_ALG_MD5,
  FSL_HASH_ALG_SHA1,
  FSL_HASH_ALG_SHA224,
  FSL_HASH_ALG_SHA256
}
enum  fsl_shw_acc_mode_t {
  FSL_ACC_MODE_CCM,
  FSL_ACC_MODE_SSL,
  FSL_ACC_MODE_CCM,
  FSL_ACC_MODE_SSL,
  FSL_ACC_MODE_CCM,
  FSL_ACC_MODE_SSL,
  FSL_ACC_MODE_CCM,
  FSL_ACC_MODE_SSL,
  FSL_ACC_MODE_CCM,
  FSL_ACC_MODE_SSL
}
enum  fsl_shw_key_wrap_t { ,
  FSL_KEY_WRAP_CREATE,
  FSL_KEY_WRAP_ACCEPT,
  FSL_KEY_WRAP_UNWRAP,
  FSL_KEY_WRAP_CREATE,
  FSL_KEY_WRAP_ACCEPT,
  FSL_KEY_WRAP_UNWRAP,
  FSL_KEY_WRAP_CREATE,
  FSL_KEY_WRAP_ACCEPT,
  FSL_KEY_WRAP_UNWRAP,
  FSL_KEY_WRAP_CREATE,
  FSL_KEY_WRAP_ACCEPT,
  FSL_KEY_WRAP_UNWRAP
}
enum  fsl_shw_hash_ctx_flags_t {
  FSL_HASH_FLAGS_INIT = 0x01,
  FSL_HASH_FLAGS_SAVE = 0x02,
  FSL_HASH_FLAGS_LOAD = 0x04,
  FSL_HASH_FLAGS_FINALIZE = 0x08,
  FSL_HASH_FLAGS_INIT = 1,
  FSL_HASH_FLAGS_SAVE = 2,
  FSL_HASH_FLAGS_LOAD = 4,
  FSL_HASH_FLAGS_FINALIZE = 8,
  FSL_HASH_FLAGS_INIT = 0x01,
  FSL_HASH_FLAGS_SAVE = 0x02,
  FSL_HASH_FLAGS_LOAD = 0x04,
  FSL_HASH_FLAGS_FINALIZE = 0x08,
  FSL_HASH_FLAGS_INIT = 1,
  FSL_HASH_FLAGS_SAVE = 2,
  FSL_HASH_FLAGS_LOAD = 4,
  FSL_HASH_FLAGS_FINALIZE = 8,
  FSL_HASH_FLAGS_INIT = 0x01,
  FSL_HASH_FLAGS_SAVE = 0x02,
  FSL_HASH_FLAGS_LOAD = 0x04,
  FSL_HASH_FLAGS_FINALIZE = 0x08
}
enum  fsl_shw_hmac_ctx_flags_t { ,
  FSL_HMAC_FLAGS_INIT = 1,
  FSL_HMAC_FLAGS_SAVE = 2,
  FSL_HMAC_FLAGS_LOAD = 4,
  FSL_HMAC_FLAGS_FINALIZE = 8,
  FSL_HMAC_FLAGS_PRECOMPUTES_PRESENT = 16,
  FSL_HMAC_FLAGS_INIT = 1,
  FSL_HMAC_FLAGS_SAVE = 2,
  FSL_HMAC_FLAGS_LOAD = 4,
  FSL_HMAC_FLAGS_FINALIZE = 8,
  FSL_HMAC_FLAGS_PRECOMPUTES_PRESENT = 16,
  FSL_HMAC_FLAGS_INIT = 1,
  FSL_HMAC_FLAGS_SAVE = 2,
  FSL_HMAC_FLAGS_LOAD = 4,
  FSL_HMAC_FLAGS_FINALIZE = 8,
  FSL_HMAC_FLAGS_PRECOMPUTES_PRESENT = 16,
  FSL_HMAC_FLAGS_INIT = 1,
  FSL_HMAC_FLAGS_SAVE = 2,
  FSL_HMAC_FLAGS_LOAD = 4,
  FSL_HMAC_FLAGS_FINALIZE = 8,
  FSL_HMAC_FLAGS_PRECOMPUTES_PRESENT = 16
}
enum  fsl_shw_sym_ctx_flags_t { ,
  FSL_SYM_CTX_INIT = 1,
  FSL_SYM_CTX_LOAD = 2,
  FSL_SYM_CTX_SAVE = 4,
  FSL_SYM_CTX_PROTECT = 8,
  FSL_SYM_CTX_INIT = 1,
  FSL_SYM_CTX_LOAD = 2,
  FSL_SYM_CTX_SAVE = 4,
  FSL_SYM_CTX_PROTECT = 8,
  FSL_SYM_CTX_INIT = 1,
  FSL_SYM_CTX_LOAD = 2,
  FSL_SYM_CTX_SAVE = 4,
  FSL_SYM_CTX_PROTECT = 8,
  FSL_SYM_CTX_INIT = 1,
  FSL_SYM_CTX_LOAD = 2,
  FSL_SYM_CTX_SAVE = 4,
  FSL_SYM_CTX_PROTECT = 8
}
enum  fsl_shw_key_flags_t {
  FSL_SKO_KEY_IGNORE_PARITY = 1,
  FSL_SKO_KEY_PRESENT = 2,
  FSL_SKO_KEY_ESTABLISHED = 4,
  FSL_SKO_USE_SECRET_KEY = 8,
  FSL_SKO_KEY_SW_KEY = 16,
  FSL_SKO_KEY_SELECT_PF_KEY = 32,
  FSL_SKO_KEY_IGNORE_PARITY = 1,
  FSL_SKO_KEY_PRESENT = 2,
  FSL_SKO_KEY_ESTABLISHED = 4,
  FSL_SKO_KEY_SW_KEY = 8,
  FSL_SKO_KEY_IGNORE_PARITY = 1,
  FSL_SKO_KEY_PRESENT = 2,
  FSL_SKO_KEY_ESTABLISHED = 4,
  FSL_SKO_KEY_SW_KEY = 8,
  FSL_SKO_KEY_IGNORE_PARITY = 1,
  FSL_SKO_KEY_PRESENT = 2,
  FSL_SKO_KEY_ESTABLISHED = 4,
  FSL_SKO_KEY_SW_KEY = 8,
  FSL_SKO_KEY_IGNORE_PARITY = 1,
  FSL_SKO_KEY_PRESENT = 2,
  FSL_SKO_KEY_ESTABLISHED = 4,
  FSL_SKO_KEY_SW_KEY = 8
}
enum  fsl_shw_auth_ctx_flags_t { ,
  FSL_ACCO_CTX_INIT = 1,
  FSL_ACCO_CTX_LOAD = 2,
  FSL_ACCO_CTX_SAVE = 4,
  FSL_ACCO_CTX_FINALIZE = 8,
  FSL_ACCO_NIST_CCM = 16,
  FSL_ACCO_CTX_INIT = 1,
  FSL_ACCO_CTX_LOAD = 2,
  FSL_ACCO_CTX_SAVE = 4,
  FSL_ACCO_CTX_FINALIZE = 8,
  FSL_ACCO_NIST_CCM = 0x10,
  FSL_ACCO_CTX_INIT = 1,
  FSL_ACCO_CTX_LOAD = 2,
  FSL_ACCO_CTX_SAVE = 4,
  FSL_ACCO_CTX_FINALIZE = 8,
  FSL_ACCO_NIST_CCM = 16,
  FSL_ACCO_CTX_INIT = 1,
  FSL_ACCO_CTX_LOAD = 2,
  FSL_ACCO_CTX_SAVE = 4,
  FSL_ACCO_CTX_FINALIZE = 8,
  FSL_ACCO_NIST_CCM = 0x10
}
enum  fsl_shw_ctr_mod_t { ,
  FSL_CTR_MOD_8,
  FSL_CTR_MOD_16,
  FSL_CTR_MOD_24,
  FSL_CTR_MOD_32,
  FSL_CTR_MOD_40,
  FSL_CTR_MOD_48,
  FSL_CTR_MOD_56,
  FSL_CTR_MOD_64,
  FSL_CTR_MOD_72,
  FSL_CTR_MOD_80,
  FSL_CTR_MOD_88,
  FSL_CTR_MOD_96,
  FSL_CTR_MOD_104,
  FSL_CTR_MOD_112,
  FSL_CTR_MOD_120,
  FSL_CTR_MOD_128,
  FSL_CTR_MOD_8,
  FSL_CTR_MOD_16,
  FSL_CTR_MOD_24,
  FSL_CTR_MOD_32,
  FSL_CTR_MOD_40,
  FSL_CTR_MOD_48,
  FSL_CTR_MOD_56,
  FSL_CTR_MOD_64,
  FSL_CTR_MOD_72,
  FSL_CTR_MOD_80,
  FSL_CTR_MOD_88,
  FSL_CTR_MOD_96,
  FSL_CTR_MOD_104,
  FSL_CTR_MOD_112,
  FSL_CTR_MOD_120,
  FSL_CTR_MOD_128,
  FSL_CTR_MOD_8,
  FSL_CTR_MOD_16,
  FSL_CTR_MOD_24,
  FSL_CTR_MOD_32,
  FSL_CTR_MOD_40,
  FSL_CTR_MOD_48,
  FSL_CTR_MOD_56,
  FSL_CTR_MOD_64,
  FSL_CTR_MOD_72,
  FSL_CTR_MOD_80,
  FSL_CTR_MOD_88,
  FSL_CTR_MOD_96,
  FSL_CTR_MOD_104,
  FSL_CTR_MOD_112,
  FSL_CTR_MOD_120,
  FSL_CTR_MOD_128,
  FSL_CTR_MOD_8,
  FSL_CTR_MOD_16,
  FSL_CTR_MOD_24,
  FSL_CTR_MOD_32,
  FSL_CTR_MOD_40,
  FSL_CTR_MOD_48,
  FSL_CTR_MOD_56,
  FSL_CTR_MOD_64,
  FSL_CTR_MOD_72,
  FSL_CTR_MOD_80,
  FSL_CTR_MOD_88,
  FSL_CTR_MOD_96,
  FSL_CTR_MOD_104,
  FSL_CTR_MOD_112,
  FSL_CTR_MOD_120,
  FSL_CTR_MOD_128
}
enum  fsl_shw_permission_t { ,
  FSL_PERM_NO_ZEROIZE,
  FSL_PERM_TRUSTED_KEY_READ,
  FSL_PERM_HD_S,
  FSL_PERM_HD_R,
  FSL_PERM_HD_W,
  FSL_PERM_HD_X,
  FSL_PERM_TH_R,
  FSL_PERM_TH_W,
  FSL_PERM_OT_R,
  FSL_PERM_OT_W,
  FSL_PERM_OT_X,
  FSL_PERM_NO_ZEROIZE = 0x80000000,
  FSL_PERM_TRUSTED_KEY_READ = 0x40000000,
  FSL_PERM_HD_S = 0x00000800,
  FSL_PERM_HD_R = 0x00000400,
  FSL_PERM_HD_W = 0x00000200,
  FSL_PERM_HD_X = 0x00000100,
  FSL_PERM_TH_R = 0x00000040,
  FSL_PERM_TH_W = 0x00000020,
  FSL_PERM_OT_R = 0x00000004,
  FSL_PERM_OT_W = 0x00000002,
  FSL_PERM_OT_X = 0x00000001,
  FSL_PERM_NO_ZEROIZE,
  FSL_PERM_TRUSTED_KEY_READ,
  FSL_PERM_HD_S,
  FSL_PERM_HD_R,
  FSL_PERM_HD_W,
  FSL_PERM_HD_X,
  FSL_PERM_TH_R,
  FSL_PERM_TH_W,
  FSL_PERM_OT_R,
  FSL_PERM_OT_W,
  FSL_PERM_OT_X,
  FSL_PERM_NO_ZEROIZE = 0x80000000,
  FSL_PERM_TRUSTED_KEY_READ = 0x40000000,
  FSL_PERM_HD_S = 0x00000800,
  FSL_PERM_HD_R = 0x00000400,
  FSL_PERM_HD_W = 0x00000200,
  FSL_PERM_HD_X = 0x00000100,
  FSL_PERM_TH_R = 0x00000040,
  FSL_PERM_TH_W = 0x00000020,
  FSL_PERM_OT_R = 0x00000004,
  FSL_PERM_OT_W = 0x00000002,
  FSL_PERM_OT_X = 0x00000001
}
enum  fsl_shw_cypher_mode_t {
  FSL_SHW_CYPHER_MODE_ECB = 1,
  FSL_SHW_CYPHER_MODE_CBC = 2,
  FSL_SHW_CYPHER_MODE_ECB,
  FSL_SHW_CYPHER_MODE_CBC,
  FSL_SHW_CYPHER_MODE_ECB = 1,
  FSL_SHW_CYPHER_MODE_CBC = 2,
  FSL_SHW_CYPHER_MODE_ECB,
  FSL_SHW_CYPHER_MODE_CBC,
  FSL_SHW_CYPHER_MODE_ECB = 1,
  FSL_SHW_CYPHER_MODE_CBC = 2
}
enum  fsl_shw_pf_key_t {
  FSL_SHW_PF_KEY_IIM,
  FSL_SHW_PF_KEY_PRG,
  FSL_SHW_PF_KEY_IIM_PRG,
  FSL_SHW_PF_KEY_IIM_RND,
  FSL_SHW_PF_KEY_RND,
  FSL_SHW_PF_KEY_IIM,
  FSL_SHW_PF_KEY_PRG,
  FSL_SHW_PF_KEY_IIM_PRG,
  FSL_SHW_PF_KEY_IIM_RND,
  FSL_SHW_PF_KEY_RND,
  FSL_SHW_PF_KEY_IIM,
  FSL_SHW_PF_KEY_PRG,
  FSL_SHW_PF_KEY_IIM_PRG,
  FSL_SHW_PF_KEY_IIM_RND,
  FSL_SHW_PF_KEY_RND,
  FSL_SHW_PF_KEY_IIM,
  FSL_SHW_PF_KEY_PRG,
  FSL_SHW_PF_KEY_IIM_PRG,
  FSL_SHW_PF_KEY_IIM_RND,
  FSL_SHW_PF_KEY_RND,
  FSL_SHW_PF_KEY_IIM,
  FSL_SHW_PF_KEY_PRG,
  FSL_SHW_PF_KEY_IIM_PRG,
  FSL_SHW_PF_KEY_IIM_RND,
  FSL_SHW_PF_KEY_RND
}
enum  fsl_shw_tamper_t {
  FSL_SHW_TAMPER_NONE,
  FSL_SHW_TAMPER_WTD,
  FSL_SHW_TAMPER_ETBD,
  FSL_SHW_TAMPER_ETAD,
  FSL_SHW_TAMPER_EBD,
  FSL_SHW_TAMPER_SAD,
  FSL_SHW_TAMPER_TTD,
  FSL_SHW_TAMPER_CTD,
  FSL_SHW_TAMPER_VTD,
  FSL_SHW_TAMPER_MCO,
  FSL_SHW_TAMPER_TCO,
  FSL_SHW_TAMPER_NONE,
  FSL_SHW_TAMPER_WTD,
  FSL_SHW_TAMPER_ETBD,
  FSL_SHW_TAMPER_ETAD,
  FSL_SHW_TAMPER_EBD,
  FSL_SHW_TAMPER_SAD,
  FSL_SHW_TAMPER_TTD,
  FSL_SHW_TAMPER_CTD,
  FSL_SHW_TAMPER_VTD,
  FSL_SHW_TAMPER_MCO,
  FSL_SHW_TAMPER_TCO,
  FSL_SHW_TAMPER_NONE,
  FSL_SHW_TAMPER_WTD,
  FSL_SHW_TAMPER_ETBD,
  FSL_SHW_TAMPER_ETAD,
  FSL_SHW_TAMPER_EBD,
  FSL_SHW_TAMPER_SAD,
  FSL_SHW_TAMPER_TTD,
  FSL_SHW_TAMPER_CTD,
  FSL_SHW_TAMPER_VTD,
  FSL_SHW_TAMPER_MCO,
  FSL_SHW_TAMPER_TCO,
  FSL_SHW_TAMPER_NONE,
  FSL_SHW_TAMPER_WTD,
  FSL_SHW_TAMPER_ETBD,
  FSL_SHW_TAMPER_ETAD,
  FSL_SHW_TAMPER_EBD,
  FSL_SHW_TAMPER_SAD,
  FSL_SHW_TAMPER_TTD,
  FSL_SHW_TAMPER_CTD,
  FSL_SHW_TAMPER_VTD,
  FSL_SHW_TAMPER_MCO,
  FSL_SHW_TAMPER_TCO,
  FSL_SHW_TAMPER_NONE,
  FSL_SHW_TAMPER_WTD,
  FSL_SHW_TAMPER_ETBD,
  FSL_SHW_TAMPER_ETAD,
  FSL_SHW_TAMPER_EBD,
  FSL_SHW_TAMPER_SAD,
  FSL_SHW_TAMPER_TTD,
  FSL_SHW_TAMPER_CTD,
  FSL_SHW_TAMPER_VTD,
  FSL_SHW_TAMPER_MCO,
  FSL_SHW_TAMPER_TCO
}
enum  fsl_shw_user_ctx_flags_t {
  FSL_UCO_BLOCKING_MODE = 0x01,
  FSL_UCO_CALLBACK_MODE = 0x02,
  FSL_UCO_SAVE_DESC_CHAIN = 0x04,
  FSL_UCO_CALLBACK_SETUP_COMPLETE = 0x08,
  FSL_UCO_CHAIN_PREPHYSICALIZED = 0x10,
  FSL_UCO_CONTEXT_CHANGED = 0x20,
  FSL_UCO_USERMODE_USER = 0x40,
  FSL_UCO_BLOCKING_MODE,
  FSL_UCO_CALLBACK_MODE,
  FSL_UCO_SAVE_DESC_CHAIN,
  FSL_UCO_CALLBACK_SETUP_COMPLETE,
  FSL_UCO_CHAIN_PREPHYSICALIZED,
  FSL_UCO_CONTEXT_CHANGED,
  FSL_UCO_USERMODE_USER,
  FSL_UCO_BLOCKING_MODE = 0x01,
  FSL_UCO_CALLBACK_MODE = 0x02,
  FSL_UCO_SAVE_DESC_CHAIN = 0x04,
  FSL_UCO_CALLBACK_SETUP_COMPLETE = 0x08,
  FSL_UCO_CHAIN_PREPHYSICALIZED = 0x10,
  FSL_UCO_CONTEXT_CHANGED = 0x20,
  FSL_UCO_USERMODE_USER = 0x40,
  FSL_UCO_BLOCKING_MODE,
  FSL_UCO_CALLBACK_MODE,
  FSL_UCO_SAVE_DESC_CHAIN,
  FSL_UCO_CALLBACK_SETUP_COMPLETE,
  FSL_UCO_CHAIN_PREPHYSICALIZED,
  FSL_UCO_CONTEXT_CHANGED,
  FSL_UCO_USERMODE_USER,
  FSL_UCO_BLOCKING_MODE = 0x01,
  FSL_UCO_CALLBACK_MODE = 0x02,
  FSL_UCO_SAVE_DESC_CHAIN = 0x04,
  FSL_UCO_CALLBACK_SETUP_COMPLETE = 0x08,
  FSL_UCO_CHAIN_PREPHYSICALIZED = 0x10,
  FSL_UCO_CONTEXT_CHANGED = 0x20,
  FSL_UCO_USERMODE_USER = 0x40
}
enum  fsl_shw_return_t {
  FSL_RETURN_OK_S = 0,
  FSL_RETURN_ERROR_S,
  FSL_RETURN_NO_RESOURCE_S,
  FSL_RETURN_BAD_ALGORITHM_S,
  FSL_RETURN_BAD_MODE_S,
  FSL_RETURN_BAD_FLAG_S,
  FSL_RETURN_BAD_KEY_LENGTH_S,
  FSL_RETURN_BAD_KEY_PARITY_S,
  FSL_RETURN_BAD_DATA_LENGTH_S,
  FSL_RETURN_AUTH_FAILED_S,
  FSL_RETURN_MEMORY_ERROR_S,
  FSL_RETURN_INTERNAL_ERROR_S,
  FSL_RETURN_POINT_AT_INFINITY_S,
  FSL_RETURN_POINT_NOT_AT_INFINITY_S,
  FSL_RETURN_GCD_IS_ONE_S,
  FSL_RETURN_GCD_IS_NOT_ONE_S,
  FSL_RETURN_PRIME_S,
  FSL_RETURN_NOT_PRIME_S,
  FSL_RETURN_EVEN_MODULUS_ERROR_S,
  FSL_RETURN_DIVIDE_BY_ZERO_ERROR_S,
  FSL_RETURN_BAD_EXPONENT_ERROR_S,
  FSL_RETURN_OSCILLATOR_ERROR_S,
  FSL_RETURN_STATISTICS_ERROR_S,
  FSL_RETURN_OK_S = 0,
  FSL_RETURN_ERROR_S,
  FSL_RETURN_NO_RESOURCE_S,
  FSL_RETURN_BAD_ALGORITHM_S,
  FSL_RETURN_BAD_MODE_S,
  FSL_RETURN_BAD_FLAG_S,
  FSL_RETURN_BAD_KEY_LENGTH_S,
  FSL_RETURN_BAD_KEY_PARITY_S,
  FSL_RETURN_BAD_DATA_LENGTH_S,
  FSL_RETURN_AUTH_FAILED_S,
  FSL_RETURN_MEMORY_ERROR_S,
  FSL_RETURN_INTERNAL_ERROR_S,
  FSL_RETURN_POINT_AT_INFINITY_S,
  FSL_RETURN_POINT_NOT_AT_INFINITY_S,
  FSL_RETURN_GCD_IS_ONE_S,
  FSL_RETURN_GCD_IS_NOT_ONE_S,
  FSL_RETURN_PRIME_S,
  FSL_RETURN_NOT_PRIME_S,
  FSL_RETURN_EVEN_MODULUS_ERROR_S,
  FSL_RETURN_DIVIDE_BY_ZERO_ERROR_S,
  FSL_RETURN_BAD_EXPONENT_ERROR_S,
  FSL_RETURN_OSCILLATOR_ERROR_S,
  FSL_RETURN_STATISTICS_ERROR_S,
  FSL_RETURN_OK_S = 0,
  FSL_RETURN_ERROR_S,
  FSL_RETURN_NO_RESOURCE_S,
  FSL_RETURN_BAD_ALGORITHM_S,
  FSL_RETURN_BAD_MODE_S,
  FSL_RETURN_BAD_FLAG_S,
  FSL_RETURN_BAD_KEY_LENGTH_S,
  FSL_RETURN_BAD_KEY_PARITY_S,
  FSL_RETURN_BAD_DATA_LENGTH_S,
  FSL_RETURN_AUTH_FAILED_S,
  FSL_RETURN_MEMORY_ERROR_S,
  FSL_RETURN_INTERNAL_ERROR_S,
  FSL_RETURN_POINT_AT_INFINITY_S,
  FSL_RETURN_POINT_NOT_AT_INFINITY_S,
  FSL_RETURN_GCD_IS_ONE_S,
  FSL_RETURN_GCD_IS_NOT_ONE_S,
  FSL_RETURN_PRIME_S,
  FSL_RETURN_NOT_PRIME_S,
  FSL_RETURN_EVEN_MODULUS_ERROR_S,
  FSL_RETURN_DIVIDE_BY_ZERO_ERROR_S,
  FSL_RETURN_BAD_EXPONENT_ERROR_S,
  FSL_RETURN_OSCILLATOR_ERROR_S,
  FSL_RETURN_STATISTICS_ERROR_S,
  FSL_RETURN_OK_S = 0,
  FSL_RETURN_ERROR_S,
  FSL_RETURN_NO_RESOURCE_S,
  FSL_RETURN_BAD_ALGORITHM_S,
  FSL_RETURN_BAD_MODE_S,
  FSL_RETURN_BAD_FLAG_S,
  FSL_RETURN_BAD_KEY_LENGTH_S,
  FSL_RETURN_BAD_KEY_PARITY_S,
  FSL_RETURN_BAD_DATA_LENGTH_S,
  FSL_RETURN_AUTH_FAILED_S,
  FSL_RETURN_MEMORY_ERROR_S,
  FSL_RETURN_INTERNAL_ERROR_S,
  FSL_RETURN_POINT_AT_INFINITY_S,
  FSL_RETURN_POINT_NOT_AT_INFINITY_S,
  FSL_RETURN_GCD_IS_ONE_S,
  FSL_RETURN_GCD_IS_NOT_ONE_S,
  FSL_RETURN_PRIME_S,
  FSL_RETURN_NOT_PRIME_S,
  FSL_RETURN_EVEN_MODULUS_ERROR_S,
  FSL_RETURN_DIVIDE_BY_ZERO_ERROR_S,
  FSL_RETURN_BAD_EXPONENT_ERROR_S,
  FSL_RETURN_OSCILLATOR_ERROR_S,
  FSL_RETURN_STATISTICS_ERROR_S,
  FSL_RETURN_OK_S = 0,
  FSL_RETURN_ERROR_S,
  FSL_RETURN_NO_RESOURCE_S,
  FSL_RETURN_BAD_ALGORITHM_S,
  FSL_RETURN_BAD_MODE_S,
  FSL_RETURN_BAD_FLAG_S,
  FSL_RETURN_BAD_KEY_LENGTH_S,
  FSL_RETURN_BAD_KEY_PARITY_S,
  FSL_RETURN_BAD_DATA_LENGTH_S,
  FSL_RETURN_AUTH_FAILED_S,
  FSL_RETURN_MEMORY_ERROR_S,
  FSL_RETURN_INTERNAL_ERROR_S,
  FSL_RETURN_POINT_AT_INFINITY_S,
  FSL_RETURN_POINT_NOT_AT_INFINITY_S,
  FSL_RETURN_GCD_IS_ONE_S,
  FSL_RETURN_GCD_IS_NOT_ONE_S,
  FSL_RETURN_PRIME_S,
  FSL_RETURN_NOT_PRIME_S,
  FSL_RETURN_EVEN_MODULUS_ERROR_S,
  FSL_RETURN_DIVIDE_BY_ZERO_ERROR_S,
  FSL_RETURN_BAD_EXPONENT_ERROR_S,
  FSL_RETURN_OSCILLATOR_ERROR_S,
  FSL_RETURN_STATISTICS_ERROR_S
}
enum  fsl_shw_key_alg_t {
  FSL_KEY_ALG_HMAC,
  FSL_KEY_ALG_AES,
  FSL_KEY_ALG_DES,
  FSL_KEY_ALG_TDES,
  FSL_KEY_ALG_ARC4,
  FSL_KEY_ALG_HMAC,
  FSL_KEY_ALG_AES,
  FSL_KEY_ALG_DES,
  FSL_KEY_ALG_TDES,
  FSL_KEY_ALG_ARC4,
  FSL_KEY_ALG_HMAC,
  FSL_KEY_ALG_AES,
  FSL_KEY_ALG_DES,
  FSL_KEY_ALG_TDES,
  FSL_KEY_ALG_ARC4,
  FSL_KEY_PK_PRIVATE,
  FSL_KEY_ALG_HMAC,
  FSL_KEY_ALG_AES,
  FSL_KEY_ALG_DES,
  FSL_KEY_ALG_TDES,
  FSL_KEY_ALG_ARC4,
  FSL_KEY_ALG_HMAC,
  FSL_KEY_ALG_AES,
  FSL_KEY_ALG_DES,
  FSL_KEY_ALG_TDES,
  FSL_KEY_ALG_ARC4,
  FSL_KEY_PK_PRIVATE
}
enum  fsl_shw_sym_mode_t {
  FSL_SYM_MODE_STREAM,
  FSL_SYM_MODE_ECB,
  FSL_SYM_MODE_CBC,
  FSL_SYM_MODE_CTR,
  FSL_SYM_MODE_STREAM,
  FSL_SYM_MODE_ECB,
  FSL_SYM_MODE_CBC,
  FSL_SYM_MODE_CTR,
  FSL_SYM_MODE_STREAM,
  FSL_SYM_MODE_ECB,
  FSL_SYM_MODE_CBC,
  FSL_SYM_MODE_CTR,
  FSL_SYM_MODE_STREAM,
  FSL_SYM_MODE_ECB,
  FSL_SYM_MODE_CBC,
  FSL_SYM_MODE_CTR,
  FSL_SYM_MODE_STREAM,
  FSL_SYM_MODE_ECB,
  FSL_SYM_MODE_CBC,
  FSL_SYM_MODE_CTR
}
enum  fsl_shw_hash_alg_t {
  FSL_HASH_ALG_MD5,
  FSL_HASH_ALG_SHA1,
  FSL_HASH_ALG_SHA224,
  FSL_HASH_ALG_SHA256,
  FSL_HASH_ALG_MD5,
  FSL_HASH_ALG_SHA1,
  FSL_HASH_ALG_SHA224,
  FSL_HASH_ALG_SHA256,
  FSL_HASH_ALG_MD5,
  FSL_HASH_ALG_SHA1,
  FSL_HASH_ALG_SHA224,
  FSL_HASH_ALG_SHA256,
  FSL_HASH_ALG_MD5,
  FSL_HASH_ALG_SHA1,
  FSL_HASH_ALG_SHA224,
  FSL_HASH_ALG_SHA256,
  FSL_HASH_ALG_MD5,
  FSL_HASH_ALG_SHA1,
  FSL_HASH_ALG_SHA224,
  FSL_HASH_ALG_SHA256
}
enum  fsl_shw_acc_mode_t {
  FSL_ACC_MODE_CCM,
  FSL_ACC_MODE_SSL,
  FSL_ACC_MODE_CCM,
  FSL_ACC_MODE_SSL,
  FSL_ACC_MODE_CCM,
  FSL_ACC_MODE_SSL,
  FSL_ACC_MODE_CCM,
  FSL_ACC_MODE_SSL,
  FSL_ACC_MODE_CCM,
  FSL_ACC_MODE_SSL
}
enum  fsl_shw_key_wrap_t { ,
  FSL_KEY_WRAP_CREATE,
  FSL_KEY_WRAP_ACCEPT,
  FSL_KEY_WRAP_UNWRAP,
  FSL_KEY_WRAP_CREATE,
  FSL_KEY_WRAP_ACCEPT,
  FSL_KEY_WRAP_UNWRAP,
  FSL_KEY_WRAP_CREATE,
  FSL_KEY_WRAP_ACCEPT,
  FSL_KEY_WRAP_UNWRAP,
  FSL_KEY_WRAP_CREATE,
  FSL_KEY_WRAP_ACCEPT,
  FSL_KEY_WRAP_UNWRAP
}
enum  fsl_shw_hash_ctx_flags_t {
  FSL_HASH_FLAGS_INIT = 0x01,
  FSL_HASH_FLAGS_SAVE = 0x02,
  FSL_HASH_FLAGS_LOAD = 0x04,
  FSL_HASH_FLAGS_FINALIZE = 0x08,
  FSL_HASH_FLAGS_INIT = 1,
  FSL_HASH_FLAGS_SAVE = 2,
  FSL_HASH_FLAGS_LOAD = 4,
  FSL_HASH_FLAGS_FINALIZE = 8,
  FSL_HASH_FLAGS_INIT = 0x01,
  FSL_HASH_FLAGS_SAVE = 0x02,
  FSL_HASH_FLAGS_LOAD = 0x04,
  FSL_HASH_FLAGS_FINALIZE = 0x08,
  FSL_HASH_FLAGS_INIT = 1,
  FSL_HASH_FLAGS_SAVE = 2,
  FSL_HASH_FLAGS_LOAD = 4,
  FSL_HASH_FLAGS_FINALIZE = 8,
  FSL_HASH_FLAGS_INIT = 0x01,
  FSL_HASH_FLAGS_SAVE = 0x02,
  FSL_HASH_FLAGS_LOAD = 0x04,
  FSL_HASH_FLAGS_FINALIZE = 0x08
}
enum  fsl_shw_hmac_ctx_flags_t { ,
  FSL_HMAC_FLAGS_INIT = 1,
  FSL_HMAC_FLAGS_SAVE = 2,
  FSL_HMAC_FLAGS_LOAD = 4,
  FSL_HMAC_FLAGS_FINALIZE = 8,
  FSL_HMAC_FLAGS_PRECOMPUTES_PRESENT = 16,
  FSL_HMAC_FLAGS_INIT = 1,
  FSL_HMAC_FLAGS_SAVE = 2,
  FSL_HMAC_FLAGS_LOAD = 4,
  FSL_HMAC_FLAGS_FINALIZE = 8,
  FSL_HMAC_FLAGS_PRECOMPUTES_PRESENT = 16,
  FSL_HMAC_FLAGS_INIT = 1,
  FSL_HMAC_FLAGS_SAVE = 2,
  FSL_HMAC_FLAGS_LOAD = 4,
  FSL_HMAC_FLAGS_FINALIZE = 8,
  FSL_HMAC_FLAGS_PRECOMPUTES_PRESENT = 16,
  FSL_HMAC_FLAGS_INIT = 1,
  FSL_HMAC_FLAGS_SAVE = 2,
  FSL_HMAC_FLAGS_LOAD = 4,
  FSL_HMAC_FLAGS_FINALIZE = 8,
  FSL_HMAC_FLAGS_PRECOMPUTES_PRESENT = 16
}
enum  fsl_shw_sym_ctx_flags_t { ,
  FSL_SYM_CTX_INIT = 1,
  FSL_SYM_CTX_LOAD = 2,
  FSL_SYM_CTX_SAVE = 4,
  FSL_SYM_CTX_PROTECT = 8,
  FSL_SYM_CTX_INIT = 1,
  FSL_SYM_CTX_LOAD = 2,
  FSL_SYM_CTX_SAVE = 4,
  FSL_SYM_CTX_PROTECT = 8,
  FSL_SYM_CTX_INIT = 1,
  FSL_SYM_CTX_LOAD = 2,
  FSL_SYM_CTX_SAVE = 4,
  FSL_SYM_CTX_PROTECT = 8,
  FSL_SYM_CTX_INIT = 1,
  FSL_SYM_CTX_LOAD = 2,
  FSL_SYM_CTX_SAVE = 4,
  FSL_SYM_CTX_PROTECT = 8
}
enum  fsl_shw_key_flags_t {
  FSL_SKO_KEY_IGNORE_PARITY = 1,
  FSL_SKO_KEY_PRESENT = 2,
  FSL_SKO_KEY_ESTABLISHED = 4,
  FSL_SKO_USE_SECRET_KEY = 8,
  FSL_SKO_KEY_SW_KEY = 16,
  FSL_SKO_KEY_SELECT_PF_KEY = 32,
  FSL_SKO_KEY_IGNORE_PARITY = 1,
  FSL_SKO_KEY_PRESENT = 2,
  FSL_SKO_KEY_ESTABLISHED = 4,
  FSL_SKO_KEY_SW_KEY = 8,
  FSL_SKO_KEY_IGNORE_PARITY = 1,
  FSL_SKO_KEY_PRESENT = 2,
  FSL_SKO_KEY_ESTABLISHED = 4,
  FSL_SKO_KEY_SW_KEY = 8,
  FSL_SKO_KEY_IGNORE_PARITY = 1,
  FSL_SKO_KEY_PRESENT = 2,
  FSL_SKO_KEY_ESTABLISHED = 4,
  FSL_SKO_KEY_SW_KEY = 8,
  FSL_SKO_KEY_IGNORE_PARITY = 1,
  FSL_SKO_KEY_PRESENT = 2,
  FSL_SKO_KEY_ESTABLISHED = 4,
  FSL_SKO_KEY_SW_KEY = 8
}
enum  fsl_shw_auth_ctx_flags_t { ,
  FSL_ACCO_CTX_INIT = 1,
  FSL_ACCO_CTX_LOAD = 2,
  FSL_ACCO_CTX_SAVE = 4,
  FSL_ACCO_CTX_FINALIZE = 8,
  FSL_ACCO_NIST_CCM = 16,
  FSL_ACCO_CTX_INIT = 1,
  FSL_ACCO_CTX_LOAD = 2,
  FSL_ACCO_CTX_SAVE = 4,
  FSL_ACCO_CTX_FINALIZE = 8,
  FSL_ACCO_NIST_CCM = 0x10,
  FSL_ACCO_CTX_INIT = 1,
  FSL_ACCO_CTX_LOAD = 2,
  FSL_ACCO_CTX_SAVE = 4,
  FSL_ACCO_CTX_FINALIZE = 8,
  FSL_ACCO_NIST_CCM = 16,
  FSL_ACCO_CTX_INIT = 1,
  FSL_ACCO_CTX_LOAD = 2,
  FSL_ACCO_CTX_SAVE = 4,
  FSL_ACCO_CTX_FINALIZE = 8,
  FSL_ACCO_NIST_CCM = 0x10
}
enum  fsl_shw_ctr_mod_t { ,
  FSL_CTR_MOD_8,
  FSL_CTR_MOD_16,
  FSL_CTR_MOD_24,
  FSL_CTR_MOD_32,
  FSL_CTR_MOD_40,
  FSL_CTR_MOD_48,
  FSL_CTR_MOD_56,
  FSL_CTR_MOD_64,
  FSL_CTR_MOD_72,
  FSL_CTR_MOD_80,
  FSL_CTR_MOD_88,
  FSL_CTR_MOD_96,
  FSL_CTR_MOD_104,
  FSL_CTR_MOD_112,
  FSL_CTR_MOD_120,
  FSL_CTR_MOD_128,
  FSL_CTR_MOD_8,
  FSL_CTR_MOD_16,
  FSL_CTR_MOD_24,
  FSL_CTR_MOD_32,
  FSL_CTR_MOD_40,
  FSL_CTR_MOD_48,
  FSL_CTR_MOD_56,
  FSL_CTR_MOD_64,
  FSL_CTR_MOD_72,
  FSL_CTR_MOD_80,
  FSL_CTR_MOD_88,
  FSL_CTR_MOD_96,
  FSL_CTR_MOD_104,
  FSL_CTR_MOD_112,
  FSL_CTR_MOD_120,
  FSL_CTR_MOD_128,
  FSL_CTR_MOD_8,
  FSL_CTR_MOD_16,
  FSL_CTR_MOD_24,
  FSL_CTR_MOD_32,
  FSL_CTR_MOD_40,
  FSL_CTR_MOD_48,
  FSL_CTR_MOD_56,
  FSL_CTR_MOD_64,
  FSL_CTR_MOD_72,
  FSL_CTR_MOD_80,
  FSL_CTR_MOD_88,
  FSL_CTR_MOD_96,
  FSL_CTR_MOD_104,
  FSL_CTR_MOD_112,
  FSL_CTR_MOD_120,
  FSL_CTR_MOD_128,
  FSL_CTR_MOD_8,
  FSL_CTR_MOD_16,
  FSL_CTR_MOD_24,
  FSL_CTR_MOD_32,
  FSL_CTR_MOD_40,
  FSL_CTR_MOD_48,
  FSL_CTR_MOD_56,
  FSL_CTR_MOD_64,
  FSL_CTR_MOD_72,
  FSL_CTR_MOD_80,
  FSL_CTR_MOD_88,
  FSL_CTR_MOD_96,
  FSL_CTR_MOD_104,
  FSL_CTR_MOD_112,
  FSL_CTR_MOD_120,
  FSL_CTR_MOD_128
}
enum  fsl_shw_permission_t { ,
  FSL_PERM_NO_ZEROIZE,
  FSL_PERM_TRUSTED_KEY_READ,
  FSL_PERM_HD_S,
  FSL_PERM_HD_R,
  FSL_PERM_HD_W,
  FSL_PERM_HD_X,
  FSL_PERM_TH_R,
  FSL_PERM_TH_W,
  FSL_PERM_OT_R,
  FSL_PERM_OT_W,
  FSL_PERM_OT_X,
  FSL_PERM_NO_ZEROIZE = 0x80000000,
  FSL_PERM_TRUSTED_KEY_READ = 0x40000000,
  FSL_PERM_HD_S = 0x00000800,
  FSL_PERM_HD_R = 0x00000400,
  FSL_PERM_HD_W = 0x00000200,
  FSL_PERM_HD_X = 0x00000100,
  FSL_PERM_TH_R = 0x00000040,
  FSL_PERM_TH_W = 0x00000020,
  FSL_PERM_OT_R = 0x00000004,
  FSL_PERM_OT_W = 0x00000002,
  FSL_PERM_OT_X = 0x00000001,
  FSL_PERM_NO_ZEROIZE,
  FSL_PERM_TRUSTED_KEY_READ,
  FSL_PERM_HD_S,
  FSL_PERM_HD_R,
  FSL_PERM_HD_W,
  FSL_PERM_HD_X,
  FSL_PERM_TH_R,
  FSL_PERM_TH_W,
  FSL_PERM_OT_R,
  FSL_PERM_OT_W,
  FSL_PERM_OT_X,
  FSL_PERM_NO_ZEROIZE = 0x80000000,
  FSL_PERM_TRUSTED_KEY_READ = 0x40000000,
  FSL_PERM_HD_S = 0x00000800,
  FSL_PERM_HD_R = 0x00000400,
  FSL_PERM_HD_W = 0x00000200,
  FSL_PERM_HD_X = 0x00000100,
  FSL_PERM_TH_R = 0x00000040,
  FSL_PERM_TH_W = 0x00000020,
  FSL_PERM_OT_R = 0x00000004,
  FSL_PERM_OT_W = 0x00000002,
  FSL_PERM_OT_X = 0x00000001
}
enum  fsl_shw_cypher_mode_t {
  FSL_SHW_CYPHER_MODE_ECB = 1,
  FSL_SHW_CYPHER_MODE_CBC = 2,
  FSL_SHW_CYPHER_MODE_ECB,
  FSL_SHW_CYPHER_MODE_CBC,
  FSL_SHW_CYPHER_MODE_ECB = 1,
  FSL_SHW_CYPHER_MODE_CBC = 2,
  FSL_SHW_CYPHER_MODE_ECB,
  FSL_SHW_CYPHER_MODE_CBC,
  FSL_SHW_CYPHER_MODE_ECB = 1,
  FSL_SHW_CYPHER_MODE_CBC = 2
}
enum  fsl_shw_pf_key_t {
  FSL_SHW_PF_KEY_IIM,
  FSL_SHW_PF_KEY_PRG,
  FSL_SHW_PF_KEY_IIM_PRG,
  FSL_SHW_PF_KEY_IIM_RND,
  FSL_SHW_PF_KEY_RND,
  FSL_SHW_PF_KEY_IIM,
  FSL_SHW_PF_KEY_PRG,
  FSL_SHW_PF_KEY_IIM_PRG,
  FSL_SHW_PF_KEY_IIM_RND,
  FSL_SHW_PF_KEY_RND,
  FSL_SHW_PF_KEY_IIM,
  FSL_SHW_PF_KEY_PRG,
  FSL_SHW_PF_KEY_IIM_PRG,
  FSL_SHW_PF_KEY_IIM_RND,
  FSL_SHW_PF_KEY_RND,
  FSL_SHW_PF_KEY_IIM,
  FSL_SHW_PF_KEY_PRG,
  FSL_SHW_PF_KEY_IIM_PRG,
  FSL_SHW_PF_KEY_IIM_RND,
  FSL_SHW_PF_KEY_RND,
  FSL_SHW_PF_KEY_IIM,
  FSL_SHW_PF_KEY_PRG,
  FSL_SHW_PF_KEY_IIM_PRG,
  FSL_SHW_PF_KEY_IIM_RND,
  FSL_SHW_PF_KEY_RND
}
enum  fsl_shw_tamper_t {
  FSL_SHW_TAMPER_NONE,
  FSL_SHW_TAMPER_WTD,
  FSL_SHW_TAMPER_ETBD,
  FSL_SHW_TAMPER_ETAD,
  FSL_SHW_TAMPER_EBD,
  FSL_SHW_TAMPER_SAD,
  FSL_SHW_TAMPER_TTD,
  FSL_SHW_TAMPER_CTD,
  FSL_SHW_TAMPER_VTD,
  FSL_SHW_TAMPER_MCO,
  FSL_SHW_TAMPER_TCO,
  FSL_SHW_TAMPER_NONE,
  FSL_SHW_TAMPER_WTD,
  FSL_SHW_TAMPER_ETBD,
  FSL_SHW_TAMPER_ETAD,
  FSL_SHW_TAMPER_EBD,
  FSL_SHW_TAMPER_SAD,
  FSL_SHW_TAMPER_TTD,
  FSL_SHW_TAMPER_CTD,
  FSL_SHW_TAMPER_VTD,
  FSL_SHW_TAMPER_MCO,
  FSL_SHW_TAMPER_TCO,
  FSL_SHW_TAMPER_NONE,
  FSL_SHW_TAMPER_WTD,
  FSL_SHW_TAMPER_ETBD,
  FSL_SHW_TAMPER_ETAD,
  FSL_SHW_TAMPER_EBD,
  FSL_SHW_TAMPER_SAD,
  FSL_SHW_TAMPER_TTD,
  FSL_SHW_TAMPER_CTD,
  FSL_SHW_TAMPER_VTD,
  FSL_SHW_TAMPER_MCO,
  FSL_SHW_TAMPER_TCO,
  FSL_SHW_TAMPER_NONE,
  FSL_SHW_TAMPER_WTD,
  FSL_SHW_TAMPER_ETBD,
  FSL_SHW_TAMPER_ETAD,
  FSL_SHW_TAMPER_EBD,
  FSL_SHW_TAMPER_SAD,
  FSL_SHW_TAMPER_TTD,
  FSL_SHW_TAMPER_CTD,
  FSL_SHW_TAMPER_VTD,
  FSL_SHW_TAMPER_MCO,
  FSL_SHW_TAMPER_TCO,
  FSL_SHW_TAMPER_NONE,
  FSL_SHW_TAMPER_WTD,
  FSL_SHW_TAMPER_ETBD,
  FSL_SHW_TAMPER_ETAD,
  FSL_SHW_TAMPER_EBD,
  FSL_SHW_TAMPER_SAD,
  FSL_SHW_TAMPER_TTD,
  FSL_SHW_TAMPER_CTD,
  FSL_SHW_TAMPER_VTD,
  FSL_SHW_TAMPER_MCO,
  FSL_SHW_TAMPER_TCO
}

Detailed Description

This collection of symbols comprise the values which can be passed into various functions to control how the API will work.


Typedef Documentation

The type of Authentication-Cipher function which will be performed.

The type of Authentication-Cipher function which will be performed.

Flags which describe the state of the fsl_shw_acco_t.

The FSL_ACCO_CTX_INIT and FSL_ACCO_CTX_FINALIZE flags, when used together, provide for a one-shot operation.

Flags which describe the state of the fsl_shw_acco_t.

The FSL_ACCO_CTX_INIT and FSL_ACCO_CTX_FINALIZE flags, when used together, provide for a one-shot operation.

Modulus Selector for CTR modes.

The incrementing of the Counter value may be modified by a modulus. If no modulus is needed or desired for AES, use FSL_CTR_MOD_128.

Modulus Selector for CTR modes.

The incrementing of the Counter value may be modified by a modulus. If no modulus is needed or desired for AES, use FSL_CTR_MOD_128.

Select the cypher mode to use for partition cover/uncover operations.

They currently map directly to the values used in the SCC2 driver, but this is not guarinteed behavior.

Select the cypher mode to use for partition cover/uncover operations.

They currently map directly to the values used in the SCC2 driver, but this is not guarinteed behavior.

Algorithm selector for Cryptographic Hash functions.

Selection of algorithm determines how large the context and digest will be. Context is the same size as the digest (resulting hash), unless otherwise specified.

Algorithm selector for Cryptographic Hash functions.

Selection of algorithm determines how large the context and digest will be. Context is the same size as the digest (resulting hash), unless otherwise specified.

Flags which control a Hash operation.

These may be combined by ORing them together. See fsl_shw_hco_set_flags() and fsl_shw_hco_clear_flags().

Flags which control a Hash operation.

These may be combined by ORing them together. See fsl_shw_hco_set_flags() and fsl_shw_hco_clear_flags().

Flags which control an HMAC operation.

These may be combined by ORing them together. See fsl_shw_hmco_set_flags() and fsl_shw_hmco_clear_flags().

Flags which control an HMAC operation.

These may be combined by ORing them together. See fsl_shw_hmco_set_flags() and fsl_shw_hmco_clear_flags().

Algorithm Identifier.

Selection of algorithm will determine how large the block size of the algorithm is. Context size is the same length unless otherwise specified. Selection of algorithm also affects the allowable key length.

Algorithm Identifier.

Selection of algorithm will determine how large the block size of the algorithm is. Context size is the same length unless otherwise specified. Selection of algorithm also affects the allowable key length.

Flags which describe the state of the fsl_shw_sko_t.

These may be ORed together to get the desired effect. See fsl_shw_sko_set_flags() and fsl_shw_sko_clear_flags()

Flags which describe the state of the fsl_shw_sko_t.

These may be ORed together to get the desired effect. See fsl_shw_sko_set_flags() and fsl_shw_sko_clear_flags()

The operation which controls the behavior of fsl_shw_establish_key().

These values are passed to fsl_shw_establish_key().

The operation which controls the behavior of fsl_shw_establish_key().

These values are passed to fsl_shw_establish_key().

Permissions flags for Secure Partitions

They currently map directly to the SCC2 hardware values, but this is not guarinteed behavior.

Permissions flags for Secure Partitions

They currently map directly to the SCC2 hardware values, but this is not guarinteed behavior.

Which platform key should be presented for cryptographic use.

Which platform key should be presented for cryptographic use.

Return code for FSL_SHW library.

These codes may be returned from a function call. In non-blocking mode, they will appear as the status in a Result Object.

Return code for FSL_SHW library.

These codes may be returned from a function call. In non-blocking mode, they will appear as the status in a Result Object.

Flags to control use of the fsl_shw_scco_t.

These may be ORed together to get the desired effect. See fsl_shw_scco_set_flags() and fsl_shw_scco_clear_flags()

Flags to control use of the fsl_shw_scco_t.

These may be ORed together to get the desired effect. See fsl_shw_scco_set_flags() and fsl_shw_scco_clear_flags()

Mode selector for Symmetric Ciphers.

The selection of mode determines how a cryptographic algorithm will be used to process the plaintext or ciphertext.

For all modes which are run block-by-block (that is, all but FSL_SYM_MODE_STREAM), any partial operations must be performed on a text length which is multiple of the block size. Except for FSL_SYM_MODE_CTR, these block-by-block algorithms must also be passed a total number of octets which is a multiple of the block size.

In modes which require that the total number of octets of data be a multiple of the block size (FSL_SYM_MODE_ECB and FSL_SYM_MODE_CBC), and the user has a total number of octets which are not a multiple of the block size, the user must perform any necessary padding to get to the correct data length.

Mode selector for Symmetric Ciphers.

The selection of mode determines how a cryptographic algorithm will be used to process the plaintext or ciphertext.

For all modes which are run block-by-block (that is, all but FSL_SYM_MODE_STREAM), any partial operations must be performed on a text length which is multiple of the block size. Except for FSL_SYM_MODE_CTR, these block-by-block algorithms must also be passed a total number of octets which is a multiple of the block size.

In modes which require that the total number of octets of data be a multiple of the block size (FSL_SYM_MODE_ECB and FSL_SYM_MODE_CBC), and the user has a total number of octets which are not a multiple of the block size, the user must perform any necessary padding to get to the correct data length.

The various security tamper events

The various security tamper events

Flags for the state of the User Context Object (fsl_shw_uco_t).

These flags describe how the Operational Functions will operate.

Flags for the state of the User Context Object (fsl_shw_uco_t).

These flags describe how the Operational Functions will operate.

typedef uint64_t key_userid_t

Type of value which is associated with an established key.

typedef uint64_t key_userid_t

Type of value which is associated with an established key.


Enumeration Type Documentation

The type of Authentication-Cipher function which will be performed.

Enumerator:
FSL_ACC_MODE_CCM 

CBC-MAC for Counter. Requires context and modulus. Final operation may be non-multiple of block size. This mode may be used for AES.

FSL_ACC_MODE_SSL 

SSL mode. Not supported. Combines HMAC and encrypt (or decrypt). Needs one key object for encryption, another for the HMAC. The usual hashing and symmetric encryption algorithms are supported.

FSL_ACC_MODE_CCM 

CBC-MAC for Counter. Requires context and modulus. Final operation may be non-multiple of block size. This mode may be used for AES.

FSL_ACC_MODE_SSL 

SSL mode. Not supported. Combines HMAC and encrypt (or decrypt). Needs one key object for encryption, another for the HMAC. The usual hashing and symmetric encryption algorithms are supported.

FSL_ACC_MODE_CCM 

CBC-MAC for Counter. Requires context and modulus. Final operation may be non-multiple of block size. This mode may be used for AES.

FSL_ACC_MODE_SSL 

SSL mode. Not supported. Combines HMAC and encrypt (or decrypt). Needs one key object for encryption, another for the HMAC. The usual hashing and symmetric encryption algorithms are supported.

FSL_ACC_MODE_CCM 

CBC-MAC for Counter. Requires context and modulus. Final operation may be non-multiple of block size. This mode may be used for AES.

FSL_ACC_MODE_SSL 

SSL mode. Not supported. Combines HMAC and encrypt (or decrypt). Needs one key object for encryption, another for the HMAC. The usual hashing and symmetric encryption algorithms are supported.

FSL_ACC_MODE_CCM 

CBC-MAC for Counter. Requires context and modulus. Final operation may be non-multiple of block size. This mode may be used for AES.

FSL_ACC_MODE_SSL 

SSL mode. Not supported. Combines HMAC and encrypt (or decrypt). Needs one key object for encryption, another for the HMAC. The usual hashing and symmetric encryption algorithms are supported.

The type of Authentication-Cipher function which will be performed.

Enumerator:
FSL_ACC_MODE_CCM 

CBC-MAC for Counter. Requires context and modulus. Final operation may be non-multiple of block size. This mode may be used for AES.

FSL_ACC_MODE_SSL 

SSL mode. Not supported. Combines HMAC and encrypt (or decrypt). Needs one key object for encryption, another for the HMAC. The usual hashing and symmetric encryption algorithms are supported.

FSL_ACC_MODE_CCM 

CBC-MAC for Counter. Requires context and modulus. Final operation may be non-multiple of block size. This mode may be used for AES.

FSL_ACC_MODE_SSL 

SSL mode. Not supported. Combines HMAC and encrypt (or decrypt). Needs one key object for encryption, another for the HMAC. The usual hashing and symmetric encryption algorithms are supported.

FSL_ACC_MODE_CCM 

CBC-MAC for Counter. Requires context and modulus. Final operation may be non-multiple of block size. This mode may be used for AES.

FSL_ACC_MODE_SSL 

SSL mode. Not supported. Combines HMAC and encrypt (or decrypt). Needs one key object for encryption, another for the HMAC. The usual hashing and symmetric encryption algorithms are supported.

FSL_ACC_MODE_CCM 

CBC-MAC for Counter. Requires context and modulus. Final operation may be non-multiple of block size. This mode may be used for AES.

FSL_ACC_MODE_SSL 

SSL mode. Not supported. Combines HMAC and encrypt (or decrypt). Needs one key object for encryption, another for the HMAC. The usual hashing and symmetric encryption algorithms are supported.

FSL_ACC_MODE_CCM 

CBC-MAC for Counter. Requires context and modulus. Final operation may be non-multiple of block size. This mode may be used for AES.

FSL_ACC_MODE_SSL 

SSL mode. Not supported. Combines HMAC and encrypt (or decrypt). Needs one key object for encryption, another for the HMAC. The usual hashing and symmetric encryption algorithms are supported.

Flags which describe the state of the fsl_shw_acco_t.

The FSL_ACCO_CTX_INIT and FSL_ACCO_CTX_FINALIZE flags, when used together, provide for a one-shot operation.

Enumerator:
FSL_ACCO_CTX_INIT 

Initialize Context(s)

FSL_ACCO_CTX_LOAD 

Load intermediate context(s). This flag is unsupported.

FSL_ACCO_CTX_SAVE 

Save intermediate context(s). This flag is unsupported.

FSL_ACCO_CTX_FINALIZE 

Create MAC during this operation.

FSL_ACCO_NIST_CCM 

Formatting of CCM input data is performed by calls to fsl_shw_ccm_nist_format_ctr_and_iv() and fsl_shw_ccm_nist_update_ctr_and_iv().

FSL_ACCO_CTX_INIT 

Initialize Context(s)

FSL_ACCO_CTX_LOAD 

Load intermediate context(s). This flag is unsupported.

FSL_ACCO_CTX_SAVE 

Save intermediate context(s). This flag is unsupported.

FSL_ACCO_CTX_FINALIZE 

Create MAC during this operation.

FSL_ACCO_NIST_CCM 

Formatting of CCM input data is performed by calls to fsl_shw_ccm_nist_format_ctr_and_iv() and fsl_shw_ccm_nist_update_ctr_and_iv().

FSL_ACCO_CTX_INIT 

Initialize Context(s)

FSL_ACCO_CTX_LOAD 

Load intermediate context(s). This flag is unsupported.

FSL_ACCO_CTX_SAVE 

Save intermediate context(s). This flag is unsupported.

FSL_ACCO_CTX_FINALIZE 

Create MAC during this operation.

FSL_ACCO_NIST_CCM 

Formatting of CCM input data is performed by calls to fsl_shw_ccm_nist_format_ctr_and_iv() and fsl_shw_ccm_nist_update_ctr_and_iv().

FSL_ACCO_CTX_INIT 

Initialize Context(s)

FSL_ACCO_CTX_LOAD 

Load intermediate context(s). This flag is unsupported.

FSL_ACCO_CTX_SAVE 

Save intermediate context(s). This flag is unsupported.

FSL_ACCO_CTX_FINALIZE 

Create MAC during this operation.

FSL_ACCO_NIST_CCM 

Formatting of CCM input data is performed by calls to fsl_shw_ccm_nist_format_ctr_and_iv() and fsl_shw_ccm_nist_update_ctr_and_iv().

Flags which describe the state of the fsl_shw_acco_t.

The FSL_ACCO_CTX_INIT and FSL_ACCO_CTX_FINALIZE flags, when used together, provide for a one-shot operation.

Enumerator:
FSL_ACCO_CTX_INIT 

Initialize Context(s)

FSL_ACCO_CTX_LOAD 

Load intermediate context(s). This flag is unsupported.

FSL_ACCO_CTX_SAVE 

Save intermediate context(s). This flag is unsupported.

FSL_ACCO_CTX_FINALIZE 

Create MAC during this operation.

FSL_ACCO_NIST_CCM 

Formatting of CCM input data is performed by calls to fsl_shw_ccm_nist_format_ctr_and_iv() and fsl_shw_ccm_nist_update_ctr_and_iv().

FSL_ACCO_CTX_INIT 

Initialize Context(s)

FSL_ACCO_CTX_LOAD 

Load intermediate context(s). This flag is unsupported.

FSL_ACCO_CTX_SAVE 

Save intermediate context(s). This flag is unsupported.

FSL_ACCO_CTX_FINALIZE 

Create MAC during this operation.

FSL_ACCO_NIST_CCM 

Formatting of CCM input data is performed by calls to fsl_shw_ccm_nist_format_ctr_and_iv() and fsl_shw_ccm_nist_update_ctr_and_iv().

FSL_ACCO_CTX_INIT 

Initialize Context(s)

FSL_ACCO_CTX_LOAD 

Load intermediate context(s). This flag is unsupported.

FSL_ACCO_CTX_SAVE 

Save intermediate context(s). This flag is unsupported.

FSL_ACCO_CTX_FINALIZE 

Create MAC during this operation.

FSL_ACCO_NIST_CCM 

Formatting of CCM input data is performed by calls to fsl_shw_ccm_nist_format_ctr_and_iv() and fsl_shw_ccm_nist_update_ctr_and_iv().

FSL_ACCO_CTX_INIT 

Initialize Context(s)

FSL_ACCO_CTX_LOAD 

Load intermediate context(s). This flag is unsupported.

FSL_ACCO_CTX_SAVE 

Save intermediate context(s). This flag is unsupported.

FSL_ACCO_CTX_FINALIZE 

Create MAC during this operation.

FSL_ACCO_NIST_CCM 

Formatting of CCM input data is performed by calls to fsl_shw_ccm_nist_format_ctr_and_iv() and fsl_shw_ccm_nist_update_ctr_and_iv().

Modulus Selector for CTR modes.

The incrementing of the Counter value may be modified by a modulus. If no modulus is needed or desired for AES, use FSL_CTR_MOD_128.

Enumerator:
FSL_CTR_MOD_8 

Run counter with modulus of 2^8.

FSL_CTR_MOD_16 

Run counter with modulus of 2^16.

FSL_CTR_MOD_24 

Run counter with modulus of 2^24.

FSL_CTR_MOD_32 

Run counter with modulus of 2^32.

FSL_CTR_MOD_40 

Run counter with modulus of 2^40.

FSL_CTR_MOD_48 

Run counter with modulus of 2^48.

FSL_CTR_MOD_56 

Run counter with modulus of 2^56.

FSL_CTR_MOD_64 

Run counter with modulus of 2^64.

FSL_CTR_MOD_72 

Run counter with modulus of 2^72.

FSL_CTR_MOD_80 

Run counter with modulus of 2^80.

FSL_CTR_MOD_88 

Run counter with modulus of 2^88.

FSL_CTR_MOD_96 

Run counter with modulus of 2^96.

FSL_CTR_MOD_104 

Run counter with modulus of 2^104.

FSL_CTR_MOD_112 

Run counter with modulus of 2^112.

FSL_CTR_MOD_120 

Run counter with modulus of 2^120.

FSL_CTR_MOD_128 

Run counter with modulus of 2^128.

FSL_CTR_MOD_8 

Run counter with modulus of 2^8.

FSL_CTR_MOD_16 

Run counter with modulus of 2^16.

FSL_CTR_MOD_24 

Run counter with modulus of 2^24.

FSL_CTR_MOD_32 

Run counter with modulus of 2^32.

FSL_CTR_MOD_40 

Run counter with modulus of 2^40.

FSL_CTR_MOD_48 

Run counter with modulus of 2^48.

FSL_CTR_MOD_56 

Run counter with modulus of 2^56.

FSL_CTR_MOD_64 

Run counter with modulus of 2^64.

FSL_CTR_MOD_72 

Run counter with modulus of 2^72.

FSL_CTR_MOD_80 

Run counter with modulus of 2^80.

FSL_CTR_MOD_88 

Run counter with modulus of 2^88.

FSL_CTR_MOD_96 

Run counter with modulus of 2^96.

FSL_CTR_MOD_104 

Run counter with modulus of 2^104.

FSL_CTR_MOD_112 

Run counter with modulus of 2^112.

FSL_CTR_MOD_120 

Run counter with modulus of 2^120.

FSL_CTR_MOD_128 

Run counter with modulus of 2^128.

FSL_CTR_MOD_8 

Run counter with modulus of 2^8.

FSL_CTR_MOD_16 

Run counter with modulus of 2^16.

FSL_CTR_MOD_24 

Run counter with modulus of 2^24.

FSL_CTR_MOD_32 

Run counter with modulus of 2^32.

FSL_CTR_MOD_40 

Run counter with modulus of 2^40.

FSL_CTR_MOD_48 

Run counter with modulus of 2^48.

FSL_CTR_MOD_56 

Run counter with modulus of 2^56.

FSL_CTR_MOD_64 

Run counter with modulus of 2^64.

FSL_CTR_MOD_72 

Run counter with modulus of 2^72.

FSL_CTR_MOD_80 

Run counter with modulus of 2^80.

FSL_CTR_MOD_88 

Run counter with modulus of 2^88.

FSL_CTR_MOD_96 

Run counter with modulus of 2^96.

FSL_CTR_MOD_104 

Run counter with modulus of 2^104.

FSL_CTR_MOD_112 

Run counter with modulus of 2^112.

FSL_CTR_MOD_120 

Run counter with modulus of 2^120.

FSL_CTR_MOD_128 

Run counter with modulus of 2^128.

FSL_CTR_MOD_8 

Run counter with modulus of 2^8.

FSL_CTR_MOD_16 

Run counter with modulus of 2^16.

FSL_CTR_MOD_24 

Run counter with modulus of 2^24.

FSL_CTR_MOD_32 

Run counter with modulus of 2^32.

FSL_CTR_MOD_40 

Run counter with modulus of 2^40.

FSL_CTR_MOD_48 

Run counter with modulus of 2^48.

FSL_CTR_MOD_56 

Run counter with modulus of 2^56.

FSL_CTR_MOD_64 

Run counter with modulus of 2^64.

FSL_CTR_MOD_72 

Run counter with modulus of 2^72.

FSL_CTR_MOD_80 

Run counter with modulus of 2^80.

FSL_CTR_MOD_88 

Run counter with modulus of 2^88.

FSL_CTR_MOD_96 

Run counter with modulus of 2^96.

FSL_CTR_MOD_104 

Run counter with modulus of 2^104.

FSL_CTR_MOD_112 

Run counter with modulus of 2^112.

FSL_CTR_MOD_120 

Run counter with modulus of 2^120.

FSL_CTR_MOD_128 

Run counter with modulus of 2^128.

Modulus Selector for CTR modes.

The incrementing of the Counter value may be modified by a modulus. If no modulus is needed or desired for AES, use FSL_CTR_MOD_128.

Enumerator:
FSL_CTR_MOD_8 

Run counter with modulus of 2^8.

FSL_CTR_MOD_16 

Run counter with modulus of 2^16.

FSL_CTR_MOD_24 

Run counter with modulus of 2^24.

FSL_CTR_MOD_32 

Run counter with modulus of 2^32.

FSL_CTR_MOD_40 

Run counter with modulus of 2^40.

FSL_CTR_MOD_48 

Run counter with modulus of 2^48.

FSL_CTR_MOD_56 

Run counter with modulus of 2^56.

FSL_CTR_MOD_64 

Run counter with modulus of 2^64.

FSL_CTR_MOD_72 

Run counter with modulus of 2^72.

FSL_CTR_MOD_80 

Run counter with modulus of 2^80.

FSL_CTR_MOD_88 

Run counter with modulus of 2^88.

FSL_CTR_MOD_96 

Run counter with modulus of 2^96.

FSL_CTR_MOD_104 

Run counter with modulus of 2^104.

FSL_CTR_MOD_112 

Run counter with modulus of 2^112.

FSL_CTR_MOD_120 

Run counter with modulus of 2^120.

FSL_CTR_MOD_128 

Run counter with modulus of 2^128.

FSL_CTR_MOD_8 

Run counter with modulus of 2^8.

FSL_CTR_MOD_16 

Run counter with modulus of 2^16.

FSL_CTR_MOD_24 

Run counter with modulus of 2^24.

FSL_CTR_MOD_32 

Run counter with modulus of 2^32.

FSL_CTR_MOD_40 

Run counter with modulus of 2^40.

FSL_CTR_MOD_48 

Run counter with modulus of 2^48.

FSL_CTR_MOD_56 

Run counter with modulus of 2^56.

FSL_CTR_MOD_64 

Run counter with modulus of 2^64.

FSL_CTR_MOD_72 

Run counter with modulus of 2^72.

FSL_CTR_MOD_80 

Run counter with modulus of 2^80.

FSL_CTR_MOD_88 

Run counter with modulus of 2^88.

FSL_CTR_MOD_96 

Run counter with modulus of 2^96.

FSL_CTR_MOD_104 

Run counter with modulus of 2^104.

FSL_CTR_MOD_112 

Run counter with modulus of 2^112.

FSL_CTR_MOD_120 

Run counter with modulus of 2^120.

FSL_CTR_MOD_128 

Run counter with modulus of 2^128.

FSL_CTR_MOD_8 

Run counter with modulus of 2^8.

FSL_CTR_MOD_16 

Run counter with modulus of 2^16.

FSL_CTR_MOD_24 

Run counter with modulus of 2^24.

FSL_CTR_MOD_32 

Run counter with modulus of 2^32.

FSL_CTR_MOD_40 

Run counter with modulus of 2^40.

FSL_CTR_MOD_48 

Run counter with modulus of 2^48.

FSL_CTR_MOD_56 

Run counter with modulus of 2^56.

FSL_CTR_MOD_64 

Run counter with modulus of 2^64.

FSL_CTR_MOD_72 

Run counter with modulus of 2^72.

FSL_CTR_MOD_80 

Run counter with modulus of 2^80.

FSL_CTR_MOD_88 

Run counter with modulus of 2^88.

FSL_CTR_MOD_96 

Run counter with modulus of 2^96.

FSL_CTR_MOD_104 

Run counter with modulus of 2^104.

FSL_CTR_MOD_112 

Run counter with modulus of 2^112.

FSL_CTR_MOD_120 

Run counter with modulus of 2^120.

FSL_CTR_MOD_128 

Run counter with modulus of 2^128.

FSL_CTR_MOD_8 

Run counter with modulus of 2^8.

FSL_CTR_MOD_16 

Run counter with modulus of 2^16.

FSL_CTR_MOD_24 

Run counter with modulus of 2^24.

FSL_CTR_MOD_32 

Run counter with modulus of 2^32.

FSL_CTR_MOD_40 

Run counter with modulus of 2^40.

FSL_CTR_MOD_48 

Run counter with modulus of 2^48.

FSL_CTR_MOD_56 

Run counter with modulus of 2^56.

FSL_CTR_MOD_64 

Run counter with modulus of 2^64.

FSL_CTR_MOD_72 

Run counter with modulus of 2^72.

FSL_CTR_MOD_80 

Run counter with modulus of 2^80.

FSL_CTR_MOD_88 

Run counter with modulus of 2^88.

FSL_CTR_MOD_96 

Run counter with modulus of 2^96.

FSL_CTR_MOD_104 

Run counter with modulus of 2^104.

FSL_CTR_MOD_112 

Run counter with modulus of 2^112.

FSL_CTR_MOD_120 

Run counter with modulus of 2^120.

FSL_CTR_MOD_128 

Run counter with modulus of 2^128.

Select the cypher mode to use for partition cover/uncover operations.

They currently map directly to the values used in the SCC2 driver, but this is not guarinteed behavior.

Enumerator:
FSL_SHW_CYPHER_MODE_ECB 

ECB mode

FSL_SHW_CYPHER_MODE_CBC 

CBC mode

FSL_SHW_CYPHER_MODE_ECB 

ECB mode

FSL_SHW_CYPHER_MODE_CBC 

CBC mode

FSL_SHW_CYPHER_MODE_ECB 

ECB mode

FSL_SHW_CYPHER_MODE_CBC 

CBC mode

FSL_SHW_CYPHER_MODE_ECB 

ECB mode

FSL_SHW_CYPHER_MODE_CBC 

CBC mode

FSL_SHW_CYPHER_MODE_ECB 

ECB mode

FSL_SHW_CYPHER_MODE_CBC 

CBC mode

Select the cypher mode to use for partition cover/uncover operations.

They currently map directly to the values used in the SCC2 driver, but this is not guarinteed behavior.

Enumerator:
FSL_SHW_CYPHER_MODE_ECB 

ECB mode

FSL_SHW_CYPHER_MODE_CBC 

CBC mode

FSL_SHW_CYPHER_MODE_ECB 

ECB mode

FSL_SHW_CYPHER_MODE_CBC 

CBC mode

FSL_SHW_CYPHER_MODE_ECB 

ECB mode

FSL_SHW_CYPHER_MODE_CBC 

CBC mode

FSL_SHW_CYPHER_MODE_ECB 

ECB mode

FSL_SHW_CYPHER_MODE_CBC 

CBC mode

FSL_SHW_CYPHER_MODE_ECB 

ECB mode

FSL_SHW_CYPHER_MODE_CBC 

CBC mode

Algorithm selector for Cryptographic Hash functions.

Selection of algorithm determines how large the context and digest will be. Context is the same size as the digest (resulting hash), unless otherwise specified.

Enumerator:
FSL_HASH_ALG_MD5 

MD5 algorithm. Digest is 16 octets.

FSL_HASH_ALG_SHA1 

SHA-1 (aka SHA or SHA-160) algorithm. Digest is 20 octets.

FSL_HASH_ALG_SHA224 

SHA-224 algorithm. Digest is 28 octets, though context is 32 octets.

FSL_HASH_ALG_SHA256 

SHA-256 algorithm. Digest is 32 octets.

FSL_HASH_ALG_MD5 

MD5 algorithm. Digest is 16 octets.

FSL_HASH_ALG_SHA1 

SHA-1 (aka SHA or SHA-160) algorithm. Digest is 20 octets.

FSL_HASH_ALG_SHA224 

SHA-224 algorithm. Digest is 28 octets, though context is 32 octets.

FSL_HASH_ALG_SHA256 

SHA-256 algorithm. Digest is 32 octets.

FSL_HASH_ALG_MD5 

MD5 algorithm. Digest is 16 octets.

FSL_HASH_ALG_SHA1 

SHA-1 (aka SHA or SHA-160) algorithm. Digest is 20 octets.

FSL_HASH_ALG_SHA224 

SHA-224 algorithm. Digest is 28 octets, though context is 32 octets.

FSL_HASH_ALG_SHA256 

SHA-256 algorithm. Digest is 32 octets.

FSL_HASH_ALG_MD5 

MD5 algorithm. Digest is 16 octets.

FSL_HASH_ALG_SHA1 

SHA-1 (aka SHA or SHA-160) algorithm. Digest is 20 octets.

FSL_HASH_ALG_SHA224 

SHA-224 algorithm. Digest is 28 octets, though context is 32 octets.

FSL_HASH_ALG_SHA256 

SHA-256 algorithm. Digest is 32 octets.

FSL_HASH_ALG_MD5 

MD5 algorithm. Digest is 16 octets.

FSL_HASH_ALG_SHA1 

SHA-1 (aka SHA or SHA-160) algorithm. Digest is 20 octets.

FSL_HASH_ALG_SHA224 

SHA-224 algorithm. Digest is 28 octets, though context is 32 octets.

FSL_HASH_ALG_SHA256 

SHA-256 algorithm. Digest is 32 octets.

Algorithm selector for Cryptographic Hash functions.

Selection of algorithm determines how large the context and digest will be. Context is the same size as the digest (resulting hash), unless otherwise specified.

Enumerator:
FSL_HASH_ALG_MD5 

MD5 algorithm. Digest is 16 octets.

FSL_HASH_ALG_SHA1 

SHA-1 (aka SHA or SHA-160) algorithm. Digest is 20 octets.

FSL_HASH_ALG_SHA224 

SHA-224 algorithm. Digest is 28 octets, though context is 32 octets.

FSL_HASH_ALG_SHA256 

SHA-256 algorithm. Digest is 32 octets.

FSL_HASH_ALG_MD5 

MD5 algorithm. Digest is 16 octets.

FSL_HASH_ALG_SHA1 

SHA-1 (aka SHA or SHA-160) algorithm. Digest is 20 octets.

FSL_HASH_ALG_SHA224 

SHA-224 algorithm. Digest is 28 octets, though context is 32 octets.

FSL_HASH_ALG_SHA256 

SHA-256 algorithm. Digest is 32 octets.

FSL_HASH_ALG_MD5 

MD5 algorithm. Digest is 16 octets.

FSL_HASH_ALG_SHA1 

SHA-1 (aka SHA or SHA-160) algorithm. Digest is 20 octets.

FSL_HASH_ALG_SHA224 

SHA-224 algorithm. Digest is 28 octets, though context is 32 octets.

FSL_HASH_ALG_SHA256 

SHA-256 algorithm. Digest is 32 octets.

FSL_HASH_ALG_MD5 

MD5 algorithm. Digest is 16 octets.

FSL_HASH_ALG_SHA1 

SHA-1 (aka SHA or SHA-160) algorithm. Digest is 20 octets.

FSL_HASH_ALG_SHA224 

SHA-224 algorithm. Digest is 28 octets, though context is 32 octets.

FSL_HASH_ALG_SHA256 

SHA-256 algorithm. Digest is 32 octets.

FSL_HASH_ALG_MD5 

MD5 algorithm. Digest is 16 octets.

FSL_HASH_ALG_SHA1 

SHA-1 (aka SHA or SHA-160) algorithm. Digest is 20 octets.

FSL_HASH_ALG_SHA224 

SHA-224 algorithm. Digest is 28 octets, though context is 32 octets.

FSL_HASH_ALG_SHA256 

SHA-256 algorithm. Digest is 32 octets.

Flags which control a Hash operation.

These may be combined by ORing them together. See fsl_shw_hco_set_flags() and fsl_shw_hco_clear_flags().

Enumerator:
FSL_HASH_FLAGS_INIT 

Context is empty. Hash is started from scratch, with a message-processed count of zero.

FSL_HASH_FLAGS_SAVE 

Retrieve context from hardware after hashing. If used with the FSL_HASH_FLAGS_FINALIZE flag, the final digest value will be saved in the object.

FSL_HASH_FLAGS_LOAD 

Place context into hardware before hashing.

FSL_HASH_FLAGS_FINALIZE 

PAD message and perform final digest operation. If user message is pre-padded, this flag should not be used.

FSL_HASH_FLAGS_INIT 

Context is empty. Hash is started from scratch, with a message-processed count of zero.

FSL_HASH_FLAGS_SAVE 

Retrieve context from hardware after hashing. If used with the FSL_HASH_FLAGS_FINALIZE flag, the final digest value will be saved in the object.

FSL_HASH_FLAGS_LOAD 

Place context into hardware before hashing.

FSL_HASH_FLAGS_FINALIZE 

PAD message and perform final digest operation. If user message is pre-padded, this flag should not be used.

FSL_HASH_FLAGS_INIT 

Context is empty. Hash is started from scratch, with a message-processed count of zero.

FSL_HASH_FLAGS_SAVE 

Retrieve context from hardware after hashing. If used with the FSL_HASH_FLAGS_FINALIZE flag, the final digest value will be saved in the object.

FSL_HASH_FLAGS_LOAD 

Place context into hardware before hashing.

FSL_HASH_FLAGS_FINALIZE 

PAD message and perform final digest operation. If user message is pre-padded, this flag should not be used.

FSL_HASH_FLAGS_INIT 

Context is empty. Hash is started from scratch, with a message-processed count of zero.

FSL_HASH_FLAGS_SAVE 

Retrieve context from hardware after hashing. If used with the FSL_HASH_FLAGS_FINALIZE flag, the final digest value will be saved in the object.

FSL_HASH_FLAGS_LOAD 

Place context into hardware before hashing.

FSL_HASH_FLAGS_FINALIZE 

PAD message and perform final digest operation. If user message is pre-padded, this flag should not be used.

FSL_HASH_FLAGS_INIT 

Context is empty. Hash is started from scratch, with a message-processed count of zero.

FSL_HASH_FLAGS_SAVE 

Retrieve context from hardware after hashing. If used with the FSL_HASH_FLAGS_FINALIZE flag, the final digest value will be saved in the object.

FSL_HASH_FLAGS_LOAD 

Place context into hardware before hashing.

FSL_HASH_FLAGS_FINALIZE 

PAD message and perform final digest operation. If user message is pre-padded, this flag should not be used.

Flags which control a Hash operation.

These may be combined by ORing them together. See fsl_shw_hco_set_flags() and fsl_shw_hco_clear_flags().

Enumerator:
FSL_HASH_FLAGS_INIT 

Context is empty. Hash is started from scratch, with a message-processed count of zero.

FSL_HASH_FLAGS_SAVE 

Retrieve context from hardware after hashing. If used with the FSL_HASH_FLAGS_FINALIZE flag, the final digest value will be saved in the object.

FSL_HASH_FLAGS_LOAD 

Place context into hardware before hashing.

FSL_HASH_FLAGS_FINALIZE 

PAD message and perform final digest operation. If user message is pre-padded, this flag should not be used.

FSL_HASH_FLAGS_INIT 

Context is empty. Hash is started from scratch, with a message-processed count of zero.

FSL_HASH_FLAGS_SAVE 

Retrieve context from hardware after hashing. If used with the FSL_HASH_FLAGS_FINALIZE flag, the final digest value will be saved in the object.

FSL_HASH_FLAGS_LOAD 

Place context into hardware before hashing.

FSL_HASH_FLAGS_FINALIZE 

PAD message and perform final digest operation. If user message is pre-padded, this flag should not be used.

FSL_HASH_FLAGS_INIT 

Context is empty. Hash is started from scratch, with a message-processed count of zero.

FSL_HASH_FLAGS_SAVE 

Retrieve context from hardware after hashing. If used with the FSL_HASH_FLAGS_FINALIZE flag, the final digest value will be saved in the object.

FSL_HASH_FLAGS_LOAD 

Place context into hardware before hashing.

FSL_HASH_FLAGS_FINALIZE 

PAD message and perform final digest operation. If user message is pre-padded, this flag should not be used.

FSL_HASH_FLAGS_INIT 

Context is empty. Hash is started from scratch, with a message-processed count of zero.

FSL_HASH_FLAGS_SAVE 

Retrieve context from hardware after hashing. If used with the FSL_HASH_FLAGS_FINALIZE flag, the final digest value will be saved in the object.

FSL_HASH_FLAGS_LOAD 

Place context into hardware before hashing.

FSL_HASH_FLAGS_FINALIZE 

PAD message and perform final digest operation. If user message is pre-padded, this flag should not be used.

FSL_HASH_FLAGS_INIT 

Context is empty. Hash is started from scratch, with a message-processed count of zero.

FSL_HASH_FLAGS_SAVE 

Retrieve context from hardware after hashing. If used with the FSL_HASH_FLAGS_FINALIZE flag, the final digest value will be saved in the object.

FSL_HASH_FLAGS_LOAD 

Place context into hardware before hashing.

FSL_HASH_FLAGS_FINALIZE 

PAD message and perform final digest operation. If user message is pre-padded, this flag should not be used.

Flags which control an HMAC operation.

These may be combined by ORing them together. See fsl_shw_hmco_set_flags() and fsl_shw_hmco_clear_flags().

Enumerator:
FSL_HMAC_FLAGS_INIT 

Message context is empty. HMAC is started from scratch (with key) or from precompute of inner hash, depending on whether FSL_HMAC_FLAGS_PRECOMPUTES_PRESENT is set.

FSL_HMAC_FLAGS_SAVE 

Retrieve ongoing context from hardware after hashing. If used with the FSL_HMAC_FLAGS_FINALIZE flag, the final digest value (HMAC) will be saved in the object.

FSL_HMAC_FLAGS_LOAD 

Place ongoing context into hardware before hashing.

FSL_HMAC_FLAGS_FINALIZE 

PAD message and perform final HMAC operations of inner and outer hashes.

FSL_HMAC_FLAGS_PRECOMPUTES_PRESENT 

This means that the context contains precomputed inner and outer hash values.

FSL_HMAC_FLAGS_INIT 

Message context is empty. HMAC is started from scratch (with key) or from precompute of inner hash, depending on whether FSL_HMAC_FLAGS_PRECOMPUTES_PRESENT is set.

FSL_HMAC_FLAGS_SAVE 

Retrieve ongoing context from hardware after hashing. If used with the FSL_HMAC_FLAGS_FINALIZE flag, the final digest value (HMAC) will be saved in the object.

FSL_HMAC_FLAGS_LOAD 

Place ongoing context into hardware before hashing.

FSL_HMAC_FLAGS_FINALIZE 

PAD message and perform final HMAC operations of inner and outer hashes.

FSL_HMAC_FLAGS_PRECOMPUTES_PRESENT 

This means that the context contains precomputed inner and outer hash values.

FSL_HMAC_FLAGS_INIT 

Message context is empty. HMAC is started from scratch (with key) or from precompute of inner hash, depending on whether FSL_HMAC_FLAGS_PRECOMPUTES_PRESENT is set.

FSL_HMAC_FLAGS_SAVE 

Retrieve ongoing context from hardware after hashing. If used with the FSL_HMAC_FLAGS_FINALIZE flag, the final digest value (HMAC) will be saved in the object.

FSL_HMAC_FLAGS_LOAD 

Place ongoing context into hardware before hashing.

FSL_HMAC_FLAGS_FINALIZE 

PAD message and perform final HMAC operations of inner and outer hashes.

FSL_HMAC_FLAGS_PRECOMPUTES_PRESENT 

This means that the context contains precomputed inner and outer hash values.

FSL_HMAC_FLAGS_INIT 

Message context is empty. HMAC is started from scratch (with key) or from precompute of inner hash, depending on whether FSL_HMAC_FLAGS_PRECOMPUTES_PRESENT is set.

FSL_HMAC_FLAGS_SAVE 

Retrieve ongoing context from hardware after hashing. If used with the FSL_HMAC_FLAGS_FINALIZE flag, the final digest value (HMAC) will be saved in the object.

FSL_HMAC_FLAGS_LOAD 

Place ongoing context into hardware before hashing.

FSL_HMAC_FLAGS_FINALIZE 

PAD message and perform final HMAC operations of inner and outer hashes.

FSL_HMAC_FLAGS_PRECOMPUTES_PRESENT 

This means that the context contains precomputed inner and outer hash values.

Flags which control an HMAC operation.

These may be combined by ORing them together. See fsl_shw_hmco_set_flags() and fsl_shw_hmco_clear_flags().

Enumerator:
FSL_HMAC_FLAGS_INIT 

Message context is empty. HMAC is started from scratch (with key) or from precompute of inner hash, depending on whether FSL_HMAC_FLAGS_PRECOMPUTES_PRESENT is set.

FSL_HMAC_FLAGS_SAVE 

Retrieve ongoing context from hardware after hashing. If used with the FSL_HMAC_FLAGS_FINALIZE flag, the final digest value (HMAC) will be saved in the object.

FSL_HMAC_FLAGS_LOAD 

Place ongoing context into hardware before hashing.

FSL_HMAC_FLAGS_FINALIZE 

PAD message and perform final HMAC operations of inner and outer hashes.

FSL_HMAC_FLAGS_PRECOMPUTES_PRESENT 

This means that the context contains precomputed inner and outer hash values.

FSL_HMAC_FLAGS_INIT 

Message context is empty. HMAC is started from scratch (with key) or from precompute of inner hash, depending on whether FSL_HMAC_FLAGS_PRECOMPUTES_PRESENT is set.

FSL_HMAC_FLAGS_SAVE 

Retrieve ongoing context from hardware after hashing. If used with the FSL_HMAC_FLAGS_FINALIZE flag, the final digest value (HMAC) will be saved in the object.

FSL_HMAC_FLAGS_LOAD 

Place ongoing context into hardware before hashing.

FSL_HMAC_FLAGS_FINALIZE 

PAD message and perform final HMAC operations of inner and outer hashes.

FSL_HMAC_FLAGS_PRECOMPUTES_PRESENT 

This means that the context contains precomputed inner and outer hash values.

FSL_HMAC_FLAGS_INIT 

Message context is empty. HMAC is started from scratch (with key) or from precompute of inner hash, depending on whether FSL_HMAC_FLAGS_PRECOMPUTES_PRESENT is set.

FSL_HMAC_FLAGS_SAVE 

Retrieve ongoing context from hardware after hashing. If used with the FSL_HMAC_FLAGS_FINALIZE flag, the final digest value (HMAC) will be saved in the object.

FSL_HMAC_FLAGS_LOAD 

Place ongoing context into hardware before hashing.

FSL_HMAC_FLAGS_FINALIZE 

PAD message and perform final HMAC operations of inner and outer hashes.

FSL_HMAC_FLAGS_PRECOMPUTES_PRESENT 

This means that the context contains precomputed inner and outer hash values.

FSL_HMAC_FLAGS_INIT 

Message context is empty. HMAC is started from scratch (with key) or from precompute of inner hash, depending on whether FSL_HMAC_FLAGS_PRECOMPUTES_PRESENT is set.

FSL_HMAC_FLAGS_SAVE 

Retrieve ongoing context from hardware after hashing. If used with the FSL_HMAC_FLAGS_FINALIZE flag, the final digest value (HMAC) will be saved in the object.

FSL_HMAC_FLAGS_LOAD 

Place ongoing context into hardware before hashing.

FSL_HMAC_FLAGS_FINALIZE 

PAD message and perform final HMAC operations of inner and outer hashes.

FSL_HMAC_FLAGS_PRECOMPUTES_PRESENT 

This means that the context contains precomputed inner and outer hash values.

Algorithm Identifier.

Selection of algorithm will determine how large the block size of the algorithm is. Context size is the same length unless otherwise specified. Selection of algorithm also affects the allowable key length.

Enumerator:
FSL_KEY_ALG_HMAC 

Key will be used to perform an HMAC. Key size is 1 to 64 octets. Block size is 64 octets.

FSL_KEY_ALG_AES 

Advanced Encryption Standard (Rijndael). Block size is 16 octets. Key size is 16 octets. (The single choice of key size is a Sahara platform limitation.)

FSL_KEY_ALG_DES 

Data Encryption Standard. Block size is 8 octets. Key size is 8 octets.

FSL_KEY_ALG_TDES 

2- or 3-key Triple DES. Block size is 8 octets. Key size is 16 octets for 2-key Triple DES, and 24 octets for 3-key.

FSL_KEY_ALG_ARC4 

ARC4. No block size. Context size is 259 octets. Allowed key size is 1-16 octets. (The choices for key size are a Sahara platform limitation.)

FSL_KEY_ALG_HMAC 

Key will be used to perform an HMAC. Key size is 1 to 64 octets. Block size is 64 octets.

FSL_KEY_ALG_AES 

Advanced Encryption Standard (Rijndael). Block size is 16 octets. Key size is 16 octets. (The single choice of key size is a Sahara platform limitation.)

FSL_KEY_ALG_DES 

Data Encryption Standard. Block size is 8 octets. Key size is 8 octets.

FSL_KEY_ALG_TDES 

2- or 3-key Triple DES. Block size is 8 octets. Key size is 16 octets for 2-key Triple DES, and 24 octets for 3-key.

FSL_KEY_ALG_ARC4 

ARC4. No block size. Context size is 259 octets. Allowed key size is 1-16 octets. (The choices for key size are a Sahara platform limitation.)

FSL_KEY_ALG_HMAC 

Key will be used to perform an HMAC. Key size is 1 to 64 octets. Block size is 64 octets.

FSL_KEY_ALG_AES 

Advanced Encryption Standard (Rijndael). Block size is 16 octets. Key size is 16 octets. (The single choice of key size is a Sahara platform limitation.)

FSL_KEY_ALG_DES 

Data Encryption Standard. Block size is 8 octets. Key size is 8 octets.

FSL_KEY_ALG_TDES 

2- or 3-key Triple DES. Block size is 8 octets. Key size is 16 octets for 2-key Triple DES, and 24 octets for 3-key.

FSL_KEY_ALG_ARC4 

ARC4. No block size. Context size is 259 octets. Allowed key size is 1-16 octets. (The choices for key size are a Sahara platform limitation.)

FSL_KEY_PK_PRIVATE 

Private key of a public-private key-pair. Max is 512 bits...

FSL_KEY_ALG_HMAC 

Key will be used to perform an HMAC. Key size is 1 to 64 octets. Block size is 64 octets.

FSL_KEY_ALG_AES 

Advanced Encryption Standard (Rijndael). Block size is 16 octets. Key size is 16 octets. (The single choice of key size is a Sahara platform limitation.)

FSL_KEY_ALG_DES 

Data Encryption Standard. Block size is 8 octets. Key size is 8 octets.

FSL_KEY_ALG_TDES 

2- or 3-key Triple DES. Block size is 8 octets. Key size is 16 octets for 2-key Triple DES, and 24 octets for 3-key.

FSL_KEY_ALG_ARC4 

ARC4. No block size. Context size is 259 octets. Allowed key size is 1-16 octets. (The choices for key size are a Sahara platform limitation.)

FSL_KEY_ALG_HMAC 

Key will be used to perform an HMAC. Key size is 1 to 64 octets. Block size is 64 octets.

FSL_KEY_ALG_AES 

Advanced Encryption Standard (Rijndael). Block size is 16 octets. Key size is 16 octets. (The single choice of key size is a Sahara platform limitation.)

FSL_KEY_ALG_DES 

Data Encryption Standard. Block size is 8 octets. Key size is 8 octets.

FSL_KEY_ALG_TDES 

2- or 3-key Triple DES. Block size is 8 octets. Key size is 16 octets for 2-key Triple DES, and 24 octets for 3-key.

FSL_KEY_ALG_ARC4 

ARC4. No block size. Context size is 259 octets. Allowed key size is 1-16 octets. (The choices for key size are a Sahara platform limitation.)

FSL_KEY_PK_PRIVATE 

Private key of a public-private key-pair. Max is 512 bits...

Algorithm Identifier.

Selection of algorithm will determine how large the block size of the algorithm is. Context size is the same length unless otherwise specified. Selection of algorithm also affects the allowable key length.

Enumerator:
FSL_KEY_ALG_HMAC 

Key will be used to perform an HMAC. Key size is 1 to 64 octets. Block size is 64 octets.

FSL_KEY_ALG_AES 

Advanced Encryption Standard (Rijndael). Block size is 16 octets. Key size is 16 octets. (The single choice of key size is a Sahara platform limitation.)

FSL_KEY_ALG_DES 

Data Encryption Standard. Block size is 8 octets. Key size is 8 octets.

FSL_KEY_ALG_TDES 

2- or 3-key Triple DES. Block size is 8 octets. Key size is 16 octets for 2-key Triple DES, and 24 octets for 3-key.

FSL_KEY_ALG_ARC4 

ARC4. No block size. Context size is 259 octets. Allowed key size is 1-16 octets. (The choices for key size are a Sahara platform limitation.)

FSL_KEY_ALG_HMAC 

Key will be used to perform an HMAC. Key size is 1 to 64 octets. Block size is 64 octets.

FSL_KEY_ALG_AES 

Advanced Encryption Standard (Rijndael). Block size is 16 octets. Key size is 16 octets. (The single choice of key size is a Sahara platform limitation.)

FSL_KEY_ALG_DES 

Data Encryption Standard. Block size is 8 octets. Key size is 8 octets.

FSL_KEY_ALG_TDES 

2- or 3-key Triple DES. Block size is 8 octets. Key size is 16 octets for 2-key Triple DES, and 24 octets for 3-key.

FSL_KEY_ALG_ARC4 

ARC4. No block size. Context size is 259 octets. Allowed key size is 1-16 octets. (The choices for key size are a Sahara platform limitation.)

FSL_KEY_ALG_HMAC 

Key will be used to perform an HMAC. Key size is 1 to 64 octets. Block size is 64 octets.

FSL_KEY_ALG_AES 

Advanced Encryption Standard (Rijndael). Block size is 16 octets. Key size is 16 octets. (The single choice of key size is a Sahara platform limitation.)

FSL_KEY_ALG_DES 

Data Encryption Standard. Block size is 8 octets. Key size is 8 octets.

FSL_KEY_ALG_TDES 

2- or 3-key Triple DES. Block size is 8 octets. Key size is 16 octets for 2-key Triple DES, and 24 octets for 3-key.

FSL_KEY_ALG_ARC4 

ARC4. No block size. Context size is 259 octets. Allowed key size is 1-16 octets. (The choices for key size are a Sahara platform limitation.)

FSL_KEY_PK_PRIVATE 

Private key of a public-private key-pair. Max is 512 bits...

FSL_KEY_ALG_HMAC 

Key will be used to perform an HMAC. Key size is 1 to 64 octets. Block size is 64 octets.

FSL_KEY_ALG_AES 

Advanced Encryption Standard (Rijndael). Block size is 16 octets. Key size is 16 octets. (The single choice of key size is a Sahara platform limitation.)

FSL_KEY_ALG_DES 

Data Encryption Standard. Block size is 8 octets. Key size is 8 octets.

FSL_KEY_ALG_TDES 

2- or 3-key Triple DES. Block size is 8 octets. Key size is 16 octets for 2-key Triple DES, and 24 octets for 3-key.

FSL_KEY_ALG_ARC4 

ARC4. No block size. Context size is 259 octets. Allowed key size is 1-16 octets. (The choices for key size are a Sahara platform limitation.)

FSL_KEY_ALG_HMAC 

Key will be used to perform an HMAC. Key size is 1 to 64 octets. Block size is 64 octets.

FSL_KEY_ALG_AES 

Advanced Encryption Standard (Rijndael). Block size is 16 octets. Key size is 16 octets. (The single choice of key size is a Sahara platform limitation.)

FSL_KEY_ALG_DES 

Data Encryption Standard. Block size is 8 octets. Key size is 8 octets.

FSL_KEY_ALG_TDES 

2- or 3-key Triple DES. Block size is 8 octets. Key size is 16 octets for 2-key Triple DES, and 24 octets for 3-key.

FSL_KEY_ALG_ARC4 

ARC4. No block size. Context size is 259 octets. Allowed key size is 1-16 octets. (The choices for key size are a Sahara platform limitation.)

FSL_KEY_PK_PRIVATE 

Private key of a public-private key-pair. Max is 512 bits...

Flags which describe the state of the fsl_shw_sko_t.

These may be ORed together to get the desired effect. See fsl_shw_sko_set_flags() and fsl_shw_sko_clear_flags()

Enumerator:
FSL_SKO_KEY_IGNORE_PARITY 

If algorithm is DES or 3DES, do not validate the key parity bits.

FSL_SKO_KEY_PRESENT 

Clear key is present in the object.

FSL_SKO_KEY_ESTABLISHED 

Key has been established for use. This feature is not available for all platforms, nor for all algorithms and modes.

FSL_SKO_USE_SECRET_KEY 

Use device-unique key. Not always available.

FSL_SKO_KEY_SW_KEY 

Clear key can be provided to the user

FSL_SKO_KEY_SELECT_PF_KEY 

Internal flag to show that this key references one of the hardware keys, and its value is in pf_key.

FSL_SKO_KEY_IGNORE_PARITY 

If algorithm is DES or 3DES, do not validate the key parity bits.

FSL_SKO_KEY_PRESENT 

Clear key is present in the object.

FSL_SKO_KEY_ESTABLISHED 

Key has been established for use. This feature is not available for all platforms, nor for all algorithms and modes.

FSL_SKO_KEY_SW_KEY 

This key is for software use, and can be copied out of a keystore by its owner. The default is that they key is available only for hardware (or security driver) use.

FSL_SKO_KEY_IGNORE_PARITY 

If algorithm is DES or 3DES, do not validate the key parity bits.

FSL_SKO_KEY_PRESENT 

Clear key is present in the object.

FSL_SKO_KEY_ESTABLISHED 

Key has been established for use. This feature is not available for all platforms, nor for all algorithms and modes.

FSL_SKO_KEY_SW_KEY 

Key intended for user (software) use; can be read cleartext from the keystore.

FSL_SKO_KEY_IGNORE_PARITY 

If algorithm is DES or 3DES, do not validate the key parity bits.

FSL_SKO_KEY_PRESENT 

Clear key is present in the object.

FSL_SKO_KEY_ESTABLISHED 

Key has been established for use. This feature is not available for all platforms, nor for all algorithms and modes.

FSL_SKO_KEY_SW_KEY 

This key is for software use, and can be copied out of a keystore by its owner. The default is that they key is available only for hardware (or security driver) use.

FSL_SKO_KEY_IGNORE_PARITY 

If algorithm is DES or 3DES, do not validate the key parity bits.

FSL_SKO_KEY_PRESENT 

Clear key is present in the object.

FSL_SKO_KEY_ESTABLISHED 

Key has been established for use. This feature is not available for all platforms, nor for all algorithms and modes.

FSL_SKO_KEY_SW_KEY 

Key intended for user (software) use; can be read cleartext from the keystore.

Flags which describe the state of the fsl_shw_sko_t.

These may be ORed together to get the desired effect. See fsl_shw_sko_set_flags() and fsl_shw_sko_clear_flags()

Enumerator:
FSL_SKO_KEY_IGNORE_PARITY 

If algorithm is DES or 3DES, do not validate the key parity bits.

FSL_SKO_KEY_PRESENT 

Clear key is present in the object.

FSL_SKO_KEY_ESTABLISHED 

Key has been established for use. This feature is not available for all platforms, nor for all algorithms and modes.

FSL_SKO_USE_SECRET_KEY 

Use device-unique key. Not always available.

FSL_SKO_KEY_SW_KEY 

Clear key can be provided to the user

FSL_SKO_KEY_SELECT_PF_KEY 

Internal flag to show that this key references one of the hardware keys, and its value is in pf_key.

FSL_SKO_KEY_IGNORE_PARITY 

If algorithm is DES or 3DES, do not validate the key parity bits.

FSL_SKO_KEY_PRESENT 

Clear key is present in the object.

FSL_SKO_KEY_ESTABLISHED 

Key has been established for use. This feature is not available for all platforms, nor for all algorithms and modes.

FSL_SKO_KEY_SW_KEY 

This key is for software use, and can be copied out of a keystore by its owner. The default is that they key is available only for hardware (or security driver) use.

FSL_SKO_KEY_IGNORE_PARITY 

If algorithm is DES or 3DES, do not validate the key parity bits.

FSL_SKO_KEY_PRESENT 

Clear key is present in the object.

FSL_SKO_KEY_ESTABLISHED 

Key has been established for use. This feature is not available for all platforms, nor for all algorithms and modes.

FSL_SKO_KEY_SW_KEY 

Key intended for user (software) use; can be read cleartext from the keystore.

FSL_SKO_KEY_IGNORE_PARITY 

If algorithm is DES or 3DES, do not validate the key parity bits.

FSL_SKO_KEY_PRESENT 

Clear key is present in the object.

FSL_SKO_KEY_ESTABLISHED 

Key has been established for use. This feature is not available for all platforms, nor for all algorithms and modes.

FSL_SKO_KEY_SW_KEY 

This key is for software use, and can be copied out of a keystore by its owner. The default is that they key is available only for hardware (or security driver) use.

FSL_SKO_KEY_IGNORE_PARITY 

If algorithm is DES or 3DES, do not validate the key parity bits.

FSL_SKO_KEY_PRESENT 

Clear key is present in the object.

FSL_SKO_KEY_ESTABLISHED 

Key has been established for use. This feature is not available for all platforms, nor for all algorithms and modes.

FSL_SKO_KEY_SW_KEY 

Key intended for user (software) use; can be read cleartext from the keystore.

The operation which controls the behavior of fsl_shw_establish_key().

These values are passed to fsl_shw_establish_key().

Enumerator:
FSL_KEY_WRAP_CREATE 

Generate a key from random values.

FSL_KEY_WRAP_ACCEPT 

Use the provided clear key.

FSL_KEY_WRAP_UNWRAP 

Unwrap a previously wrapped key.

FSL_KEY_WRAP_CREATE 

Generate a key from random values.

FSL_KEY_WRAP_ACCEPT 

Use the provided clear key.

FSL_KEY_WRAP_UNWRAP 

Unwrap a previously wrapped key.

FSL_KEY_WRAP_CREATE 

Generate a key from random values.

FSL_KEY_WRAP_ACCEPT 

Use the provided clear key.

FSL_KEY_WRAP_UNWRAP 

Unwrap a previously wrapped key.

FSL_KEY_WRAP_CREATE 

Generate a key from random values.

FSL_KEY_WRAP_ACCEPT 

Use the provided clear key.

FSL_KEY_WRAP_UNWRAP 

Unwrap a previously wrapped key.

The operation which controls the behavior of fsl_shw_establish_key().

These values are passed to fsl_shw_establish_key().

Enumerator:
FSL_KEY_WRAP_CREATE 

Generate a key from random values.

FSL_KEY_WRAP_ACCEPT 

Use the provided clear key.

FSL_KEY_WRAP_UNWRAP 

Unwrap a previously wrapped key.

FSL_KEY_WRAP_CREATE 

Generate a key from random values.

FSL_KEY_WRAP_ACCEPT 

Use the provided clear key.

FSL_KEY_WRAP_UNWRAP 

Unwrap a previously wrapped key.

FSL_KEY_WRAP_CREATE 

Generate a key from random values.

FSL_KEY_WRAP_ACCEPT 

Use the provided clear key.

FSL_KEY_WRAP_UNWRAP 

Unwrap a previously wrapped key.

FSL_KEY_WRAP_CREATE 

Generate a key from random values.

FSL_KEY_WRAP_ACCEPT 

Use the provided clear key.

FSL_KEY_WRAP_UNWRAP 

Unwrap a previously wrapped key.

Permissions flags for Secure Partitions

They currently map directly to the SCC2 hardware values, but this is not guarinteed behavior.

Enumerator:
FSL_PERM_NO_ZEROIZE 

SCM Access Permission: Do not zeroize/deallocate partition on SMN Fail state

FSL_PERM_TRUSTED_KEY_READ 

SCM Access Permission: Enforce trusted key read in

FSL_PERM_HD_S 

SCM Access Permission: Ignore Supervisor/User mode in permission determination

FSL_PERM_HD_R 

SCM Access Permission: Allow Read Access to Host Domain

FSL_PERM_HD_W 

SCM Access Permission: Allow Write Access to Host Domain

FSL_PERM_HD_X 

SCM Access Permission: Allow Execute Access to Host Domain

FSL_PERM_TH_R 

SCM Access Permission: Allow Read Access to Trusted Host Domain

FSL_PERM_TH_W 

SCM Access Permission: Allow Write Access to Trusted Host Domain

FSL_PERM_OT_R 

SCM Access Permission: Allow Read Access to Other/World Domain

FSL_PERM_OT_W 

SCM Access Permission: Allow Write Access to Other/World Domain

FSL_PERM_OT_X 

SCM Access Permission: Allow Execute Access to Other/World Domain

FSL_PERM_NO_ZEROIZE 

SCM Access Permission: Do not zeroize/deallocate partition on SMN Fail state

FSL_PERM_TRUSTED_KEY_READ 

SCM Access Permission: Enforce trusted key read in

FSL_PERM_HD_S 

SCM Access Permission: Ignore Supervisor/User mode in permission determination

FSL_PERM_HD_R 

SCM Access Permission: Allow Read Access to Host Domain

FSL_PERM_HD_W 

SCM Access Permission: Allow Write Access to Host Domain

FSL_PERM_HD_X 

SCM Access Permission: Allow Execute Access to Host Domain

FSL_PERM_TH_R 

SCM Access Permission: Allow Read Access to Trusted Host Domain

FSL_PERM_TH_W 

SCM Access Permission: Allow Write Access to Trusted Host Domain

FSL_PERM_OT_R 

SCM Access Permission: Allow Read Access to Other/World Domain

FSL_PERM_OT_W 

SCM Access Permission: Allow Write Access to Other/World Domain

FSL_PERM_OT_X 

SCM Access Permission: Allow Execute Access to Other/World Domain

FSL_PERM_NO_ZEROIZE 

SCM Access Permission: Do not zeroize/deallocate partition on SMN Fail state

FSL_PERM_TRUSTED_KEY_READ 

SCM Access Permission: Enforce trusted key read in

FSL_PERM_HD_S 

SCM Access Permission: Ignore Supervisor/User mode in permission determination

FSL_PERM_HD_R 

SCM Access Permission: Allow Read Access to Host Domain

FSL_PERM_HD_W 

SCM Access Permission: Allow Write Access to Host Domain

FSL_PERM_HD_X 

SCM Access Permission: Allow Execute Access to Host Domain

FSL_PERM_TH_R 

SCM Access Permission: Allow Read Access to Trusted Host Domain

FSL_PERM_TH_W 

SCM Access Permission: Allow Write Access to Trusted Host Domain

FSL_PERM_OT_R 

SCM Access Permission: Allow Read Access to Other/World Domain

FSL_PERM_OT_W 

SCM Access Permission: Allow Write Access to Other/World Domain

FSL_PERM_OT_X 

SCM Access Permission: Allow Execute Access to Other/World Domain

FSL_PERM_NO_ZEROIZE 

SCM Access Permission: Do not zeroize/deallocate partition on SMN Fail state

FSL_PERM_TRUSTED_KEY_READ 

SCM Access Permission: Enforce trusted key read in

FSL_PERM_HD_S 

SCM Access Permission: Ignore Supervisor/User mode in permission determination

FSL_PERM_HD_R 

SCM Access Permission: Allow Read Access to Host Domain

FSL_PERM_HD_W 

SCM Access Permission: Allow Write Access to Host Domain

FSL_PERM_HD_X 

SCM Access Permission: Allow Execute Access to Host Domain

FSL_PERM_TH_R 

SCM Access Permission: Allow Read Access to Trusted Host Domain

FSL_PERM_TH_W 

SCM Access Permission: Allow Write Access to Trusted Host Domain

FSL_PERM_OT_R 

SCM Access Permission: Allow Read Access to Other/World Domain

FSL_PERM_OT_W 

SCM Access Permission: Allow Write Access to Other/World Domain

FSL_PERM_OT_X 

SCM Access Permission: Allow Execute Access to Other/World Domain

Permissions flags for Secure Partitions

They currently map directly to the SCC2 hardware values, but this is not guarinteed behavior.

Enumerator:
FSL_PERM_NO_ZEROIZE 

SCM Access Permission: Do not zeroize/deallocate partition on SMN Fail state

FSL_PERM_TRUSTED_KEY_READ 

SCM Access Permission: Enforce trusted key read in

FSL_PERM_HD_S 

SCM Access Permission: Ignore Supervisor/User mode in permission determination

FSL_PERM_HD_R 

SCM Access Permission: Allow Read Access to Host Domain

FSL_PERM_HD_W 

SCM Access Permission: Allow Write Access to Host Domain

FSL_PERM_HD_X 

SCM Access Permission: Allow Execute Access to Host Domain

FSL_PERM_TH_R 

SCM Access Permission: Allow Read Access to Trusted Host Domain

FSL_PERM_TH_W 

SCM Access Permission: Allow Write Access to Trusted Host Domain

FSL_PERM_OT_R 

SCM Access Permission: Allow Read Access to Other/World Domain

FSL_PERM_OT_W 

SCM Access Permission: Allow Write Access to Other/World Domain

FSL_PERM_OT_X 

SCM Access Permission: Allow Execute Access to Other/World Domain

FSL_PERM_NO_ZEROIZE 

SCM Access Permission: Do not zeroize/deallocate partition on SMN Fail state

FSL_PERM_TRUSTED_KEY_READ 

SCM Access Permission: Enforce trusted key read in

FSL_PERM_HD_S 

SCM Access Permission: Ignore Supervisor/User mode in permission determination

FSL_PERM_HD_R 

SCM Access Permission: Allow Read Access to Host Domain

FSL_PERM_HD_W 

SCM Access Permission: Allow Write Access to Host Domain

FSL_PERM_HD_X 

SCM Access Permission: Allow Execute Access to Host Domain

FSL_PERM_TH_R 

SCM Access Permission: Allow Read Access to Trusted Host Domain

FSL_PERM_TH_W 

SCM Access Permission: Allow Write Access to Trusted Host Domain

FSL_PERM_OT_R 

SCM Access Permission: Allow Read Access to Other/World Domain

FSL_PERM_OT_W 

SCM Access Permission: Allow Write Access to Other/World Domain

FSL_PERM_OT_X 

SCM Access Permission: Allow Execute Access to Other/World Domain

FSL_PERM_NO_ZEROIZE 

SCM Access Permission: Do not zeroize/deallocate partition on SMN Fail state

FSL_PERM_TRUSTED_KEY_READ 

SCM Access Permission: Enforce trusted key read in

FSL_PERM_HD_S 

SCM Access Permission: Ignore Supervisor/User mode in permission determination

FSL_PERM_HD_R 

SCM Access Permission: Allow Read Access to Host Domain

FSL_PERM_HD_W 

SCM Access Permission: Allow Write Access to Host Domain

FSL_PERM_HD_X 

SCM Access Permission: Allow Execute Access to Host Domain

FSL_PERM_TH_R 

SCM Access Permission: Allow Read Access to Trusted Host Domain

FSL_PERM_TH_W 

SCM Access Permission: Allow Write Access to Trusted Host Domain

FSL_PERM_OT_R 

SCM Access Permission: Allow Read Access to Other/World Domain

FSL_PERM_OT_W 

SCM Access Permission: Allow Write Access to Other/World Domain

FSL_PERM_OT_X 

SCM Access Permission: Allow Execute Access to Other/World Domain

FSL_PERM_NO_ZEROIZE 

SCM Access Permission: Do not zeroize/deallocate partition on SMN Fail state

FSL_PERM_TRUSTED_KEY_READ 

SCM Access Permission: Enforce trusted key read in

FSL_PERM_HD_S 

SCM Access Permission: Ignore Supervisor/User mode in permission determination

FSL_PERM_HD_R 

SCM Access Permission: Allow Read Access to Host Domain

FSL_PERM_HD_W 

SCM Access Permission: Allow Write Access to Host Domain

FSL_PERM_HD_X 

SCM Access Permission: Allow Execute Access to Host Domain

FSL_PERM_TH_R 

SCM Access Permission: Allow Read Access to Trusted Host Domain

FSL_PERM_TH_W 

SCM Access Permission: Allow Write Access to Trusted Host Domain

FSL_PERM_OT_R 

SCM Access Permission: Allow Read Access to Other/World Domain

FSL_PERM_OT_W 

SCM Access Permission: Allow Write Access to Other/World Domain

FSL_PERM_OT_X 

SCM Access Permission: Allow Execute Access to Other/World Domain

Which platform key should be presented for cryptographic use.

Enumerator:
FSL_SHW_PF_KEY_IIM 

Present fused IIM key

FSL_SHW_PF_KEY_PRG 

Present Program key

FSL_SHW_PF_KEY_IIM_PRG 

Present IIM ^ Program key

FSL_SHW_PF_KEY_IIM_RND 

Present Random key

FSL_SHW_PF_KEY_RND 

Present IIM ^ Random key

FSL_SHW_PF_KEY_IIM 

Present fused IIM key

FSL_SHW_PF_KEY_PRG 

Present Program key

FSL_SHW_PF_KEY_IIM_PRG 

Present IIM ^ Program key

FSL_SHW_PF_KEY_IIM_RND 

Present Random key

FSL_SHW_PF_KEY_RND 

Present IIM ^ Random key

FSL_SHW_PF_KEY_IIM 

Present fused IIM key

FSL_SHW_PF_KEY_PRG 

Present Program key

FSL_SHW_PF_KEY_IIM_PRG 

Present IIM ^ Program key

FSL_SHW_PF_KEY_IIM_RND 

Present Random key

FSL_SHW_PF_KEY_RND 

Present IIM ^ Random key

FSL_SHW_PF_KEY_IIM 

Present fused IIM key

FSL_SHW_PF_KEY_PRG 

Present Program key

FSL_SHW_PF_KEY_IIM_PRG 

Present IIM ^ Program key

FSL_SHW_PF_KEY_IIM_RND 

Present Random key

FSL_SHW_PF_KEY_RND 

Present IIM ^ Random key

FSL_SHW_PF_KEY_IIM 

Present fused IIM key

FSL_SHW_PF_KEY_PRG 

Present Program key

FSL_SHW_PF_KEY_IIM_PRG 

Present IIM ^ Program key

FSL_SHW_PF_KEY_IIM_RND 

Present Random key

FSL_SHW_PF_KEY_RND 

Present IIM ^ Random key

Which platform key should be presented for cryptographic use.

Enumerator:
FSL_SHW_PF_KEY_IIM 

Present fused IIM key

FSL_SHW_PF_KEY_PRG 

Present Program key

FSL_SHW_PF_KEY_IIM_PRG 

Present IIM ^ Program key

FSL_SHW_PF_KEY_IIM_RND 

Present Random key

FSL_SHW_PF_KEY_RND 

Present IIM ^ Random key

FSL_SHW_PF_KEY_IIM 

Present fused IIM key

FSL_SHW_PF_KEY_PRG 

Present Program key

FSL_SHW_PF_KEY_IIM_PRG 

Present IIM ^ Program key

FSL_SHW_PF_KEY_IIM_RND 

Present Random key

FSL_SHW_PF_KEY_RND 

Present IIM ^ Random key

FSL_SHW_PF_KEY_IIM 

Present fused IIM key

FSL_SHW_PF_KEY_PRG 

Present Program key

FSL_SHW_PF_KEY_IIM_PRG 

Present IIM ^ Program key

FSL_SHW_PF_KEY_IIM_RND 

Present Random key

FSL_SHW_PF_KEY_RND 

Present IIM ^ Random key

FSL_SHW_PF_KEY_IIM 

Present fused IIM key

FSL_SHW_PF_KEY_PRG 

Present Program key

FSL_SHW_PF_KEY_IIM_PRG 

Present IIM ^ Program key

FSL_SHW_PF_KEY_IIM_RND 

Present Random key

FSL_SHW_PF_KEY_RND 

Present IIM ^ Random key

FSL_SHW_PF_KEY_IIM 

Present fused IIM key

FSL_SHW_PF_KEY_PRG 

Present Program key

FSL_SHW_PF_KEY_IIM_PRG 

Present IIM ^ Program key

FSL_SHW_PF_KEY_IIM_RND 

Present Random key

FSL_SHW_PF_KEY_RND 

Present IIM ^ Random key

Return code for FSL_SHW library.

These codes may be returned from a function call. In non-blocking mode, they will appear as the status in a Result Object.

Enumerator:
FSL_RETURN_OK_S 

No error. As a function return code in Non-blocking mode, this may simply mean that the operation was accepted for eventual execution.

FSL_RETURN_ERROR_S 

Failure for non-specific reason.

FSL_RETURN_NO_RESOURCE_S 

Operation failed because some resource was not able to be allocated.

FSL_RETURN_BAD_ALGORITHM_S 

Crypto algorithm unrecognized or improper.

FSL_RETURN_BAD_MODE_S 

Crypto mode unrecognized or improper.

FSL_RETURN_BAD_FLAG_S 

Flag setting unrecognized or inconsistent.

FSL_RETURN_BAD_KEY_LENGTH_S 

Improper or unsupported key length for algorithm.

FSL_RETURN_BAD_KEY_PARITY_S 

Improper parity in a (DES, TDES) key.

FSL_RETURN_BAD_DATA_LENGTH_S 

Improper or unsupported data length for algorithm or internal buffer.

FSL_RETURN_AUTH_FAILED_S 

Authentication / Integrity Check code check failed.

FSL_RETURN_MEMORY_ERROR_S 

A memory error occurred.

FSL_RETURN_INTERNAL_ERROR_S 

An error internal to the hardware occurred.

FSL_RETURN_POINT_AT_INFINITY_S 

ECC detected Point at Infinity

FSL_RETURN_POINT_NOT_AT_INFINITY_S 

ECC detected No Point at Infinity

FSL_RETURN_GCD_IS_ONE_S 

GCD is One

FSL_RETURN_GCD_IS_NOT_ONE_S 

GCD is not One

FSL_RETURN_PRIME_S 

Candidate is Prime

FSL_RETURN_NOT_PRIME_S 

Candidate is not Prime

FSL_RETURN_EVEN_MODULUS_ERROR_S 

N register loaded improperly with even value

FSL_RETURN_DIVIDE_BY_ZERO_ERROR_S 

Divisor is zero.

FSL_RETURN_BAD_EXPONENT_ERROR_S 

Bad Exponent or Scalar value for Point Multiply

FSL_RETURN_OSCILLATOR_ERROR_S 

RNG hardware problem.

FSL_RETURN_STATISTICS_ERROR_S 

RNG hardware problem.

FSL_RETURN_OK_S 

No error. As a function return code in Non-blocking mode, this may simply mean that the operation was accepted for eventual execution.

FSL_RETURN_ERROR_S 

Failure for non-specific reason.

FSL_RETURN_NO_RESOURCE_S 

Operation failed because some resource was not able to be allocated.

FSL_RETURN_BAD_ALGORITHM_S 

Crypto algorithm unrecognized or improper.

FSL_RETURN_BAD_MODE_S 

Crypto mode unrecognized or improper.

FSL_RETURN_BAD_FLAG_S 

Flag setting unrecognized or inconsistent.

FSL_RETURN_BAD_KEY_LENGTH_S 

Improper or unsupported key length for algorithm.

FSL_RETURN_BAD_KEY_PARITY_S 

Improper parity in a (DES, TDES) key.

FSL_RETURN_BAD_DATA_LENGTH_S 

Improper or unsupported data length for algorithm or internal buffer.

FSL_RETURN_AUTH_FAILED_S 

Authentication / Integrity Check code check failed.

FSL_RETURN_MEMORY_ERROR_S 

A memory error occurred.

FSL_RETURN_INTERNAL_ERROR_S 

An error internal to the hardware occurred.

FSL_RETURN_POINT_AT_INFINITY_S 

ECC detected Point at Infinity

FSL_RETURN_POINT_NOT_AT_INFINITY_S 

ECC detected No Point at Infinity

FSL_RETURN_GCD_IS_ONE_S 

GCD is One

FSL_RETURN_GCD_IS_NOT_ONE_S 

GCD is not One

FSL_RETURN_PRIME_S 

Candidate is Prime

FSL_RETURN_NOT_PRIME_S 

Candidate is not Prime

FSL_RETURN_EVEN_MODULUS_ERROR_S 

N register loaded improperly with even value

FSL_RETURN_DIVIDE_BY_ZERO_ERROR_S 

Divisor is zero.

FSL_RETURN_BAD_EXPONENT_ERROR_S 

Bad Exponent or Scalar value for Point Multiply

FSL_RETURN_OSCILLATOR_ERROR_S 

RNG hardware problem.

FSL_RETURN_STATISTICS_ERROR_S 

RNG hardware problem.

FSL_RETURN_OK_S 

No error. As a function return code in Non-blocking mode, this may simply mean that the operation was accepted for eventual execution.

FSL_RETURN_ERROR_S 

Failure for non-specific reason.

FSL_RETURN_NO_RESOURCE_S 

Operation failed because some resource was not able to be allocated.

FSL_RETURN_BAD_ALGORITHM_S 

Crypto algorithm unrecognized or improper.

FSL_RETURN_BAD_MODE_S 

Crypto mode unrecognized or improper.

FSL_RETURN_BAD_FLAG_S 

Flag setting unrecognized or inconsistent.

FSL_RETURN_BAD_KEY_LENGTH_S 

Improper or unsupported key length for algorithm.

FSL_RETURN_BAD_KEY_PARITY_S 

Improper parity in a (DES, TDES) key.

FSL_RETURN_BAD_DATA_LENGTH_S 

Improper or unsupported data length for algorithm or internal buffer.

FSL_RETURN_AUTH_FAILED_S 

Authentication / Integrity Check code check failed.

FSL_RETURN_MEMORY_ERROR_S 

A memory error occurred.

FSL_RETURN_INTERNAL_ERROR_S 

An error internal to the hardware occurred.

FSL_RETURN_POINT_AT_INFINITY_S 

ECC detected Point at Infinity

FSL_RETURN_POINT_NOT_AT_INFINITY_S 

ECC detected No Point at Infinity

FSL_RETURN_GCD_IS_ONE_S 

GCD is One

FSL_RETURN_GCD_IS_NOT_ONE_S 

GCD is not One

FSL_RETURN_PRIME_S 

Candidate is Prime

FSL_RETURN_NOT_PRIME_S 

Candidate is not Prime

FSL_RETURN_EVEN_MODULUS_ERROR_S 

N register loaded improperly with even value

FSL_RETURN_DIVIDE_BY_ZERO_ERROR_S 

Divisor is zero.

FSL_RETURN_BAD_EXPONENT_ERROR_S 

Bad Exponent or Scalar value for Point Multiply

FSL_RETURN_OSCILLATOR_ERROR_S 

RNG hardware problem.

FSL_RETURN_STATISTICS_ERROR_S 

RNG hardware problem.

FSL_RETURN_OK_S 

No error. As a function return code in Non-blocking mode, this may simply mean that the operation was accepted for eventual execution.

FSL_RETURN_ERROR_S 

Failure for non-specific reason.

FSL_RETURN_NO_RESOURCE_S 

Operation failed because some resource was not able to be allocated.

FSL_RETURN_BAD_ALGORITHM_S 

Crypto algorithm unrecognized or improper.

FSL_RETURN_BAD_MODE_S 

Crypto mode unrecognized or improper.

FSL_RETURN_BAD_FLAG_S 

Flag setting unrecognized or inconsistent.

FSL_RETURN_BAD_KEY_LENGTH_S 

Improper or unsupported key length for algorithm.

FSL_RETURN_BAD_KEY_PARITY_S 

Improper parity in a (DES, TDES) key.

FSL_RETURN_BAD_DATA_LENGTH_S 

Improper or unsupported data length for algorithm or internal buffer.

FSL_RETURN_AUTH_FAILED_S 

Authentication / Integrity Check code check failed.

FSL_RETURN_MEMORY_ERROR_S 

A memory error occurred.

FSL_RETURN_INTERNAL_ERROR_S 

An error internal to the hardware occurred.

FSL_RETURN_POINT_AT_INFINITY_S 

ECC detected Point at Infinity

FSL_RETURN_POINT_NOT_AT_INFINITY_S 

ECC detected No Point at Infinity

FSL_RETURN_GCD_IS_ONE_S 

GCD is One

FSL_RETURN_GCD_IS_NOT_ONE_S 

GCD is not One

FSL_RETURN_PRIME_S 

Candidate is Prime

FSL_RETURN_NOT_PRIME_S 

Candidate is not Prime

FSL_RETURN_EVEN_MODULUS_ERROR_S 

N register loaded improperly with even value

FSL_RETURN_DIVIDE_BY_ZERO_ERROR_S 

Divisor is zero.

FSL_RETURN_BAD_EXPONENT_ERROR_S 

Bad Exponent or Scalar value for Point Multiply

FSL_RETURN_OSCILLATOR_ERROR_S 

RNG hardware problem.

FSL_RETURN_STATISTICS_ERROR_S 

RNG hardware problem.

FSL_RETURN_OK_S 

No error. As a function return code in Non-blocking mode, this may simply mean that the operation was accepted for eventual execution.

FSL_RETURN_ERROR_S 

Failure for non-specific reason.

FSL_RETURN_NO_RESOURCE_S 

Operation failed because some resource was not able to be allocated.

FSL_RETURN_BAD_ALGORITHM_S 

Crypto algorithm unrecognized or improper.

FSL_RETURN_BAD_MODE_S 

Crypto mode unrecognized or improper.

FSL_RETURN_BAD_FLAG_S 

Flag setting unrecognized or inconsistent.

FSL_RETURN_BAD_KEY_LENGTH_S 

Improper or unsupported key length for algorithm.

FSL_RETURN_BAD_KEY_PARITY_S 

Improper parity in a (DES, TDES) key.

FSL_RETURN_BAD_DATA_LENGTH_S 

Improper or unsupported data length for algorithm or internal buffer.

FSL_RETURN_AUTH_FAILED_S 

Authentication / Integrity Check code check failed.

FSL_RETURN_MEMORY_ERROR_S 

A memory error occurred.

FSL_RETURN_INTERNAL_ERROR_S 

An error internal to the hardware occurred.

FSL_RETURN_POINT_AT_INFINITY_S 

ECC detected Point at Infinity

FSL_RETURN_POINT_NOT_AT_INFINITY_S 

ECC detected No Point at Infinity

FSL_RETURN_GCD_IS_ONE_S 

GCD is One

FSL_RETURN_GCD_IS_NOT_ONE_S 

GCD is not One

FSL_RETURN_PRIME_S 

Candidate is Prime

FSL_RETURN_NOT_PRIME_S 

Candidate is not Prime

FSL_RETURN_EVEN_MODULUS_ERROR_S 

N register loaded improperly with even value

FSL_RETURN_DIVIDE_BY_ZERO_ERROR_S 

Divisor is zero.

FSL_RETURN_BAD_EXPONENT_ERROR_S 

Bad Exponent or Scalar value for Point Multiply

FSL_RETURN_OSCILLATOR_ERROR_S 

RNG hardware problem.

FSL_RETURN_STATISTICS_ERROR_S 

RNG hardware problem.

Return code for FSL_SHW library.

These codes may be returned from a function call. In non-blocking mode, they will appear as the status in a Result Object.

Enumerator:
FSL_RETURN_OK_S 

No error. As a function return code in Non-blocking mode, this may simply mean that the operation was accepted for eventual execution.

FSL_RETURN_ERROR_S 

Failure for non-specific reason.

FSL_RETURN_NO_RESOURCE_S 

Operation failed because some resource was not able to be allocated.

FSL_RETURN_BAD_ALGORITHM_S 

Crypto algorithm unrecognized or improper.

FSL_RETURN_BAD_MODE_S 

Crypto mode unrecognized or improper.

FSL_RETURN_BAD_FLAG_S 

Flag setting unrecognized or inconsistent.

FSL_RETURN_BAD_KEY_LENGTH_S 

Improper or unsupported key length for algorithm.

FSL_RETURN_BAD_KEY_PARITY_S 

Improper parity in a (DES, TDES) key.

FSL_RETURN_BAD_DATA_LENGTH_S 

Improper or unsupported data length for algorithm or internal buffer.

FSL_RETURN_AUTH_FAILED_S 

Authentication / Integrity Check code check failed.

FSL_RETURN_MEMORY_ERROR_S 

A memory error occurred.

FSL_RETURN_INTERNAL_ERROR_S 

An error internal to the hardware occurred.

FSL_RETURN_POINT_AT_INFINITY_S 

ECC detected Point at Infinity

FSL_RETURN_POINT_NOT_AT_INFINITY_S 

ECC detected No Point at Infinity

FSL_RETURN_GCD_IS_ONE_S 

GCD is One

FSL_RETURN_GCD_IS_NOT_ONE_S 

GCD is not One

FSL_RETURN_PRIME_S 

Candidate is Prime

FSL_RETURN_NOT_PRIME_S 

Candidate is not Prime

FSL_RETURN_EVEN_MODULUS_ERROR_S 

N register loaded improperly with even value

FSL_RETURN_DIVIDE_BY_ZERO_ERROR_S 

Divisor is zero.

FSL_RETURN_BAD_EXPONENT_ERROR_S 

Bad Exponent or Scalar value for Point Multiply

FSL_RETURN_OSCILLATOR_ERROR_S 

RNG hardware problem.

FSL_RETURN_STATISTICS_ERROR_S 

RNG hardware problem.

FSL_RETURN_OK_S 

No error. As a function return code in Non-blocking mode, this may simply mean that the operation was accepted for eventual execution.

FSL_RETURN_ERROR_S 

Failure for non-specific reason.

FSL_RETURN_NO_RESOURCE_S 

Operation failed because some resource was not able to be allocated.

FSL_RETURN_BAD_ALGORITHM_S 

Crypto algorithm unrecognized or improper.

FSL_RETURN_BAD_MODE_S 

Crypto mode unrecognized or improper.

FSL_RETURN_BAD_FLAG_S 

Flag setting unrecognized or inconsistent.

FSL_RETURN_BAD_KEY_LENGTH_S 

Improper or unsupported key length for algorithm.

FSL_RETURN_BAD_KEY_PARITY_S 

Improper parity in a (DES, TDES) key.

FSL_RETURN_BAD_DATA_LENGTH_S 

Improper or unsupported data length for algorithm or internal buffer.

FSL_RETURN_AUTH_FAILED_S 

Authentication / Integrity Check code check failed.

FSL_RETURN_MEMORY_ERROR_S 

A memory error occurred.

FSL_RETURN_INTERNAL_ERROR_S 

An error internal to the hardware occurred.

FSL_RETURN_POINT_AT_INFINITY_S 

ECC detected Point at Infinity

FSL_RETURN_POINT_NOT_AT_INFINITY_S 

ECC detected No Point at Infinity

FSL_RETURN_GCD_IS_ONE_S 

GCD is One

FSL_RETURN_GCD_IS_NOT_ONE_S 

GCD is not One

FSL_RETURN_PRIME_S 

Candidate is Prime

FSL_RETURN_NOT_PRIME_S 

Candidate is not Prime

FSL_RETURN_EVEN_MODULUS_ERROR_S 

N register loaded improperly with even value

FSL_RETURN_DIVIDE_BY_ZERO_ERROR_S 

Divisor is zero.

FSL_RETURN_BAD_EXPONENT_ERROR_S 

Bad Exponent or Scalar value for Point Multiply

FSL_RETURN_OSCILLATOR_ERROR_S 

RNG hardware problem.

FSL_RETURN_STATISTICS_ERROR_S 

RNG hardware problem.

FSL_RETURN_OK_S 

No error. As a function return code in Non-blocking mode, this may simply mean that the operation was accepted for eventual execution.

FSL_RETURN_ERROR_S 

Failure for non-specific reason.

FSL_RETURN_NO_RESOURCE_S 

Operation failed because some resource was not able to be allocated.

FSL_RETURN_BAD_ALGORITHM_S 

Crypto algorithm unrecognized or improper.

FSL_RETURN_BAD_MODE_S 

Crypto mode unrecognized or improper.

FSL_RETURN_BAD_FLAG_S 

Flag setting unrecognized or inconsistent.

FSL_RETURN_BAD_KEY_LENGTH_S 

Improper or unsupported key length for algorithm.

FSL_RETURN_BAD_KEY_PARITY_S 

Improper parity in a (DES, TDES) key.

FSL_RETURN_BAD_DATA_LENGTH_S 

Improper or unsupported data length for algorithm or internal buffer.

FSL_RETURN_AUTH_FAILED_S 

Authentication / Integrity Check code check failed.

FSL_RETURN_MEMORY_ERROR_S 

A memory error occurred.

FSL_RETURN_INTERNAL_ERROR_S 

An error internal to the hardware occurred.

FSL_RETURN_POINT_AT_INFINITY_S 

ECC detected Point at Infinity

FSL_RETURN_POINT_NOT_AT_INFINITY_S 

ECC detected No Point at Infinity

FSL_RETURN_GCD_IS_ONE_S 

GCD is One

FSL_RETURN_GCD_IS_NOT_ONE_S 

GCD is not One

FSL_RETURN_PRIME_S 

Candidate is Prime

FSL_RETURN_NOT_PRIME_S 

Candidate is not Prime

FSL_RETURN_EVEN_MODULUS_ERROR_S 

N register loaded improperly with even value

FSL_RETURN_DIVIDE_BY_ZERO_ERROR_S 

Divisor is zero.

FSL_RETURN_BAD_EXPONENT_ERROR_S 

Bad Exponent or Scalar value for Point Multiply

FSL_RETURN_OSCILLATOR_ERROR_S 

RNG hardware problem.

FSL_RETURN_STATISTICS_ERROR_S 

RNG hardware problem.

FSL_RETURN_OK_S 

No error. As a function return code in Non-blocking mode, this may simply mean that the operation was accepted for eventual execution.

FSL_RETURN_ERROR_S 

Failure for non-specific reason.

FSL_RETURN_NO_RESOURCE_S 

Operation failed because some resource was not able to be allocated.

FSL_RETURN_BAD_ALGORITHM_S 

Crypto algorithm unrecognized or improper.

FSL_RETURN_BAD_MODE_S 

Crypto mode unrecognized or improper.

FSL_RETURN_BAD_FLAG_S 

Flag setting unrecognized or inconsistent.

FSL_RETURN_BAD_KEY_LENGTH_S 

Improper or unsupported key length for algorithm.

FSL_RETURN_BAD_KEY_PARITY_S 

Improper parity in a (DES, TDES) key.

FSL_RETURN_BAD_DATA_LENGTH_S 

Improper or unsupported data length for algorithm or internal buffer.

FSL_RETURN_AUTH_FAILED_S 

Authentication / Integrity Check code check failed.

FSL_RETURN_MEMORY_ERROR_S 

A memory error occurred.

FSL_RETURN_INTERNAL_ERROR_S 

An error internal to the hardware occurred.

FSL_RETURN_POINT_AT_INFINITY_S 

ECC detected Point at Infinity

FSL_RETURN_POINT_NOT_AT_INFINITY_S 

ECC detected No Point at Infinity

FSL_RETURN_GCD_IS_ONE_S 

GCD is One

FSL_RETURN_GCD_IS_NOT_ONE_S 

GCD is not One

FSL_RETURN_PRIME_S 

Candidate is Prime

FSL_RETURN_NOT_PRIME_S 

Candidate is not Prime

FSL_RETURN_EVEN_MODULUS_ERROR_S 

N register loaded improperly with even value

FSL_RETURN_DIVIDE_BY_ZERO_ERROR_S 

Divisor is zero.

FSL_RETURN_BAD_EXPONENT_ERROR_S 

Bad Exponent or Scalar value for Point Multiply

FSL_RETURN_OSCILLATOR_ERROR_S 

RNG hardware problem.

FSL_RETURN_STATISTICS_ERROR_S 

RNG hardware problem.

FSL_RETURN_OK_S 

No error. As a function return code in Non-blocking mode, this may simply mean that the operation was accepted for eventual execution.

FSL_RETURN_ERROR_S 

Failure for non-specific reason.

FSL_RETURN_NO_RESOURCE_S 

Operation failed because some resource was not able to be allocated.

FSL_RETURN_BAD_ALGORITHM_S 

Crypto algorithm unrecognized or improper.

FSL_RETURN_BAD_MODE_S 

Crypto mode unrecognized or improper.

FSL_RETURN_BAD_FLAG_S 

Flag setting unrecognized or inconsistent.

FSL_RETURN_BAD_KEY_LENGTH_S 

Improper or unsupported key length for algorithm.

FSL_RETURN_BAD_KEY_PARITY_S 

Improper parity in a (DES, TDES) key.

FSL_RETURN_BAD_DATA_LENGTH_S 

Improper or unsupported data length for algorithm or internal buffer.

FSL_RETURN_AUTH_FAILED_S 

Authentication / Integrity Check code check failed.

FSL_RETURN_MEMORY_ERROR_S 

A memory error occurred.

FSL_RETURN_INTERNAL_ERROR_S 

An error internal to the hardware occurred.

FSL_RETURN_POINT_AT_INFINITY_S 

ECC detected Point at Infinity

FSL_RETURN_POINT_NOT_AT_INFINITY_S 

ECC detected No Point at Infinity

FSL_RETURN_GCD_IS_ONE_S 

GCD is One

FSL_RETURN_GCD_IS_NOT_ONE_S 

GCD is not One

FSL_RETURN_PRIME_S 

Candidate is Prime

FSL_RETURN_NOT_PRIME_S 

Candidate is not Prime

FSL_RETURN_EVEN_MODULUS_ERROR_S 

N register loaded improperly with even value

FSL_RETURN_DIVIDE_BY_ZERO_ERROR_S 

Divisor is zero.

FSL_RETURN_BAD_EXPONENT_ERROR_S 

Bad Exponent or Scalar value for Point Multiply

FSL_RETURN_OSCILLATOR_ERROR_S 

RNG hardware problem.

FSL_RETURN_STATISTICS_ERROR_S 

RNG hardware problem.

Flags to control use of the fsl_shw_scco_t.

These may be ORed together to get the desired effect. See fsl_shw_scco_set_flags() and fsl_shw_scco_clear_flags()

Enumerator:
FSL_SYM_CTX_INIT 

Context is empty. In ARC4, this means that the S-Box needs to be generated from the key. In FSL_SYM_MODE_CBC mode, this allows an IV of zero to be specified. In FSL_SYM_MODE_CTR mode, it means that an initial CTR value of zero is desired.

FSL_SYM_CTX_LOAD 

Load context from object into hardware before running cipher. In FSL_SYM_MODE_CTR mode, this would refer to the Counter Value.

FSL_SYM_CTX_SAVE 

Save context from hardware into object after running cipher. In FSL_SYM_MODE_CTR mode, this would refer to the Counter Value.

FSL_SYM_CTX_PROTECT 

Context (SBox) is to be unwrapped and wrapped on each use. This flag is unsupported.

FSL_SYM_CTX_INIT 

Context is empty. In ARC4, this means that the S-Box needs to be generated from the key. In FSL_SYM_MODE_CBC mode, this allows an IV of zero to be specified. In FSL_SYM_MODE_CTR mode, it means that an initial CTR value of zero is desired.

FSL_SYM_CTX_LOAD 

Load context from object into hardware before running cipher. In FSL_SYM_MODE_CTR mode, this would refer to the Counter Value.

FSL_SYM_CTX_SAVE 

Save context from hardware into object after running cipher. In FSL_SYM_MODE_CTR mode, this would refer to the Counter Value.

FSL_SYM_CTX_PROTECT 

Context (SBox) is to be unwrapped and wrapped on each use. This flag is unsupported.

FSL_SYM_CTX_INIT 

Context is empty. In ARC4, this means that the S-Box needs to be generated from the key. In FSL_SYM_MODE_CBC mode, this allows an IV of zero to be specified. In FSL_SYM_MODE_CTR mode, it means that an initial CTR value of zero is desired.

FSL_SYM_CTX_LOAD 

Load context from object into hardware before running cipher. In FSL_SYM_MODE_CTR mode, this would refer to the Counter Value.

FSL_SYM_CTX_SAVE 

Save context from hardware into object after running cipher. In FSL_SYM_MODE_CTR mode, this would refer to the Counter Value.

FSL_SYM_CTX_PROTECT 

Context (SBox) is to be unwrapped and wrapped on each use. This flag is unsupported.

FSL_SYM_CTX_INIT 

Context is empty. In ARC4, this means that the S-Box needs to be generated from the key. In FSL_SYM_MODE_CBC mode, this allows an IV of zero to be specified. In FSL_SYM_MODE_CTR mode, it means that an initial CTR value of zero is desired.

FSL_SYM_CTX_LOAD 

Load context from object into hardware before running cipher. In FSL_SYM_MODE_CTR mode, this would refer to the Counter Value.

FSL_SYM_CTX_SAVE 

Save context from hardware into object after running cipher. In FSL_SYM_MODE_CTR mode, this would refer to the Counter Value.

FSL_SYM_CTX_PROTECT 

Context (SBox) is to be unwrapped and wrapped on each use. This flag is unsupported.

Flags to control use of the fsl_shw_scco_t.

These may be ORed together to get the desired effect. See fsl_shw_scco_set_flags() and fsl_shw_scco_clear_flags()

Enumerator:
FSL_SYM_CTX_INIT 

Context is empty. In ARC4, this means that the S-Box needs to be generated from the key. In FSL_SYM_MODE_CBC mode, this allows an IV of zero to be specified. In FSL_SYM_MODE_CTR mode, it means that an initial CTR value of zero is desired.

FSL_SYM_CTX_LOAD 

Load context from object into hardware before running cipher. In FSL_SYM_MODE_CTR mode, this would refer to the Counter Value.

FSL_SYM_CTX_SAVE 

Save context from hardware into object after running cipher. In FSL_SYM_MODE_CTR mode, this would refer to the Counter Value.

FSL_SYM_CTX_PROTECT 

Context (SBox) is to be unwrapped and wrapped on each use. This flag is unsupported.

FSL_SYM_CTX_INIT 

Context is empty. In ARC4, this means that the S-Box needs to be generated from the key. In FSL_SYM_MODE_CBC mode, this allows an IV of zero to be specified. In FSL_SYM_MODE_CTR mode, it means that an initial CTR value of zero is desired.

FSL_SYM_CTX_LOAD 

Load context from object into hardware before running cipher. In FSL_SYM_MODE_CTR mode, this would refer to the Counter Value.

FSL_SYM_CTX_SAVE 

Save context from hardware into object after running cipher. In FSL_SYM_MODE_CTR mode, this would refer to the Counter Value.

FSL_SYM_CTX_PROTECT 

Context (SBox) is to be unwrapped and wrapped on each use. This flag is unsupported.

FSL_SYM_CTX_INIT 

Context is empty. In ARC4, this means that the S-Box needs to be generated from the key. In FSL_SYM_MODE_CBC mode, this allows an IV of zero to be specified. In FSL_SYM_MODE_CTR mode, it means that an initial CTR value of zero is desired.

FSL_SYM_CTX_LOAD 

Load context from object into hardware before running cipher. In FSL_SYM_MODE_CTR mode, this would refer to the Counter Value.

FSL_SYM_CTX_SAVE 

Save context from hardware into object after running cipher. In FSL_SYM_MODE_CTR mode, this would refer to the Counter Value.

FSL_SYM_CTX_PROTECT 

Context (SBox) is to be unwrapped and wrapped on each use. This flag is unsupported.

FSL_SYM_CTX_INIT 

Context is empty. In ARC4, this means that the S-Box needs to be generated from the key. In FSL_SYM_MODE_CBC mode, this allows an IV of zero to be specified. In FSL_SYM_MODE_CTR mode, it means that an initial CTR value of zero is desired.

FSL_SYM_CTX_LOAD 

Load context from object into hardware before running cipher. In FSL_SYM_MODE_CTR mode, this would refer to the Counter Value.

FSL_SYM_CTX_SAVE 

Save context from hardware into object after running cipher. In FSL_SYM_MODE_CTR mode, this would refer to the Counter Value.

FSL_SYM_CTX_PROTECT 

Context (SBox) is to be unwrapped and wrapped on each use. This flag is unsupported.

Mode selector for Symmetric Ciphers.

The selection of mode determines how a cryptographic algorithm will be used to process the plaintext or ciphertext.

For all modes which are run block-by-block (that is, all but FSL_SYM_MODE_STREAM), any partial operations must be performed on a text length which is multiple of the block size. Except for FSL_SYM_MODE_CTR, these block-by-block algorithms must also be passed a total number of octets which is a multiple of the block size.

In modes which require that the total number of octets of data be a multiple of the block size (FSL_SYM_MODE_ECB and FSL_SYM_MODE_CBC), and the user has a total number of octets which are not a multiple of the block size, the user must perform any necessary padding to get to the correct data length.

Enumerator:
FSL_SYM_MODE_STREAM 

Stream. There is no associated block size. Any request to process data may be of any length. This mode is only for ARC4 operations, and is also the only mode used for ARC4.

FSL_SYM_MODE_ECB 

Electronic Codebook. Each block of data is encrypted/decrypted. The length of the data stream must be a multiple of the block size. This mode may be used for DES, 3DES, and AES. The block size is determined by the algorithm.

FSL_SYM_MODE_CBC 

Cipher-Block Chaining. Each block of data is encrypted/decrypted and then "chained" with the previous block by an XOR function. Requires context to start the XOR (previous block). This mode may be used for DES, 3DES, and AES. The block size is determined by the algorithm.

FSL_SYM_MODE_CTR 

Counter. The counter is encrypted, then XORed with a block of data. The counter is then incremented (using modulus arithmetic) for the next block. The final operation may be non-multiple of block size. This mode may be used for AES. The block size is determined by the algorithm.

FSL_SYM_MODE_STREAM 

Stream. There is no associated block size. Any request to process data may be of any length. This mode is only for ARC4 operations, and is also the only mode used for ARC4.

FSL_SYM_MODE_ECB 

Electronic Codebook. Each block of data is encrypted/decrypted. The length of the data stream must be a multiple of the block size. This mode may be used for DES, 3DES, and AES. The block size is determined by the algorithm.

FSL_SYM_MODE_CBC 

Cipher-Block Chaining. Each block of data is encrypted/decrypted and then "chained" with the previous block by an XOR function. Requires context to start the XOR (previous block). This mode may be used for DES, 3DES, and AES. The block size is determined by the algorithm.

FSL_SYM_MODE_CTR 

Counter. The counter is encrypted, then XORed with a block of data. The counter is then incremented (using modulus arithmetic) for the next block. The final operation may be non-multiple of block size. This mode may be used for AES. The block size is determined by the algorithm.

FSL_SYM_MODE_STREAM 

Stream. There is no associated block size. Any request to process data may be of any length. This mode is only for ARC4 operations, and is also the only mode used for ARC4.

FSL_SYM_MODE_ECB 

Electronic Codebook. Each block of data is encrypted/decrypted. The length of the data stream must be a multiple of the block size. This mode may be used for DES, 3DES, and AES. The block size is determined by the algorithm.

FSL_SYM_MODE_CBC 

Cipher-Block Chaining. Each block of data is encrypted/decrypted and then "chained" with the previous block by an XOR function. Requires context to start the XOR (previous block). This mode may be used for DES, 3DES, and AES. The block size is determined by the algorithm.

FSL_SYM_MODE_CTR 

Counter. The counter is encrypted, then XORed with a block of data. The counter is then incremented (using modulus arithmetic) for the next block. The final operation may be non-multiple of block size. This mode may be used for AES. The block size is determined by the algorithm.

FSL_SYM_MODE_STREAM 

Stream. There is no associated block size. Any request to process data may be of any length. This mode is only for ARC4 operations, and is also the only mode used for ARC4.

FSL_SYM_MODE_ECB 

Electronic Codebook. Each block of data is encrypted/decrypted. The length of the data stream must be a multiple of the block size. This mode may be used for DES, 3DES, and AES. The block size is determined by the algorithm.

FSL_SYM_MODE_CBC 

Cipher-Block Chaining. Each block of data is encrypted/decrypted and then "chained" with the previous block by an XOR function. Requires context to start the XOR (previous block). This mode may be used for DES, 3DES, and AES. The block size is determined by the algorithm.

FSL_SYM_MODE_CTR 

Counter. The counter is encrypted, then XORed with a block of data. The counter is then incremented (using modulus arithmetic) for the next block. The final operation may be non-multiple of block size. This mode may be used for AES. The block size is determined by the algorithm.

FSL_SYM_MODE_STREAM 

Stream. There is no associated block size. Any request to process data may be of any length. This mode is only for ARC4 operations, and is also the only mode used for ARC4.

FSL_SYM_MODE_ECB 

Electronic Codebook. Each block of data is encrypted/decrypted. The length of the data stream must be a multiple of the block size. This mode may be used for DES, 3DES, and AES. The block size is determined by the algorithm.

FSL_SYM_MODE_CBC 

Cipher-Block Chaining. Each block of data is encrypted/decrypted and then "chained" with the previous block by an XOR function. Requires context to start the XOR (previous block). This mode may be used for DES, 3DES, and AES. The block size is determined by the algorithm.

FSL_SYM_MODE_CTR 

Counter. The counter is encrypted, then XORed with a block of data. The counter is then incremented (using modulus arithmetic) for the next block. The final operation may be non-multiple of block size. This mode may be used for AES. The block size is determined by the algorithm.

Mode selector for Symmetric Ciphers.

The selection of mode determines how a cryptographic algorithm will be used to process the plaintext or ciphertext.

For all modes which are run block-by-block (that is, all but FSL_SYM_MODE_STREAM), any partial operations must be performed on a text length which is multiple of the block size. Except for FSL_SYM_MODE_CTR, these block-by-block algorithms must also be passed a total number of octets which is a multiple of the block size.

In modes which require that the total number of octets of data be a multiple of the block size (FSL_SYM_MODE_ECB and FSL_SYM_MODE_CBC), and the user has a total number of octets which are not a multiple of the block size, the user must perform any necessary padding to get to the correct data length.

Enumerator:
FSL_SYM_MODE_STREAM 

Stream. There is no associated block size. Any request to process data may be of any length. This mode is only for ARC4 operations, and is also the only mode used for ARC4.

FSL_SYM_MODE_ECB 

Electronic Codebook. Each block of data is encrypted/decrypted. The length of the data stream must be a multiple of the block size. This mode may be used for DES, 3DES, and AES. The block size is determined by the algorithm.

FSL_SYM_MODE_CBC 

Cipher-Block Chaining. Each block of data is encrypted/decrypted and then "chained" with the previous block by an XOR function. Requires context to start the XOR (previous block). This mode may be used for DES, 3DES, and AES. The block size is determined by the algorithm.

FSL_SYM_MODE_CTR 

Counter. The counter is encrypted, then XORed with a block of data. The counter is then incremented (using modulus arithmetic) for the next block. The final operation may be non-multiple of block size. This mode may be used for AES. The block size is determined by the algorithm.

FSL_SYM_MODE_STREAM 

Stream. There is no associated block size. Any request to process data may be of any length. This mode is only for ARC4 operations, and is also the only mode used for ARC4.

FSL_SYM_MODE_ECB 

Electronic Codebook. Each block of data is encrypted/decrypted. The length of the data stream must be a multiple of the block size. This mode may be used for DES, 3DES, and AES. The block size is determined by the algorithm.

FSL_SYM_MODE_CBC 

Cipher-Block Chaining. Each block of data is encrypted/decrypted and then "chained" with the previous block by an XOR function. Requires context to start the XOR (previous block). This mode may be used for DES, 3DES, and AES. The block size is determined by the algorithm.

FSL_SYM_MODE_CTR 

Counter. The counter is encrypted, then XORed with a block of data. The counter is then incremented (using modulus arithmetic) for the next block. The final operation may be non-multiple of block size. This mode may be used for AES. The block size is determined by the algorithm.

FSL_SYM_MODE_STREAM 

Stream. There is no associated block size. Any request to process data may be of any length. This mode is only for ARC4 operations, and is also the only mode used for ARC4.

FSL_SYM_MODE_ECB 

Electronic Codebook. Each block of data is encrypted/decrypted. The length of the data stream must be a multiple of the block size. This mode may be used for DES, 3DES, and AES. The block size is determined by the algorithm.

FSL_SYM_MODE_CBC 

Cipher-Block Chaining. Each block of data is encrypted/decrypted and then "chained" with the previous block by an XOR function. Requires context to start the XOR (previous block). This mode may be used for DES, 3DES, and AES. The block size is determined by the algorithm.

FSL_SYM_MODE_CTR 

Counter. The counter is encrypted, then XORed with a block of data. The counter is then incremented (using modulus arithmetic) for the next block. The final operation may be non-multiple of block size. This mode may be used for AES. The block size is determined by the algorithm.

FSL_SYM_MODE_STREAM 

Stream. There is no associated block size. Any request to process data may be of any length. This mode is only for ARC4 operations, and is also the only mode used for ARC4.

FSL_SYM_MODE_ECB 

Electronic Codebook. Each block of data is encrypted/decrypted. The length of the data stream must be a multiple of the block size. This mode may be used for DES, 3DES, and AES. The block size is determined by the algorithm.

FSL_SYM_MODE_CBC 

Cipher-Block Chaining. Each block of data is encrypted/decrypted and then "chained" with the previous block by an XOR function. Requires context to start the XOR (previous block). This mode may be used for DES, 3DES, and AES. The block size is determined by the algorithm.

FSL_SYM_MODE_CTR 

Counter. The counter is encrypted, then XORed with a block of data. The counter is then incremented (using modulus arithmetic) for the next block. The final operation may be non-multiple of block size. This mode may be used for AES. The block size is determined by the algorithm.

FSL_SYM_MODE_STREAM 

Stream. There is no associated block size. Any request to process data may be of any length. This mode is only for ARC4 operations, and is also the only mode used for ARC4.

FSL_SYM_MODE_ECB 

Electronic Codebook. Each block of data is encrypted/decrypted. The length of the data stream must be a multiple of the block size. This mode may be used for DES, 3DES, and AES. The block size is determined by the algorithm.

FSL_SYM_MODE_CBC 

Cipher-Block Chaining. Each block of data is encrypted/decrypted and then "chained" with the previous block by an XOR function. Requires context to start the XOR (previous block). This mode may be used for DES, 3DES, and AES. The block size is determined by the algorithm.

FSL_SYM_MODE_CTR 

Counter. The counter is encrypted, then XORed with a block of data. The counter is then incremented (using modulus arithmetic) for the next block. The final operation may be non-multiple of block size. This mode may be used for AES. The block size is determined by the algorithm.

The various security tamper events

Enumerator:
FSL_SHW_TAMPER_NONE 

No error detected

FSL_SHW_TAMPER_WTD 

wire-mesh tampering det

FSL_SHW_TAMPER_ETBD 

ext tampering det: input B

FSL_SHW_TAMPER_ETAD 

ext tampering det: input A

FSL_SHW_TAMPER_EBD 

external boot detected

FSL_SHW_TAMPER_SAD 

security alarm detected

FSL_SHW_TAMPER_TTD 

temperature tampering det

FSL_SHW_TAMPER_CTD 

clock tampering det

FSL_SHW_TAMPER_VTD 

voltage tampering det

FSL_SHW_TAMPER_MCO 

monotonic counter overflow

FSL_SHW_TAMPER_TCO 

time counter overflow

FSL_SHW_TAMPER_NONE 

No error detected

FSL_SHW_TAMPER_WTD 

wire-mesh tampering det

FSL_SHW_TAMPER_ETBD 

ext tampering det: input B

FSL_SHW_TAMPER_ETAD 

ext tampering det: input A

FSL_SHW_TAMPER_EBD 

external boot detected

FSL_SHW_TAMPER_SAD 

security alarm detected

FSL_SHW_TAMPER_TTD 

temperature tampering det

FSL_SHW_TAMPER_CTD 

clock tampering det

FSL_SHW_TAMPER_VTD 

voltage tampering det

FSL_SHW_TAMPER_MCO 

monotonic counter overflow

FSL_SHW_TAMPER_TCO 

time counter overflow

FSL_SHW_TAMPER_NONE 

No error detected

FSL_SHW_TAMPER_WTD 

wire-mesh tampering det

FSL_SHW_TAMPER_ETBD 

ext tampering det: input B

FSL_SHW_TAMPER_ETAD 

ext tampering det: input A

FSL_SHW_TAMPER_EBD 

external boot detected

FSL_SHW_TAMPER_SAD 

security alarm detected

FSL_SHW_TAMPER_TTD 

temperature tampering det

FSL_SHW_TAMPER_CTD 

clock tampering det

FSL_SHW_TAMPER_VTD 

voltage tampering det

FSL_SHW_TAMPER_MCO 

monotonic counter overflow

FSL_SHW_TAMPER_TCO 

time counter overflow

FSL_SHW_TAMPER_NONE 

No error detected

FSL_SHW_TAMPER_WTD 

wire-mesh tampering det

FSL_SHW_TAMPER_ETBD 

ext tampering det: input B

FSL_SHW_TAMPER_ETAD 

ext tampering det: input A

FSL_SHW_TAMPER_EBD 

external boot detected

FSL_SHW_TAMPER_SAD 

security alarm detected

FSL_SHW_TAMPER_TTD 

temperature tampering det

FSL_SHW_TAMPER_CTD 

clock tampering det

FSL_SHW_TAMPER_VTD 

voltage tampering det

FSL_SHW_TAMPER_MCO 

monotonic counter overflow

FSL_SHW_TAMPER_TCO 

time counter overflow

FSL_SHW_TAMPER_NONE 

No error detected

FSL_SHW_TAMPER_WTD 

wire-mesh tampering det

FSL_SHW_TAMPER_ETBD 

ext tampering det: input B

FSL_SHW_TAMPER_ETAD 

ext tampering det: input A

FSL_SHW_TAMPER_EBD 

external boot detected

FSL_SHW_TAMPER_SAD 

security alarm detected

FSL_SHW_TAMPER_TTD 

temperature tampering det

FSL_SHW_TAMPER_CTD 

clock tampering det

FSL_SHW_TAMPER_VTD 

voltage tampering det

FSL_SHW_TAMPER_MCO 

monotonic counter overflow

FSL_SHW_TAMPER_TCO 

time counter overflow

The various security tamper events

Enumerator:
FSL_SHW_TAMPER_NONE 

No error detected

FSL_SHW_TAMPER_WTD 

wire-mesh tampering det

FSL_SHW_TAMPER_ETBD 

ext tampering det: input B

FSL_SHW_TAMPER_ETAD 

ext tampering det: input A

FSL_SHW_TAMPER_EBD 

external boot detected

FSL_SHW_TAMPER_SAD 

security alarm detected

FSL_SHW_TAMPER_TTD 

temperature tampering det

FSL_SHW_TAMPER_CTD 

clock tampering det

FSL_SHW_TAMPER_VTD 

voltage tampering det

FSL_SHW_TAMPER_MCO 

monotonic counter overflow

FSL_SHW_TAMPER_TCO 

time counter overflow

FSL_SHW_TAMPER_NONE 

No error detected

FSL_SHW_TAMPER_WTD 

wire-mesh tampering det

FSL_SHW_TAMPER_ETBD 

ext tampering det: input B

FSL_SHW_TAMPER_ETAD 

ext tampering det: input A

FSL_SHW_TAMPER_EBD 

external boot detected

FSL_SHW_TAMPER_SAD 

security alarm detected

FSL_SHW_TAMPER_TTD 

temperature tampering det

FSL_SHW_TAMPER_CTD 

clock tampering det

FSL_SHW_TAMPER_VTD 

voltage tampering det

FSL_SHW_TAMPER_MCO 

monotonic counter overflow

FSL_SHW_TAMPER_TCO 

time counter overflow

FSL_SHW_TAMPER_NONE 

No error detected

FSL_SHW_TAMPER_WTD 

wire-mesh tampering det

FSL_SHW_TAMPER_ETBD 

ext tampering det: input B

FSL_SHW_TAMPER_ETAD 

ext tampering det: input A

FSL_SHW_TAMPER_EBD 

external boot detected

FSL_SHW_TAMPER_SAD 

security alarm detected

FSL_SHW_TAMPER_TTD 

temperature tampering det

FSL_SHW_TAMPER_CTD 

clock tampering det

FSL_SHW_TAMPER_VTD 

voltage tampering det

FSL_SHW_TAMPER_MCO 

monotonic counter overflow

FSL_SHW_TAMPER_TCO 

time counter overflow

FSL_SHW_TAMPER_NONE 

No error detected

FSL_SHW_TAMPER_WTD 

wire-mesh tampering det

FSL_SHW_TAMPER_ETBD 

ext tampering det: input B

FSL_SHW_TAMPER_ETAD 

ext tampering det: input A

FSL_SHW_TAMPER_EBD 

external boot detected

FSL_SHW_TAMPER_SAD 

security alarm detected

FSL_SHW_TAMPER_TTD 

temperature tampering det

FSL_SHW_TAMPER_CTD 

clock tampering det

FSL_SHW_TAMPER_VTD 

voltage tampering det

FSL_SHW_TAMPER_MCO 

monotonic counter overflow

FSL_SHW_TAMPER_TCO 

time counter overflow

FSL_SHW_TAMPER_NONE 

No error detected

FSL_SHW_TAMPER_WTD 

wire-mesh tampering det

FSL_SHW_TAMPER_ETBD 

ext tampering det: input B

FSL_SHW_TAMPER_ETAD 

ext tampering det: input A

FSL_SHW_TAMPER_EBD 

external boot detected

FSL_SHW_TAMPER_SAD 

security alarm detected

FSL_SHW_TAMPER_TTD 

temperature tampering det

FSL_SHW_TAMPER_CTD 

clock tampering det

FSL_SHW_TAMPER_VTD 

voltage tampering det

FSL_SHW_TAMPER_MCO 

monotonic counter overflow

FSL_SHW_TAMPER_TCO 

time counter overflow

Flags for the state of the User Context Object (fsl_shw_uco_t).

These flags describe how the Operational Functions will operate.

Enumerator:
FSL_UCO_BLOCKING_MODE 

API will block the caller until operation completes. The result will be available in the return code. If this is not set, user will have to get results using fsl_shw_get_results().

FSL_UCO_CALLBACK_MODE 

User wants callback (at the function specified with fsl_shw_uco_set_callback()) when the operation completes. This flag is valid only if FSL_UCO_BLOCKING_MODE is not set.

FSL_UCO_SAVE_DESC_CHAIN 

Do not free descriptor chain after driver (adaptor) finishes

FSL_UCO_CALLBACK_SETUP_COMPLETE 

User has made at least one request with callbacks requested, so API is ready to handle others.

FSL_UCO_CHAIN_PREPHYSICALIZED 

(virtual) pointer to descriptor chain is completely linked with physical (DMA) addresses, ready for the hardware. This flag should not be used by FSL SHW API programs.

FSL_UCO_CONTEXT_CHANGED 

The user has changed the context but the changes have not been copied to the kernel driver.

FSL_UCO_USERMODE_USER 

Internal Use. This context belongs to a user-mode API user.

FSL_UCO_BLOCKING_MODE 

API will block the caller until operation completes. The result will be available in the return code. If this is not set, user will have to get results using fsl_shw_get_results().

FSL_UCO_CALLBACK_MODE 

User wants callback (at the function specified with fsl_shw_uco_set_callback()) when the operation completes. This flag is valid only if FSL_UCO_BLOCKING_MODE is not set.

FSL_UCO_SAVE_DESC_CHAIN 

Do not free descriptor chain after driver (adaptor) finishes

FSL_UCO_CALLBACK_SETUP_COMPLETE 

User has made at least one request with callbacks requested, so API is ready to handle others.

FSL_UCO_CHAIN_PREPHYSICALIZED 

(virtual) pointer to descriptor chain is completely linked with physical (DMA) addresses, ready for the hardware. This flag should not be used by FSL SHW API programs.

FSL_UCO_CONTEXT_CHANGED 

The user has changed the context but the changes have not been copied to the kernel driver.

FSL_UCO_USERMODE_USER 

Internal Use. This context belongs to a user-mode API user.

FSL_UCO_BLOCKING_MODE 

API will block the caller until operation completes. The result will be available in the return code. If this is not set, user will have to get results using fsl_shw_get_results().

FSL_UCO_CALLBACK_MODE 

User wants callback (at the function specified with fsl_shw_uco_set_callback()) when the operation completes. This flag is valid only if FSL_UCO_BLOCKING_MODE is not set.

FSL_UCO_SAVE_DESC_CHAIN 

Do not free descriptor chain after driver (adaptor) finishes

FSL_UCO_CALLBACK_SETUP_COMPLETE 

User has made at least one request with callbacks requested, so API is ready to handle others.

FSL_UCO_CHAIN_PREPHYSICALIZED 

(virtual) pointer to descriptor chain is completely linked with physical (DMA) addresses, ready for the hardware. This flag should not be used by FSL SHW API programs.

FSL_UCO_CONTEXT_CHANGED 

The user has changed the context but the changes have not been copied to the kernel driver.

FSL_UCO_USERMODE_USER 

Internal Use. This context belongs to a user-mode API user.

FSL_UCO_BLOCKING_MODE 

API will block the caller until operation completes. The result will be available in the return code. If this is not set, user will have to get results using fsl_shw_get_results().

FSL_UCO_CALLBACK_MODE 

User wants callback (at the function specified with fsl_shw_uco_set_callback()) when the operation completes. This flag is valid only if FSL_UCO_BLOCKING_MODE is not set.

FSL_UCO_SAVE_DESC_CHAIN 

Do not free descriptor chain after driver (adaptor) finishes

FSL_UCO_CALLBACK_SETUP_COMPLETE 

User has made at least one request with callbacks requested, so API is ready to handle others.

FSL_UCO_CHAIN_PREPHYSICALIZED 

(virtual) pointer to descriptor chain is completely linked with physical (DMA) addresses, ready for the hardware. This flag should not be used by FSL SHW API programs.

FSL_UCO_CONTEXT_CHANGED 

The user has changed the context but the changes have not been copied to the kernel driver.

FSL_UCO_USERMODE_USER 

Internal Use. This context belongs to a user-mode API user.

FSL_UCO_BLOCKING_MODE 

API will block the caller until operation completes. The result will be available in the return code. If this is not set, user will have to get results using fsl_shw_get_results().

FSL_UCO_CALLBACK_MODE 

User wants callback (at the function specified with fsl_shw_uco_set_callback()) when the operation completes. This flag is valid only if FSL_UCO_BLOCKING_MODE is not set.

FSL_UCO_SAVE_DESC_CHAIN 

Do not free descriptor chain after driver (adaptor) finishes

FSL_UCO_CALLBACK_SETUP_COMPLETE 

User has made at least one request with callbacks requested, so API is ready to handle others.

FSL_UCO_CHAIN_PREPHYSICALIZED 

(virtual) pointer to descriptor chain is completely linked with physical (DMA) addresses, ready for the hardware. This flag should not be used by FSL SHW API programs.

FSL_UCO_CONTEXT_CHANGED 

The user has changed the context but the changes have not been copied to the kernel driver.

FSL_UCO_USERMODE_USER 

Internal Use. This context belongs to a user-mode API user.

Flags for the state of the User Context Object (fsl_shw_uco_t).

These flags describe how the Operational Functions will operate.

Enumerator:
FSL_UCO_BLOCKING_MODE 

API will block the caller until operation completes. The result will be available in the return code. If this is not set, user will have to get results using fsl_shw_get_results().

FSL_UCO_CALLBACK_MODE 

User wants callback (at the function specified with fsl_shw_uco_set_callback()) when the operation completes. This flag is valid only if FSL_UCO_BLOCKING_MODE is not set.

FSL_UCO_SAVE_DESC_CHAIN 

Do not free descriptor chain after driver (adaptor) finishes

FSL_UCO_CALLBACK_SETUP_COMPLETE 

User has made at least one request with callbacks requested, so API is ready to handle others.

FSL_UCO_CHAIN_PREPHYSICALIZED 

(virtual) pointer to descriptor chain is completely linked with physical (DMA) addresses, ready for the hardware. This flag should not be used by FSL SHW API programs.

FSL_UCO_CONTEXT_CHANGED 

The user has changed the context but the changes have not been copied to the kernel driver.

FSL_UCO_USERMODE_USER 

Internal Use. This context belongs to a user-mode API user.

FSL_UCO_BLOCKING_MODE 

API will block the caller until operation completes. The result will be available in the return code. If this is not set, user will have to get results using fsl_shw_get_results().

FSL_UCO_CALLBACK_MODE 

User wants callback (at the function specified with fsl_shw_uco_set_callback()) when the operation completes. This flag is valid only if FSL_UCO_BLOCKING_MODE is not set.

FSL_UCO_SAVE_DESC_CHAIN 

Do not free descriptor chain after driver (adaptor) finishes

FSL_UCO_CALLBACK_SETUP_COMPLETE 

User has made at least one request with callbacks requested, so API is ready to handle others.

FSL_UCO_CHAIN_PREPHYSICALIZED 

(virtual) pointer to descriptor chain is completely linked with physical (DMA) addresses, ready for the hardware. This flag should not be used by FSL SHW API programs.

FSL_UCO_CONTEXT_CHANGED 

The user has changed the context but the changes have not been copied to the kernel driver.

FSL_UCO_USERMODE_USER 

Internal Use. This context belongs to a user-mode API user.

FSL_UCO_BLOCKING_MODE 

API will block the caller until operation completes. The result will be available in the return code. If this is not set, user will have to get results using fsl_shw_get_results().

FSL_UCO_CALLBACK_MODE 

User wants callback (at the function specified with fsl_shw_uco_set_callback()) when the operation completes. This flag is valid only if FSL_UCO_BLOCKING_MODE is not set.

FSL_UCO_SAVE_DESC_CHAIN 

Do not free descriptor chain after driver (adaptor) finishes

FSL_UCO_CALLBACK_SETUP_COMPLETE 

User has made at least one request with callbacks requested, so API is ready to handle others.

FSL_UCO_CHAIN_PREPHYSICALIZED 

(virtual) pointer to descriptor chain is completely linked with physical (DMA) addresses, ready for the hardware. This flag should not be used by FSL SHW API programs.

FSL_UCO_CONTEXT_CHANGED 

The user has changed the context but the changes have not been copied to the kernel driver.

FSL_UCO_USERMODE_USER 

Internal Use. This context belongs to a user-mode API user.

FSL_UCO_BLOCKING_MODE 

API will block the caller until operation completes. The result will be available in the return code. If this is not set, user will have to get results using fsl_shw_get_results().

FSL_UCO_CALLBACK_MODE 

User wants callback (at the function specified with fsl_shw_uco_set_callback()) when the operation completes. This flag is valid only if FSL_UCO_BLOCKING_MODE is not set.

FSL_UCO_SAVE_DESC_CHAIN 

Do not free descriptor chain after driver (adaptor) finishes

FSL_UCO_CALLBACK_SETUP_COMPLETE 

User has made at least one request with callbacks requested, so API is ready to handle others.

FSL_UCO_CHAIN_PREPHYSICALIZED 

(virtual) pointer to descriptor chain is completely linked with physical (DMA) addresses, ready for the hardware. This flag should not be used by FSL SHW API programs.

FSL_UCO_CONTEXT_CHANGED 

The user has changed the context but the changes have not been copied to the kernel driver.

FSL_UCO_USERMODE_USER 

Internal Use. This context belongs to a user-mode API user.

FSL_UCO_BLOCKING_MODE 

API will block the caller until operation completes. The result will be available in the return code. If this is not set, user will have to get results using fsl_shw_get_results().

FSL_UCO_CALLBACK_MODE 

User wants callback (at the function specified with fsl_shw_uco_set_callback()) when the operation completes. This flag is valid only if FSL_UCO_BLOCKING_MODE is not set.

FSL_UCO_SAVE_DESC_CHAIN 

Do not free descriptor chain after driver (adaptor) finishes

FSL_UCO_CALLBACK_SETUP_COMPLETE 

User has made at least one request with callbacks requested, so API is ready to handle others.

FSL_UCO_CHAIN_PREPHYSICALIZED 

(virtual) pointer to descriptor chain is completely linked with physical (DMA) addresses, ready for the hardware. This flag should not be used by FSL SHW API programs.

FSL_UCO_CONTEXT_CHANGED 

The user has changed the context but the changes have not been copied to the kernel driver.

FSL_UCO_USERMODE_USER 

Internal Use. This context belongs to a user-mode API user.

footer
©  Freescale Semiconductor, Inc., 2007.  All rights reserved.
Freescale Confidential Proprietary
NDA Required
doxygen