Lines Matching refs:prp

240 	dt_probe_t *prp;  in dt_probe_discover()  local
309 if ((prp = dt_probe_create(dtp, idp, 2, in dt_probe_discover()
315 dt_probe_declare(pvp, prp); in dt_probe_discover()
334 dt_node_type_assign(prp->pr_nargv[adp->dtargd_mapping], in dt_probe_discover()
341 dt_node_type_propagate(prp->pr_nargv[ in dt_probe_discover()
342 adp->dtargd_mapping], prp->pr_xargv[i]); in dt_probe_discover()
354 dt_node_type_assign(prp->pr_xargv[i], in dt_probe_discover()
358 prp->pr_mapping[i] = adp->dtargd_mapping; in dt_probe_discover()
359 prp->pr_argv[i] = dtt; in dt_probe_discover()
362 return (prp); in dt_probe_discover()
413 dt_probe_t *prp; in dt_probe_create() local
432 if ((prp = dt_alloc(dtp, sizeof (dt_probe_t))) == NULL) in dt_probe_create()
435 prp->pr_pvp = NULL; in dt_probe_create()
436 prp->pr_ident = idp; in dt_probe_create()
440 prp->pr_name = p + 1; in dt_probe_create()
442 prp->pr_nargs = nargs; in dt_probe_create()
443 prp->pr_nargv = dt_alloc(dtp, sizeof (dt_node_t *) * nargc); in dt_probe_create()
444 prp->pr_nargc = nargc; in dt_probe_create()
445 prp->pr_xargs = xargs; in dt_probe_create()
446 prp->pr_xargv = dt_alloc(dtp, sizeof (dt_node_t *) * xargc); in dt_probe_create()
447 prp->pr_xargc = xargc; in dt_probe_create()
448 prp->pr_mapping = dt_alloc(dtp, sizeof (uint8_t) * xargc); in dt_probe_create()
449 prp->pr_inst = NULL; in dt_probe_create()
450 prp->pr_argv = dt_alloc(dtp, sizeof (dtrace_typeinfo_t) * xargc); in dt_probe_create()
451 prp->pr_argc = xargc; in dt_probe_create()
453 if ((prp->pr_nargc != 0 && prp->pr_nargv == NULL) || in dt_probe_create()
454 (prp->pr_xargc != 0 && prp->pr_xargv == NULL) || in dt_probe_create()
455 (prp->pr_xargc != 0 && prp->pr_mapping == NULL) || in dt_probe_create()
456 (prp->pr_argc != 0 && prp->pr_argv == NULL)) { in dt_probe_create()
457 dt_probe_destroy(prp); in dt_probe_create()
463 prp->pr_mapping[i] = dt_probe_argmap(xargs, nargs); in dt_probe_create()
465 prp->pr_mapping[i] = i; in dt_probe_create()
467 prp->pr_xargv[i] = xargs; in dt_probe_create()
471 prp->pr_argv[i].dtt_object = dmp->dm_name; in dt_probe_create()
473 prp->pr_argv[i].dtt_object = NULL; in dt_probe_create()
475 prp->pr_argv[i].dtt_ctfp = xargs->dn_ctfp; in dt_probe_create()
476 prp->pr_argv[i].dtt_type = xargs->dn_type; in dt_probe_create()
480 prp->pr_nargv[i] = nargs; in dt_probe_create()
482 idp->di_data = prp; in dt_probe_create()
483 return (prp); in dt_probe_create()
487 dt_probe_declare(dt_provider_t *pvp, dt_probe_t *prp) in dt_probe_declare() argument
489 assert(prp->pr_ident->di_kind == DT_IDENT_PROBE); in dt_probe_declare()
490 assert(prp->pr_ident->di_data == prp); in dt_probe_declare()
491 assert(prp->pr_pvp == NULL); in dt_probe_declare()
493 if (prp->pr_xargs != prp->pr_nargs) in dt_probe_declare()
496 prp->pr_pvp = pvp; in dt_probe_declare()
497 dt_idhash_xinsert(pvp->pv_probes, prp->pr_ident); in dt_probe_declare()
501 dt_probe_destroy(dt_probe_t *prp) in dt_probe_destroy() argument
506 if (prp->pr_pvp != NULL) in dt_probe_destroy()
507 dtp = prp->pr_pvp->pv_hdl; in dt_probe_destroy()
511 dt_node_list_free(&prp->pr_nargs); in dt_probe_destroy()
512 dt_node_list_free(&prp->pr_xargs); in dt_probe_destroy()
514 dt_free(dtp, prp->pr_nargv); in dt_probe_destroy()
515 dt_free(dtp, prp->pr_xargv); in dt_probe_destroy()
517 for (pip = prp->pr_inst; pip != NULL; pip = pip_next) { in dt_probe_destroy()
524 dt_free(dtp, prp->pr_mapping); in dt_probe_destroy()
525 dt_free(dtp, prp->pr_argv); in dt_probe_destroy()
526 dt_free(dtp, prp); in dt_probe_destroy()
530 dt_probe_define(dt_provider_t *pvp, dt_probe_t *prp, in dt_probe_define() argument
540 for (pip = prp->pr_inst; pip != NULL; pip = pip->pi_next) { in dt_probe_define()
579 pip->pi_next = prp->pr_inst; in dt_probe_define()
581 prp->pr_inst = pip; in dt_probe_define()
610 pvp->pv_desc.dtvd_name, prp->pr_ident->di_name, fname, offset, in dt_probe_define()
625 dt_probe_tag(dt_probe_t *prp, uint_t argn, dt_node_t *dnp) in dt_probe_tag() argument
627 dtrace_hdl_t *dtp = prp->pr_pvp->pv_hdl; in dt_probe_tag()
633 prp->pr_pvp->pv_desc.dtvd_name, prp->pr_name, argn); in dt_probe_tag()
638 prp->pr_pvp->pv_desc.dtvd_name, prp->pr_name, argn); in dt_probe_tag()
682 dt_probe_t *prp = NULL; in dt_probe_info() local
697 prp = idp->di_data; in dt_probe_info()
699 prp = dt_probe_discover(pvp, pdp); in dt_probe_info()
708 if (prp == NULL) { in dt_probe_info()
776 prp = dt_probe_discover(pvp, &pd); in dt_probe_info()
778 prp = dt_probe_lookup(pvp, pd.dtpd_name); in dt_probe_info()
780 if (prp == NULL) in dt_probe_info()
784 assert(pvp != NULL && prp != NULL); in dt_probe_info()
806 pip->dtp_argv = prp->pr_argv; in dt_probe_info()
807 pip->dtp_argc = prp->pr_argc; in dt_probe_info()
809 return (prp); in dt_probe_info()
823 const dt_probe_t *prp = idp->di_data; in dt_probe_iter() local
825 if (!dt_gmatch(prp->pr_name, pit->pit_pat)) in dt_probe_iter()
828 (void) strlcpy(pit->pit_desc.dtpd_name, prp->pr_name, DTRACE_NAMELEN); in dt_probe_iter()