comment: <> (SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT) comment: <> (LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,) comment: <> (DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY) comment: <> (THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT) comment: <> ((INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE) comment: <> (OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.)

NAME
SYNOPSIS
DESCRIPTION
EXAMPLE
ERRORS
SEE ALSO

NAME

pmemkv_json_config - helper configuration API for libpmemkv

SYNOPSIS

#include <libpmemkv_json_config.h>

int pmemkv_config_from_json(pmemkv_config *config, const char *jsonconfig);
const char *pmemkv_config_from_json_errormsg(void);

For general description of pmemkv and available engines see libpmemkv(7). For description of pmemkv core API see libpmemkv(3). For description of configuration API for libpmemkv see libpmemkv_config(3).

DESCRIPTION

pmemkv_json_config is a helper library that provides two functions:

int pmemkv_config_from_json(pmemkv_config *config, const char *jsonconfig);

Parses JSON string and puts all items found in JSON into config. Allowed types in JSON strings and their corresponding types in pmemkv_config are:

  • number – int64 or uint64
  • string – const char *
  • object – (another JSON string) -> pointer to pmemkv_config (can be obtained using pmemkv_config_get_object)
  • True, False – int64
const char *pmemkv_config_from_json_errormsg(void);

Returns a human readable string describing the last error.

The ‘pmemkv_config_from_json’ function depends on RapidJSON library what is the direct cause of the creation of this small library.

The building of this library is enabled by default. It can be disabled by setting the BUILD_JSON_CONFIG CMake variable to OFF:

cmake .. -DBUILD_JSON_CONFIG=OFF

ERRORS

The pmemkv_config_from_json() function returns status. Possible return values are:

  • PMEMKV_STATUS_OK – no error
  • PMEMKV_STATUS_UNKNOWN_ERROR – unknown error
  • PMEMKV_STATUS_CONFIG_PARSING_ERROR – parsing config data failed

EXAMPLE

An example can be found in libpmemkv_config(3).

SEE ALSO

libpmemkv(7), libpmemkv(3), libpmemkv_config(3) and https://pmem.io

The contents of this web site and the associated GitHub repositories are BSD-licensed open source.