/usr/share/systemtap/runtime/dyninst
NameSizeModeActions
addr-map.c5650644editdlrm
alloc.c11880644editdlrm
arith.c22910644editdlrm
common_session_state.h69210644editdlrm
copy.c40950644editdlrm
debug.h4130644editdlrm
ilog2.h29430644editdlrm
io.c45410644editdlrm
linux_defs.h56020644editdlrm
linux_hash.h18770644editdlrm
linux_types.h6540644editdlrm
loc2c-runtime.h24940644editdlrm
map_list.h10590644editdlrm
map_runtime.h51600644editdlrm
namespaces.h00644editdlrm
offptr.h47880644editdlrm
offset_list.h44280644editdlrm
perf.c00644editdlrm
print.c27000644editdlrm
probe_lock.h18490644editdlrm
regs.c25570644editdlrm
runtime.h102920644editdlrm
runtime_context.h65560644editdlrm
runtime_defines.h2800644editdlrm
session_attributes.c17170644editdlrm
session_attributes.h7720644editdlrm
shm.c61710644editdlrm
stapdyn.h46170644editdlrm
stat_runtime.h18320644editdlrm
sym.c16210644editdlrm
task_finder.c00644editdlrm
timer.c27700644editdlrm
transport.c311280644editdlrm
transport.h39680644editdlrm
unwind.c00644editdlrm
uprobes-regs.c31630644editdlrm
uprobes.c17980644editdlrm
uprobes.h9530644editdlrm
Edit: /usr/share/systemtap/runtime/dyninst/uprobes.c (1798B)
/* -*- linux-c -*- * Common functions for using dyninst-based uprobes * Copyright (C) 2012-2013 Red Hat Inc. * * This file is part of systemtap, and is free software. You can * redistribute it and/or modify it under the terms of the GNU General * Public License (GPL); either version 2, or (at your option) any * later version. */ #ifndef _UPROBES_DYNINST_C_ #define _UPROBES_DYNINST_C_ /* STAPDU: SystemTap Dyninst Uprobes */ // loc2c-generated code assumes pt_regs are available, so use this to make // sure we always have *something* for it to dereference... static struct pt_regs stapdu_dummy_uregs = {}; /* These functions implement the ABI in stapdyn.h * * NB: The translator will generate two arrays used here: * struct stapdu_target stapdu_targets[]; * struct stapdu_probe stapdu_probes[]; */ uint64_t stp_dyninst_target_count(void) { return ARRAY_SIZE(stapdu_targets); } const char* stp_dyninst_target_path(uint64_t index) { if (index >= stp_dyninst_target_count()) return NULL; return stapdu_targets[index].path; } uint64_t stp_dyninst_probe_count(void) { return ARRAY_SIZE(stapdu_probes); } uint64_t stp_dyninst_probe_target(uint64_t index) { if (index >= stp_dyninst_probe_count()) return (uint64_t)-1; return stapdu_probes[index].target; } uint64_t stp_dyninst_probe_offset(uint64_t index) { if (index >= stp_dyninst_probe_count()) return (uint64_t)-1; return stapdu_probes[index].offset; } uint64_t stp_dyninst_probe_semaphore(uint64_t index) { if (index >= stp_dyninst_probe_count()) return (uint64_t)-1; return stapdu_probes[index].semaphore; } uint64_t stp_dyninst_probe_flags(uint64_t index) { if (index >= stp_dyninst_probe_count()) return (uint64_t)-1; return stapdu_probes[index].flags; } #endif /* _UPROBES_DYNINST_C_ */