summaryrefslogtreecommitdiff
path: root/Build/source/libs/gd/gd_io.h
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/libs/gd/gd_io.h')
-rw-r--r--Build/source/libs/gd/gd_io.h55
1 files changed, 55 insertions, 0 deletions
diff --git a/Build/source/libs/gd/gd_io.h b/Build/source/libs/gd/gd_io.h
new file mode 100644
index 00000000000..40985756cb2
--- /dev/null
+++ b/Build/source/libs/gd/gd_io.h
@@ -0,0 +1,55 @@
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifndef GD_IO_H
+#define GD_IO_H 1
+
+#include <stdio.h>
+
+#ifdef VMS
+#define Putchar gdPutchar
+#endif
+
+typedef struct gdIOCtx
+{
+ int (*getC) (struct gdIOCtx *);
+ int (*getBuf) (struct gdIOCtx *, void *, int);
+
+ void (*putC) (struct gdIOCtx *, int);
+ int (*putBuf) (struct gdIOCtx *, const void *, int);
+
+ /* seek must return 1 on SUCCESS, 0 on FAILURE. Unlike fseek! */
+ int (*seek) (struct gdIOCtx *, const int);
+
+ long (*tell) (struct gdIOCtx *);
+
+ void (*gd_free) (struct gdIOCtx *);
+
+}
+gdIOCtx;
+
+typedef struct gdIOCtx *gdIOCtxPtr;
+
+void Putword (int w, gdIOCtx * ctx);
+void Putchar (int c, gdIOCtx * ctx);
+
+ void gdPutC (const unsigned char c, gdIOCtx * ctx);
+ int gdPutBuf (const void *, int, gdIOCtx *);
+ void gdPutWord (int w, gdIOCtx * ctx);
+ void gdPutInt (int w, gdIOCtx * ctx);
+
+ int gdGetC (gdIOCtx * ctx);
+ int gdGetBuf (void *, int, gdIOCtx *);
+ int gdGetByte (int *result, gdIOCtx * ctx);
+ int gdGetWord (int *result, gdIOCtx * ctx);
+ int gdGetInt (int *result, gdIOCtx * ctx);
+
+ int gdSeek (gdIOCtx * ctx, const int);
+ long gdTell (gdIOCtx * ctx);
+
+#endif
+
+#ifdef __cplusplus
+}
+#endif