Main Page   Alphabetical List   Data Structures   File List   Data Fields   Globals  

project.h File Reference

Defines data structures which are widely used in the project. More...

Go to the source code of this file.

Data Structures

struct  action_spec
 This structure contains a set of changes to actions. More...

struct  cgi_dispatcher
 List of available CGI functions. More...

struct  client_state
 The state of a Privoxy processing thread. More...

struct  configuration_spec
 Data loaded from the configuration file. More...

struct  current_action_spec
 This structure contains a list of actions to apply to a URL. More...

struct  file_list
 A data file used by Privoxy. More...

struct  forward_spec
 How to forward a connection to a parent proxy. More...

struct  http_request
 A HTTP request. More...

struct  http_response
 Response generated by CGI, blocker, or error handler. More...

struct  iob
 An I/O buffer. More...

struct  list
 A header for a linked list of strings. More...

struct  list_entry
 Entry in a linked list of strings. More...

struct  map
 A map from a string to another string. More...

struct  map_entry
 An entry in a map. More...

struct  parsers
 List of functions to run on a list of headers. More...

struct  re_filterfile_spec
 This struct represents one filter (one block) from the re_filterfile. More...

struct  url_actions
 This structure is used to store the actions list. More...

struct  url_spec
 A URL pattern. More...


Defines

#define PROJECT_H_VERSION   "$Id: project.h,v 2.1 2002/06/04 16:35:56 jongfoster Exp $"
#define JB_INVALID_SOCKET   (-1)
#define JB_ERR_OK   0
#define JB_ERR_MEMORY   1
#define JB_ERR_CGI_PARAMS   2
#define JB_ERR_FILE   3
#define JB_ERR_PARSE   4
#define JB_ERR_MODIFIED   5
#define freez(X)   { if(X) { free((void*)X); X = NULL ; } }
#define ijb_toupper(__X)   toupper((int)(unsigned char)(__X))
#define ijb_tolower(__X)   tolower((int)(unsigned char)(__X))
#define ijb_isspace(__X)   isspace((int)(unsigned char)(__X))
#define BUFFER_SIZE   5000
#define CGI_PARAM_LEN_MAX   500
#define HOSTENT_BUFFER_SIZE   1024
#define FOREVER   1
#define HADDR_DEFAULT   "127.0.0.1"
#define HADDR_PORT   8118
#define URL_SPEC_INITIALIZER   { NULL, NULL, NULL, 0, 0, 0, NULL, 0, NULL }
#define ANCHOR_LEFT   1
#define ANCHOR_RIGHT   2
#define IOB_PEEK(CSP)   ((CSP->iob->cur > CSP->iob->eod) ? (CSP->iob->eod - CSP->iob->cur) : 0)
#define IOB_RESET(CSP)   if(CSP->iob->buf) free(CSP->iob->buf); memset(CSP->iob, '\0', sizeof(CSP->iob));
#define CT_TEXT   1
#define CT_GIF   2
#define CT_TABOO   4
#define ACTION_MASK_ALL   (~0UL)
#define ACTION_MOST_COMPATIBLE   0x00000000UL
#define ACTION_BLOCK   0x00000001UL
#define ACTION_DEANIMATE   0x00000002UL
#define ACTION_DOWNGRADE   0x00000004UL
#define ACTION_FAST_REDIRECTS   0x00000008UL
#define ACTION_HIDE_FORWARDED   0x00000010UL
#define ACTION_HIDE_FROM   0x00000020UL
#define ACTION_HIDE_REFERER   0x00000040UL
#define ACTION_HIDE_USER_AGENT   0x00000080UL
#define ACTION_IMAGE   0x00000100UL
#define ACTION_IMAGE_BLOCKER   0x00000200UL
#define ACTION_NO_COMPRESSION   0x00000400UL
#define ACTION_NO_COOKIE_KEEP   0x00000800UL
#define ACTION_NO_COOKIE_READ   0x00001000UL
#define ACTION_NO_COOKIE_SET   0x00002000UL
#define ACTION_NO_POPUPS   0x00004000UL
#define ACTION_VANILLA_WAFER   0x00008000UL
#define ACTION_LIMIT_CONNECT   0x00010000UL
#define ACTION_STRING_DEANIMATE   0
#define ACTION_STRING_FROM   1
#define ACTION_STRING_IMAGE_BLOCKER   2
#define ACTION_STRING_REFERER   3
#define ACTION_STRING_USER_AGENT   4
#define ACTION_STRING_LIMIT_CONNECT   5
#define ACTION_STRING_COUNT   6
#define ACTION_MULTI_ADD_HEADER   0
#define ACTION_MULTI_WAFER   1
#define ACTION_MULTI_FILTER   2
#define ACTION_MULTI_COUNT   3
#define CSP_FLAG_ACTIVE   0x01
#define CSP_FLAG_CHUNKED   0x02
#define CSP_FLAG_FORCED   0x04
#define CSP_FLAG_MODIFIED   0x08
#define CSP_FLAG_REJECTED   0x10
#define CSP_FLAG_TOGGLED_ON   0x20
#define MAX_ACTION_FILES   10
#define SOCKS_NONE   0
#define SOCKS_4   40
#define SOCKS_4A   41
#define FORWARD_SPEC_INITIALIZER   { { URL_SPEC_INITIALIZER }, 0, NULL, 0, NULL, 0, NULL }
#define NLOADERS   8
#define RUNTIME_FEATURE_CGI_EDIT_ACTIONS   1
#define RUNTIME_FEATURE_CGI_TOGGLE   2
#define SZ(X)   (sizeof(X) / sizeof(*X))
#define BUILTIN_IMAGE_MIMETYPE   "image/gif"
#define HOME_PAGE_URL   "http://www.privoxy.org/"
#define USER_MANUAL_URL   HOME_PAGE_URL "/" VERSION "/user-manual/"
#define ACTIONS_HELP_PREFIX   "actions-file.html#"
#define CONFIG_HELP_PREFIX   "config.html#"
#define CGI_SITE_1_HOST   "p.p"
#define CGI_SITE_2_HOST   "config.privoxy.org"
#define CGI_SITE_2_PATH   ""
#define CGI_PREFIX   "http://" CGI_SITE_2_HOST CGI_SITE_2_PATH "/"

