libqb  1.0.1
Data Structures | Macros | Typedefs | Functions
qbhdb.h File Reference

The handle database is for reference counting objects. More...

#include <stdlib.h>
#include <stdint.h>
#include <inttypes.h>
#include <qb/qbarray.h>
Include dependency graph for qbhdb.h:

Data Structures

struct  qb_hdb_handle
 
struct  qb_hdb
 

Macros

#define _GNU_SOURCE
 
#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. More...
 

Typedefs

typedef uint64_t qb_handle_t
 Generic handle type is 64 bits. More...
 

Functions

void qb_hdb_create (struct qb_hdb *hdb)
 Create a new database. More...
 
void qb_hdb_destroy (struct qb_hdb *hdb)
 Destroy a handle database. More...
 
int32_t qb_hdb_handle_create (struct qb_hdb *hdb, int32_t instance_size, qb_handle_t *handle_id_out)
 Create a new handle. More...
 
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. More...
 
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. More...
 
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. More...
 
int32_t qb_hdb_handle_destroy (struct qb_hdb *hdb, qb_handle_t handle_in)
 Request the destruction of the object. More...
 
int32_t qb_hdb_handle_refcount_get (struct qb_hdb *hdb, qb_handle_t handle_in)
 Get the current refcount. More...
 
void qb_hdb_iterator_reset (struct qb_hdb *hdb)
 Reset the iterator. More...
 
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. More...
 
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.

Macro Definition