Functions

Interface for mounting backends

Functions

int elektraMountOpen (KDB *kdb, KeySet *config, KeySet *modules, Key *errorKey)
int elektraMountDefault (KDB *kdb, KeySet *modules, Key *errorKey)
int elektraMountModules (KDB *kdb, KeySet *modules, Key *errorKey)
int elektraMountVersion (KDB *kdb, Key *errorKey)
int elektraMountBackend (KDB *kdb, Backend *backend, Key *errorKey)
KeyelektraMountGetMountpoint (KDB *handle, const Key *where)
BackendelektraMountGetBackend (KDB *handle, const Key *key)

Function Documentation

int elektraMountBackend ( KDB kdb,
Backend backend,
Key errorKey 
)

Mounts a backend into the trie.

Parameters:
kdb the handle to work with
backend the backend to mount
errorKey the key used to report warnings
Returns:
-1 on failure
1 on success
int elektraMountDefault ( KDB kdb,
KeySet modules,
Key errorKey 
)

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

Precondition:
Default Backend is closed. elektraMountOpen was executed before.
Parameters:
kdb the handle to work with
modules the current list of loaded modules
errorKey the key used to report warnings
Returns:
-1 on error
0 on success
Backend* elektraMountGetBackend ( 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
Key* elektraMountGetMountpoint ( 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
int elektraMountModules ( 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
int elektraMountOpen ( KDB kdb,
KeySet config,
KeySet modules,
Key errorKey 
)

Creates a trie from a given configuration.

The config will be deleted within this function.

Note:
elektraMountDefault 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
Returns:
-1 on failure
0 on success
int elektraMountVersion ( 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