Typedefs

typedef int jb_socket
typedef int jb_err
typedef jb_err(* add_header_func_ptr )(struct client_state *)
typedef jb_err(* parser_func_ptr )(struct client_state *, char **)


Detailed Description

Defines data structures which are widely used in the project.

Does not define any variables or functions (though it does declare some macros).

Log:
project.h,v
Revision 2.1 2002/06/04 16:35:56 jongfoster Moving three variable declarations to jcc.c from project.h

Revision 2.0 2002/06/04 14:34:21 jongfoster Moving source files to src/

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

Revision 1.70 2002/05/12 16:05:50 jongfoster Fixing ACTION_MASK_ALL to be unsigned long rather than just unsigned int. I don't know if anyone is porting Privoxy to 16-bit platforms, but if so, +limit-connect wouldn't have worked because of this bug.

Revision 1.69 2002/05/08 16:00:16 oes Added size member to struct iob, so it can be alloced larger than needed.

Revision 1.68 2002/04/26 12:56:00 oes Killed REDIRECT_URL, added USER_MANUAL_URL and HELP_LINK_PREFIX

Revision 1.67 2002/04/24 02:12:43 oes

Revision 1.66 2002/04/15 19:06:43 jongfoster Typos

Revision 1.65 2002/04/04 00:36:36 gliptak always use pcre for matching

Revision 1.64 2002/04/03 22:28:03 gliptak Removed references to gnu_regex

Revision 1.63 2002/03/31 17:19:00 jongfoster Win32 only: Enabling STRICT to fix a VC++ compile warning.

Revision 1.62 2002/03/26 22:48:49 swa new homepage url

Revision 1.61 2002/03/26 22:29:55 swa we have a new homepage!

Revision 1.60 2002/03/24 15:52:17 jongfoster Changing CGI URL prefixes for new name

Revision 1.59 2002/03/24 15:23:33 jongfoster Name changes

Revision 1.58 2002/03/24 13:25:43 swa name change related issues

Revision 1.57 2002/03/16 20:28:34 oes Added descriptions to the filters so users will know what they select in the cgi editor

Revision 1.56 2002/03/13 20:27:30 oes Fixing bug with CT_TABOO

Revision 1.55 2002/03/12 01:42:50 oes Introduced modular filters

Revision 1.54 2002/03/09 20:03:52 jongfoster

