qbhdb.h man page on Scientific

Man page or keyword search:  
man Server   26626 pages
apropos Keyword Search (all sections)
Output format
Scientific logo
[printable version]

qbhdb.h(3)			     libqb			    qbhdb.h(3)

NAME
       qbhdb.h -

       The handle database is for reference counting objects.

SYNOPSIS
       #include <stdlib.h>
       #include <stdint.h>
       #include <inttypes.h>
       #include <qb/qbarray.h>

   Data Structures
       struct qb_hdb_handle
       struct qb_hdb

   Defines
       #define QB_HDB_D_FORMAT	 '%'PRIu64
       #define QB_HDB_X_FORMAT	 '%'PRIx64
       #define QB_HDB_DECLARE(database_name, destructor_function)
	   Convience macro for declaring a file scoped handle database.

   Typedefs
       typedef uint64_t qb_handle_t
	   Generic handle type is 64 bits.

   Functions
       void qb_hdb_create (struct qb_hdb *hdb)
	   Create a new database.
       void qb_hdb_destroy (struct qb_hdb *hdb)
	   Destroy a handle database.
       int32_t qb_hdb_handle_create (struct qb_hdb *hdb, int32_t
	   instance_size, qb_handle_t *handle_id_out)
	   Create a new handle.
       int32_t qb_hdb_handle_get (struct qb_hdb *hdb, qb_handle_t handle_in,
	   void **instance)
	   Get the instance associated with this handle and increase it's
	   refcount.
       int32_t qb_hdb_handle_get_always (struct qb_hdb *hdb, qb_handle_t
	   handle_in, void **instance)
	   Get the instance associated with this handle and increase it's
	   refcount.
       int32_t qb_hdb_handle_put (struct qb_hdb *hdb, qb_handle_t handle_in)
	   Put the instance associated with this handle and decrease it's
	   refcount.
       int32_t qb_hdb_handle_destroy (struct qb_hdb *hdb, qb_handle_t
	   handle_in)
	   Request the destruction of the object.
       int32_t qb_hdb_handle_refcount_get (struct qb_hdb *hdb, qb_handle_t
	   handle_in)
	   Get the current refcount.
       void qb_hdb_iterator_reset (struct qb_hdb *hdb)
	   Reset the iterator.
       int32_t qb_hdb_iterator_next (struct qb_hdb *hdb, void **instance,
	   qb_handle_t *handle)
	   Get the next object and increament it's refcount.
       uint32_t qb_hdb_base_convert (qb_handle_t handle)
       uint64_t qb_hdb_nocheck_convert (uint32_t handle)

Detailed Description
       The handle database is for reference counting objects.

Define Documentation
   #define QB_HDB_D_FORMAT   '%'PRIu64
   #define QB_HDB_DECLARE(database_name, destructor_function) Value:
       static struct qb_hdb (database_name) = {					     .handle_count   = 0,						     .handles	     = NULL,						     .iterator	     = 0,						     .destructor     = destructor_function,				     .first_run	     = QB_TRUE					     };									     .fi

       Convience macro for declaring a file scoped handle database. .PP
	QB_HDB_DECLARE(my_handle_database, NULL);

   #define QB_HDB_X_FORMAT   '%'PRIx64
Typedef Documentation
   typedef uint64_t qb_handle_t
       Generic handle type is 64 bits.

Function Documentation
   uint32_t qb_hdb_base_convert (qb_handle_t handle)
   void qb_hdb_create (struct qb_hdb * hdb)
       Create a new database. Parameters:
	   hdb the database to init.

   void qb_hdb_destroy (struct qb_hdb * hdb)
       Destroy a handle database. Parameters:
	   hdb the database to destroy.

   int32_t qb_hdb_handle_create (struct qb_hdb * hdb, int32_t instance_size,
       qb_handle_t * handle_id_out)
       Create a new handle. Parameters:
	   hdb the database instance
	   instance_size size of the object to malloc
	   handle_id_out new handle

       Returns:
	   (0 == ok, -errno faliure)

   int32_t qb_hdb_handle_destroy (struct qb_hdb * hdb, qb_handle_t handle_in)
       Request the destruction of the object. When the refcount is 0, it will
       be destroyed.

       Parameters:
	   handle_in the handle
	   hdb the database instance

       Returns:
	   (0 == ok, -errno faliure)

   int32_t qb_hdb_handle_get (struct qb_hdb * hdb, qb_handle_t handle_in, void
       ** instance)
       Get the instance associated with this handle and increase it's
       refcount. Parameters:
	   handle_in the handle
	   hdb the database instance
	   instance (out) pointer to the desired object.

       Returns:
	   (0 == ok, -errno faliure)

   int32_t qb_hdb_handle_get_always (struct qb_hdb * hdb, qb_handle_t
       handle_in, void ** instance)
       Get the instance associated with this handle and increase it's
       refcount. Parameters:
	   handle_in the handle
	   hdb the database instance
	   instance (out) pointer to the desired object.

       Returns:
	   (0 == ok, -errno faliure)

   int32_t qb_hdb_handle_put (struct qb_hdb * hdb, qb_handle_t handle_in)
       Put the instance associated with this handle and decrease it's
       refcount. Parameters:
	   handle_in the handle
	   hdb the database instance

       Returns:
	   (0 == ok, -errno faliure)

   int32_t qb_hdb_handle_refcount_get (struct qb_hdb * hdb, qb_handle_t
       handle_in)
       Get the current refcount. Parameters:
	   handle_in the handle
	   hdb the database instance

       Returns:
	   (>= 0 is the refcount, -errno faliure)

   int32_t qb_hdb_iterator_next (struct qb_hdb * hdb, void ** instance,
       qb_handle_t * handle)
       Get the next object and increament it's refcount. Remember to call
       qb_hdb_handle_put()

       Parameters:
	   hdb the database instance
	   handle (out) the handle
	   instance (out) pointer to the desired object.

       Returns:
	   (0 == ok, -errno faliure)

   void qb_hdb_iterator_reset (struct qb_hdb * hdb)
       Reset the iterator. Parameters:
	   hdb the database instance

   uint64_t qb_hdb_nocheck_convert (uint32_t handle)
Author
       Generated automatically by Doxygen for libqb from the source code.

Version 0.16.0			  21 Nov 2013			    qbhdb.h(3)
[top]

List of man pages available for Scientific

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net