42 |
45 |
43 static VFS_DIRIO sys_dir_io = { |
46 static VFS_DIRIO sys_dir_io = { |
44 sys_dir_read, |
47 sys_dir_read, |
45 sys_dir_close |
48 sys_dir_close |
46 }; |
49 }; |
|
50 |
|
51 int vfs_init() { |
|
52 vfs_map = ucx_map_new(16); |
|
53 if(!vfs_map) { |
|
54 return -1; |
|
55 } |
|
56 return 0; |
|
57 } |
|
58 |
|
59 void vfs_add(char *name, VFS *vfs) { |
|
60 if(!vfs_map) { |
|
61 vfs_init(); |
|
62 } |
|
63 ucx_map_cstr_put(vfs_map, name, vfs); |
|
64 } |
47 |
65 |
48 VFSContext* vfs_request_context(Session *sn, Request *rq) { |
66 VFSContext* vfs_request_context(Session *sn, Request *rq) { |
49 VFSContext *ctx = pool_malloc(sn->pool, sizeof(VFSContext)); |
67 VFSContext *ctx = pool_malloc(sn->pool, sizeof(VFSContext)); |
50 ctx->sn = sn; |
68 ctx->sn = sn; |
51 ctx->rq = rq; |
69 ctx->rq = rq; |