39 |
39 |
40 #ifdef __cplusplus |
40 #ifdef __cplusplus |
41 extern "C" { |
41 extern "C" { |
42 #endif |
42 #endif |
43 |
43 |
|
44 typedef struct VSLocation VSLocation; |
|
45 |
|
46 struct VSLocation { |
|
47 VSLocation *child_begin; |
|
48 VSLocation *child_end; |
|
49 |
|
50 VSLocation *next; |
|
51 }; |
|
52 |
44 struct VirtualServer { |
53 struct VirtualServer { |
45 sstr_t name; |
54 cxmutstr name; |
46 sstr_t host; |
55 cxmutstr host; |
47 // TODO: list of listeners, check listener of vs |
56 // TODO: list of listeners, check listener of vs |
48 |
57 |
49 sstr_t objectfile; |
58 cxmutstr objectfile; |
50 HTTPObjectConfig *objects; |
59 HTTPObjectConfig *objects; |
51 |
60 |
52 sstr_t document_root; |
61 cxmutstr document_root; |
53 |
62 |
54 ACLData *acls; |
63 ACLData *acls; |
55 AccessLog *log; |
64 AccessLog *log; |
|
65 |
|
66 VSLocation *locations_begin; |
|
67 VSLocation *locations_end; |
|
68 |
56 |
69 |
57 uint32_t ref; // reference counter |
70 uint32_t ref; // reference counter |
58 }; |
71 }; |
59 |
72 |
60 VirtualServer* vs_new(); |
73 VirtualServer* vs_new(); |