summaryrefslogtreecommitdiff
path: root/lib/rep.h
diff options
context:
space:
mode:
authorStef Walter <stef@thewalter.net>2003-09-20 07:12:49 +0000
committerStef Walter <stef@thewalter.net>2003-09-20 07:12:49 +0000
commitb49d8ebefe9b10c53a6a09ad564e22111b7b25c6 (patch)
tree1d5dd4abc38170a7bc106dabbc59b915017222f0 /lib/rep.h
parent1cda9ebbd62916c7c2136722597a86c583e1ecf6 (diff)
Initial Import
Diffstat (limited to 'lib/rep.h')
-rw-r--r--lib/rep.h107
1 files changed, 107 insertions, 0 deletions
diff --git a/lib/rep.h b/lib/rep.h
new file mode 100644
index 0000000..673b85d
--- /dev/null
+++ b/lib/rep.h
@@ -0,0 +1,107 @@
+/*
+ * AUTHOR
+ * N. Nielsen
+ *
+ * LICENSE
+ * This software is in the public domain.
+ *
+ * The software is provided "as is", without warranty of any kind,
+ * express or implied, including but not limited to the warranties
+ * of merchantability, fitness for a particular purpose, and
+ * noninfringement. In no event shall the author(s) be liable for any
+ * claim, damages, or other liability, whether in an action of
+ * contract, tort, or otherwise, arising from, out of, or in connection
+ * with the software or the use or other dealings in the software.
+ *
+ * SUPPORT
+ * Send bug reports to: <nielsen@memberwebs.com>
+ */
+
+#ifndef __REP_H__
+#define __REP_H__
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include "rlib.h"
+
+/*
+ * This file defines a higher level interface into the rlib library.
+ * See "rlib.h" for the low level interface
+ */
+
+
+/*
+ * r_context
+ * A context with all necessary information for replaces etc...
+ */
+typedef struct _r_context
+{
+ r_stream stream; /* The rlib stream */
+ r_script script; /* The rlib script */
+
+ r_uint block; /* The buffer size used for replaces */
+ r_uint options; /* Options to be passed to rlibInit */
+}
+r_context;
+
+
+/*
+ * repLoad
+ * Loads a rep script from a file. Call this before repInit.
+ * This will load various options from the file in addition
+ * to the raw script (see r_context).
+ *
+ * ctx: The rep context (which should be zero'd)
+ * script: A rep script file open for reading.
+ */
+int repLoad(r_context* ctx, FILE* script);
+
+
+/*
+ * repInit
+ * Called to initialize the rlib with your initialization options
+ * etc...
+ *
+ * ctx: The rep context to initialize
+ */
+int repInit(r_context* ctx);
+
+
+/*
+ * repFiles
+ * Runs a rep script on a file, writing output to an output
+ * file.
+ *
+ * ctx: The rep context.
+ * fileIn: The input file opened for reading.
+ * fileOut: The output file opened for writing.
+ */
+int repFiles(r_context* ctx, FILE* fileIn, FILE* fileOut);
+
+
+/*
+ * repFile
+ * Runs a rep script on a file, sending output to the specifed
+ * callback function.
+ *
+ * ctx: The rep context.
+ * fileIn: The input file opened for reading.
+ */
+int repFile(r_context* ctx, FILE* fileIn);
+
+
+/*
+ * repFree
+ * Free a rep context.
+ *
+ * ctx: The rep context.
+ */
+void repFree(r_context* ctx);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __REP_H__ */