home | help
heimbase(3)		      Heimdal base library		     heimbase(3)

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 se-
     mantics.

     The registered DB type will have ACID semantics for backends  that  do  not
     provide  begin/commit/rollback  methods  but do provide lock/unlock and rd-
     journal/wrjournal methods (using a replay log journalling scheme).

     If the registered DB type does not natively provide read vs. write transac-
     tion 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:  'transac-
     tion+bdb'	might be a Berkeley DB with a layer above that provides transac-
     tions.

     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	synchro-
     nize 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.

Version 7.8.0			 Tue Nov 15 2022		     heimbase(3)

home | help