Subversion Repositories planix.SVN

Rev

Rev 2 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
2 - 1
typedef struct HSPriv	HSPriv;
2
 
3
enum
4
{
5
	HSTIMEOUT	= 15 * 60 * 1000,
6
 
7
	/* rewrite replacement field modifiers */
8
	Modsilent	= '@',	/* don't tell the browser about the redirect. */
9
	Modperm		= '=',	/* generate permanent redirection */
10
	Modsubord	= '*',	/* map page & all subordinates to same URL */
11
	Modonly		= '>',	/* match only this page, not subordinates */
12
 
13
	Redirsilent	= 1<<0,
14
	Redirperm	= 1<<1,
15
	Redirsubord	= 1<<2,
16
	Redironly	= 1<<3,
17
};
18
 
19
struct HSPriv
20
{
21
	char		*remotesys;
22
	char		*remoteserv;
23
};
24
 
25
extern	int		logall[3];
26
extern	char*		HTTPLOG;
27
extern	char*		webroot;
28
extern	char*		netdir;
29
 
30
#define 		STRLEN(s)	(sizeof(s)-1)
31
 
32
/* emem.c */
33
char			*estrdup(char*);
34
void*			ezalloc(ulong);
35
 
36
/* sendfd.c */
37
int			authcheck(HConnect *c);
38
int			checkreq(HConnect *c, HContent *type, HContent *enc, long mtime, char *etag);
39
int			etagmatch(int, HETag*, char*);
40
HRange			*fixrange(HRange *h, long length);
41
int			sendfd(HConnect *c, int fd, Dir *dir, HContent *type, HContent *enc);
42
 
43
/* content.c */
44
void			contentinit(void);
45
HContents		dataclass(HConnect *, char*, int);
46
int			updateQid(int, Qid*);
47
HContents		uriclass(HConnect *, char*);
48
 
49
/* anonymous.c */
50
void			anonymous(HConnect*);
51
 
52
/* hint.c */
53
void			hintprint(HConnect *hc, Hio*, char *, int, int);
54
void			statsinit(void);
55
void			urlcanon(char *url);
56
void			urlinit(void);
57
 
58
/* init.c */
59
HConnect*		init(int, char**);
60
 
61
vlong			Bfilelen(void*);
62
 
63
/* redirect.c */
64
void			redirectinit(void);
65
char*			redirect(HConnect *hc, char*, uint *);
66
char*			masquerade(char*);
67
char*			authrealm(HConnect *hc, char *path);
68
char			*undecorated(char *repl);
69
 
70
/* log.c */
71
void			logit(HConnect*, char*, ...);
72
#pragma	varargck	argpos	logit	2
73
void			writelog(HConnect*, char*, ...);
74
#pragma	varargck	argpos	writelog	2
75
 
76
/* authorize.c */
77
int authorize(HConnect*, char*);
78
 
79
char *webroot;