summaryrefslogtreecommitdiff
path: root/include/X11/fonts/bufio.h
diff options
context:
space:
mode:
authorKaleb Keithley <kaleb@freedesktop.org>2003-11-14 16:48:50 +0000
committerKaleb Keithley <kaleb@freedesktop.org>2003-11-14 16:48:50 +0000
commit4349bf0fa125e2a1c32b0b49c974ff5fa588cdbe (patch)
tree2e4b857f2103cfbcdfcfd53b47334166e139a273 /include/X11/fonts/bufio.h
parent3795e9702b3b3a6fe0594d09cdd110adeb5e42f9 (diff)
Diffstat (limited to 'include/X11/fonts/bufio.h')
-rw-r--r--include/X11/fonts/bufio.h96
1 files changed, 33 insertions, 63 deletions
diff --git a/include/X11/fonts/bufio.h b/include/X11/fonts/bufio.h
index 493f3ce..402685f 100644
--- a/include/X11/fonts/bufio.h
+++ b/include/X11/fonts/bufio.h
@@ -27,6 +27,12 @@ other dealings in this Software without prior written authorization
from The Open Group.
*/
+/* $XFree86: xc/lib/font/include/bufio.h,v 1.7 2001/12/14 19:56:53 dawes Exp $ */
+
+#ifndef ___BUFIO_H___
+#define ___BUFIO_H___ 1
+
+#include <X11/Xfuncproto.h>
#ifdef TEST
@@ -39,80 +45,41 @@ from The Open Group.
#define BUFFILEEOF -1
typedef unsigned char BufChar;
+typedef struct _buffile *BufFilePtr;
typedef struct _buffile {
BufChar *bufp;
int left;
+ int eof;
BufChar buffer[BUFFILESIZE];
- int (*io)(/* BufFilePtr f */);
- int (*skip)(/* BufFilePtr f, int count */);
- int (*close)(/* BufFilePtr f */);
+ int (*input)( BufFilePtr /* f */);
+ int (*output)( int /* c */, BufFilePtr /* f */);
+ int (*skip)( BufFilePtr /* f */, int /* count */);
+ int (*close)( BufFilePtr /* f */, int /* doClose */);
char *private;
-} BufFileRec, *BufFilePtr;
+} BufFileRec;
-extern BufFilePtr BufFileCreate (
-#if NeedFunctionPrototypes
+extern BufFilePtr BufFileCreate (
char*,
- int (*)(),
- int (*)(),
- int (*)()
-#endif
-);
-extern BufFilePtr BufFileOpenRead (
-#if NeedFunctionPrototypes
- int
-#endif
-);
-
-extern BufFilePtr BufFileOpenWrite (
-#if NeedFunctionPrototypes
- int
-#endif
-);
-
-extern BufFilePtr BufFilePushCompressed (
-#if NeedFunctionPrototypes
- BufFilePtr
-#endif
-);
+ int (*)(BufFilePtr),
+ int (*)(int, BufFilePtr),
+ int (*)(BufFilePtr, int),
+ int (*)(BufFilePtr, int));
+extern BufFilePtr BufFileOpenRead ( int );
+extern BufFilePtr BufFileOpenWrite ( int );
+extern BufFilePtr BufFilePushCompressed ( BufFilePtr );
#ifdef X_GZIP_FONT_COMPRESSION
-extern BufFilePtr BufFilePushZIP (
-#if NeedFunctionPrototypes
- BufFilePtr
-#endif
-);
-#endif
-extern int BufFileClose (
-#if NeedFunctionPrototypes
- BufFilePtr,
- int
+extern BufFilePtr BufFilePushZIP ( BufFilePtr );
#endif
-);
-extern int BufFileFlush (
-#if NeedFunctionPrototypes
- BufFilePtr
-#endif
-);
+extern int BufFileClose ( BufFilePtr, int );
+extern int BufFileFlush ( BufFilePtr, int );
+extern int BufFileRead ( BufFilePtr, char*, int );
+extern int BufFileWrite ( BufFilePtr, char*, int );
+extern void BufFileFree ( BufFilePtr );
-extern int BufFileRead (
-#if NeedFunctionPrototypes
- BufFilePtr,
- char*,
- int
-#endif
-);
-
-extern int BufFileWrite (
-#if NeedFunctionPrototypes
- BufFilePtr,
- char*,
- int
-#endif
-);
-
-#define BufFileGet(f) ((f)->left-- ? *(f)->bufp++ : (*(f)->io) (f))
-#define BufFilePut(c,f) (--(f)->left ? *(f)->bufp++ = (c) : (*(f)->io) (c,f))
-#define BufFileSkip(f,c) ((*(f)->skip) (f, c))
+#define BufFileGet(f) ((f)->left-- ? *(f)->bufp++ : ((f)->eof = (*(f)->input) (f)))
+#define BufFilePut(c,f) (--(f)->left ? *(f)->bufp++ = ((unsigned char)(c)) : (*(f)->output) ((unsigned char)(c),f))
+#define BufFileSkip(f,c) ((f)->eof = (*(f)->skip) (f, c))
#ifndef TRUE
#define TRUE 1
@@ -120,3 +87,6 @@ extern int BufFileWrite (
#ifndef FALSE
#define FALSE 0
#endif
+
+#endif /* ___BUFIO_H___ */
+