In-memory modifiable filesystem tree

In-memory modifiable filesystem tree — Modifiable filesystem tree

Functions

Types and Values

Description

In order to commit content into an OstreeRepo, it must first be imported into an OstreeMutableTree. There are several high level APIs to create an initiable OstreeMutableTree from a physical filesystem directory, but they may also be computed programmatically.

Functions

ostree_mutable_tree_new ()

OstreeMutableTree *
ostree_mutable_tree_new (void);

Returns

A new tree.

[transfer full]


ostree_mutable_tree_set_metadata_checksum ()

void
ostree_mutable_tree_set_metadata_checksum
                               (OstreeMutableTree *self,
                                const char *checksum);

ostree_mutable_tree_get_metadata_checksum ()

const char *
ostree_mutable_tree_get_metadata_checksum
                               (OstreeMutableTree *self);

ostree_mutable_tree_set_contents_checksum ()

void
ostree_mutable_tree_set_contents_checksum
                               (OstreeMutableTree *self,
                                const char *checksum);

ostree_mutable_tree_get_contents_checksum ()

const char *
ostree_mutable_tree_get_contents_checksum
                               (OstreeMutableTree *self);

ostree_mutable_tree_replace_file ()

gboolean
ostree_mutable_tree_replace_file (OstreeMutableTree *self,
                                  const char *name,
                                  const char *checksum,
                                  GError **error);

ostree_mutable_tree_ensure_dir ()

gboolean
ostree_mutable_tree_ensure_dir (OstreeMutableTree *self,
                                const char *name,
                                OstreeMutableTree **out_subdir,
                                GError **error);

ostree_mutable_tree_lookup ()

gboolean
ostree_mutable_tree_lookup (OstreeMutableTree *self,
                            const char *name,
                            char **out_file_checksum,
                            OstreeMutableTree **out_subdir,
                            GError **error);

ostree_mutable_tree_ensure_parent_dirs ()

gboolean
ostree_mutable_tree_ensure_parent_dirs
                               (OstreeMutableTree *self,
                                GPtrArray *split_path,
                                const char *metadata_checksum,
                                OstreeMutableTree **out_parent,
                                GError **error);

Create all parent trees necessary for the given split_path to exist.

Parameters

self

Tree

 

split_path

File path components.

[element-type utf8]

metadata_checksum

SHA256 checksum for metadata

 

out_parent

The parent tree.

[out][transfer full]

error

a GError

 

ostree_mutable_tree_walk ()

gboolean
ostree_mutable_tree_walk (OstreeMutableTree *self,
                          GPtrArray *split_path,
                          guint start,
                          OstreeMutableTree **out_subdir,
                          GError **error);

Traverse start number of elements starting from split_path ; the child will be returned in out_subdir .

Parameters

self

Tree

 

split_path

Split pathname.

[element-type utf8]

start

Descend from this number of elements in split_path

 

out_subdir

Target parent.

[out][transfer full]

error

Error

 

ostree_mutable_tree_get_subdirs ()

GHashTable *
ostree_mutable_tree_get_subdirs (OstreeMutableTree *self);

Returns

All children directories.

[transfer none][element-type utf8 OstreeMutableTree]


ostree_mutable_tree_get_files ()

GHashTable *
ostree_mutable_tree_get_files (OstreeMutableTree *self);

Returns

All children files (the value is a checksum).

[transfer none][element-type utf8 utf8]

Types and Values

OstreeMutableTree

typedef struct OstreeMutableTree OstreeMutableTree;

Private instance structure.