#define BLOCKCIPHER_DESCRIPTOR_H_
#define VOID_FPT
#define BC_INIT_TYPE 0x01
#define BC_INIT_TYPE_1 0x00
#define BC_INIT_TYPE_2 0x01
#define BC_ENC_TYPE 0x02
#define BC_ENC_TYPE_1 0x00
#define BC_ENC_TYPE_2 0x02
#define BC_DEC_TYPE 0x04
#define BC_DEC_TYPE_1 0x00
#define BC_DEC_TYPE_2 0x04
#define BCDESC_TYPE_BLOCKCIPHER 0x01
| union | |
| { | |
| void_fpt initvoid; | |
| bc_init1_fpt init1; | |
| bc_init2_fpt init2; | |
| } |
| union | |
| { | |
| void_fpt encvoid; | |
| bc_enc1_fpt enc1; | |
| bc_enc2_fpt enc2; | |
| } |
| union | |
| { | |
| void_fpt decvoid; | |
| bc_dec1_fpt dec1; | |
| bc_dec2_fpt dec2; | |
| } |
| struct | |
| { | |
| uint8_t type; | |
| uint8_t flags; | |
| const char* name; | |
| uint16_t ctxsize_B; | |
| uint16_t blocksize_b; | |
| bc_init_fpt init; | |
| bc_enc_fpt enc; | |
| bc_dec_fpt dec; | |
| bc_free_fpt free; | |
| const void* valid_keysize_desc; | |
| } |
| struct | |
| { | |
| bcdesc_t* desc_ptr; | |
| void* ctx; | |
| uint16_t keysize; | |
| } |