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 Straussvoid 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 Straussconst 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 Straussvoid 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