No longer ignore SIGCHLD. Fixes bug #769381
[privoxy.git] / project.h
index 43d53d6..381bf4b 100644 (file)
--- a/project.h
+++ b/project.h
@@ -1,10 +1,10 @@
 #ifndef PROJECT_H_INCLUDED
 #define PROJECT_H_INCLUDED
 /** Version string. */
-#define PROJECT_H_VERSION "$Id: project.h,v 1.71 2002/05/12 21:39:36 jongfoster Exp $"
+#define PROJECT_H_VERSION "$Id: project.h,v 1.72.2.2 2002/11/28 18:15:44 oes Exp $"
 /*********************************************************************
  *
- * File        :  $Source: /cvsroot/ijbswa/current/project.h,v $
+ * File        :  $Source: /cvsroot/ijbswa/current/Attic/project.h,v $
  *
  * Purpose     :  Defines data structures which are widely used in the
  *                project.  Does not define any variables or functions
  *
  * Revisions   :
  *    $Log: project.h,v $
+ *    Revision 1.72.2.2  2002/11/28 18:15:44  oes
+ *    Added flag to each cgi_dispatcher that allows or denies
+ *    external linking and removed const qualifier from
+ *    struct list_entry.str.
+ *
+ *    Revision 1.72.2.1  2002/08/10 11:25:18  oes
+ *    - Include config.h for access to config data
+ *    - Include <pcre*.h> depending on where they are
+ *
+ *    Revision 1.72  2002/05/14 21:35:49  oes
+ *    Split HELP_LINK_PREFIX into ACTIONS_HELP_PREFIX and CONFIG_HELP_PREFIX
+ *    because of split in user-manual
+ *
  *    Revision 1.71  2002/05/12 21:39:36  jongfoster
  *    - Adding Doxygen-style comments to structures and #defines.
  *
 
 /* Need time_t for file_list */
 #include <time.h>
+/* Needed for pcre choice */
+#include "config.h"
 
 /*
  * Include appropriate regular expression libraries.
 #ifdef STATIC_PCRE
 #  include "pcre.h"
 #else
-#  include <pcre.h>
+#  ifdef PCRE_H_IN_SUBDIR
+#    include <pcre/pcre.h>
+#  else
+#    include <pcre.h>
+#  endif
 #endif
 
 #ifdef STATIC_PCRS
 #ifdef STATIC_PCRE
 #  include "pcreposix.h"
 #else
-#  include <pcreposix.h>
+#  ifdef PCRE_H_IN_SUBDIR
+#    include <pcre/pcreposix.h>
+#  else
+#    include <pcreposix.h>
+#  endif
 #endif
 
 #ifdef AMIGA
@@ -609,16 +632,12 @@ struct configuration_spec;
 struct list_entry
 {
    /**
-    * The string.  The "const" is only to discourage modification,
-    * you can actually change it if you *really* want to.
-    * You can even freez() it and replace it with another
-    * malloc()d string.  If you replace it with NULL, the list
-    * functions will work, just be careful next time you iterate
-    * through the list in your own code.
-    *
-    * FIXME: Should we remove the "const"?
+    * The string pointer. It must point to a dynamically malloc()ed
+    * string or be NULL for the list functions to work. In the latter
+    * case, just be careful next time you iterate through the list in
+    * your own code.
     */
-   const char *str;
+   char *str;
    
    /** Next entry in the linked list, or NULL if no more. */
    struct list_entry *next;
@@ -965,6 +984,22 @@ struct url_actions
 #define CSP_FLAG_TOGGLED_ON 0x20
 
 
+/*
+ * Flags for use in return codes of child processes
+ */
+
+/**
+ * Flag for process return code: Set if exiting porcess has been toggled
+ * during its lifetime.
+ */
+#define RC_FLAG_TOGGLED   0x10
+
+/**
+ * Flag for process return code: Set if exiting porcess has blocked its
+ * request.
+ */
+#define RC_FLAG_BLOCKED   0x20
+
 /**
  * Maximum number of actions files.  This limit is arbitrary - it's just used
  * to size an array.
@@ -1085,6 +1120,9 @@ struct cgi_dispatcher
 
    /** The description of the CGI, to appear on the main menu, or NULL to hide it. */
    const char * const description;
+
+   /** A flag that indicates whether unintentional calls to this CGI can cause damage */
+   int harmless;
 };