#ifndef LOADERS_H_INCLUDED
#define LOADERS_H_INCLUDED
-#define LOADERS_H_VERSION "$Id: loaders.h,v 1.12 2001/11/07 00:02:13 steudten Exp $"
+#define LOADERS_H_VERSION "$Id: loaders.h,v 1.14 2002/01/17 21:03:08 jongfoster Exp $"
/*********************************************************************
*
* File : $Source: /cvsroot/ijbswa/current/loaders.h,v $
*
* Revisions :
* $Log: loaders.h,v $
+ * Revision 1.14 2002/01/17 21:03:08 jongfoster
+ * Moving all our URL and URL pattern parsing code to urlmatch.c.
+ *
+ * Renaming free_url to free_url_spec, since it frees a struct url_spec.
+ *
+ * Revision 1.13 2001/12/30 14:07:32 steudten
+ * - Add signal handling (unix)
+ * - Add SIGHUP handler (unix)
+ * - Add creation of pidfile (unix)
+ * - Add action 'top' in rc file (RH)
+ * - Add entry 'SIGNALS' to manpage
+ * - Add exit message to logfile (unix)
+ *
* Revision 1.12 2001/11/07 00:02:13 steudten
* Add line number in error output for lineparsing for
* actionsfile and configfile.
const char * filename,
struct file_list ** newfl);
+extern jb_err edit_read_line(FILE *fp,
+ char **raw_out,
+ char **prefix_out,
+ char **data_out,
+ int *newline,
+ unsigned long *line_number);
+
+extern jb_err simple_read_line(FILE *fp, char **dest, int *newline);
+
+/*
+ * Various types of newlines that a file may contain.
+ */
+#define NEWLINE_UNKNOWN 0 /* Newline convention in file is unknown */
+#define NEWLINE_UNIX 1 /* Newline convention in file is '\n' (ASCII 10) */
+#define NEWLINE_DOS 2 /* Newline convention in file is '\r\n' (ASCII 13,10) */
+#define NEWLINE_MAC 3 /* Newline convention in file is '\r' (ASCII 13) */
+
+/*
+ * Types of newlines that a file may contain, as strings. If you have an
+ * extremely wierd compiler that does not have '\r' == CR == ASCII 13 and
+ * '\n' == LF == ASCII 10), then fix CHAR_CR and CHAR_LF in loaders.c as
+ * well as these definitions.
+ */
+#define NEWLINE(style) ((style)==NEWLINE_DOS ? "\r\n" : \
+ ((style)==NEWLINE_MAC ? "\r" : "\n"))
+
+
extern short int MustReload;
extern int load_actions_file(struct client_state *csp);
extern int load_re_filterfile(struct client_state *csp);
-extern jb_err create_url_spec(struct url_spec * url, char * buf);
-extern void free_url(struct url_spec *url);
-
extern void add_loader(int (*loader)(struct client_state *),
struct configuration_spec * config);
extern int run_loader(struct client_state *csp);