Lines Matching defs:hndl

81 static tnfctl_errcode_t find_test_func(tnfctl_handle_t *hndl);
82 static tnfctl_errcode_t find_target_syms(tnfctl_handle_t *hndl);
83 static tnfctl_errcode_t find_trace_file_info(tnfctl_handle_t *hndl);
84 static tnfctl_errcode_t check_trace_error(tnfctl_handle_t *hndl);
93 _tnfctl_refresh_process(tnfctl_handle_t *hndl, boolean_t *lmap_ok,
99 assert(hndl->mode != KERNEL_MODE);
102 LOCK(hndl, prexstat, release_lock);
104 prexstat = check_trace_error(hndl);
112 prexstat = _tnfctl_lmap_update(hndl, lmap_ok, dl_evt);
117 prexstat = find_test_func(hndl);
121 prexstat = _tnfctl_find_all_probes(hndl);
128 UNLOCK(hndl, release_lock);
137 _tnfctl_set_state(tnfctl_handle_t *hndl)
144 hndl->targ_pid = hndl->p_getpid(hndl->proc_p);
147 LOCK(hndl, prexstat, release_lock);
153 prexstat = _tnfctl_lmap_update(hndl, &lmap_ok, &dl_evt);
158 prexstat = find_target_syms(hndl);
164 prexstat = find_trace_file_info(hndl);
168 prexstat = find_test_func(hndl);
172 prexstat = _tnfctl_find_all_probes(hndl);
176 prexstat = check_trace_error(hndl);
181 UNLOCK(hndl, release_lock);
191 find_test_func(tnfctl_handle_t *hndl)
196 if (hndl->mt_target == B_FALSE) {
198 hndl->testfunc = hndl->nonthread_test;
206 hndl->testfunc = hndl->thread_test;
207 miscstat = hndl->p_read(hndl->proc_p, hndl->thread_sync,
213 hndl->testfunc = hndl->nonthread_test;
232 * side effects trace_buf_state and trace_state in hndl
234 * in hndl
237 check_trace_error(tnfctl_handle_t *hndl)
244 miscstat = hndl->p_read(hndl->proc_p, hndl->trace_error,
250 miscstat = hndl->p_read(hndl->proc_p, trace_error_ptr, &trace_error_rec,
261 if (hndl->trace_file_name == NULL)
262 hndl->trace_buf_state = TNFCTL_BUF_NONE;
264 hndl->trace_buf_state = TNFCTL_BUF_OK;
266 hndl->trace_buf_state = TNFCTL_BUF_BROKEN;
268 hndl->trace_buf_state = TNFCTL_BUF_OK;
272 hndl->trace_state = B_FALSE;
274 hndl->trace_state = B_TRUE;
282 * sideffects allocfunc, commitfunc, endfunc, rollbackfunc in hndl
285 find_target_syms(tnfctl_handle_t *hndl)
291 prexstat = _tnfctl_sym_find(hndl, TRACE_ALLOC, &hndl->allocfunc);
295 prexstat = _tnfctl_sym_find(hndl, TRACE_COMMIT, &hndl->commitfunc);
299 prexstat = _tnfctl_sym_find(hndl, TRACE_END_FUNC, &hndl->endfunc);
303 prexstat = _tnfctl_sym_find(hndl, TRACE_ROLLBACK, &hndl->rollbackfunc);
307 prexstat = _tnfctl_sym_find(hndl, PROBE_LIST_HEAD,
308 &hndl->probelist_head);
312 prexstat = _tnfctl_sym_find(hndl, TRACE_ERROR, &hndl->trace_error);
316 prexstat = _tnfctl_sym_find(hndl, MEMSEG_PTR, &temp_addr);
321 miscstat = hndl->p_read(hndl->proc_p, temp_addr, &hndl->memseg_p,
322 sizeof (hndl->memseg_p));
326 prexstat = _tnfctl_sym_find(hndl, PROBE_LIST_VALID,
327 &hndl->probelist_valid);
331 prexstat = _tnfctl_sym_find(hndl, NONTHREAD_TEST, &temp_addr);
336 miscstat = hndl->p_read(hndl->proc_p, temp_addr, &hndl->nonthread_test,
337 sizeof (hndl->nonthread_test));
341 prexstat = _tnfctl_sym_find(hndl, THREAD_TEST, &temp_addr);
346 miscstat = hndl->p_read(hndl->proc_p, temp_addr, &hndl->thread_test,
347 sizeof (hndl->thread_test));
351 prexstat = _tnfctl_sym_find(hndl, PROBE_THR_SYNC, &hndl->thread_sync);
355 prexstat = _tnfctl_sym_find(hndl, LIBTHREAD_PRESENT, &temp_addr);
359 hndl->mt_target = B_FALSE;
366 hndl->mt_target = B_TRUE;
379 * side effects trace_file_name and trace_buf_size in hndl
385 _tnfctl_create_tracefile(tnfctl_handle_t *hndl, const char *trace_file_name,
398 prexstat = _tnfctl_sym_find(hndl, TRACEFILE_NAME, &name_addr);
404 prexstat = _tnfctl_sym_find(hndl, TRACEFILE_SIZE, &size_addr);
413 prexstat = _tnfctl_readstr_targ(hndl, name_addr, &preexisting);
431 if (trace_file_size < hndl->trace_min_size) {
498 miscstat = hndl->p_write(hndl->proc_p, name_addr, path,
502 miscstat = hndl->p_write(hndl->proc_p, size_addr, &outsize,
507 hndl->trace_file_name = strdup(path);
508 if (hndl->trace_file_name == NULL)
510 hndl->trace_buf_size = outsize;
511 hndl->trace_buf_state = TNFCTL_BUF_OK;
518 * side effects trace_buf_size, trace_min_size, trace_file_name in hndl
522 find_trace_file_info(tnfctl_handle_t *hndl)
531 prexstat = _tnfctl_sym_find(hndl, TRACEFILE_NAME, &name_addr);
537 prexstat = _tnfctl_sym_find(hndl, TRACEFILE_SIZE, &size_addr);
543 prexstat = _tnfctl_sym_find(hndl, TRACEFILE_MIN, &min_addr);
552 prexstat = _tnfctl_readstr_targ(hndl, name_addr, &preexisting);
560 miscstat = hndl->p_read(hndl->proc_p, min_addr, &minoutsize,
564 hndl->trace_min_size = minoutsize;
568 hndl->trace_file_name = NULL;
569 hndl->trace_buf_size = 0;
571 hndl->trace_file_name = preexisting;
573 miscstat = hndl->p_read(hndl->proc_p, size_addr,
577 hndl->trace_buf_size = outsize;
623 _tnfctl_readstr_targ(tnfctl_handle_t *hndl, uintptr_t addr, char **outstr_pp)
646 retstat = hndl->p_read(hndl->proc_p, addr + offset, buffer,