Commit 5d91b074 authored by Konrad Sztyber's avatar Konrad Sztyber Committed by Tomasz Zawadzki
Browse files

json: add spdk_json_write_(named)?_uuid()



There are many places where we need to write out a UUID to JSON, so it's
useful to have a helper that will do it.

Signed-off-by: default avatarKonrad Sztyber <konrad.sztyber@intel.com>
Change-Id: Id192990fb47e9253e96d0b17e85ac88d34769666
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/20472


Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: default avatarTomasz Zawadzki <tomasz.zawadzki@intel.com>
Community-CI: Mellanox Build Bot
Reviewed-by: default avatarJim Harris <jim.harris@samsung.com>
parent 6a2892e3
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -12,6 +12,7 @@
#define SPDK_JSON_H_

#include "spdk/stdinc.h"
#include "spdk/uuid.h"

#ifdef __cplusplus
extern "C" {
@@ -192,6 +193,7 @@ int spdk_json_write_double(struct spdk_json_write_ctx *w, double val);
int spdk_json_write_string(struct spdk_json_write_ctx *w, const char *val);
int spdk_json_write_string_raw(struct spdk_json_write_ctx *w, const char *val, size_t len);
int spdk_json_write_bytearray(struct spdk_json_write_ctx *w, const void *val, size_t len);
int spdk_json_write_uuid(struct spdk_json_write_ctx *w, const struct spdk_uuid *uuid);

/**
 * Write null-terminated UTF-16LE string.
@@ -253,6 +255,8 @@ int spdk_json_write_named_string_fmt_v(struct spdk_json_write_ctx *w, const char
				       const char *fmt, va_list args);
int spdk_json_write_named_bytearray(struct spdk_json_write_ctx *w, const char *name,
				    const void *val, size_t len);
int spdk_json_write_named_uuid(struct spdk_json_write_ctx *w, const char *name,
			       const struct spdk_uuid *uuid);

int spdk_json_write_named_array_begin(struct spdk_json_write_ctx *w, const char *name);
int spdk_json_write_named_object_begin(struct spdk_json_write_ctx *w, const char *name);
+1 −1
Original line number Diff line number Diff line
@@ -7,7 +7,7 @@ SPDK_ROOT_DIR := $(abspath $(CURDIR)/../..)
include $(SPDK_ROOT_DIR)/mk/spdk.common.mk

SO_VER := 5
SO_MINOR := 0
SO_MINOR := 1

C_SRCS = json_parse.c json_util.c json_write.c
LIBNAME = json
+19 −0
Original line number Diff line number Diff line
@@ -541,6 +541,16 @@ spdk_json_write_bytearray(struct spdk_json_write_ctx *w, const void *val, size_t
	return rc;
}

int
spdk_json_write_uuid(struct spdk_json_write_ctx *w, const struct spdk_uuid *uuid)
{
	char str[SPDK_UUID_STRING_LEN];

	spdk_uuid_fmt_lower(str, sizeof(str), uuid);

	return spdk_json_write_string(w, str);
}

int
spdk_json_write_array_begin(struct spdk_json_write_ctx *w)
{
@@ -813,3 +823,12 @@ spdk_json_write_named_object_begin(struct spdk_json_write_ctx *w, const char *na

	return rc ? rc : spdk_json_write_object_begin(w);
}

int
spdk_json_write_named_uuid(struct spdk_json_write_ctx *w, const char *name,
			   const struct spdk_uuid *uuid)
{
	int rc = spdk_json_write_name(w, name);

	return rc ? rc : spdk_json_write_uuid(w, uuid);
}
+2 −0
Original line number Diff line number Diff line
@@ -45,6 +45,7 @@
	spdk_json_write_string_fmt;
	spdk_json_write_string_fmt_v;
	spdk_json_write_bytearray;
	spdk_json_write_uuid;
	spdk_json_write_array_begin;
	spdk_json_write_array_end;
	spdk_json_write_object_begin;
@@ -68,6 +69,7 @@
	spdk_json_write_named_string_fmt;
	spdk_json_write_named_string_fmt_v;
	spdk_json_write_named_bytearray;
	spdk_json_write_named_uuid;
	spdk_json_write_named_array_begin;
	spdk_json_write_named_object_begin;