14typedef struct VFSDir VFSDir;
16typedef struct VFS_WeakRef VFS_WeakRef;
17typedef struct VFSMount VFSMount;
18typedef struct VFSMount_WeakRef VFSMount_WeakRef;
45#define VFS(inst) ((VFS*)(unused_noeval((inst) && &((inst)->_is_VFS)), (inst)))
46#define VFSNone ((VFS*)NULL)
48typedef struct VFS_WeakRef {
51 void* _is_VFS_WeakRef;
52 void* _is_ObjInst_WeakRef;
57#define VFS_WeakRef(inst) ((VFS_WeakRef*)(unused_noeval((inst) && &((inst)->_is_VFS_WeakRef)), (inst)))
77#define vfsCreate(flags) VFS_create(flags)
106#define vfsCreateFromFS() VFS_createFromFS()
109typedef struct VFSMount {
116 atomic(uintptr) _ref;
117 atomic(ptr) _weakref;
123#define VFSMount(inst) ((VFSMount*)(unused_noeval((inst) && &((inst)->_is_VFSMount)), (inst)))
124#define VFSMountNone ((VFSMount*)NULL)
126typedef struct VFSMount_WeakRef {
129 void* _is_VFSMount_WeakRef;
130 void* _is_ObjInst_WeakRef;
132 atomic(uintptr) _ref;
135#define VFSMount_WeakRef(inst) ((VFSMount_WeakRef*)(unused_noeval((inst) && &((inst)->_is_VFSMount_WeakRef)), (inst)))
139#define vfsmountCreate(provider, flags) VFSMount_create(ObjInst(provider), flags)
#define saDeclarePtr(name)
#define _objfactory_check
#define _objfactory_guaranteed
CX Object System - Object-oriented programming in C.
Reader-writer lock synchronization primitive.
VFSDir * root
Root for namespaceless paths.
string curdir
Current working directory of the VFS.
hashtable namespaces
Hashtable of string/VFSDir.