Elektra: mount.c File Reference

Elektra 0.8.24

Functions
mount.c File Reference

Internals of mount functionality. More...

`#include <kdbassert.h>`
`#include "kdbinternal.h"`

## Functions
int | mountOpen (KDB *kdb, KeySet *config, KeySet *modules, Key *errorKey)
| Creates a trie from a given configuration. More...
int | mountDefault (KDB *kdb, KeySet *modules, int inFallback, Key *errorKey)
| Reopens the default backend and mounts the default backend if needed. More...
int | mountModules (KDB *kdb, KeySet *modules, Key *errorKey)
| Mount all module configurations. More...
int | mountVersion (KDB *kdb, Key *errorKey)
| Mount the version backend. More...
int | mountBackend (KDB *kdb, Backend *backend, Key *errorKey)
| Mounts a backend into the trie. More...
Key * | mountGetMountpoint (KDB *handle, const Key *where)
| Lookup a mountpoint in a handle for a specific key. More...
Backend * | mountGetBackend (KDB *handle, const Key *key)
| Lookup a backend handle for a specific key. More...

## Detailed Description

Internals of mount functionality.

Copyright
  BSD License (see LICENSE.md or https://www.libelektra.org)

## Function Documentation

## ◆ mountBackend()

int mountBackend | ( | KDB * | kdb,
|  | Backend * | backend,
|  | Key * | errorKey
| ) |  |

Mounts a backend into the trie.

Precondition
  user must pass correctly allocated backend

Postcondition
  sets reference counter of backend

Warning
  in case of init and default backends, the reference counter needs to be modified after calling mountBackend.

Parameters

  kdb | the handle to work with
  backend | the backend to mount
  errorKey | the key used to report warnings

Return values

  -1 | on failure
  1 | on success

## ◆ mountDefault()

int mountDefault | ( | KDB * | kdb,
|  | KeySet * | modules,
|  | int | inFallback,
|  | Key * | errorKey
| ) |  |

Reopens the default backend and mounts the default backend if needed.

Precondition
  Default Backend is closed. mountOpen was executed before.

Parameters

  kdb | the handle to work with
  modules | the current list of loaded modules
  errorKey | the key used to report warnings

Return values

  -1 | on error
  0 | on success

## ◆ mountGetBackend()

Backend* mountGetBackend | ( | KDB * | handle,
|  | const Key * | key
| ) |  |

Lookup a backend handle for a specific key.

The required canonical name is ensured by using a key as parameter, which will transform the key to canonical representation.

Will return handle when no more specific KDB could be found.

If key is 0 or invalid the default backend will be returned.

Parameters

  handle | is the data structure, where the mounted directories are saved.
  key | the key, that should be looked up.

Returns
  the backend handle associated with the key

## ◆ mountGetMountpoint()

Key* mountGetMountpoint | ( | KDB * | handle,
|  | const Key * | where
| ) |  |

Lookup a mountpoint in a handle for a specific key.

Will return a key representing the mountpoint or null if there is no appropriate mountpoint e.g. its the root mountpoint.

Example:
  Key * key = keyNew ("system/template");
  KDB * handle = kdbOpen();
  Key *mountpoint=0;
  mountpoint=kdbGetMountpoint(handle, key);
  printf("The backend I am using is %s mounted in %s\n",
  keyValue(mountpoint),
  keyName(mountpoint));
  kdbClose (handle);
  keyDel (key);

Parameters

  handle | is the data structure, where the mounted directories are saved.
  where | the key, that should be looked up.

Returns
  the mountpoint associated with the key

## ◆ mountModules()

int mountModules | ( | KDB * | kdb,
|  | KeySet * | modules,
|  | Key * | errorKey
| ) |  |

Mount all module configurations.

Parameters

  kdb | the handle to work with
  modules | the current list of loaded modules
  errorKey | the key used to report warnings

Return values

  -1 | if not rootkey was found
  0 | otherwise

## ◆ mountOpen()

int mountOpen | ( | KDB * | kdb,
|  | KeySet * | config,
|  | KeySet * | modules,
|  | Key * | errorKey
| ) |  |

Creates a trie from a given configuration.

The config will be deleted within this function.

Note
  mountDefault is not allowed to be executed before

Parameters

  kdb | the handle to work with
  modules | the current list of loaded modules
  config | the configuration which should be used to build up the trie.
  errorKey | the key used to report warnings

Return values

  -1 | on failure
  0 | on success

## ◆ mountVersion()

int mountVersion | ( | KDB * | kdb,
|  | Key * | errorKey
| ) |  |

Mount the version backend.

Parameters

  kdb | the handle to work with
  errorKey | the key used to report warnings

Return values

  0 | on success