Index: trunk/Ohana/src/libohana/include/ohana.h
===================================================================
--- trunk/Ohana/src/libohana/include/ohana.h	(revision 25757)
+++ trunk/Ohana/src/libohana/include/ohana.h	(revision 27435)
@@ -68,4 +68,10 @@
 # endif
 
+#ifdef __GNUC__
+#define OHANA_FORMAT(style, fmt, varargs) __attribute__((format(style, fmt, varargs)))
+#else // __GNUC__
+#define OHANA_FORMAT(style, fmt, varargs)
+#endif // __GNUC__
+
 enum {
  LCK_UNLOCK,        /* file is unlocked */
@@ -177,5 +183,5 @@
 char   *SelectConfigFile       PROTO((int *argc, char **argv, char *progname));
 char   *LoadConfigFile         PROTO((char *filename));
-char   *ScanConfig             PROTO((char *config, char *field, char *mode, int N,...));
+char   *ScanConfig             PROTO((char *config, char *field, char *mode, int N,...)) OHANA_FORMAT(scanf, 3, 5);
 char   *expandline             PROTO((char *line, char *config));
 char   *fileextname            PROTO((char *file));
@@ -214,5 +220,5 @@
 int 	EmptyIOBuffer  	       PROTO((IOBuffer *buffer, int Nmax, int fd));
 void    FreeIOBuffer   	       PROTO((IOBuffer *buffer));
-int 	PrintIOBuffer  	       PROTO((IOBuffer *buffer, char *format, ...));
+int 	PrintIOBuffer  	       PROTO((IOBuffer *buffer, char *format, ...)) OHANA_FORMAT(printf, 2, 3);
 int 	vPrintIOBuffer 	       PROTO((IOBuffer *buffer, char *format, va_list argp));
 
@@ -220,10 +226,13 @@
 int 	ExpectMessage 	       PROTO((int device, double timeout, IOBuffer *message));
 int 	ExpectCommand 	       PROTO((int device, int length, double timeout, IOBuffer *buffer));
-int 	SendMessage   	       PROTO((int device, char *format, ...));
+int 	SendMessage   	       PROTO((int device, char *format, ...)) OHANA_FORMAT(printf, 2, 3);
 int 	SendMessageFixed       PROTO((int device, int length, char *messge));
-int 	SendCommand   	       PROTO((int device, int length, char *format, ...));
+int 	SendCommand   	       PROTO((int device, int length, char *format, ...)) OHANA_FORMAT(printf, 3, 4);
 int 	SendCommandV  	       PROTO((int device, int length, char *format, va_list argp));
 
 char   *CheckForMessage        PROTO((IOBuffer *buffer));
+
+off_t   Fread                  PROTO((void *ptr, off_t size, off_t nitems, FILE *f, char *type));
+off_t   Fwrite                 PROTO((void *ptr, off_t size, off_t nitems, FILE *f, char *type));
 
 /*
