summaryrefslogtreecommitdiff
path: root/reference/C/CONTRIB/SNIP/xfile.h
diff options
context:
space:
mode:
Diffstat (limited to 'reference/C/CONTRIB/SNIP/xfile.h')
-rwxr-xr-xreference/C/CONTRIB/SNIP/xfile.h41
1 files changed, 41 insertions, 0 deletions
diff --git a/reference/C/CONTRIB/SNIP/xfile.h b/reference/C/CONTRIB/SNIP/xfile.h
new file mode 100755
index 0000000..afebe3f
--- /dev/null
+++ b/reference/C/CONTRIB/SNIP/xfile.h
@@ -0,0 +1,41 @@
+/*
+** xfile.h -- definitions for fast line buffered files
+*/
+
+#ifndef __XFILE_H__
+#define __XFILE_H__
+
+struct _xfile {
+ int fd;
+ int bufSize;
+ char *buf;
+ char *nextChar;
+ char *lastChar;
+};
+
+typedef struct _xfile XFILE;
+
+#include <dos.h>
+
+#if defined(__ZTC__)
+ #include <io.h>
+ #define DOS_OPEN dos_open
+ #define READ read
+ #define CLOSE close
+#elif defined(__TURBOC__)
+ #include <io.h>
+ #include <fcntl.h>
+ #define DOS_OPEN _open
+ #define READ _read
+ #define CLOSE _close
+#else /* MSC */
+ #include <stdlib.h>
+ #include <fcntl.h>
+ #define CLOSE _dos_close
+#endif
+
+XFILE *xopen(char const *);
+void xclose(XFILE *);
+char *xgetline(XFILE *);
+
+#endif /* __XFILE_H__ */