|  | #ifndef QEMU_AES_H | 
|  | #define QEMU_AES_H | 
|  |  | 
|  | #define AES_MAXNR 14 | 
|  | #define AES_BLOCK_SIZE 16 | 
|  |  | 
|  | struct aes_key_st { | 
|  | uint32_t rd_key[4 *(AES_MAXNR + 1)]; | 
|  | int rounds; | 
|  | }; | 
|  | typedef struct aes_key_st AES_KEY; | 
|  |  | 
|  | int AES_set_encrypt_key(const unsigned char *userKey, const int bits, | 
|  | AES_KEY *key); | 
|  | int AES_set_decrypt_key(const unsigned char *userKey, const int bits, | 
|  | AES_KEY *key); | 
|  |  | 
|  | void AES_encrypt(const unsigned char *in, unsigned char *out, | 
|  | const AES_KEY *key); | 
|  | void AES_decrypt(const unsigned char *in, unsigned char *out, | 
|  | const AES_KEY *key); | 
|  | void AES_cbc_encrypt(const unsigned char *in, unsigned char *out, | 
|  | const unsigned long length, const AES_KEY *key, | 
|  | unsigned char *ivec, const int enc); | 
|  |  | 
|  | #endif |