Scroll to navigation

backend.c(3elektra) Elektra backend.c(3elektra)

NAME

backend.c - Everything related to a backend.

SYNOPSIS

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

Functions


int elektraBackendSetMountpoint (Backend *backend, KeySet *elektraConfig, Key *errorKey)
sets mountpoint Backend * backendOpen (KeySet *elektraConfig, KeySet *modules, Key *errorKey)
Builds a backend out of the configuration supplied from: Backend * backendOpenDefault (KeySet *modules, const char *file, Key *errorKey)
Opens a default backend using the plugin named KDB_RESOLVER and KDB_STORAGE. Backend * backendOpenModules (KeySet *modules, Key *errorKey)
Backend * backendOpenVersion (Key *errorKey)
Opens the internal version backend. int backendUpdateSize (Backend *backend, Key *parent, int size)
Update internal size in backend.

Detailed Description

Everything related to a backend.

Copyright:

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

Function Documentation

Backend* backendOpen (KeySet * elektraConfig, KeySet * modules, Key * errorKey)

Builds a backend out of the configuration supplied from:

system/elektra/mountpoints/<name>

The root key must be like the above example. You do not need to rewind the keyset. But every key must be below the root key.

The internal consistency will be checked in this function. If necessary parts are missing, like no plugins, they cant be loaded or similar 0 will be returned.

ksCut() is perfectly suitable for cutting out the configuration like needed.

Note:

The given KeySet will be deleted within the function, don't use it afterwards.

Parameters:

elektraConfig the configuration to work with. It is used to build up this backend.
modules used to load new modules or get references to existing one
errorKey the key where an error and warnings are added

Returns:

a pointer to a freshly allocated backend this could be the requested backend or a so called 'missing backend'.

Return values:

0 if out of memory

Backend* backendOpenDefault (KeySet * modules, const char * file, Key * errorKey)

Opens a default backend using the plugin named KDB_RESOLVER and KDB_STORAGE.

Parameters:

modules the modules to work with
errorKey the key to issue warnings and errors to

Returns:

the fresh allocated default backend or 0 if it failed

Backend* backendOpenModules (KeySet * modules, Key * errorKey)

Returns:

a backend which gives plugin configuration of the module which is currently point to.

Parameters:

modules the modules to work with
errorKey the key to issue warnings and errors to

Backend* backendOpenVersion (Key * errorKey)

Opens the internal version backend.

Parameters:

errorKey the key to issue warnings and errors to

Returns:

the fresh allocated default backend or 0 if it failed

int backendUpdateSize (Backend * backend, Key * parent, int size)

Update internal size in backend.

Parameters:

backend the backend to update
parent for parent
size to update (-1 default, 0 empty, >0 otherwise)

Precondition:

parent must be serializable namespace

Return values:

-1 if invalid parent (assert)
0 on success

int elektraBackendSetMountpoint (Backend * backend, KeySet * elektraConfig, Key * errorKey)

sets mountpoint

Parameters:

backend where the mountpoint should be set
elektraConfig the config where the mountpoint can be found
errorKey the name also has the mountpoint set

Precondition:

ksCurrent() is root key

Postcondition:

ksCurrent() is root key

Return values:

-1 if no mountpoint is found or memory allocation problem
0 on success

Author

Generated automatically by Doxygen for Elektra from the source code.

Mon Jan 15 2018 Version 0.8.20