- libbson 1.13.1 »
- API Reference »
- bson_t

# bson_init_static()

## Synopsis

    bool
    bson_init_static (bson_t *b, const uint8_t *data, size_t length);

## Parameters

- `b`: A bson_t.
- `data`: A buffer to initialize with.
- `length`: The length of `data` in bytes.

## Description

The bson_init_static() function shall shall initialize a read-only bson_t on the stack using the data provided. No copies of the data will be made and therefore must remain valid for the lifetime of the bson_t.

The resulting bson_t has internal references and therefore must not be copied to avoid dangling pointers in the copy.

## Returns

Returns `true` if bson_t was successfully initialized, otherwise `false`. The function can fail if `data` or `length` are invalid.

### See Also:

bson_concat

bson_init

bson_init_from_json

bson_new

bson_new_from_buffer

bson_new_from_data

bson_new_from_json

bson_reinit

bson_reserve_buffer

bson_sized_new

Created using Sphinx 1.8.3, based on Sphinx Readable Theme.