THIS WAS A MAJOR BUG - it caused frequent, unpredictable crashes, and also frequently caused JB to jump to 100% CPU and stay there. (Because it thought it had just read ((unsigned)-1) == 4Gb of data...)

Revision 1.53 2002/03/08 16:48:55 oes Added FEATURE_NO_GIFS and BUILTIN_IMAGE_MIMETYPE

Revision 1.52 2002/03/07 03:46:17 oes Fixed compiler warnings

Revision 1.51 2002/03/05 04:52:42 oes Deleted non-errlog debugging code

Revision 1.50 2002/03/04 19:32:07 oes Changed default port to 8118

Revision 1.49 2002/03/04 18:28:55 oes Deleted PID_FILE_NAME

Revision 1.48 2002/03/03 14:50:40 oes Fixed CLF logging: Added ocmd member for client's request to struct http_request

Revision 1.47 2002/02/20 23:15:13 jongfoster Parsing functions now handle out-of-memory gracefully by returning an error code.

Revision 1.46 2002/01/17 21:06:09 jongfoster Now defining the URLs of the config interface

Minor changes to struct http_request and struct url_spec due to standardizing that struct http_request is used to represent a URL, and struct url_spec is used to represent a URL pattern. (Before, URLs were represented as seperate variables and a partially-filled-in url_spec).

Revision 1.45 2002/01/09 14:33:27 oes Added HOSTENT_BUFFER_SIZE

Revision 1.44 2001/12/30 14:07:32 steudten

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

Revision 1.39 2001/10/25 03:45:02 david__schmidt Adding a (void*) cast to freez() because Visual Age C++ won't expand the macro when called with a cast; so moving the cast to the macro def'n seems to both eliminate compiler warnings (on darwin and OS/2, anyway) and doesn't make macro expansion complain. Hope this works for everyone else too...

Revision 1.38 2001/10/23 21:19:04 jongfoster New error-handling support: jb_err type and JB_ERR_xxx constants CGI functions now return a jb_err, and their parameters map is const. Support for RUNTIME_FEATUREs to enable/disable config editor Adding a few comments

Revision 1.37 2001/10/14 22:14:01 jongfoster Removing name_length field from struct cgi_dispatcher, as this is now calculated at runtime from the "name" field.

Revision 1.36 2001/10/10 16:45:15 oes Added LIMIT_CONNECT action and string Fixed HTTP message line termination Added CFORBIDDEN HTTP message

Revision 1.35 2001/10/07 18:06:43 oes Added status member to struct http_request

Revision 1.34 2001/10/07 15:45:25 oes Added url member to struct http_request and commented all members

Added CT_TABOO

Added ACTION_DOWNGRADE and ACTION_NO_COMPRESSION

Replaced struct client_state members rejected, force, active and toggled_on with "flags" bitmap.

Added CSP_FLAG_MODIFIED and CSP_FLAG_CHUNKED

Added buffer_limit to struct configuration_spec

Revision 1.33 2001/09/20 13:30:08 steudten

Make freez() more secure in case of: if (exp) { free(z) ; a=*z } Last case will set z to NULL in free(z) and thats bad..

Revision 1.32 2001/09/16 23:02:51 jongfoster Fixing warning

Revision 1.31 2001/09/16 13:20:29 jongfoster Rewrite of list library. Now has seperate header and list_entry structures. Also added a large sprinking of assert()s to the list code.

Revision 1.30 2001/09/13 23:52:00 jongfoster Support for both static and dynamically generated CGI pages

Revision 1.29 2001/09/13 23:29:43 jongfoster Defining FORWARD_SPEC_INITIALIZER

Revision 1.28 2001/09/13 23:05:50 jongfoster Changing the string paramater to the header parsers a "const".

Revision 1.27 2001/08/05 16:06:20 jongfoster Modifiying "struct map" so that there are now separate header and "map_entry" structures. This means that functions which modify a map no longer need to return a pointer to the modified map. Also, it no longer reverses the order of the entries (which may be important with some advanced template substitutions).

Revision 1.26 2001/07/30 22:08:36 jongfoster Tidying up defines:

Revision 1.25 2001/07/29 18:43:08 jongfoster Changing ifdef _FILENAME_H to FILENAME_H_INCLUDED, to conform to ANSI C rules.

Revision 1.24 2001/07/25 17:20:27 oes Introduced http->user_agent

Revision 1.23 2001/07/18 12:32:23 oes

