# bson_writer_new()

## Synopsis

    bson_writer_t *
    bson_writer_new (uint8_t **buf,
                     size_t *buflen,
                     size_t offset,
                     bson_realloc_func realloc_func,
                     void *realloc_func_ctx);

## Parameters

- `buf`: A uint8_t.

- `buflen`: A size_t.

- `offset`: A size_t.

- `realloc_func`: A bson_realloc_func.

- `realloc_func_ctx`: A bson_realloc_func.

## Description

Creates a new instance of bson_writer_t using the `buffer`, `length`, `offset`, and _realloc()_ function supplied.

The caller is expected to clean up the structure when finished using bson_writer_destroy().

## Returns

A newly allocated bson_writer_t.