Lines Matching refs:rp

105 fmd_log_load_record(fmd_log_t *lp, uint_t iflags, fmd_log_record_t *rp)
126 bzero(rp, sizeof (fmd_log_record_t));
127 rp->rec_grp = grp;
130 rp->rec_off = off;
136 obj->eo_item.ei_size, &rp->rec_nvl, 0)) != 0) {
137 fmd_log_free_record(rp);
143 rp->rec_sec = obj->eo_item.ei_uint64;
147 rp->rec_nsec = obj->eo_item.ei_uint64;
151 rp->rec_nrefs += obj->eo_group.eg_nobjs;
156 if (rp->rec_nvl == NULL || nvlist_lookup_string(rp->rec_nvl,
157 FM_CLASS, (char **)&rp->rec_class) != 0) {
158 fmd_log_free_record(rp);
162 if (rp->rec_nrefs != 0 && fmd_log_load_xrefs(lp, iflags, rp) != 0) {
164 fmd_log_free_record(rp);
176 fmd_log_free_record(fmd_log_record_t *rp)
180 if (rp->rec_xrefs != NULL) {
181 for (i = 0; i < rp->rec_nrefs; i++)
182 fmd_log_free_record(&rp->rec_xrefs[i]);
183 free(rp->rec_xrefs);
186 nvlist_free(rp->rec_nvl);
187 ea_free_object(rp->rec_grp, EUP_ALLOC);
192 * exacct group 'grp' into the next empty slot in rp->rec_xrefs. This function
197 fmd_log_record_t *rp, ea_object_t *grp)
268 iflags, &rp->rec_xrefs[rp->rec_nrefs++]));
317 * corresponding xref. rp->rec_nrefs is reset to the number of valid items
318 * in the finished rp->rec_xrefs array; see fmd_log_load_xref() for more info.
321 fmd_log_load_xrefs(fmd_log_t *lp, uint_t iflags, fmd_log_record_t *rp)
323 size_t size = sizeof (fmd_log_record_t) * rp->rec_nrefs;
324 ea_object_t *rgrp = rp->rec_grp;
333 if ((rp->rec_xrefs = malloc(size)) == NULL)
336 bzero(rp->rec_xrefs, size);
337 rp->rec_nrefs = 0;
349 * xref members and then load the specified record into rp->rec_xrefs.
357 if (fmd_log_load_xref(lp, iflags, rp, obj) != 0)
582 fmd_log_xiter_filter(fmd_log_t *lp, const fmd_log_record_t *rp,
589 if (fav[i].filt_argv[j].filt_func(lp, rp,
602 fmd_log_xiter_filtcmp(const void *lp, const void *rp)
605 (intptr_t)((fmd_log_filter_t *)rp)->filt_func);
610 const fmd_log_record_t *rp)
628 return (fmd_log_xiter_filter(lp, rp, fac, fav));