$darkmode
Elektra 0.11.0
Functions
keyset.c File Reference

Methods for key sets. More...

#include "kdbprivate.h"
#include <kdb.h>
#include <stdio.h>
#include <kdbtypes.h>
#include "kdbinternal.h"
#include <kdbassert.h>
#include <kdbrand.h>
Include dependency graph for keyset.c:

Functions

KeySet * ksNew (size_t alloc,...)
 Allocate, initialize and return a new KeySet object. More...
 
KeySet * ksVNew (size_t alloc, va_list va)
 Allocate, initialize and return a new KeySet object. More...
 
KeySet * ksDup (const KeySet *source)
 Return a duplicate of a KeySet. More...
 
int ksCopy (KeySet *dest, const KeySet *source)
 Replace the content of a KeySet with another one. More...
 
int ksDel (KeySet *ks)
 A destructor for KeySet objects. More...
 
int ksClear (KeySet *ks)
 Empties a KeySet. More...
 
uint16_t ksIncRef (KeySet *ks)
 Increment the reference counter of a KeySet object. More...
 
uint16_t ksDecRef (KeySet *ks)
 Decrement the reference counter of a KeySet object. More...
 
uint16_t ksGetRef (const KeySet *ks)
 Return the current reference counter value of a KeySet object. More...
 
int keyCmp (const Key *k1, const Key *k2)
 Compare the name of two Keys. More...
 
ssize_t ksGetSize (const KeySet *ks)
 Return the number of Keys that ks contains. More...
 
ssize_t ksSearch (const KeySet *ks, const Key *key)
 Search in a key set, either yielding the actual index of the key, if the key has been found within the key set, or a negative value indicating the insertion index of the key, if the key would be inserted. More...
 
ssize_t ksAppendKey (KeySet *ks, Key *toAppend)
 Appends a Key to the end of ks. More...
 
ssize_t ksAppend (KeySet *ks, const KeySet *toAppend)
 Append all Keys in toAppend to the end of the KeySet ks. More...
 
ssize_t ksRename (KeySet *ks, const Key *root, const Key *newRoot)
 Moves all keys below root to below newRoot. More...
 
elektraCursor ksFindHierarchy (const KeySet *ks, const Key *root, elektraCursor *end)
 Searches for the start and optionally end of the key hierarchy rooted at root in ks. More...
 
KeySet * ksBelow (const KeySet *ks, const Key *root)
 Retrieves all Keys from KeySet ks that are below or at root. More...
 
KeySet * ksCut (KeySet *ks, const Key *cutpoint)
 Cuts out all Keys from KeySet ks that are below or at cutpoint. More...
 
Key * ksPop (KeySet *ks)
 Remove and return the last Key of ks. More...
 
int ksRewind (KeySet *ks)
 Rewinds the KeySet internal cursor. More...
 
Key * ksNext (KeySet *ks)
 Returns the next Key in a KeySet. More...
 
Key * ksCurrent (const KeySet *ks)
 Return the current Key. More...
 
elektraCursor ksGetCursor (const KeySet *ks)
 Get the internal cursor of the KeySet. More...
 
Key * ksAtCursor (const KeySet *ks, elektraCursor pos)
 Return Key at given position pos. More...
 
int ksSetCursor (KeySet *ks, elektraCursor cursor)
 Set the KeySet internal cursor to cursor. More...
 
Key * ksLookup (KeySet *ks, Key *key, elektraLookupFlags options)
 Look for a Key contained in ks that matches the name of the key. More...
 
Key * ksLookupByName (KeySet *ks, const char *name, elektraLookupFlags options)
 Convenience method to look for a Key contained in ks with name name. More...
 
ssize_t ksSubtract (KeySet *total, const KeySet *sub)
 Remove all the keys in sub from total. More...
 

Detailed Description

Methods for key sets.