Revision 1.22 2001/07/15 17:51:41 jongfoster Renaming define STATIC to STATIC_PCRE

Revision 1.21 2001/07/13 14:03:19 oes

Revision 1.20 2001/06/29 21:45:41 oes Indentation, CRLF->LF, Tab-> Space

Revision 1.19 2001/06/29 13:33:36 oes

Revision 1.18 2001/06/09 10:57:39 jongfoster Adding definition of BUFFER_SIZE. Changing struct cgi_dispatcher to use "const" strings.

Revision 1.17 2001/06/07 23:15:09 jongfoster Merging ACL and forward files into config file. Moving struct gateway members into struct forward_spec Removing config->proxy_args_gateways Cosmetic: Adding a few comments

Revision 1.16 2001/06/04 18:31:58 swa files are now prefixed with either `confdir' or `logdir'. `make redhat-dist' replaces both entries confdir and logdir with redhat values

Revision 1.15 2001/06/04 11:28:53 swa redirect did not work due to missing /

Revision 1.14 2001/06/03 11:03:48 oes Added struct map, added struct http_response, changed struct interceptors to struct cgi_dispatcher, moved HTML stuff to cgi.h

Revision 1.13 2001/06/01 20:05:36 jongfoster Support for +image-blocker{}: added ACTION_IMAGE_BLOCKER constant, and removed csp->tinygif.

Revision 1.12 2001/06/01 18:49:17 jongfoster Replaced "list_share" with "list" - the tiny memory gain was not worth the extra complexity.

Revision 1.11 2001/06/01 10:32:47 oes Added constants for anchoring selection bitmap

Revision 1.10 2001/05/31 21:33:53 jongfoster Changes for new actions file, replacing permissionsfile and parts of the config file. Also added support for list_shared.

Revision 1.9 2001/05/31 17:32:31 oes

Revision 1.8 2001/05/29 20:09:15 joergs HTTP_REDIRECT_TEMPLATE fixed.

Revision 1.7 2001/05/29 09:50:24 jongfoster Unified blocklist/imagelist/actionslist. File format is still under discussion, but the internal changes are (mostly) done.

Also modified interceptor behaviour:

Revision 1.6 2001/05/27 22:17:04 oes

Revision 1.5 2001/05/26 00:28:36 jongfoster Automatic reloading of config file. Removed obsolete SIGHUP support (Unix) and Reload menu option (Win32). Most of the global variables have been moved to a new struct configuration_spec, accessed through csp->config->globalname Most of the globals remaining are used by the Win32 GUI.

Revision 1.4 2001/05/22 18:46:04 oes

Revision 1.3 2001/05/20 01:21:20 jongfoster Version 2.9.4 checkin. Revision 1.2 2001/05/17 23:01:01 oes Revision 1.1.1.1 2001/05/15 13:59:03 oes Initial import of version 2.9.3 source tree


Define Documentation

#define ACTION_BLOCK   0x00000001UL
 

Action bitmap: Block the request.

#define ACTION_DEANIMATE   0x00000002UL
 

Action bitmap: Deanimate if it's a GIF.

#define ACTION_DOWNGRADE   0x00000004UL
 

Action bitmap: Downgrade HTTP/1.1 to 1.0.

#define ACTION_FAST_REDIRECTS   0x00000008UL
 

Action bitmap: Fast redirects.

#define ACTION_HIDE_FORWARDED   0x00000010UL
 

Action bitmap: Remove existing "Forwarded" header, and do not add another.

#define ACTION_HIDE_FROM   0x00000020UL
 

Action bitmap: Hide "From" header.

#define ACTION_HIDE_REFERER   0x00000040UL
 

Action bitmap: Hide "Referer" header.

(sic - follow HTTP, not English).

#define ACTION_HIDE_USER_AGENT   0x00000080UL
 

Action bitmap: Hide "User-Agent" and similar headers.

#define ACTION_IMAGE   0x00000100UL
 

Action bitmap: This is an image.

#define ACTION_IMAGE_BLOCKER   0x00000200UL
 

Action bitmap: Sets the image blocker.

#define ACTION_LIMIT_CONNECT   0x00010000UL
 

Action bitmap: Limit CONNECT requests to safe ports.

#define ACTION_MASK_ALL   (~0UL)
 

The mask which includes all actions.

#define ACTION_MOST_COMPATIBLE   0x00000000UL
 

The most compatible set of actions - i.e.

