xref: /lighttpd1.4/src/mod_vhostdb_api.c (revision 0fd89187)
1*0fd89187SGlenn Strauss /*
2*0fd89187SGlenn Strauss  * http_vhostdb_api - virtual hosts mapping backend registration
3*0fd89187SGlenn Strauss  *
4*0fd89187SGlenn Strauss  * Copyright(c) 2017 Glenn Strauss gstrauss()gluelogic.com  All rights reserved
5*0fd89187SGlenn Strauss  * License: BSD 3-clause (same as lighttpd)
6*0fd89187SGlenn Strauss  */
7*0fd89187SGlenn Strauss #include "first.h"
8*0fd89187SGlenn Strauss 
9*0fd89187SGlenn Strauss #include "mod_vhostdb_api.h"
10*0fd89187SGlenn Strauss 
11*0fd89187SGlenn Strauss #include <string.h>
12*0fd89187SGlenn Strauss 
13*0fd89187SGlenn Strauss 
14*0fd89187SGlenn Strauss static http_vhostdb_backend_t http_vhostdb_backends[8];
15*0fd89187SGlenn Strauss 
http_vhostdb_dumbdata_reset(void)16*0fd89187SGlenn Strauss void http_vhostdb_dumbdata_reset (void)
17*0fd89187SGlenn Strauss {
18*0fd89187SGlenn Strauss     memset(http_vhostdb_backends, 0, sizeof(http_vhostdb_backends));
19*0fd89187SGlenn Strauss }
20*0fd89187SGlenn Strauss 
http_vhostdb_backend_get(const buffer * name)21*0fd89187SGlenn Strauss const http_vhostdb_backend_t * http_vhostdb_backend_get (const buffer *name)
22*0fd89187SGlenn Strauss {
23*0fd89187SGlenn Strauss     int i = 0;
24*0fd89187SGlenn Strauss     while (NULL != http_vhostdb_backends[i].name
25*0fd89187SGlenn Strauss            && 0 != strcmp(http_vhostdb_backends[i].name, name->ptr)) {
26*0fd89187SGlenn Strauss         ++i;
27*0fd89187SGlenn Strauss     }
28*0fd89187SGlenn Strauss     return (NULL != http_vhostdb_backends[i].name)
29*0fd89187SGlenn Strauss       ? http_vhostdb_backends+i
30*0fd89187SGlenn Strauss       : NULL;
31*0fd89187SGlenn Strauss }
32*0fd89187SGlenn Strauss 
http_vhostdb_backend_set(const http_vhostdb_backend_t * backend)33*0fd89187SGlenn Strauss void http_vhostdb_backend_set (const http_vhostdb_backend_t *backend)
34*0fd89187SGlenn Strauss {
35*0fd89187SGlenn Strauss     unsigned int i = 0;
36*0fd89187SGlenn Strauss     while (NULL != http_vhostdb_backends[i].name) ++i;
37*0fd89187SGlenn Strauss     /*(must resize http_vhostdb_backends[] if too many different backends)*/
38*0fd89187SGlenn Strauss     force_assert(
39*0fd89187SGlenn Strauss       i < (sizeof(http_vhostdb_backends)/sizeof(http_vhostdb_backend_t))-1);
40*0fd89187SGlenn Strauss     memcpy(http_vhostdb_backends+i, backend, sizeof(http_vhostdb_backend_t));
41*0fd89187SGlenn Strauss }
42