Exemple #1
0
const void *
cnvlist_get_binary(void *cookiep, size_t *sizep)
{

	if (nvpair_type(cookiep) != NV_TYPE_BINARY)
		nvlist_report_missing(NV_TYPE_BINARY, nvpair_name(cookiep));
	return (nvpair_get_binary(cookiep, sizep));
}
Exemple #2
0
const void *
nvlist_get_binary(const nvlist_t *nvl, const char *name, size_t *sizep)
{
	nvpair_t *nvp;

	nvp = nvlist_find(nvl, NV_TYPE_BINARY, name);
	if (nvp == NULL)
		nvlist_report_missing(NV_TYPE_BINARY, name);

	return (nvpair_get_binary(nvp, sizep));
}
Exemple #3
0
void *
cnvlist_take_binary(nvlist_t *nvl, void *cookiep, size_t *sizep)
{
	void *value;

	if (nvpair_type(cookiep) != NV_TYPE_BINARY)
		nvlist_report_missing(NV_TYPE_BINARY, nvpair_name(cookiep));
	value = (void *)(intptr_t)nvpair_get_binary(cookiep, sizep);
	nvlist_remove_nvpair(nvl, cookiep);
	nvpair_free_structure(cookiep);
	return (value);
}
Exemple #4
0
void *
nvlist_take_binary(nvlist_t *nvl, const char *name, size_t *sizep)
{
	nvpair_t *nvp;
	void *value;

	nvp = nvlist_find(nvl, NV_TYPE_BINARY, name);
	if (nvp == NULL)
		nvlist_report_missing(NV_TYPE_BINARY, name);

	value = (void *)(intptr_t)nvpair_get_binary(nvp, sizep);
	nvlist_remove_nvpair(nvl, nvp);
	nvpair_free_structure(nvp);
	return (value);
}
Exemple #5
0
const void *
nvlist_getv_binary(const nvlist_t *nvl, size_t *sizep, const char *namefmt,
    va_list nameap)
{
	va_list cnameap;
	const nvpair_t *nvp;

	va_copy(cnameap, nameap);
	nvp = nvlist_findv(nvl, NV_TYPE_BINARY, namefmt, cnameap);
	va_end(cnameap);
	if (nvp == NULL)
		nvlist_report_missing(NV_TYPE_BINARY, namefmt, nameap);

	return (nvpair_get_binary(nvp, sizep));
}
Exemple #6
0
void
nvlist_free_type(nvlist_t *nvl, const char *name, int type)
{
	nvpair_t *nvp;

	NVLIST_ASSERT(nvl);
	PJDLOG_ASSERT(nvl->nvl_error == 0);
	PJDLOG_ASSERT(type == NV_TYPE_NONE ||
	    (type >= NV_TYPE_FIRST && type <= NV_TYPE_LAST));

	nvp = nvlist_find(nvl, type, name);
	if (nvp != NULL)
		nvlist_free_nvpair(nvl, nvp);
	else
		nvlist_report_missing(type, name);
}
Exemple #7
0
void
nvlist_freev_type(nvlist_t *nvl, int type, const char *namefmt, va_list nameap)
{
	va_list cnameap;
	nvpair_t *nvp;

	NVLIST_ASSERT(nvl);
	PJDLOG_ASSERT(nvl->nvl_error == 0);
	PJDLOG_ASSERT(type == NV_TYPE_NONE ||
	    (type >= NV_TYPE_FIRST && type <= NV_TYPE_LAST));

	va_copy(cnameap, nameap);
	nvp = nvlist_findv(nvl, type, namefmt, cnameap);
	va_end(cnameap);
	if (nvp != NULL)
		nvlist_free_nvpair(nvl, nvp);
	else
		nvlist_report_missing(type, namefmt, nameap);
}
Exemple #8
0
void *
nvlist_takev_binary(nvlist_t *nvl, size_t *sizep, const char *namefmt,
    va_list nameap)
{
	va_list cnameap;
	nvpair_t *nvp;
	void *value;

	va_copy(cnameap, nameap);
	nvp = nvlist_findv(nvl, NV_TYPE_BINARY, namefmt, cnameap);
	va_end(cnameap);
	if (nvp == NULL)
		nvlist_report_missing(NV_TYPE_BINARY, namefmt, nameap);

	value = (void *)(intptr_t)nvpair_get_binary(nvp, sizep);
	nvlist_remove_nvpair(nvl, nvp);
	nvpair_free_structure(nvp);
	return (value);
}