#include <linux/kernel.h>
#include <linux/version.h>
#include <linux/kerneld.h>
#include <linux/module.h>
#include <linux/malloc.h>
#include <linux/kdes.h>
#include <linux/tcfs/tcfsapi.h>

static void *init_key (char *key)
{
	int *i;

	i=kmalloc(4,GFP_KERNEL);

	return i;
}

static void encrypt(char *block, int nb, void *key)
{
	printk("I should be encrypting a block\n");
}

static void decrypt(char *block, int nb, void *key)
{
	printk("I should be decrypting a block\n");
}

static void delete_key(void *key)
{
	printk("I am in delete_key\n");
}


static struct tcfs_cipher_operations tcfs_default_ops = {
	init_key,
	delete_key,
	encrypt,
	decrypt
};

int
init_module (void)
{
	tcfs_register_cipher ("default", &tcfs_default_ops);

	return 0;
}

void
cleanup_module (void)
{
	tcfs_unregister_cipher ("default");

	return ;
}
