# 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_init_static()
bson_new()
bson_new_from_buffer()
bson_new_from_data()
bson_new_from_json()
bson_reinit()
bson_reserve_buffer()
bson_sized_new()