diff -r 66c22e54aa90 -r ab25c0a231d0 src/server/daemon/vfs.c --- a/src/server/daemon/vfs.c Tue Mar 19 17:38:32 2013 +0100 +++ b/src/server/daemon/vfs.c Mon May 06 13:44:27 2013 +0200 @@ -32,8 +32,11 @@ #include #include "../util/pool.h" +#include "../ucx/map.h" #include "vfs.h" +static UcxMap *vfs_map; + static VFS_IO sys_file_io = { sys_file_read, sys_file_write, @@ -45,6 +48,21 @@ sys_dir_close }; +int vfs_init() { + vfs_map = ucx_map_new(16); + if(!vfs_map) { + return -1; + } + return 0; +} + +void vfs_add(char *name, VFS *vfs) { + if(!vfs_map) { + vfs_init(); + } + ucx_map_cstr_put(vfs_map, name, vfs); +} + VFSContext* vfs_request_context(Session *sn, Request *rq) { VFSContext *ctx = pool_malloc(sn->pool, sizeof(VFSContext)); ctx->sn = sn;