30 #ifndef POLARSSL_CIPHER_H
31 #define POLARSSL_CIPHER_H
35 #if defined(_MSC_VER) && !defined(inline)
36 #define inline _inline
38 #if defined(__ARMCC_VERSION) && !defined(inline)
39 #define inline __inline
43 #define POLARSSL_ERR_CIPHER_FEATURE_UNAVAILABLE -0x6080
44 #define POLARSSL_ERR_CIPHER_BAD_INPUT_DATA -0x6100
45 #define POLARSSL_ERR_CIPHER_ALLOC_FAILED -0x6180
46 #define POLARSSL_ERR_CIPHER_INVALID_PADDING -0x6200
47 #define POLARSSL_ERR_CIPHER_FULL_BLOCK_EXPECTED -0x6280
125 int (*cbc_func)(
void *ctx,
operation_t mode,
size_t length,
unsigned char *iv,
126 const unsigned char *input,
unsigned char *output );
129 int (*cfb_func)(
void *ctx,
operation_t mode,
size_t length,
size_t *iv_off,
130 unsigned char *iv,
const unsigned char *input,
unsigned char *output );
133 int (*ctr_func)(
void *ctx,
size_t length,
size_t *nc_off,
unsigned char *nonce_counter,
134 unsigned char *stream_block,
const unsigned char *input,
unsigned char *output );
137 int (*setkey_enc_func)(
void *ctx,
const unsigned char *key,
unsigned int key_length);
140 int (*setkey_dec_func)(
void *ctx,
const unsigned char *key,
unsigned int key_length);
143 void * (*ctx_alloc_func)( void );
146 void (*ctx_free_func)(
void *ctx );
430 unsigned char *output,
size_t *olen );