
#ifndef _AES_H_
#define _AES_H_

#define AES_ENCRYPT	1
#define AES_DECRYPT	0

struct aes_state
{
	unsigned int cfg;
};

typedef struct aes_state AES_KEY;

extern int AES_set_decrypt_key (const unsigned char *keydata, const int bits, AES_KEY *key);
extern int AES_set_encrypt_key (const unsigned char *keydata, const int bits, AES_KEY *key);
extern void AES_decrypt (const unsigned char *in, unsigned char *out, const AES_KEY *key);
extern void AES_encrypt (const unsigned char *in, unsigned char *out, const AES_KEY *key);
extern void AES_cbc_encrypt (const unsigned char *in, unsigned char *out,
			     const unsigned long length, const AES_KEY *key,
			     unsigned char *iv, const int enc);
extern void AES_ctr128_encrypt (const unsigned char *in, unsigned char *out,
				const unsigned long length, const AES_KEY *key,
				unsigned char *iv, unsigned char *ecount_buf,
				unsigned int *num);

#endif

