summaryrefslogtreecommitdiff
path: root/www-cgi/ucgi.h
diff options
context:
space:
mode:
Diffstat (limited to 'www-cgi/ucgi.h')
-rw-r--r--www-cgi/ucgi.h25
1 files changed, 22 insertions, 3 deletions
diff --git a/www-cgi/ucgi.h b/www-cgi/ucgi.h
index ed225fd..dd90b23 100644
--- a/www-cgi/ucgi.h
+++ b/www-cgi/ucgi.h
@@ -24,18 +24,37 @@
#include <stdlib.h>
+#ifdef DEBUG
+# define D(x) x
+#else
+# define D(x)
+#endif
+
#define MAX_ARGS 1024
#define MAX_USERNAME_LEN 1024
#define MAX_SCRIPTPATH_LEN 1024
+#define MAX_ENVVAR_NAME 128
#define MAX_ENVVAR_VALUE (1024*1024)
+#define MAX_ENVVARS 256
void syserror(const char *m);
-void error(const char *m);
+void error(const char *m, int st);
void *xmalloc(size_t sz);
void xsetenv(const char *en, const char *ev, int overwrite);
+void *xrealloc(void *ptr, size_t sz);
+
+const char **load_filters(unsigned flags, const char *first, ...);
+#define LOADF_MUST 1u
+#define LF_END ((const char *)0)
+
+void filter_environment(unsigned flags, const char *prefix_in,
+ const char *const *patv,
+ const char *const *defaults,
+ void (*foundone)(const char *fulln, const char *en,
+ const char *ev, void *p),
+ void *p);
+#define FILTF_WILDCARD 1u
-extern const char *const envok[];
-extern const int nenvok;
extern int debugmode;
#endif