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.

Info

Tue Nov 15 2022 Version 7.8.0 Heimdal base library