* 3. Altered versions must be plainly marked as such, and must not be
* misrepresented as being the original software. Since few users
* ever read sources, credits should appear in the documentation.
- *
+ *
* 4. This notice may not be removed or altered.
*
******************************************************************************/
#ifndef REWRITE_H
#define REWRITE_H
-LDAP_BEGIN_DECL
-
/*
* Default rewrite context
*/
/*
* Rewrite modes (input values for rewrite_info_init); determine the
* behavior in case a null or non existent context is required:
- *
+ *
* REWRITE_MODE_ERR error
* REWRITE_MODE_OK no error but no rewrite
* REWRITE_MODE_COPY_INPUT a copy of the input is returned
/*
* Rewrite status returns
- *
+ *
* REWRITE_REGEXEC_OK success (result may be empty in case
* of no match)
* REWRITE_REGEXEC_ERR error (internal error,
* Rewrite info
*/
struct rewrite_info;
-struct berval;
+
+struct berval; /* avoid include */
+
+LDAP_BEGIN_DECL
/*
* Inits the info
*/
-extern struct rewrite_info *
+LDAP_REWRITE_F (struct rewrite_info *)
rewrite_info_init(
int mode
);
/*
* Cleans up the info structure
*/
-extern int
+LDAP_REWRITE_F (int)
rewrite_info_delete(
struct rewrite_info *info
);
* rewriteMap mapType mapName [mapArgs]
* rewriteParam paramName paramValue
*/
-extern int
+LDAP_REWRITE_F (int)
rewrite_parse(
struct rewrite_info *info,
const char *fname,
char **argv
);
+/*
+ * process a config file that was already opened. Uses rewrite_parse.
+ */
+LDAP_REWRITE_F (int)
+rewrite_read(
+ FILE *fin,
+ struct rewrite_info *info
+);
+
/*
* Rewrites a string according to context.
* If the engine is off, OK is returned, but the return string will be NULL.
*
* What to do in case of non-existing rewrite context is still an issue.
* Four possibilities:
- * - error,
- * - ok with NULL result,
+ * - error,
+ * - ok with NULL result,
* - ok with copy of string as result,
* - use the default rewrite context.
*/
-extern int
+LDAP_REWRITE_F (int)
rewrite(
struct rewrite_info *info,
const char *rewriteContext,
/*
* Same as above; the cookie relates the rewrite to a session
*/
-extern int
+LDAP_REWRITE_F (int)
rewrite_session(
struct rewrite_info *info,
const char *rewriteContext,
/*
* Inits a session
*/
-extern struct rewrite_session *
+LDAP_REWRITE_F (struct rewrite_session *)
rewrite_session_init(
struct rewrite_info *info,
const void *cookie
/*
* Defines and inits a variable with session scope
*/
-extern int
+LDAP_REWRITE_F (int)
rewrite_session_var_set(
struct rewrite_info *info,
const void *cookie,
/*
* Deletes a session
*/
-extern int
+LDAP_REWRITE_F (int)
rewrite_session_delete(
struct rewrite_info *info,
const void *cookie
/*
* Defines and inits a variable with global scope
*/
-extern int
+LDAP_REWRITE_F (int)
rewrite_param_set(
struct rewrite_info *info,
const char *name,
/*
* Gets a var with global scope
*/
-extern int
+LDAP_REWRITE_F (int)
rewrite_param_get(
struct rewrite_info *info,
const char *name,
struct berval *value
);
-/*
+/*
* Destroys the parameter tree
*/
-extern int
+LDAP_REWRITE_F (int)
rewrite_param_destroy(
struct rewrite_info *info
);
LDAP_END_DECL
#endif /* REWRITE_H */
-