none.

#define ACTION_MULTI_ADD_HEADER   0
 

Index into current_action_spec::multi[] for headers to add.

#define ACTION_MULTI_COUNT   3
 

Number of multi-string actions.

#define ACTION_MULTI_FILTER   2
 

Index into current_action_spec::multi[] for filters to apply.

#define ACTION_MULTI_WAFER   1
 

Index into current_action_spec::multi[] for headers to add.

#define ACTION_NO_COMPRESSION   0x00000400UL
 

Action bitmap: Prevent compression.

#define ACTION_NO_COOKIE_KEEP   0x00000800UL
 

Action bitmap: Change cookies to session only cookies.

#define ACTION_NO_COOKIE_READ   0x00001000UL
 

Action bitmap: Block rending cookies.

#define ACTION_NO_COOKIE_SET   0x00002000UL
 

Action bitmap: Block setting cookies.

#define ACTION_NO_POPUPS   0x00004000UL
 

Action bitmap: Filter out popups.

#define ACTION_STRING_COUNT   6
 

Number of string actions.

#define ACTION_STRING_DEANIMATE   0
 

Action string index: How to deanimate GIFs.

#define ACTION_STRING_FROM   1
 

Action string index: Replacement for "From:" header.

#define ACTION_STRING_IMAGE_BLOCKER   2
 

Action string index: How to block images.

#define ACTION_STRING_LIMIT_CONNECT   5
 

Action string index: Legal CONNECT ports.

#define ACTION_STRING_REFERER   3
 

Action string index: Replacement for "Referer:" header.

#define ACTION_STRING_USER_AGENT   4
 

Action string index: Replacement for "User-Agent:" header.

#define ACTION_VANILLA_WAFER   0x00008000UL
 

Action bitmap: Send a vanilla wafer.

#define ACTIONS_HELP_PREFIX   "actions-file.html#"
 

Prefix for actions help links (append to USER_MANUAL_URL).

#define ANCHOR_LEFT   1
 

Constant for host part matching in URLs.

If set, indicates that the start of the pattern must match the start of the URL. E.g. this is not set for the pattern ".example.com", so that it will match both "example.com" and "www.example.com". It is set for the pattern "example.com", which makes it match "example.com" only, not "www.example.com".

#define ANCHOR_RIGHT   2
 

Constant for host part matching in URLs.

If set, indicates that the end of the pattern must match the end of the URL. E.g. this is not set for the pattern "ad.", so that it will match any host called "ad", irrespective of how many subdomains are in the fully-qualified domain name.

#define BUFFER_SIZE   5000
 

Use for statically allocated buffers if you have no other choice.

Remember to check the length of what you write into the buffer

  • we don't want any buffer overflows!

#define CGI_PARAM_LEN_MAX   500
 

Max length of CGI parameters (arbitrary limit).

#define CGI_PREFIX   "http://" CGI_SITE_2_HOST CGI_SITE_2_PATH "/"
 

The prefix for CGI pages.

Written out in generated HTML. INCLUDES the trailing slash.

#define CONFIG_HELP_PREFIX   "config.html#"
 

Prefix for config option help links (append to USER_MANUAL_URL).

#define CSP_FLAG_ACTIVE   0x01
 

Flag for csp->flags: Set if this client is processing data.

Cleared when the thread associated with this structure dies.

#define CSP_FLAG_CHUNKED   0x02
 

Flag for csp->flags: Set if the server's reply is in "chunked" transfer encoding.

#define CSP_FLAG_FORCED   0x04
 

Flag for csp->flags: Set if this request was enforced, although it would normally have been blocked.

#define CSP_FLAG_MODIFIED   0x08
 

Flag for csp->flags: Set if any modification to the body was done.

#define CSP_FLAG_REJECTED   0x10
 

Flag for csp->flags: Set if request was blocked.

#define CSP_FLAG_TOGGLED_ON   0x20
 

Flag for csp->flags: Set if we are toggled on (FEATURE_TOGGLE).

#define CT_GIF   2
 

csp->content_type bitmask: Suitable for GIF filtering.

#define CT_TABOO   4
 

csp->content_type bitmask: DO NOT filter, irrespective of other flags.

#define CT_TEXT   1
 

csp->content_type bitmask: Suitable for pcrs filtering.

#define FOREVER   1
 

Do not use.

