Lines Matching defs:pv
67 pool_value_get_uint64(const pool_value_t *pv, uint64_t *result)
69 if (pv->pv_class != POC_UINT) {
73 *result = pv->pv_u.u;
82 pool_value_get_int64(const pool_value_t *pv, int64_t *result)
84 if (pv->pv_class != POC_INT) {
88 *result = pv->pv_u.i;
98 pool_value_get_double(const pool_value_t *pv, double *result)
100 if (pv->pv_class != POC_DOUBLE) {
104 *result = pv->pv_u.d;
113 pool_value_get_bool(const pool_value_t *pv, uchar_t *result)
115 if (pv->pv_class != POC_BOOL) {
119 *result = pv->pv_u.b;
128 pool_value_get_string(const pool_value_t *pv, const char **result)
130 if (pv->pv_class != POC_STRING) {
134 *result = pv->pv_u.s;
143 pool_value_get_type(const pool_value_t *pv)
145 return (pv->pv_class);
153 pool_value_set_uint64(pool_value_t *pv, uint64_t val)
155 if (pv->pv_class == POC_STRING)
156 atom_free(pv->pv_u.s);
157 pv->pv_class = POC_UINT;
158 pv->pv_u.u = val;
166 pool_value_set_int64(pool_value_t *pv, int64_t val)
168 if (pv->pv_class == POC_STRING)
169 atom_free(pv->pv_u.s);
170 pv->pv_class = POC_INT;
171 pv->pv_u.i = val;
180 pool_value_set_double(pool_value_t *pv, double val)
182 if (pv->pv_class == POC_STRING)
183 atom_free(pv->pv_u.s);
184 pv->pv_class = POC_DOUBLE;
185 pv->pv_u.d = val;
193 pool_value_set_bool(pool_value_t *pv, uchar_t val)
195 if (pv->pv_class == POC_STRING)
196 atom_free(pv->pv_u.s);
197 pv->pv_class = POC_BOOL;
198 pv->pv_u.b = !!val; /* Lock value at 0 or 1 */
206 pool_value_set_string(pool_value_t *pv, const char *val)
208 if (pv->pv_class == POC_STRING)
209 atom_free(pv->pv_u.s);
210 pv->pv_class = POC_STRING;
215 if ((pv->pv_u.s = atom_string(val)) == NULL)
245 pool_value_free(pool_value_t *pv)
247 if (pv->pv_name)
248 atom_free(pv->pv_name);
249 if (pv->pv_class == POC_STRING)
250 atom_free(pv->pv_u.s);
251 free(pv);
259 pool_value_get_name(const pool_value_t *pv)
261 return (pv->pv_name);
268 pool_value_set_name(pool_value_t *pv, const char *name)
274 if (pv->pv_name)
275 atom_free(pv->pv_name);
276 if ((pv->pv_name = atom_string(name)) == NULL)
289 pool_value_from_nvpair(pool_value_t *pv, nvpair_t *pn)
299 if (pool_value_set_name(pv, nvpair_name(pn)) != PO_SUCCESS)
307 pool_value_set_bool(pv, bval);
315 pool_value_set_double(pv, dval);
322 pool_value_set_int64(pv, ival);
329 pool_value_set_uint64(pv, uval);
336 if (pool_value_set_string(pv, sval) != PO_SUCCESS)
410 pool_value_dprintf(const pool_value_t *pv)
420 dprintf("name: %s\n", pv->pv_name ? pv->pv_name : "NULL");
421 if (pv->pv_class >= POC_UINT && pv->pv_class <= POC_STRING)
422 dprintf("type: %s\n", class_name[pv->pv_class]);
425 switch (pv->pv_class) {
427 dprintf("value: %llu\n", pv->pv_u.u);
430 dprintf("value: %lld\n", pv->pv_u.i);
433 dprintf("value: %f\n", pv->pv_u.d);
436 dprintf("value: %s\n", pv->pv_u.b ? "true" : "false");
439 dprintf("value: %s\n", pv->pv_u.s);