Moving all our URL and URL pattern parsing code to urlmatch.c.
[privoxy.git] / project.h
index 6f736e9..e5d8e4e 100644 (file)
--- a/project.h
+++ b/project.h
@@ -1,6 +1,6 @@
 #ifndef PROJECT_H_INCLUDED
 #define PROJECT_H_INCLUDED
-#define PROJECT_H_VERSION "$Id: project.h,v 1.40 2001/10/26 17:40:47 oes Exp $"
+#define PROJECT_H_VERSION "$Id: project.h,v 1.44 2001/12/30 14:07:32 steudten Exp $"
 /*********************************************************************
  *
  * File        :  $Source: /cvsroot/ijbswa/current/project.h,v $
  *
  * Revisions   :
  *    $Log: project.h,v $
+ *    Revision 1.44  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.43  2001/11/22 21:57:51  jongfoster
+ *    Making action_spec->flags into an unsigned long rather than just an
+ *    unsigned int.
+ *    Adding ACTION_NO_COOKIE_KEEP
+ *
+ *    Revision 1.42  2001/11/05 21:42:41  steudten
+ *    Include DBG() macro.
+ *
+ *    Revision 1.41  2001/10/28 19:12:06  jongfoster
+ *    Adding ijb_toupper()
+ *
  *    Revision 1.40  2001/10/26 17:40:47  oes
  *    Moved ijb_isspace and ijb_tolower to project.h
  *    Removed http->user_agent, csp->referrer and csp->accept_types
 extern "C" {
 #endif
 
+#ifdef _DEBUG
+extern int ldebug;
+#define DBG(a,b)        { if ( ldebug >= a ) { printf b ; }}
+#else
+#define DBG(a,b)
+#endif /* _DEBUG */
+
+
 
 /*
  * Error codes.  Functions returning these should return a jb_err
@@ -396,6 +423,16 @@ typedef int jb_err;
  */
 #define BUFFER_SIZE 5000
 
+/*
+ * Buffer size for capturing struct hostent data in the
+ * gethostby(name|addr)_r library calls. Since we don't
+ * loop over gethostbyname_r, the buffer must be sufficient
+ * to accomodate multiple IN A RRs, as used in DNS round robin
+ * load balancing. W3C's wwwlib uses 1K, so that should be
+ * good enough for us, too.
+ */
+#define HOSTENT_BUFFER_SIZE 1024
+
 /*
  * So you can say "while (FOREVER) { ...do something... }"
  */
@@ -405,6 +442,10 @@ typedef int jb_err;
 #define HADDR_DEFAULT   "127.0.0.1"
 #define HADDR_PORT      8000
 
+/*
+ * pid file name
+ */
+#define PID_FILE_NAME   "junkbuster.pid"
 
 /* Forward defs for various structures */
 
@@ -529,25 +570,26 @@ struct iob
 
 #define ACTION_MASK_ALL        (~0U)
 
-#define ACTION_MOST_COMPATIBLE 0x0000U
-
-#define ACTION_BLOCK           0x0001U
-#define ACTION_DEANIMATE       0x0002U
-#define ACTION_DOWNGRADE       0x0004U
-#define ACTION_FAST_REDIRECTS  0x0008U
-#define ACTION_FILTER          0x0010U
-#define ACTION_HIDE_FORWARDED  0x0020U
-#define ACTION_HIDE_FROM       0x0040U
-#define ACTION_HIDE_REFERER    0x0080U /* sic - follow HTTP, not English */
-#define ACTION_HIDE_USER_AGENT 0x0100U
-#define ACTION_IMAGE           0x0200U
-#define ACTION_IMAGE_BLOCKER   0x0400U
-#define ACTION_NO_COMPRESSION  0x0800U
-#define ACTION_NO_COOKIE_READ  0x1000U
-#define ACTION_NO_COOKIE_SET   0x2000U
-#define ACTION_NO_POPUPS       0x4000U
-#define ACTION_VANILLA_WAFER   0x8000U
-#define ACTION_LIMIT_CONNECT   0x010000U
+#define ACTION_MOST_COMPATIBLE 0x00000000UL
+
+#define ACTION_BLOCK           0x00000001UL
+#define ACTION_DEANIMATE       0x00000002UL
+#define ACTION_DOWNGRADE       0x00000004UL
+#define ACTION_FAST_REDIRECTS  0x00000008UL
+#define ACTION_FILTER          0x00000010UL
+#define ACTION_HIDE_FORWARDED  0x00000020UL
+#define ACTION_HIDE_FROM       0x00000040UL
+#define ACTION_HIDE_REFERER    0x00000080UL /* sic - follow HTTP, not English */
+#define ACTION_HIDE_USER_AGENT 0x00000100UL
+#define ACTION_IMAGE           0x00000200UL
+#define ACTION_IMAGE_BLOCKER   0x00000400UL
+#define ACTION_NO_COMPRESSION  0x00000800UL
+#define ACTION_NO_COOKIE_KEEP  0x00001000UL
+#define ACTION_NO_COOKIE_READ  0x00002000UL
+#define ACTION_NO_COOKIE_SET   0x00004000UL
+#define ACTION_NO_POPUPS       0x00008000UL
+#define ACTION_VANILLA_WAFER   0x00010000UL
+#define ACTION_LIMIT_CONNECT   0x00020000UL
 
 #define ACTION_STRING_DEANIMATE     0
 #define ACTION_STRING_FROM          1
@@ -569,7 +611,7 @@ struct iob
  */
 struct current_action_spec
 {
-   unsigned flags;    /* a bit set to "1" = add action    */
+   unsigned long flags;    /* a bit set to "1" = add action    */
 
    /* For those actions that require parameters: */
 
@@ -588,8 +630,8 @@ struct current_action_spec
  */
 struct action_spec
 {
-   unsigned mask;   /* a bit set to "0" = remove action */
-   unsigned add;    /* a bit set to "1" = add action    */
+   unsigned long mask;   /* a bit set to "0" = remove action */
+   unsigned long add;    /* a bit set to "1" = add action    */
 
    /* For those actions that require parameters: */