Lines Matching refs:dtp

51 dt_opt_agg(dtrace_hdl_t *dtp, const char *arg, uintptr_t option)
53 dt_aggregate_t *agp = &dtp->dt_aggregate;
56 return (dt_set_errno(dtp, EDT_BADOPTVAL));
64 dt_opt_amin(dtrace_hdl_t *dtp, const char *arg, uintptr_t option)
70 return (dt_set_errno(dtp, EDT_BADOPTVAL));
75 if (dtp->dt_pcb != NULL) {
76 dtp->dt_pcb->pcb_cflags |= DTRACE_C_EATTR;
77 dtp->dt_pcb->pcb_amin = attr;
79 dtp->dt_cflags |= DTRACE_C_EATTR;
80 dtp->dt_amin = attr;
111 dt_opt_core(dtrace_hdl_t *dtp, const char *arg, uintptr_t option)
116 return (dt_set_errno(dtp, EDT_BADOPTVAL));
121 return (dt_set_errno(dtp, errno));
126 dt_opt_cpp_hdrs(dtrace_hdl_t *dtp, const char *arg, uintptr_t option)
129 return (dt_set_errno(dtp, EDT_BADOPTVAL));
131 if (dtp->dt_pcb != NULL)
132 return (dt_set_errno(dtp, EDT_BADOPTCTX));
134 if (dt_cpp_add_arg(dtp, "-H") == NULL)
135 return (dt_set_errno(dtp, EDT_NOMEM));
142 dt_opt_cpp_path(dtrace_hdl_t *dtp, const char *arg, uintptr_t option)
147 return (dt_set_errno(dtp, EDT_BADOPTVAL));
149 if (dtp->dt_pcb != NULL)
150 return (dt_set_errno(dtp, EDT_BADOPTCTX));
153 return (dt_set_errno(dtp, EDT_NOMEM));
155 dtp->dt_cpp_argv[0] = (char *)strbasename(cpp);
156 free(dtp->dt_cpp_path);
157 dtp->dt_cpp_path = cpp;
163 dt_opt_cpp_opts(dtrace_hdl_t *dtp, const char *arg, uintptr_t option)
170 return (dt_set_errno(dtp, EDT_BADOPTVAL));
172 if (dtp->dt_pcb != NULL)
173 return (dt_set_errno(dtp, EDT_BADOPTCTX));
181 if (dt_cpp_add_arg(dtp, buf) == NULL)
182 return (dt_set_errno(dtp, EDT_NOMEM));
189 dt_opt_ctypes(dtrace_hdl_t *dtp, const char *arg, uintptr_t option)
194 return (dt_set_errno(dtp, EDT_BADOPTVAL));
197 return (dt_set_errno(dtp, errno));
199 (void) close(dtp->dt_cdefs_fd);
200 dtp->dt_cdefs_fd = fd;
206 dt_opt_droptags(dtrace_hdl_t *dtp, const char *arg, uintptr_t option)
208 dtp->dt_droptags = 1;
214 dt_opt_dtypes(dtrace_hdl_t *dtp, const char *arg, uintptr_t option)
219 return (dt_set_errno(dtp, EDT_BADOPTVAL));
222 return (dt_set_errno(dtp, errno));
224 (void) close(dtp->dt_ddefs_fd);
225 dtp->dt_ddefs_fd = fd;
231 dt_opt_debug(dtrace_hdl_t *dtp, const char *arg, uintptr_t option)
234 return (dt_set_errno(dtp, EDT_BADOPTVAL));
242 dt_opt_iregs(dtrace_hdl_t *dtp, const char *arg, uintptr_t option)
247 return (dt_set_errno(dtp, EDT_BADOPTVAL));
249 dtp->dt_conf.dtc_difintregs = n;
255 dt_opt_lazyload(dtrace_hdl_t *dtp, const char *arg, uintptr_t option)
257 dtp->dt_lazyload = 1;
264 dt_opt_ld_path(dtrace_hdl_t *dtp, const char *arg, uintptr_t option)
269 return (dt_set_errno(dtp, EDT_BADOPTVAL));
271 if (dtp->dt_pcb != NULL)
272 return (dt_set_errno(dtp, EDT_BADOPTCTX));
275 return (dt_set_errno(dtp, EDT_NOMEM));
277 free(dtp->dt_ld_path);
278 dtp->dt_ld_path = ld;
285 dt_opt_objcopy_path(dtrace_hdl_t *dtp, const char *arg, uintptr_t option)
290 return (dt_set_errno(dtp, EDT_BADOPTVAL));
292 if (dtp->dt_pcb != NULL)
293 return (dt_set_errno(dtp, EDT_BADOPTCTX));
296 return (dt_set_errno(dtp, EDT_NOMEM));
298 free(dtp->dt_objcopy_path);
299 dtp->dt_objcopy_path = objcopy;
307 dt_opt_libdir(dtrace_hdl_t *dtp, const char *arg, uintptr_t option)
312 return (dt_set_errno(dtp, EDT_BADOPTVAL));
317 return (dt_set_errno(dtp, EDT_NOMEM));
320 dt_list_append(&dtp->dt_lib_path, dp);
326 dt_opt_linkmode(dtrace_hdl_t *dtp, const char *arg, uintptr_t option)
329 return (dt_set_errno(dtp, EDT_BADOPTVAL));
332 dtp->dt_linkmode = DT_LINK_KERNEL;
334 dtp->dt_linkmode = DT_LINK_PRIMARY;
336 dtp->dt_linkmode = DT_LINK_DYNAMIC;
338 dtp->dt_linkmode = DT_LINK_STATIC;
340 return (dt_set_errno(dtp, EDT_BADOPTVAL));
347 dt_opt_linktype(dtrace_hdl_t *dtp, const char *arg, uintptr_t option)
350 return (dt_set_errno(dtp, EDT_BADOPTVAL));
353 dtp->dt_linktype = DT_LTYP_ELF;
355 dtp->dt_linktype = DT_LTYP_DOF;
357 return (dt_set_errno(dtp, EDT_BADOPTVAL));
364 dt_opt_encoding(dtrace_hdl_t *dtp, const char *arg, uintptr_t option)
367 return (dt_set_errno(dtp, EDT_BADOPTVAL));
370 dtp->dt_encoding = DT_ENCODING_ASCII;
372 dtp->dt_encoding = DT_ENCODING_UTF8;
374 return (dt_set_errno(dtp, EDT_BADOPTVAL));
381 dt_opt_evaltime(dtrace_hdl_t *dtp, const char *arg, uintptr_t option)
384 return (dt_set_errno(dtp, EDT_BADOPTVAL));
387 dtp->dt_prcmode = DT_PROC_STOP_CREATE;
389 dtp->dt_prcmode = DT_PROC_STOP_PREINIT;
391 dtp->dt_prcmode = DT_PROC_STOP_POSTINIT;
393 dtp->dt_prcmode = DT_PROC_STOP_MAIN;
395 return (dt_set_errno(dtp, EDT_BADOPTVAL));
402 dt_opt_pgmax(dtrace_hdl_t *dtp, const char *arg, uintptr_t option)
407 return (dt_set_errno(dtp, EDT_BADOPTVAL));
409 dtp->dt_procs->dph_lrulim = n;
414 dt_opt_setenv(dtrace_hdl_t *dtp, const char *arg, uintptr_t option)
424 if (dtp->dt_pcb != NULL)
425 return (dt_set_errno(dtp, EDT_BADOPTCTX));
428 return (dt_set_errno(dtp, EDT_BADOPTVAL));
431 return (dt_set_errno(dtp, EDT_BADOPTVAL));
433 for (i = 1, p = dtp->dt_proc_env; *p != NULL; i++, p++)
436 for (p = dtp->dt_proc_env; *p != NULL; p++) {
441 dt_free(dtp, *p);
442 *p = dtp->dt_proc_env[i - 1];
443 dtp->dt_proc_env[i - 1] = NULL;
450 return (dt_set_errno(dtp, EDT_NOMEM));
452 if ((p = dt_alloc(dtp, sizeof (char *) * (i + 1))) == NULL) {
453 dt_free(dtp, var);
454 return (dt_set_errno(dtp, EDT_NOMEM));
457 bcopy(dtp->dt_proc_env, p, sizeof (char *) * i);
458 dt_free(dtp, dtp->dt_proc_env);
459 dtp->dt_proc_env = p;
461 dtp->dt_proc_env[i - 1] = var;
462 dtp->dt_proc_env[i] = NULL;
470 dt_opt_stdc(dtrace_hdl_t *dtp, const char *arg, uintptr_t option)
473 return (dt_set_errno(dtp, EDT_BADOPTVAL));
475 if (dtp->dt_pcb != NULL)
476 return (dt_set_errno(dtp, EDT_BADOPTCTX));
479 dtp->dt_stdcmode = DT_STDC_XA;
481 dtp->dt_stdcmode = DT_STDC_XC;
483 dtp->dt_stdcmode = DT_STDC_XS;
485 dtp->dt_stdcmode = DT_STDC_XT;
487 return (dt_set_errno(dtp, EDT_BADOPTVAL));
494 dt_opt_syslibdir(dtrace_hdl_t *dtp, const char *arg, uintptr_t option)
496 dt_dirpath_t *dp = dt_list_next(&dtp->dt_lib_path);
500 return (dt_set_errno(dtp, EDT_BADOPTVAL));
503 return (dt_set_errno(dtp, EDT_NOMEM));
513 dt_opt_tree(dtrace_hdl_t *dtp, const char *arg, uintptr_t option)
518 return (dt_set_errno(dtp, EDT_BADOPTVAL));
520 dtp->dt_treedump = m;
526 dt_opt_tregs(dtrace_hdl_t *dtp, const char *arg, uintptr_t option)
531 return (dt_set_errno(dtp, EDT_BADOPTVAL));
533 dtp->dt_conf.dtc_diftupregs = n;
539 dt_opt_xlate(dtrace_hdl_t *dtp, const char *arg, uintptr_t option)
542 return (dt_set_errno(dtp, EDT_BADOPTVAL));
545 dtp->dt_xlatemode = DT_XL_DYNAMIC;
547 dtp->dt_xlatemode = DT_XL_STATIC;
549 return (dt_set_errno(dtp, EDT_BADOPTVAL));
556 dt_opt_cflags(dtrace_hdl_t *dtp, const char *arg, uintptr_t option)
559 return (dt_set_errno(dtp, EDT_BADOPTVAL));
561 if (dtp->dt_pcb != NULL)
562 dtp->dt_pcb->pcb_cflags |= option;
564 dtp->dt_cflags |= option;
570 dt_opt_dflags(dtrace_hdl_t *dtp, const char *arg, uintptr_t option)
573 return (dt_set_errno(dtp, EDT_BADOPTVAL));
575 dtp->dt_dflags |= option;
580 dt_opt_invcflags(dtrace_hdl_t *dtp, const char *arg, uintptr_t option)
583 return (dt_set_errno(dtp, EDT_BADOPTVAL));
585 if (dtp->dt_pcb != NULL)
586 dtp->dt_pcb->pcb_cflags &= ~option;
588 dtp->dt_cflags &= ~option;
595 dt_opt_version(dtrace_hdl_t *dtp, const char *arg, uintptr_t option)
600 return (dt_set_errno(dtp, EDT_BADOPTVAL));
603 return (dt_set_errno(dtp, EDT_VERSINVAL));
606 return (dt_set_errno(dtp, EDT_VERSUNDEF));
608 return (dt_reduce(dtp, v));
612 dt_opt_runtime(dtrace_hdl_t *dtp, const char *arg, uintptr_t option)
653 return (dt_set_errno(dtp, EDT_BADOPTVAL));
657 dtp->dt_options[option] = val;
703 dt_opt_size(dtrace_hdl_t *dtp, const char *arg, uintptr_t option)
708 return (dt_set_errno(dtp, EDT_BADOPTVAL));
710 dtp->dt_options[option] = val;
715 dt_opt_rate(dtrace_hdl_t *dtp, const char *arg, uintptr_t option)
755 return (dt_set_errno(dtp, EDT_BADOPTVAL));
768 dtp->dt_options[option] = val;
779 dt_opt_strsize(dtrace_hdl_t *dtp, const char *arg, uintptr_t option)
781 dtrace_optval_t val = dtp->dt_options[option];
782 ctf_file_t *fp = DT_STR_CTFP(dtp);
783 ctf_id_t type = ctf_type_resolve(fp, DT_STR_TYPE(dtp));
786 if (dt_opt_size(dtp, arg, option) != 0)
789 if (dtp->dt_options[option] > UINT_MAX) {
790 dtp->dt_options[option] = val;
791 return (dt_set_errno(dtp, EOVERFLOW));
795 dtp->dt_options[option] = val;
796 dtp->dt_ctferr = ctf_errno(fp);
797 return (dt_set_errno(dtp, EDT_CTF));
800 r.ctr_nelems = (uint_t)dtp->dt_options[option];
804 dtp->dt_options[option] = val;
805 dtp->dt_ctferr = ctf_errno(fp);
806 return (dt_set_errno(dtp, EDT_CTF));
824 dt_opt_bufpolicy(dtrace_hdl_t *dtp, const char *arg, uintptr_t option)
830 return (dt_set_errno(dtp, EDT_BADOPTVAL));
840 return (dt_set_errno(dtp, EDT_BADOPTVAL));
842 dtp->dt_options[DTRACEOPT_BUFPOLICY] = policy;
858 dt_opt_bufresize(dtrace_hdl_t *dtp, const char *arg, uintptr_t option)
864 return (dt_set_errno(dtp, EDT_BADOPTVAL));
874 return (dt_set_errno(dtp, EDT_BADOPTVAL));
876 dtp->dt_options[DTRACEOPT_BUFRESIZE] = policy;
882 dt_options_load(dtrace_hdl_t *dtp)
897 if (dt_ioctl(dtp, DTRACEIOC_DOFGET, &hdr) == -1)
900 if (dt_ioctl(dtp, DTRACEIOC_DOFGET, &dof) == -1)
902 return (dt_set_errno(dtp, errno));
905 return (dt_set_errno(dtp, EINVAL));
912 dtp->dt_options[i] = DTRACEOPT_UNSET;
915 if (dt_ioctl(dtp, DTRACEIOC_DOFGET, dof) == -1)
917 if (dt_ioctl(dtp, DTRACEIOC_DOFGET, &dof) == -1)
919 return (dt_set_errno(dtp, errno));
941 dtp->dt_options[opt->dofo_option] = opt->dofo_value;
1052 dtrace_getopt(dtrace_hdl_t *dtp, const char *opt, dtrace_optval_t *val)
1057 return (dt_set_errno(dtp, EINVAL));
1065 *val = dtp->dt_options[op->o_option];
1072 *val = dtp->dt_options[op->o_option];
1077 return (dt_set_errno(dtp, EDT_BADOPTNAME));
1081 dtrace_setopt(dtrace_hdl_t *dtp, const char *opt, const char *val)
1086 return (dt_set_errno(dtp, EINVAL));
1090 return (op->o_func(dtp, val, op->o_option));
1095 return (op->o_func(dtp, val, op->o_option));
1104 if (dtp->dt_active)
1105 return (dt_set_errno(dtp, EDT_ACTIVE));
1107 return (op->o_func(dtp, val, op->o_option));
1111 return (dt_set_errno(dtp, EDT_BADOPTNAME));