Repository URL to install this package:
|
Version:
3.15.0 ▾
|
#ifndef _BLOCK_BASE
#define _BLOCK_BASE
#include "common.h"
struct _BlockBase;
typedef int (*CipherOperation)(const struct _BlockBase *state, const uint8_t *in, uint8_t *out, size_t data_len);
typedef struct _BlockBase {
CipherOperation encrypt;
CipherOperation decrypt;
int (*destructor)(struct _BlockBase *state);
size_t block_len;
} BlockBase;
struct block_state;
#ifdef MODULE_NAME
#ifndef NON_STANDARD_START_OPERATION
static int block_init(struct block_state *state, const uint8_t *key, size_t keylen);
#endif
#ifndef NON_STANDARD_ENCRYPT_OPERATION
static void block_encrypt(struct block_state *self, const uint8_t *in, uint8_t *out);
#endif
static void block_decrypt(struct block_state *self, const uint8_t *in, uint8_t *out);
static void block_finalize(struct block_state* self);
#endif
#endif