void namespace_init(namespace_t *ns)
Initializes a namespace.
uint64_t namespace_get_root_path(namespace_t *ns, path_t *out)
Get the root path of a namespace.
uint64_t namespace_traverse(namespace_t *ns, path_t *path)
If the given path is a mountpoint in the namespace, traverse to the mounted filesystem,...
uint64_t namespace_set_parent(namespace_t *ns, namespace_t *parent)
Sets the parent of a namespace and inherits all mounts from the parent.
mount_t * namespace_bind(namespace_t *ns, dentry_t *source, path_t *target, mount_flags_t flags, mode_t mode)
Bind a source dentry to a target path in a namespace.
void namespace_deinit(namespace_t *ns)
Clear and deinitialize a namespace.
void namespace_clear(namespace_t *ns)
Clears all mounts from a namespace.
mode_t
Path flags and permissions.
mount_flags_t
Mount flags type.
static clock_source_t source
Structure to describe the HPET to the sys time subsystem.
static const path_flag_t flags[]
Directory entry structure.
A entry in a doubly linked list.
list_entry_t entry
The entry for the parent's children list.
list_t mounts
List of mounts in this namespace.
mount_t * root
The root mount of the namespace.
namespace_t * parent
The parent namespace, can be NULL.
map_t mountMap
Map used to go from source dentries to namespace mounts.
list_t children
List of child namespaces.
Read-Write Ticket Lock structure.