X-Git-Url: http://www.dolda2000.com/gitweb/?a=blobdiff_plain;f=src%2Fdirplex%2Fdirplex.h;h=754327df16680aa9b7a14cdae88ab709c17e6335;hb=HEAD;hp=14b704c4a1bf813bd85b5ed14e5e8e6000d608a1;hpb=600a1ce79471493f8cad5fcf118dc9797331d5aa;p=ashd.git diff --git a/src/dirplex/dirplex.h b/src/dirplex/dirplex.h index 14b704c..754327d 100644 --- a/src/dirplex/dirplex.h +++ b/src/dirplex/dirplex.h @@ -5,9 +5,11 @@ #define PAT_PATHNAME 1 #define PAT_ALL 2 #define PAT_DEFAULT 3 +#define PAT_LOCAL 4 #define PT_FILE 0 #define PT_DIR 1 +#define PT_NOTFOUND 2 struct config { struct config *next, *prev; @@ -15,7 +17,9 @@ struct config { time_t mtime, lastck; struct child *children; struct pattern *patterns; - char **index; + char **index, **dotallow; + char *capture, *reparse; + int caproot, parsecomb; }; struct rule { @@ -23,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; @@ -35,10 +45,12 @@ struct child *getchild(struct config *cf, char *name); struct config *readconfig(char *file); struct config *getconfig(char *path); struct config **getconfigs(char *file); -struct child *findchild(char *file, char *name); -struct pattern *findmatch(char *file, int trydefault, int dir); +struct child *findchild(char *file, char *name, struct config **cf); +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; extern struct config *gconfig, *lconfig; #endif