Originally this was so that you can say "while (FOREVER) { ...do something... }". However, this gives a warning with some compilers (e.g. VC++). Instead, use "for (;;) { ...do something... }".

#define FORWARD_SPEC_INITIALIZER   { { URL_SPEC_INITIALIZER }, 0, NULL, 0, NULL, 0, NULL }
 

Initializer for a static struct forward_spec.

#define freez      { if(X) { free((void*)X); X = NULL ; } }
 

This macro is used to free a pointer that may be NULL.

It also sets the variable to NULL after it's been freed. The paramater should be a simple variable without side effects.

#define HADDR_DEFAULT   "127.0.0.1"
 

Default IP address to listen on, as a string.

Set to "127.0.0.1".

#define HADDR_PORT   8118
 

Default port to listen on, as a number.

Set to 8118.

#define HOME_PAGE_URL   "http://www.privoxy.org/"
 

URL for the Privoxy home page.

#define HOSTENT_BUFFER_SIZE   1024
 

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 ijb_toupper __X       toupper((int)(unsigned char)(__X))
 

Fix a problem with Solaris.

There should be no effect on other platforms.

Solaris's isspace() is a macro which uses it's argument directly as an array index. Therefore we need to make sure that high-bit characters generate +ve values, and ideally we also want to make the argument match the declared parameter type of "int".

Note: Remember to include <ctype.h> if you use these macros.

#define IOB_PEEK CSP       ((CSP->iob->cur > CSP->iob->eod) ? (CSP->iob->eod - CSP->iob->cur) : 0)
 

Return the number of bytes in the I/O buffer associated with the passed client_state pointer.

May be zero.

#define IOB_RESET CSP       if(CSP->iob->buf) free(CSP->iob->buf); memset(CSP->iob, '\0', sizeof(CSP->iob));
 

Remove any data in the I/O buffer associated with the passed client_state pointer.

#define JB_ERR_CGI_PARAMS   2
 

Missing or corrupt CGI parameters.

#define JB_ERR_FILE   3
 

Error opening, reading or writing a file.

#define JB_ERR_MEMORY   1
 

Out of memory.

#define JB_ERR_MODIFIED   5
 

File has been modified outside of the CGI actions editor.

#define JB_ERR_OK   0
 

Success, no error.

#define JB_ERR_PARSE   4
 

Error parsing file.

#define JB_INVALID_SOCKET   (-1)
 

The error value used for variables of type jb_socket.

On UNIX this is -1, however Microsoft decided to make socket handles unsigned, so they use a different value.

#define MAX_ACTION_FILES   10
 

Maximum number of actions files.

This limit is arbitrary - it's just used to size an array.

#define NLOADERS   8
 

Maximum number of loaders (actions, re_filter, ...).

#define PROJECT_H_VERSION   "$Id: project.h,v 2.1 2002/06/04 16:35:56 jongfoster Exp $"
 

Version string.

#define RUNTIME_FEATURE_CGI_EDIT_ACTIONS   1
 

configuration_spec::feature_flags: CGI actions editor.

#define RUNTIME_FEATURE_CGI_TOGGLE   2
 

configuration_spec::feature_flags: Web-based toggle.

#define SOCKS_4   40
 

original SOCKS 4 protocol.

#define SOCKS_4A   41
 

as modified for hosts w/o external DNS.

#define SOCKS_NONE   0
 

Don't use a SOCKS server.

#define SZ      (sizeof(X) / sizeof(*X))
 

Calculates the number of elements in an array, using sizeof.

#define URL_SPEC_INITIALIZER   { NULL, NULL, NULL, 0, 0, 0, NULL, 0, NULL }
 

If you declare a static url_spec, this is the value to initialize it to zero.

#define USER_MANUAL_URL   HOME_PAGE_URL "/" VERSION "/user-manual/"
 

URL for the Privoxy user manual.


Typedef Documentation

typedef jb_err(* add_header_func_ptr)(struct client_state *)
 

A function to add a header.

typedef int jb_err
 

A standard error code.

This should be JB_ERR_OK or one of the JB_ERR_xxx series of errors.

typedef int jb_socket
 

The type used by sockets.

On UNIX it's an int. Microsoft decided to make it an unsigned.

typedef jb_err(* parser_func_ptr)(struct client_state *, char **)
 

A function to process a header.


Generated on Tue Jun 4 18:54:49 2002 for Privoxy 3.1.1 by doxygen1.2.15