| Elektra
    0.8.15
    | 
Methods for Key manipulation. More...

| Functions | |
| Key * | keyNew (const char *name,...) | 
| A practical way to fully create a Key object in one step.  More... | |
| Key * | keyVNew (const char *name, va_list va) | 
| A practical way to fully create a Key object in one step.  More... | |
| Key * | keyDup (const Key *source) | 
| Return a duplicate of a key.  More... | |
| int | keyCopy (Key *dest, const Key *source) | 
| Copy or Clear a key.  More... | |
| int | keyDel (Key *key) | 
| A destructor for Key objects.  More... | |
| int | keyClear (Key *key) | 
| Key Object Cleaner.  More... | |
| ssize_t | keyIncRef (Key *key) | 
| Increment the viability of a key object.  More... | |
| ssize_t | keyDecRef (Key *key) | 
| Decrement the viability of a key object.  More... | |
| ssize_t | keyGetRef (const Key *key) | 
| Return how many references the key has.  More... | |
Methods for Key manipulation.
| Key* keyVNew | ( | const char * | name, | 
| va_list | va | ||
| ) | 
A practical way to fully create a Key object in one step.
To just get a key object, simple do:
If you want the key object to contain a name, value, comment and other meta info read on.
You can call it in many different ways depending on the attribute tags you pass as parameters. Tags are represented as keyswitch_t values, and tell keyNew() which Key attribute comes next.
We can also give an empty key name and a KEY_END tag with the same effect as before:
But we can also give the key a proper name right from the start:
So, keyNew() allocates memory for a key object and keyDel() cleans everything up.
keyNew() processes the given argument list even further. The Key attribute tags are the following:
keyName is 0.| name | a valid name to the key, or NULL to get a simple initialized, but really empty, object | 
| NULL | on allocation error or if an invalid namewas passed (see keySetName()). | 
| va | the variadic argument list | 
 1.8.8
 1.8.8