PatchworkOS  c9fea19
A non-POSIX operating system.
Loading...
Searching...
No Matches
namespace.h File Reference
#include <kernel/fs/path.h>
#include <kernel/fs/superblock.h>
#include <kernel/sync/rwlock.h>
#include <kernel/utils/map.h>
#include <sys/io.h>
#include <sys/list.h>
Include dependency graph for namespace.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  namespace_mount_t
 
struct  namespace_t
 

Typedefs

typedef struct mount mount_t
 
typedef struct process process_t
 

Functions

void namespace_init (namespace_t *ns)
 Initializes a namespace.
 
void namespace_deinit (namespace_t *ns)
 Clear and deinitialize a namespace.
 
uint64_t namespace_set_parent (namespace_t *ns, namespace_t *parent)
 Sets the parent of a namespace and inherits all mounts from the parent.
 
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, else no-op.
 
mount_tnamespace_mount (namespace_t *ns, path_t *target, const char *deviceName, const char *fsName, mount_flags_t flags, mode_t mode, void *private)
 Mount a filesystem in a namespace.
 
mount_tnamespace_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.
 
uint64_t namespace_get_root_path (namespace_t *ns, path_t *out)
 Get the root path of a namespace.
 
void namespace_clear (namespace_t *ns)
 Clears all mounts from a namespace.
 

Typedef Documentation

◆ mount_t

typedef struct mount mount_t

Definition at line 11 of file namespace.h.

◆ process_t

typedef struct process process_t

Definition at line 12 of file namespace.h.