Lines Matching defs:datum

55 _tnf_datum_info(tnf_datum_t datum)
57 return ((struct taginfo *)_DATUM_HI(datum));
61 _tnf_datum_val(tnf_datum_t datum)
63 return ((caddr_t)_DATUM_LO(datum));
69 * Check for valid datum
73 _tnf_check_datum(tnf_datum_t datum)
78 if (datum == TNF_DATUM_NULL)
81 val = DATUM_VAL(datum);
82 tnf = DATUM_TNF(datum);
89 * Retrieve datum kind from cached information
93 tnf_get_kind(tnf_datum_t datum)
95 CHECK_DATUM(datum);
97 return (DATUM_KIND(datum));
105 has_prop(tnf_datum_t datum, tag_props_t prop)
107 CHECK_DATUM(datum);
110 return (INFO_PROP(DATUM_INFO(datum), prop));
114 tnf_is_inline(tnf_datum_t datum)
116 return (has_prop(datum, TAG_PROP_INLINE));
120 tnf_is_scalar(tnf_datum_t datum)
122 return (has_prop(datum, TAG_PROP_SCALAR));
126 tnf_is_record(tnf_datum_t datum) /* XXX was: tnf_is_tagged */
128 return (has_prop(datum, TAG_PROP_TAGGED));
132 tnf_is_array(tnf_datum_t datum)
134 return (has_prop(datum, TAG_PROP_ARRAY));
138 tnf_is_string(tnf_datum_t datum)
140 return (has_prop(datum, TAG_PROP_STRING));
144 tnf_is_struct(tnf_datum_t datum)
146 return (has_prop(datum, TAG_PROP_STRUCT));
150 tnf_is_type(tnf_datum_t datum)
152 return (has_prop(datum, TAG_PROP_TYPE));
156 * Get the type datum for any datum
160 tnf_get_type(tnf_datum_t datum)
164 CHECK_DATUM(datum);
166 info = DATUM_INFO(datum);
171 * Get the type name for any datum
176 tnf_get_type_name(tnf_datum_t datum)
178 CHECK_DATUM(datum);
179 return (DATUM_INFO(datum)->name); /* cached */
183 * Get the size of any datum
187 tnf_get_size(tnf_datum_t datum)
192 CHECK_DATUM(datum);
194 info = DATUM_INFO(datum);
198 /* XXX tnf_get_slot_named(datum, TNF_N_SELF_SIZE) */
200 return (_tnf_get_self_size(info->tnf, DATUM_RECORD(datum)));
206 * Get raw pointer to any datum
210 tnf_get_raw(tnf_datum_t datum)
212 CHECK_DATUM(datum);
213 return (DATUM_VAL(datum));