diff --git a/m29f400bt.h b/m29f400bt.h
index a645870..3d1799f 100644
--- a/m29f400bt.h
+++ b/m29f400bt.h
@@ -1,8 +1,13 @@
+#ifndef __M29F400BT_H__
+#define __M29F400BT_H__ 1
+
+#include <stdio.h>
+
 extern int probe_m29f400bt (struct flashchip * flash);
 extern int erase_m29f400bt (struct flashchip * flash);
 extern int block_erase_m29f400bt (volatile char * bios, volatile char * dst);
-extern int write_m29f400bt (struct flashchip * flash, char * buf);
-extern int write_linuxbios_m29f400bt (struct flashchip * flash, char * buf);
+extern int write_m29f400bt (struct flashchip * flash, unsigned char * buf);
+extern int write_linuxbios_m29f400bt (struct flashchip * flash, unsigned char * buf);
 
 extern __inline__ void toggle_ready_m29f400bt (volatile char * dst)
 {
@@ -20,7 +25,7 @@
 	}
 }
 
-extern __inline__ void data_polling_m29f400bt (volatile char * dst, char data)
+extern __inline__ void data_polling_m29f400bt (volatile char * dst, unsigned char data)
 {
 	unsigned int i = 0;
 	char tmp;
@@ -59,9 +64,11 @@
 		//*(volatile char *) (bios) = 0xF0;
 		//usleep(5);
 		toggle_ready_m29f400bt(dst);
-		printf("Value in the flash at address %p = %#x, want %#x\n",dst-bios, *dst, *src);
+		printf("Value in the flash at address %p = %#x, want %#x\n",(char *)(dst-bios), *dst, *src);
 		dst++;
 		src++;
 	}
 
 }
+
+#endif /* !__M29F400BT_H__ */
