Lines Matching refs:hdl

118 swde_case_associate(fmd_hdl_t *hdl, fmd_case_t *cp, swde_case_t *scp,  in swde_case_associate()  argument
123 fmd_case_setspecific(hdl, cp, scp); in swde_case_associate()
127 swde_case_unserialize(fmd_hdl_t *hdl, fmd_case_t *cp) in swde_case_unserialize() argument
134 scp = fmd_hdl_zalloc(hdl, sizeof (*scp), FMD_SLEEP); in swde_case_unserialize()
137 fmd_buf_read(hdl, cp, SW_CASE_DATA_BUFNAME, datap, sizeof (*datap)); in swde_case_unserialize()
140 fmd_hdl_free(hdl, scp, sizeof (*scp)); in swde_case_unserialize()
145 subdata = fmd_hdl_alloc(hdl, sz, FMD_SLEEP); in swde_case_unserialize()
146 fmd_buf_read(hdl, cp, datap->sc_sub_bufname, subdata, sz); in swde_case_unserialize()
149 fmd_hdl_abort(hdl, "unserialize: expected subdata " in swde_case_unserialize()
155 swde_case_associate(hdl, cp, scp, subdata); in swde_case_unserialize()
159 swde_subdata(fmd_hdl_t *hdl, fmd_case_t *cp, enum sw_casetype type, in swde_subdata() argument
165 fmd_hdl_abort(hdl, "swde_subdata: subdata version " in swde_subdata()
173 fmd_buf_create(hdl, cp, datap->sc_sub_bufname, subdata_sz); in swde_subdata()
174 fmd_buf_write(hdl, cp, datap->sc_sub_bufname, subdata, subdata_sz); in swde_subdata()
178 swde_case_open(fmd_hdl_t *hdl, id_t who, char *req_uuid, in swde_case_open() argument
181 enum sw_casetype ct = sw_id_to_casetype(hdl, who); in swde_case_open()
187 fmd_hdl_abort(hdl, "swde_case_open for type SW_CASE_NONE\n"); in swde_case_open()
191 fmd_hdl_abort(hdl, "swde_case_open: bad subdata\n", ct); in swde_case_open()
193 scp = fmd_hdl_zalloc(hdl, sizeof (*scp), FMD_SLEEP); in swde_case_open()
197 cp = fmd_case_open(hdl, (void *)scp); in swde_case_open()
199 cp = fmd_case_open_uuid(hdl, req_uuid, (void *)scp); in swde_case_open()
201 fmd_hdl_free(hdl, scp, sizeof (*scp)); in swde_case_open()
206 fmd_buf_create(hdl, cp, SW_CASE_DATA_BUFNAME, sizeof (*datap)); in swde_case_open()
211 swde_subdata(hdl, cp, ct, scp, subdata_vers, subdata, in swde_case_open()
214 fmd_buf_write(hdl, cp, SW_CASE_DATA_BUFNAME, datap, sizeof (*datap)); in swde_case_open()
215 swde_case_associate(hdl, cp, scp, subdata); in swde_case_open()
224 swde_close(fmd_hdl_t *hdl, fmd_case_t *cp) in swde_close() argument
226 swde_case_t *scp = fmd_case_getspecific(hdl, cp); in swde_close()
230 if ((closefunc = sw_sub_case_close_func(hdl, datap->sc_type)) != NULL) in swde_close()
231 closefunc(hdl, cp); in swde_close()
239 fmd_hdl_free(hdl, scp->swc_subdata, datap->sc_sub_bufsz); in swde_close()
240 fmd_buf_destroy(hdl, cp, datap->sc_sub_bufname); in swde_close()
243 fmd_buf_destroy(hdl, cp, SW_CASE_DATA_BUFNAME); in swde_close()
245 fmd_hdl_free(hdl, scp, sizeof (*scp)); in swde_close()
249 swde_case_first(fmd_hdl_t *hdl, id_t who) in swde_case_first() argument
251 enum sw_casetype ct = sw_id_to_casetype(hdl, who); in swde_case_first()
256 fmd_hdl_abort(hdl, "swde_case_first for type SW_CASE_NONE\n"); in swde_case_first()
258 for (cp = fmd_case_next(hdl, NULL); cp; cp = fmd_case_next(hdl, cp)) { in swde_case_first()
259 scp = fmd_case_getspecific(hdl, cp); in swde_case_first()
268 swde_case_next(fmd_hdl_t *hdl, fmd_case_t *lastcp) in swde_case_next() argument
275 fmd_hdl_abort(hdl, "swde_case_next called for NULL lastcp\n"); in swde_case_next()
277 scp = fmd_case_getspecific(hdl, lastcp); in swde_case_next()
281 while ((cp = fmd_case_next(hdl, cp)) != NULL) { in swde_case_next()
282 scp = fmd_case_getspecific(hdl, cp); in swde_case_next()
291 swde_case_data(fmd_hdl_t *hdl, fmd_case_t *cp, uint32_t *svp) in swde_case_data() argument
293 swde_case_t *scp = fmd_case_getspecific(hdl, cp); in swde_case_data()
303 swde_case_data_write(fmd_hdl_t *hdl, fmd_case_t *cp) in swde_case_data_write() argument
305 swde_case_t *scp = fmd_case_getspecific(hdl, cp); in swde_case_data_write()
311 fmd_buf_write(hdl, cp, scp->swc_data.sc_sub_bufname, in swde_case_data_write()
316 swde_case_data_upgrade(fmd_hdl_t *hdl, fmd_case_t *cp, uint32_t subdata_vers, in swde_case_data_upgrade() argument
319 swde_case_t *scp = fmd_case_getspecific(hdl, cp); in swde_case_data_upgrade()
323 fmd_buf_destroy(hdl, cp, datap->sc_sub_bufname); in swde_case_data_upgrade()
324 fmd_hdl_free(hdl, scp->swc_subdata, datap->sc_sub_bufsz); in swde_case_data_upgrade()
332 swde_subdata(hdl, cp, datap->sc_type, scp, subdata_vers, in swde_case_data_upgrade()
336 fmd_buf_write(hdl, scp->swc_fmdcase, SW_CASE_DATA_BUFNAME, in swde_case_data_upgrade()
341 swde_case_verify(fmd_hdl_t *hdl, fmd_case_t *cp) in swde_case_verify() argument
343 swde_case_t *scp = fmd_case_getspecific(hdl, cp); in swde_case_verify()
347 if ((vrfy_func = sw_sub_case_vrfy_func(hdl, datap->sc_type)) != NULL) { in swde_case_verify()
348 if (vrfy_func(hdl, cp) == 0) in swde_case_verify()
349 fmd_case_close(hdl, cp); in swde_case_verify()
354 swde_case_init(fmd_hdl_t *hdl) in swde_case_init() argument
358 for (cp = fmd_case_next(hdl, NULL); cp; cp = fmd_case_next(hdl, cp)) { in swde_case_init()
359 swde_case_unserialize(hdl, cp); in swde_case_init()
360 swde_case_verify(hdl, cp); in swde_case_init()
366 swde_case_fini(fmd_hdl_t *hdl) in swde_case_fini() argument