From b49d8ebefe9b10c53a6a09ad564e22111b7b25c6 Mon Sep 17 00:00:00 2001 From: Stef Walter Date: Sat, 20 Sep 2003 07:12:49 +0000 Subject: Initial Import --- lib/rep.h | 107 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 107 insertions(+) create mode 100644 lib/rep.h (limited to 'lib/rep.h') 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: + */ + +#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__ */ -- cgit v1.2.3