X-Git-Url: http://www.dolda2000.com/gitweb/?a=blobdiff_plain;f=src%2Fdirplex%2Fdirplex.h;h=ffe12a634901bce24ce26529f89822788dc5ef36;hb=bcad6b0c48d516ddc920b52f06083ceaa242e1ca;hp=a025719582049bbe024fa21fa3ee997504724c98;hpb=b70b2d4f237082541d01b4b33abc86ef2b7b2223;p=ashd.git diff --git a/src/dirplex/dirplex.h b/src/dirplex/dirplex.h index a025719..ffe12a6 100644 --- a/src/dirplex/dirplex.h +++ b/src/dirplex/dirplex.h @@ -9,6 +9,7 @@ #define PT_FILE 0 #define PT_DIR 1 +#define PT_NOTFOUND 2 struct config { struct config *next, *prev; @@ -17,7 +18,8 @@ struct config { struct child *children; struct pattern *patterns; char **index; - char *capture; + char *capture, *reparse; + int caproot, parsecomb; }; struct rule { @@ -25,9 +27,15 @@ struct rule { char **patterns; }; +struct headmod { + struct headmod *next; + char *name, *value; +}; + struct pattern { struct pattern *next; int type; + struct headmod *headers; char *childnm; char **fchild; struct rule **rules; @@ -38,7 +46,8 @@ struct config *readconfig(char *file); struct config *getconfig(char *path); struct config **getconfigs(char *file); struct child *findchild(char *file, char *name, struct config **cf); -struct pattern *findmatch(char *file, int trydefault, int dir); +struct pattern *findmatch(char *file, int trydefault, int type); +void modheaders(struct hthead *req, struct pattern *pat); extern time_t now; extern struct child *notfound;