00001
00007 #include <stdio.h>
00008 #ifdef HAVE_CONFIG_H
00009 #include <config.h>
00010 #endif
00011 #include "mysqlfs-plugin.h"
00012
00026 static unsigned buffer_size = 0;
00027 static unsigned char ver[3];
00028
00029 static char *dummy_identity()
00030 {
00031 static char v[50];
00032 snprintf (v, sizeof(v), "dummy-xor %d.%d.%d buffer=%u", ver[0], ver[1], ver[2], buffer_size);
00033
00034 return v;
00035 }
00036
00037 static void dummy_setblocksize(unsigned size)
00038 {
00039 buffer_size = size;
00040 }
00041
00061 static int dummy_readwrite(unsigned char* buf, size_t size, off_t offset)
00062 {
00063 size_t i;
00064
00065 for (i = 0; i < size; i++) buf[i] ^= 0x5A;
00066 return 0;
00067 }
00068
00069 mysqlfs_plugin xor_entry =
00070 {
00071 .identity = dummy_identity,
00072 .setblocksize = dummy_setblocksize,
00073 .read = dummy_readwrite,
00074 .write = dummy_readwrite
00075 };
00076
00077
00087 extern mysqlfs_plugin* mysqlfs_init(unsigned char version_major, unsigned char version_minor, unsigned char version_point)
00088 {
00089
00090 ver[0] = version_major;
00091 ver[1] = version_minor;
00092 ver[2] = version_point;
00093 return &xor_entry;
00094 }