heimbase(3) | Heimdalbaselibrary | heimbase(3) |
NAME¶
heimbase - Heimbase
Registers a DB type for use with heim_db_create(). Registers a DB type for use with heim_db_create().
heim_db_register
Parameters:
data Private data argument to the dbtype's openf method
plugin Structure with DB type methods (function pointers)
Backends that provide begin/commit/rollback methods must provide ACID semantics.
The registered DB type will have ACID semantics for backends that do not provide begin/commit/rollback methods but do provide lock/unlock and rdjournal/wrjournal methods (using a replay log journalling scheme).
If the registered DB type does not natively provide read vs. write transaction isolation but does provide a lock method then the DB will provide read/write transaction isolation.
Returns:
Open a database of the given dbtype.
Database type names can be composed of one or more pseudo-DB types and one concrete DB type joined with a '+' between each. For example: 'transaction+bdb' might be a Berkeley DB with a layer above that provides transactions.
Options may be provided via a dict (an associative array). Existing options include:
Parameters:
dbname Name of DB (likely a file path)
options Options dict
db Output open DB handle
error Output error object
Returns:
Clone (duplicate) an open DB handle.
This is useful for multi-threaded applications. Applications must synchronize access to any given DB handle.
Returns EBUSY if there is an open transaction for the input db.
Parameters:
error Output error object
Returns:
Open a transaction on the given db.
Parameters:
error Output error object
Returns:
Commit an open transaction on the given db.
Parameters:
error Output error object
Returns:
Rollback an open transaction on the given db.
Parameters:
error Output error object
Returns:
Get type ID of heim_db_t objects.
Lookup a key's value in the DB.
Returns 0 on success, -1 if the key does not exist in the DB, or a system error number on failure.
Parameters:
key Key
error Output error object
Returns:
Set a key's value in the DB.
Parameters:
key Key
value Value (if NULL the key will be deleted, but empty is OK)
error Output error object
Returns:
Delete a key and its value from the DB
Parameters:
key Key
error Output error object
Returns:
Iterate a callback function over keys and values from a DB.
Parameters:
iter_data Callback function's private data
iter_f Callback function, called once per-key/value pair
error Output error object
Get a node in a heim_object tree by path
Parameters:
error error (output)
ap NULL-terminated va_list of heim_object_ts that form a path
Returns:
Get a node in a tree by path, with retained reference
Parameters:
error error (output)
ap NULL-terminated va_list of heim_object_ts that form a path
Returns:
Get a node in a tree by path
Parameters:
error error (output)
... NULL-terminated va_list of heim_object_ts that form a path
Returns:
Get a node in a tree by path, with retained reference
Parameters:
error error (output)
... NULL-terminated va_list of heim_object_ts that form a path
Returns:
Create a path in a heim_object_t tree
Parameters:
size the size of the heim_dict_t nodes to be created
leaf leaf node to be added, if any
error error (output)
ap NULL-terminated of path component objects
Create a path of heim_dict_t interior nodes in a given heim_object_t tree, as necessary, and set/replace a leaf, if given (if leaf is NULL then the leaf is not deleted).
Returns:
Create a path in a heim_object_t tree
Parameters:
size the size of the heim_dict_t nodes to be created
leaf leaf node to be added, if any
error error (output)
... NULL-terminated list of path component objects
Create a path of heim_dict_t interior nodes in a given heim_object_t tree, as necessary, and set/replace a leaf, if given (if leaf is NULL then the leaf is not deleted).
Returns:
Delete leaf node named by a path in a heim_object_t tree
Parameters:
error error (output)
ap NULL-terminated list of path component objects
Dump a heimbase object to stderr (useful from the debugger!)
Parameters:
Author¶
Generated automatically by Doxygen for Heimdalbaselibrary from the source code.
Tue Jul 11 2017 | Version 7.4.0 |