bson_t *
bson_new_from_buffer (uint8_t **buf,
                      size_t *buf_len,
                      bson_realloc_func realloc_func,
                      void *realloc_func_ctx);


  • buf: An out-pointer to a buffer containing a serialized BSON document, or to NULL.

  • buf_len: An out-pointer to the length of the buffer in bytes.

  • realloc_func: Optional bson_realloc_func for reallocating the buffer.

  • realloc_func_ctx: Optional pointer that will be passed as ctx to realloc_func.


Creates a new bson_t using the data provided.

The realloc_func, if provided, is called to resize buf if the document is later expanded, for example by a call to one of the bson_append functions.

If *buf is initially NULL then it is allocated, using realloc_func or the default allocator, and initialized with an empty BSON document, and *buf_len is set to 5, the size of an empty document.