Lines Matching defs:dtp

55 dtrace_xstr2desc(dtrace_hdl_t *dtp, dtrace_probespec_t spec,
64 return (dt_set_errno(dtp, EINVAL));
109 return (dt_set_errno(dtp, EDT_BADSPCV));
123 idp = dt_idhash_lookup(dtp->dt_macros, vstr);
126 return (dt_set_errno(dtp, EDT_BADSPCV));
132 return (dt_set_errno(dtp, EDT_BADSPCV));
136 return (dt_set_errno(dtp, EDT_BADSPEC));
139 return (dt_set_errno(dtp, ENAMETOOLONG));
152 dtrace_str2desc(dtrace_hdl_t *dtp, dtrace_probespec_t spec,
155 return (dtrace_xstr2desc(dtp, spec, s, 0, NULL, pdp));
159 dtrace_id2desc(dtrace_hdl_t *dtp, dtrace_id_t id, dtrace_probedesc_t *pdp)
164 if (dt_ioctl(dtp, DTRACEIOC_PROBES, pdp) == -1 ||
166 return (dt_set_errno(dtp, EDT_BADID));
415 dt_cpp_add_arg(dtrace_hdl_t *dtp, const char *str)
419 if (dtp->dt_cpp_argc == dtp->dt_cpp_args) {
420 int olds = dtp->dt_cpp_args;
422 char **argv = realloc(dtp->dt_cpp_argv, sizeof (char *) * news);
428 dtp->dt_cpp_argv = argv;
429 dtp->dt_cpp_args = news;
435 assert(dtp->dt_cpp_argc < dtp->dt_cpp_args);
436 dtp->dt_cpp_argv[dtp->dt_cpp_argc++] = arg;
441 dt_cpp_pop_arg(dtrace_hdl_t *dtp)
445 if (dtp->dt_cpp_argc <= 1)
448 arg = dtp->dt_cpp_argv[--dtp->dt_cpp_argc];
449 dtp->dt_cpp_argv[dtp->dt_cpp_argc] = NULL;
469 dt_ioctl(dtrace_hdl_t *dtp, int val, void *arg)
471 const dtrace_vector_t *v = dtp->dt_vector;
474 return (v->dtv_ioctl(dtp->dt_varg, val, arg));
476 if (dtp->dt_fd >= 0)
477 return (ioctl(dtp->dt_fd, val, arg));
484 dt_status(dtrace_hdl_t *dtp, processorid_t cpu)
486 const dtrace_vector_t *v = dtp->dt_vector;
491 return (v->dtv_status(dtp->dt_varg, cpu));
495 dt_sysconf(dtrace_hdl_t *dtp, int name)
497 const dtrace_vector_t *v = dtp->dt_vector;
502 return (v->dtv_sysconf(dtp->dt_varg, name));
512 dt_write(dtrace_hdl_t *dtp, int fd, const void *buf, size_t n)
526 return (dt_set_errno(dtp, errno));
551 dt_printf(dtrace_hdl_t *dtp, FILE *fp, const char *format, ...)
558 if (dtp->dt_sprintf_buflen != 0) {
562 assert(dtp->dt_sprintf_buf != NULL);
564 buf = &dtp->dt_sprintf_buf[len = strlen(dtp->dt_sprintf_buf)];
565 len = dtp->dt_sprintf_buflen - len;
569 n = dt_set_errno(dtp, errno);
584 if (dtp->dt_bufhdlr == NULL) {
586 return (dt_set_errno(dtp, EDT_NOBUFFERED));
589 if (dtp->dt_buffered_buf == NULL) {
590 assert(dtp->dt_buffered_size == 0);
591 dtp->dt_buffered_size = 1;
592 dtp->dt_buffered_buf = malloc(dtp->dt_buffered_size);
594 if (dtp->dt_buffered_buf == NULL) {
596 return (dt_set_errno(dtp, EDT_NOMEM));
599 dtp->dt_buffered_offs = 0;
600 dtp->dt_buffered_buf[0] = '\0';
604 rval = dt_set_errno(dtp, errno);
617 assert(dtp->dt_buffered_offs < dtp->dt_buffered_size);
618 avail = dtp->dt_buffered_size - dtp->dt_buffered_offs;
623 if ((newbuf = realloc(dtp->dt_buffered_buf,
624 dtp->dt_buffered_size << 1)) == NULL) {
626 return (dt_set_errno(dtp, EDT_NOMEM));
629 dtp->dt_buffered_buf = newbuf;
630 dtp->dt_buffered_size <<= 1;
633 if (vsnprintf(&dtp->dt_buffered_buf[dtp->dt_buffered_offs],
635 rval = dt_set_errno(dtp, errno);
640 dtp->dt_buffered_offs += needed;
641 assert(dtp->dt_buffered_buf[dtp->dt_buffered_offs] == '\0');
650 return (dt_set_errno(dtp, errno));
657 dt_buffered_flush(dtrace_hdl_t *dtp, dtrace_probedata_t *pdata,
662 if (dtp->dt_buffered_offs == 0)
665 data.dtbda_handle = dtp;
666 data.dtbda_buffered = dtp->dt_buffered_buf;
672 if ((*dtp->dt_bufhdlr)(&data, dtp->dt_bufarg) == DTRACE_HANDLE_ABORT)
673 return (dt_set_errno(dtp, EDT_DIRABORT));
675 dtp->dt_buffered_offs = 0;
676 dtp->dt_buffered_buf[0] = '\0';
682 dt_buffered_destroy(dtrace_hdl_t *dtp)
684 free(dtp->dt_buffered_buf);
685 dtp->dt_buffered_buf = NULL;
686 dtp->dt_buffered_offs = 0;
687 dtp->dt_buffered_size = 0;
691 dt_zalloc(dtrace_hdl_t *dtp, size_t size)
696 (void) dt_set_errno(dtp, EDT_NOMEM);
704 dt_alloc(dtrace_hdl_t *dtp, size_t size)
709 (void) dt_set_errno(dtp, EDT_NOMEM);
715 dt_free(dtrace_hdl_t *dtp, void *data)
717 assert(dtp != NULL); /* ensure sane use of this interface */
722 dt_difo_free(dtrace_hdl_t *dtp, dtrace_difo_t *dp)
727 dt_free(dtp, dp->dtdo_buf);
728 dt_free(dtp, dp->dtdo_inttab);
729 dt_free(dtp, dp->dtdo_strtab);
730 dt_free(dtp, dp->dtdo_vartab);
731 dt_free(dtp, dp->dtdo_kreltab);
732 dt_free(dtp, dp->dtdo_ureltab);
733 dt_free(dtp, dp->dtdo_xlmtab);
735 dt_free(dtp, dp);
833 dtrace_addr2str(dtrace_hdl_t *dtp, uint64_t addr, char *str, int nbytes)
842 if ((err = dtrace_lookup_by_addr(dtp, addr, &sym, &dts)) == 0)
859 if (dtrace_lookup_by_addr(dtp, addr, NULL, &dts) == 0) {
871 dtrace_uaddr2str(dtrace_hdl_t *dtp, pid_t pid,
880 P = dt_proc_grab(dtp, pid, PGRAB_RDONLY | PGRAB_FORCE, 0);
887 dt_proc_lock(dtp, P);
907 dt_proc_unlock(dtp, P);
908 dt_proc_release(dtp, P);