The fixes for power preamble should not be enabled on other platforms
[dyninst.git] / dynC_API / doc / A-TheDyninstDomain.tex
1 \appendix
2 \section{The Dyninst Domain}
3 \label{sec:dyninstdomain}
4 The \code{dyninst} domain has quite a few useful values and functions:
5
6 \begin{table}[!th]
7 \begin{tabular}{ | l | l | p{4cm} | p{6.5cm} |}
8 \hline
9 Identifier & Type & Where Valid & Description\\
10 \hline
11 \code{function\_name} & \code{char *} & Within a function & Evaluates to the
12 name of the current function. Call to \code{createSnippet(...)} must specify a
13 \code{BPatch\_point}.\\
14 \hline
15 \code{module\_name} & \code{char *} & Anywhere & Evaluates to the name of the
16 current module. Call to \code{createSnippet(...)} must specify a \code{BPatch\_point}.\\
17 \hline
18 \code{bytes\_accessed} & int & At a memory operation & Evaluates to the number of bytes accessed by a memory operation.\\  
19 \hline
20 \code{effective\_address} & \code{void *} & At a memory operation & Evaluates the effective address of a memory operation.\\
21 \hline
22 \code{original\_address} & \code{void *} & Anywhere & Evaluates to the original address where the snippet was inserted. \\
23 \hline
24 \code{actual\_address} & \code{void *} & Anywhere & Evaluates to the actual address of the instrumentation. \\
25 \hline
26 \code{return\_value} & \code{void *} & Function exit & Evaluates to the return value of a function.\\ 
27 \hline
28 \code{thread\_index} & int & Anywhere &  Returns the index of the thread the snippet is executing on.\\
29 \hline
30 \code{tid} & int & Anywhere & Returns the id of the thread the snippet is executing on.\\
31 \hline
32 \code{dynamic\_target} & \code{void *} & At calls, jumps, returns & Calculates the target of a control flow instruction.\\ 
33 \hline
34 \code{break()} & void & Anywhere & Causes the mutatee to execute a breakpoint.\\
35 \hline
36 \code{stopthread()} & void & Anywhere & Stops the thread on which the snippet is executing.\\
37 \hline
38
39 \end{tabular}
40 \caption{Dyninst Domain Values}
41 \end{table}
42
43