---
name: "qb_hdb_handle_create"
section: "3"
platform: "linux"
package: "libqb"
version: "2.0.10-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/qb_hdb_handle_create"
---

# qb\_hdb\_handle\_create(3)

Create a new handle.

## NAME

qb\_hdb\_handle\_create - Create a new handle.

## SYNOPSIS

```
#include <qb/qbhdb.h>

int32_t qb_hdb_handle_create(
    struct qb_hdb   *hdb,            /* the database instance */
    int32_t          instance_size,  /* size of the object to malloc */
    qb_handle_t     *handle_id_out   /* new handle */
);
```

## PARAMS

**hdb**           *the database instance*

**instance\_size** *size of the object to malloc*

**handle\_id\_out** *new handle*

## DESCRIPTION

## STRUCTURES

```
struct qb_hdb {
    uint32_t    handle_count;
    qb_array_t  handles;
    uint32_t    iterator;
    void      (*destructor)(void *);
    uint32_t    first_run;
};
```

## RETURN VALUE

*(0 == ok, -errno failure)*

## SEE ALSO

[*qb\_hdb\_handle\_get*(3)](/qb_hdb_handle_get/3.md), [*qb\_hdb\_iterator\_reset*(3)](/qb_hdb_iterator_reset/3.md), [*qb\_hdb\_handle\_destroy*(3)](/qb_hdb_handle_destroy/3.md), [*qb\_hdb\_handle\_refcount\_get*(3)](/qb_hdb_handle_refcount_get/3.md), [*qb\_hdb\_iterator\_next*(3)](/qb_hdb_iterator_next/3.md), [*qb\_hdb\_nocheck\_convert*(3)](/qb_hdb_nocheck_convert/3.md), [*qb\_hdb\_create*(3)](/qb_hdb_create/3.md), [*qb\_hdb\_destroy*(3)](/qb_hdb_destroy/3.md), [*qb\_hdb\_base\_convert*(3)](/qb_hdb_base_convert/3.md), [*qb\_hdb\_handle\_get\_always*(3)](/qb_hdb_handle_get_always/3.md), [*qb\_hdb\_handle\_put*(3)](/qb_hdb_handle_put/3.md)

## COPYRIGHT

Copyright (C) 2010-2020 Red Hat, Inc.
