heimbase - Man Page
Name
heimbase — Heimbase
— Registers a DB type for use with heim_db_create().
Synopsis
Detailed Description
Registers a DB type for use with heim_db_create().
heim_db_register
- Parameters
dbtype Name of DB type
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
ENOMEM on failure, else 0.
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
dbtype Name of DB type
dbname Name of DB (likely a file path)
options Options dict
db Output open DB handle
error Output error object- Returns
a DB handle
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
db Open DB handle
error Output error object- Returns
a DB handle
Open a transaction on the given db.
- Parameters
db Open DB handle
error Output error object
Returns
0 on success, system error otherwise
Commit an open transaction on the given db.
- Parameters
db Open DB handle
error Output error object
Returns
0 on success, system error otherwise
Rollback an open transaction on the given db.
- Parameters
db Open DB handle
error Output error object
Returns
0 on success, system error otherwise
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
db Open DB handle
key Key
error Output error object- Returns
the value (retained), if there is one for the given key
Set a key's value in the DB.
- Parameters
db Open DB handle
key Key
value Value (if NULL the key will be deleted, but empty is OK)
error Output error object
Returns
0 on success, system error otherwise
Delete a key and its value from the DB
- Parameters
db Open DB handle
key Key
error Output error object
Returns
0 on success, system error otherwise
Iterate a callback function over keys and values from a DB.
- Parameters
db Open DB handle
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
ptr tree
error error (output)
ap NULL-terminated va_list of heim_object_ts that form a path- Returns
object (not retained) if found
Get a node in a tree by path, with retained reference
- Parameters
ptr tree
error error (output)
ap NULL-terminated va_list of heim_object_ts that form a path- Returns
retained object if found
Get a node in a tree by path
- Parameters
ptr tree
error error (output)
... NULL-terminated va_list of heim_object_ts that form a path- Returns
object (not retained) if found
Get a node in a tree by path, with retained reference
- Parameters
ptr tree
error error (output)
... NULL-terminated va_list of heim_object_ts that form a path- Returns
retained object if found
Create a path in a heim_object_t tree
- Parameters
ptr the tree
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
0 on success, else a system error
Create a path in a heim_object_t tree
- Parameters
ptr the tree
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
0 on success, else a system error
Delete leaf node named by a path in a heim_object_t tree
- Parameters
ptr the tree
error error (output)
ap NULL-terminated list of path component objects
Dump a heimbase object to stderr (useful from the debugger!)
- Parameters
obj object to dump using JSON or JSON-like format
Author
Generated automatically by Doxygen for Heimdal base library from the source code.