Enumerations and other Constants


Typedefs

typedef uint64_t key_userid_t
typedef uint64_t key_userid_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

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