+extern jb_err map_block_killer (struct map *exports, const char *name);
+extern jb_err map_block_keep (struct map *exports, const char *name);
+extern jb_err map_conditional (struct map *exports, const char *name, int choose_first);
+
+extern jb_err template_load(const struct client_state *csp, char ** template_ptr,
+ const char *templatename, int recursive);
+extern jb_err template_fill(char ** template_ptr, const struct map *exports);
+extern jb_err template_fill_for_cgi(const struct client_state *csp,
+ const char *templatename,
+ struct map *exports,
+ struct http_response *rsp);
+
+extern void cgi_init_error_messages(void);
+extern struct http_response *cgi_error_memory(void);
+extern jb_err cgi_redirect (struct http_response * rsp, const char *target);
+
+extern jb_err cgi_error_no_template(const struct client_state *csp,
+ struct http_response *rsp,
+ const char *template_name);
+extern jb_err cgi_error_bad_param(const struct client_state *csp,
+ struct http_response *rsp);
+extern jb_err cgi_error_disabled(const struct client_state *csp,
+ struct http_response *rsp);
+extern jb_err cgi_error_unknown(const struct client_state *csp,
+ struct http_response *rsp,
+ jb_err error_to_report);
+
+extern jb_err get_number_param(struct client_state *csp,
+ const struct map *parameters,
+ char *name,
+ unsigned *pvalue);
+extern jb_err get_string_param(const struct map *parameters,
+ const char *param_name,
+ const char **pparam);
+extern char get_char_param(const struct map *parameters,
+ const char *param_name);
+#ifdef FEATURE_COMPRESSION
+/*
+ * Minimum length which a buffer has to reach before
+ * we bother to (re-)compress it. Completely arbitrary.
+ */
+extern const size_t LOWER_LENGTH_LIMIT_FOR_COMPRESSION;
+extern char *compress_buffer(char *buffer, size_t *buffer_length, int compression_level);
+#endif