# bson_reader_new_from_handle()

## Synopsis

    bson_reader_t *
    bson_reader_new_from_handle (void                      *handle,
                                 bson_reader_read_func_t    rf,
                                 bson_reader_destroy_func_t df);

## Parameters

handle | A user-provided pointer or NULL.
rf | A bson_reader_read_func_t.
df | A bson_reader_destroy_func_t.

## Description

This function allows for a pluggable data stream for the reader. This can be used to read from sockets, files, memory, or other arbitrary sources.

## Returns

A newly allocated bson_reader_t if successful; otherwise NULL.