#94: Add a config directive to let Privoxy prefer either IPv4 (or IPv6) addresses
[privoxy.git] / actions.h
index e73022e..3b57c2b 100644 (file)
--- a/actions.h
+++ b/actions.h
@@ -1,6 +1,6 @@
 #ifndef ACTIONS_H_INCLUDED
 #define ACTIONS_H_INCLUDED
-#define ACTIONS_H_VERSION "$Id: actions.h,v 1.1 2001/05/31 21:16:46 jongfoster Exp $"
+#define ACTIONS_H_VERSION "$Id: actions.h,v 1.18 2008/03/30 14:52:00 fabiankeil Exp $"
 /*********************************************************************
  *
  * File        :  $Source: /cvsroot/ijbswa/current/actions.h,v $
@@ -8,8 +8,8 @@
  * Purpose     :  Declares functions to work with actions files
  *                Functions declared include: FIXME
  *
- * Copyright   :  Written by and Copyright (C) 2001 the SourceForge
- *                IJBSWA team.  http://ijbswa.sourceforge.net
+ * Copyright   :  Written by and Copyright (C) 2001-2007 the SourceForge
+ *                Privoxy team. http://www.privoxy.org/
  *
  *                Based on the Internet Junkbuster originally written
  *                by and Copyright (C) 1997 Anonymous Coders and 
  *                or write to the Free Software Foundation, Inc., 59
  *                Temple Place - Suite 330, Boston, MA  02111-1307, USA.
  *
- * Revisions   :
- *    $Log: actions.h,v $
- *    Revision 1.1  2001/05/31 21:16:46  jongfoster
- *    Moved functions to process the action list into this new file.
- *
- *
  *********************************************************************/
-\f
+
 
 #ifdef __cplusplus
 extern "C" {
@@ -52,22 +46,48 @@ struct current_action_spec;
 struct client_state;
 
 
-extern void merge_actions (struct action_spec *dest, 
-                           const struct action_spec *src);
-extern void copy_action (struct action_spec *dest, 
-                         const struct action_spec *src);
-extern void free_action (struct action_spec *src);
-extern char * actions_to_text     (struct action_spec *action);
 
+/* This structure is used to hold user-defined aliases */
+struct action_alias
+{
+   const char * name;
+   struct action_spec action[1];
+   struct action_alias * next;
+};
+
+
+extern jb_err get_actions (char *line, 
+                           struct action_alias * alias_list,
+                           struct action_spec *cur_action);
+extern void free_alias_list(struct action_alias *alias_list);
+
+extern void init_action(struct action_spec *dest);
+extern void free_action(struct action_spec *src);
+extern jb_err merge_actions (struct action_spec *dest, 
+                             const struct action_spec *src);
+#if 0
+extern int update_action_bits_for_all_tags(struct client_state *csp);
+#endif
+extern int update_action_bits_for_tag(struct client_state *csp, const char *tag);
+extern jb_err copy_action (struct action_spec *dest, 
+                           const struct action_spec *src);
+extern char * actions_to_text     (const struct action_spec *action);
+extern char * actions_to_html     (const struct client_state *csp,
+                                   const struct action_spec *action);
 extern void init_current_action     (struct current_action_spec *dest);
-extern void merge_current_action    (struct current_action_spec *dest, 
-                                     const struct action_spec *src);
 extern void free_current_action     (struct current_action_spec *src);
-extern char * current_action_to_text(struct current_action_spec *action);
+extern jb_err merge_current_action  (struct current_action_spec *dest, 
+                                     const struct action_spec *src);
+extern char * current_action_to_html(const struct client_state *csp,
+                                     const struct current_action_spec *action);
 
-extern int get_action_token(char **line, char **name, char **value);
+extern jb_err get_action_token(char **line, char **name, char **value);
 extern void unload_actions_file(void *file_data);
-extern int load_actions_file(struct client_state *csp);
+extern int load_action_files(struct client_state *csp);
+
+#ifdef FEATURE_GRACEFUL_TERMINATION
+void unload_current_actions_file(void);
+#endif
 
 
 /* Revision control strings from this header and associated .c file */