Lines Matching refs:dtp

65 dtrace_xstr2desc(dtrace_hdl_t *dtp, dtrace_probespec_t spec,
74 return (dt_set_errno(dtp, EINVAL));
119 return (dt_set_errno(dtp, EDT_BADSPCV));
133 idp = dt_idhash_lookup(dtp->dt_macros, vstr);
136 return (dt_set_errno(dtp, EDT_BADSPCV));
142 return (dt_set_errno(dtp, EDT_BADSPCV));
146 return (dt_set_errno(dtp, EDT_BADSPEC));
149 return (dt_set_errno(dtp, ENAMETOOLONG));
162 dtrace_str2desc(dtrace_hdl_t *dtp, dtrace_probespec_t spec,
165 return (dtrace_xstr2desc(dtp, spec, s, 0, NULL, pdp));
169 dtrace_id2desc(dtrace_hdl_t *dtp, dtrace_id_t id, dtrace_probedesc_t *pdp)
174 if (dt_ioctl(dtp, DTRACEIOC_PROBES, pdp) == -1 ||
176 return (dt_set_errno(dtp, EDT_BADID));
426 dt_cpp_add_arg(dtrace_hdl_t *dtp, const char *str)
430 if (dtp->dt_cpp_argc == dtp->dt_cpp_args) {
431 int olds = dtp->dt_cpp_args;
433 char **argv = realloc(dtp->dt_cpp_argv, sizeof (char *) * news);
439 dtp->dt_cpp_argv = argv;
440 dtp->dt_cpp_args = news;
446 assert(dtp->dt_cpp_argc < dtp->dt_cpp_args);
447 dtp->dt_cpp_argv[dtp->dt_cpp_argc++] = arg;
452 dt_cpp_pop_arg(dtrace_hdl_t *dtp)
456 if (dtp->dt_cpp_argc <= 1)
459 arg = dtp->dt_cpp_argv[--dtp->dt_cpp_argc];
460 dtp->dt_cpp_argv[dtp->dt_cpp_argc] = NULL;
481 dt_ioctl(dtrace_hdl_t *dtp, int val, void *arg)
483 dt_ioctl(dtrace_hdl_t *dtp, u_long val, void *arg)
486 const dtrace_vector_t *v = dtp->dt_vector;
494 return (v->dtv_ioctl(dtp->dt_varg, val, arg));
496 if (dtp->dt_fd >= 0)
497 return (ioctl(dtp->dt_fd, val, arg));
504 dt_status(dtrace_hdl_t *dtp, processorid_t cpu)
506 const dtrace_vector_t *v = dtp->dt_vector;
521 return (v->dtv_status(dtp->dt_varg, cpu));
525 dt_sysconf(dtrace_hdl_t *dtp, int name)
527 const dtrace_vector_t *v = dtp->dt_vector;
532 return (v->dtv_sysconf(dtp->dt_varg, name));
542 dt_write(dtrace_hdl_t *dtp, int fd, const void *buf, size_t n)
556 return (dt_set_errno(dtp, errno));
581 dt_printf(dtrace_hdl_t *dtp, FILE *fp, const char *format, ...)
593 if (dtp->dt_freopen_fp != NULL)
594 fp = dtp->dt_freopen_fp;
599 if (dtp->dt_sprintf_buflen != 0) {
603 assert(dtp->dt_sprintf_buf != NULL);
605 buf = &dtp->dt_sprintf_buf[len = strlen(dtp->dt_sprintf_buf)];
606 len = dtp->dt_sprintf_buflen - len;
611 n = dt_set_errno(dtp, errno);
627 if (dtp->dt_bufhdlr == NULL) {
629 return (dt_set_errno(dtp, EDT_NOBUFFERED));
632 if (dtp->dt_buffered_buf == NULL) {
633 assert(dtp->dt_buffered_size == 0);
634 dtp->dt_buffered_size = 1;
635 dtp->dt_buffered_buf = malloc(dtp->dt_buffered_size);
637 if (dtp->dt_buffered_buf == NULL) {
639 return (dt_set_errno(dtp, EDT_NOMEM));
642 dtp->dt_buffered_offs = 0;
643 dtp->dt_buffered_buf[0] = '\0';
648 rval = dt_set_errno(dtp, errno);
663 assert(dtp->dt_buffered_offs < dtp->dt_buffered_size);
664 avail = dtp->dt_buffered_size - dtp->dt_buffered_offs;
669 if ((newbuf = realloc(dtp->dt_buffered_buf,
670 dtp->dt_buffered_size << 1)) == NULL) {
672 return (dt_set_errno(dtp, EDT_NOMEM));
675 dtp->dt_buffered_buf = newbuf;
676 dtp->dt_buffered_size <<= 1;
680 if (vsnprintf(&dtp->dt_buffered_buf[dtp->dt_buffered_offs],
682 rval = dt_set_errno(dtp, errno);
689 dtp->dt_buffered_offs += needed;
690 assert(dtp->dt_buffered_buf[dtp->dt_buffered_offs] == '\0');
703 return (dt_set_errno(dtp, errno));
710 dt_buffered_flush(dtrace_hdl_t *dtp, dtrace_probedata_t *pdata,
715 if (dtp->dt_buffered_offs == 0)
718 data.dtbda_handle = dtp;
719 data.dtbda_buffered = dtp->dt_buffered_buf;
725 if ((*dtp->dt_bufhdlr)(&data, dtp->dt_bufarg) == DTRACE_HANDLE_ABORT)
726 return (dt_set_errno(dtp, EDT_DIRABORT));
728 dtp->dt_buffered_offs = 0;
729 dtp->dt_buffered_buf[0] = '\0';
735 dt_buffered_destroy(dtrace_hdl_t *dtp)
737 free(dtp->dt_buffered_buf);
738 dtp->dt_buffered_buf = NULL;
739 dtp->dt_buffered_offs = 0;
740 dtp->dt_buffered_size = 0;
744 dt_zalloc(dtrace_hdl_t *dtp, size_t size)
749 (void) dt_set_errno(dtp, EDT_NOMEM);
757 dt_alloc(dtrace_hdl_t *dtp, size_t size)
762 (void) dt_set_errno(dtp, EDT_NOMEM);
768 dt_free(dtrace_hdl_t *dtp, void *data)
770 assert(dtp != NULL); /* ensure sane use of this interface */
775 dt_difo_free(dtrace_hdl_t *dtp, dtrace_difo_t *dp)
780 dt_free(dtp, dp->dtdo_buf);
781 dt_free(dtp, dp->dtdo_inttab);
782 dt_free(dtp, dp->dtdo_strtab);
783 dt_free(dtp, dp->dtdo_vartab);
784 dt_free(dtp, dp->dtdo_kreltab);
785 dt_free(dtp, dp->dtdo_ureltab);
786 dt_free(dtp, dp->dtdo_xlmtab);
788 dt_free(dtp, dp);
917 dtrace_addr2str(dtrace_hdl_t *dtp, uint64_t addr, char *str, int nbytes)
926 if ((err = dtrace_lookup_by_addr(dtp, addr, &sym, &dts)) == 0)
943 if (dtrace_lookup_by_addr(dtp, addr, NULL, &dts) == 0) {
955 dtrace_uaddr2str(dtrace_hdl_t *dtp, pid_t pid,
964 P = dt_proc_grab(dtp, pid, PGRAB_RDONLY | PGRAB_FORCE, 0);
971 dt_proc_lock(dtp, P);
991 dt_proc_unlock(dtp, P);
992 dt_proc_release(dtp, P);