table of contents
| kdbmeta.h(3elektra) | Elektra | kdbmeta.h(3elektra) |
NAME¶
kdbmeta.h - metadata functions
SYNOPSIS¶
#include 'kdb.h'
Functions¶
const char * keyOwner (const Key *key)
Return a pointer to the real internal key owner. " ssize_t
keyGetOwnerSize (const Key *key)
Return the size of the owner of the Key with concluding 0. " ssize_t
keyGetOwner (const Key *key, char *returned, size_t maxSize)
Return the owner of the key. ssize_t keySetOwner (Key *key, const char
*owner)
Set the owner of a key. const char * keyComment (const Key *key)
Return a pointer to the real internal key comment. " ssize_t
keyGetCommentSize (const Key *key)
Calculates number of bytes needed to store a key comment, including final
NULL. " ssize_t keyGetComment (const Key *key, char
*returnedDesc, size_t maxSize)
Get the key comment. ssize_t keySetComment (Key *key, const char
*newDesc)
Set a comment for a key. uid_t keyGetUID (const Key *key)
Get the user ID of a key. int keySetUID (Key *key, uid_t uid)
Set the user ID of a key. gid_t keyGetGID (const Key *key)
Get the group ID of a key. int keySetGID (Key *key, gid_t gid)
Set the group ID of a key. int keySetDir (Key *key)
Set mode so that key will be recognized as directory. mode_t keyGetMode
(const Key *key)
Return the key mode permissions. int keySetMode (Key *key, mode_t mode)
Set the key mode permissions. time_t keyGetATime (const Key *key)
Get last time the key data was read from disk. int keySetATime (Key
*key, time_t atime)
Update the atime information for a key. time_t keyGetMTime (const Key
*key)
Get last modification time of the key on disk. int keySetMTime (Key
*key, time_t mtime)
Update the mtime information for a key. time_t keyGetCTime (const Key
*key)
Get last time the key metadata was changed from disk. int keySetCTime
(Key *key, time_t ctime)
Update the ctime information for a key. int elektraKeyCmpOrder (const
Key *a, const Key *b)
Compare the order metadata of two keys. KeySet * elektraMetaArrayToKS
(Key *, const char *)
Create a KeySet from a metakey array. " void
elektraMetaArrayAdd (Key *, const char *, const char *)
creates an metadata array or appends another element to an existing metadata
array e.g. char * elektraMetaArrayToString (Key *, const char *,
const char *)
returns the metakey array as a string separated by delim int
elektraSortTopology (KeySet *, Key **)
topological sorting
Detailed Description¶
metadata functions
These functions might be removed in a later version.
Copyright:
Function Documentation¶
ssize_t keyGetOwner (const Key * key, char * returnedOwner, size_t maxSize)¶
Return the owner of the key.
- Given user:someuser/..... return someuser
- Given user:some.user/.... return some.user
- Given user/.... return the current user
Only user/... keys have a owner. For system/... keys (that doesn't have a key owner) an empty string ('') is returned.
Although usually the same, the owner of a key is not related to its UID. Owner are related to WHERE the key is stored on disk, while UIDs are related to mode controls of a key.
Parameters:
returnedOwner a pre-allocated space to store the owner
maxSize maximum number of bytes that fit returned
Returns:
Return values:
-1 on NULL pointers
-1 when maxSize is 0, larger than SSIZE_MAX or too small for ownername
See also:
ssize_t keyGetOwnerSize (const Key * key)¶
Return the size of the owner of the Key with concluding 0. The returned number can be used to allocate a string. 1 will returned on an empty owner to store the concluding 0 on using keyGetOwner().
char * buffer; buffer = elektraMalloc (keyGetOwnerSize (key)); // use buffer and keyGetOwnerSize (key) for maxSize
Note:
Parameters:
Returns:
Return values:
-1 on NULL pointer
See also:
const char* keyOwner (const Key * key)¶
Return a pointer to the real internal key owner. This is a much more efficient version of keyGetOwner() and you should use it if you are responsible enough to not mess up things. You are not allowed to modify the returned string in any way. If you need a copy of the string, consider to use keyGetOwner() instead.
keyOwner() returns '' when there is no keyOwner. The reason is
key=keyNew(0); keySetOwner(key,""); keyOwner(key); // you would expect "" here keySetOwner(key,"system"); keyOwner(key); // you would expect "" here
Note:
Parameters:
Returns:
Return values:
0 iff key is a NULL pointer
See also:
keyGetOwner(), keySetOwner()
keyName() for name without owner
keyGetFullName() for name with owner
ssize_t keySetOwner (Key * key, const char * newOwner)¶
Set the owner of a key. A owner is a name of a system user related to a UID. The owner decides on which location on the disc the key goes.
A private copy is stored, so the passed parameter can be freed after the call.
Parameters:
newOwner the string which describes the owner of the key
Returns:
Return values:
-1 on null pointer or memory problems
See also:
Author¶
Generated automatically by Doxygen for Elektra from the source code.
| Mon Jan 15 2018 | Version 0.8.20 |