Use a dedicated cgi handler to deal with tag-toggle requests
[privoxy.git] / cgisimple.h
index 8700405..f65a300 100644 (file)
@@ -1,24 +1,24 @@
 #ifndef CGISIMPLE_H_INCLUDED
 #define CGISIMPLE_H_INCLUDED
-#define CGISIMPLE_H_VERSION "$Id: cgisimple.h,v 1.8 2002/03/16 23:54:06 jongfoster Exp $"
+#define CGISIMPLE_H_VERSION "$Id: cgisimple.h,v 1.21 2017/01/23 13:02:45 fabiankeil Exp $"
 /*********************************************************************
  *
  * File        :  $Source: /cvsroot/ijbswa/current/cgisimple.h,v $
  *
  * Purpose     :  Declares functions to intercept request, generate
  *                html or gif answers, and to compose HTTP resonses.
- *                
+ *
  *                Functions declared include:
- * 
  *
- * Copyright   :  Written by and Copyright (C) 2001 the SourceForge
- *                Privoxy team.  http://ijbswa.sourceforge.net
+ *
+ * Copyright   :  Written by and Copyright (C) 2001-2007 members of the
+ *                Privoxy team. http://www.privoxy.org/
  *
  *                Based on the Internet Junkbuster originally written
- *                by and Copyright (C) 1997 Anonymous Coders and 
+ *                by and Copyright (C) 1997 Anonymous Coders and
  *                Junkbusters Corporation.  http://www.junkbusters.com
  *
- *                This program is free software; you can redistribute it 
+ *                This program is free software; you can redistribute it
  *                and/or modify it under the terms of the GNU General
  *                Public License as published by the Free Software
  *                Foundation; either version 2 of the License, or (at
  *                or write to the Free Software Foundation, Inc., 59
  *                Temple Place - Suite 330, Boston, MA  02111-1307, USA.
  *
- * Revisions   :
- *    $Log: cgisimple.h,v $
- *    Revision 1.8  2002/03/16 23:54:06  jongfoster
- *    Adding graceful termination feature, to help look for memory leaks.
- *    If you enable this (which, by design, has to be done by hand
- *    editing config.h) and then go to http://i.j.b/die, then the program
- *    will exit cleanly after the *next* request.  It should free all the
- *    memory that was used.
- *
- *    Revision 1.7  2002/03/08 16:43:59  oes
- *    Renamed cgi_transparent_png to cgi_transparent_image
- *
- *    Revision 1.6  2002/03/07 03:48:59  oes
- *     - Changed built-in images from GIF to PNG
- *       (with regard to Unisys patent issue)
- *
- *    Revision 1.5  2002/01/22 23:26:03  jongfoster
- *    Adding cgi_transparent_gif() for http://i.j.b/t
- *
- *    Revision 1.4  2001/10/23 21:48:19  jongfoster
- *    Cleaning up error handling in CGI functions - they now send back
- *    a HTML error page and should never cause a FATAL error.  (Fixes one
- *    potential source of "denial of service" attacks).
- *
- *    CGI actions file editor that works and is actually useful.
- *
- *    Ability to toggle JunkBuster remotely using a CGI call.
- *
- *    You can turn off both the above features in the main configuration
- *    file, e.g. if you are running a multi-user proxy.
- *
- *    Revision 1.3  2001/10/14 22:00:32  jongfoster
- *    Adding support for a 404 error when an invalid CGI page is requested.
- *
- *    Revision 1.2  2001/10/02 15:31:20  oes
- *    Introduced show-request cgi
- *
- *    Revision 1.1  2001/09/16 17:08:54  jongfoster
- *    Moving simple CGI functions from cgi.c to new file cgisimple.c
- *
- *
  **********************************************************************/
-\f
 
-#include "project.h"
 
-#ifdef __cplusplus
-extern "C" {
-#endif
+#include "project.h"
 
 /*
  * CGI functions
@@ -113,10 +68,34 @@ extern jb_err cgi_show_version (struct client_state *csp,
 extern jb_err cgi_show_request (struct client_state *csp,
                                 struct http_response *rsp,
                                 const struct map *parameters);
+#ifdef FEATURE_CLIENT_TAGS
+extern jb_err cgi_show_client_tags(struct client_state *csp,
+                                   struct http_response *rsp,
+                                   const struct map *parameters);
+extern jb_err cgi_toggle_client_tag(struct client_state *csp,
+                                    struct http_response *rsp,
+                                    const struct map *parameters);
+#endif
 extern jb_err cgi_transparent_image (struct client_state *csp,
+                                     struct http_response *rsp,
+                                     const struct map *parameters);
+extern jb_err cgi_send_error_favicon (struct client_state *csp,
+                                      struct http_response *rsp,
+                                      const struct map *parameters);
+extern jb_err cgi_send_default_favicon (struct client_state *csp,
+                                        struct http_response *rsp,
+                                        const struct map *parameters);
+extern jb_err cgi_send_stylesheet(struct client_state *csp,
+                                  struct http_response *rsp,
+                                  const struct map *parameters);
+extern jb_err cgi_send_url_info_osd(struct client_state *csp,
+                                    struct http_response *rsp,
+                                    const struct map *parameters);
+extern jb_err cgi_send_user_manual(struct client_state *csp,
                                    struct http_response *rsp,
                                    const struct map *parameters);
 
+
 #ifdef FEATURE_GRACEFUL_TERMINATION
 extern jb_err cgi_die (struct client_state *csp,
                        struct http_response *rsp,
@@ -127,10 +106,6 @@ extern jb_err cgi_die (struct client_state *csp,
 extern const char cgisimple_rcs[];
 extern const char cgisimple_h_rcs[];
 
-#ifdef __cplusplus
-} /* extern "C" */
-#endif
-
 #endif /* ndef CGISIMPLE_H_INCLUDED */
 
 /*