#include <sys/nv.h>

// sender
nvlist_t *nvl = nvlist_create(0);
nvlist_add_string(nvl, "foo", "hello world");
nvlist_append_string_array(nvl, "serials", "123");
nvlist_append_string_array(nvl, "serials", "234");
if (nvlist_send(sockW, nvl) != 0) { FAIL }
nvlist_destroy(nvl);

// receiver
nvlist_t *nvl = nvlist_recv(sockR, 0);
if (nvl == NULL) { FAIL }
if (nvlist_exists_string(nvl, "err")) {
    print(nvlist_get_string(nvl, "err"));
}
size_t serialsNum = 0;
const char *const *serials = nvlist_get_string_array(nvl, "serials", &serialsNum);
nvlist_destroy(nvl);