/* * 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__ */