\doxysection{Stack Frame Access }
\hypertarget{group__frame}{}\label{group__frame}\index{Stack Frame Access@{Stack Frame Access}}
\doxysubsubsection*{Typedefs}
\begin{DoxyCompactItemize}
\item 
typedef int(\texorpdfstring{$\ast$}{*} \doxymbox{\hyperlink{group__frame_gaa6b949dccd17dbde81598fae5150c084}{dwarf\+\_\+iterate\+\_\+fde\+\_\+callback\+\_\+function\+\_\+type}}) (\doxymbox{\hyperlink{group__allstructs_ga0a2d8a10ad38a22cda39a81ab65c2b4d}{Dwarf\+\_\+\+Regtable3}} \texorpdfstring{$\ast$}{*}dw\+\_\+reg\+\_\+table, \doxymbox{\hyperlink{group__basicdatatypes_ga16ddc0e584ea1a17237ccf1617f31075}{Dwarf\+\_\+\+Addr}} dw\+\_\+row\+\_\+pc, \doxymbox{\hyperlink{group__basicdatatypes_ga32afecc94a71aae2be36aa279f1dded8}{Dwarf\+\_\+\+Bool}} dw\+\_\+has\+\_\+more\+\_\+rows, \doxymbox{\hyperlink{group__basicdatatypes_ga16ddc0e584ea1a17237ccf1617f31075}{Dwarf\+\_\+\+Addr}} dw\+\_\+subsequent\+\_\+pc, void \texorpdfstring{$\ast$}{*}dw\+\_\+user\+\_\+data)
\end{DoxyCompactItemize}
\doxysubsubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
DW\+\_\+\+API int \doxymbox{\hyperlink{group__frame_ga183965aafd1a1c3e270d80d2f5f59ba4}{dwarf\+\_\+get\+\_\+fde\+\_\+list}} (\doxymbox{\hyperlink{group__allstructs_gac2ba1e1c1b70a3191506b414195ca807}{Dwarf\+\_\+\+Debug}} dw\+\_\+dbg, \doxymbox{\hyperlink{group__allstructs_gabc722c9c5e457634fe3e9fce95613c96}{Dwarf\+\_\+\+Cie}} \texorpdfstring{$\ast$}{*}\texorpdfstring{$\ast$}{*}dw\+\_\+cie\+\_\+data, \doxymbox{\hyperlink{group__basicdatatypes_gac91d9490d58c8d86a4d5b63ca93ba6dd}{Dwarf\+\_\+\+Signed}} \texorpdfstring{$\ast$}{*}dw\+\_\+cie\+\_\+element\+\_\+count, \doxymbox{\hyperlink{group__allstructs_ga0dcf06f2de1fd8a043c9e4452373a8f5}{Dwarf\+\_\+\+Fde}} \texorpdfstring{$\ast$}{*}\texorpdfstring{$\ast$}{*}dw\+\_\+fde\+\_\+data, \doxymbox{\hyperlink{group__basicdatatypes_gac91d9490d58c8d86a4d5b63ca93ba6dd}{Dwarf\+\_\+\+Signed}} \texorpdfstring{$\ast$}{*}dw\+\_\+fde\+\_\+element\+\_\+count, \doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}dw\+\_\+error)
\begin{DoxyCompactList}\small\item\em Get lists of .debug\+\_\+frame FDEs and CIEs. \end{DoxyCompactList}\item 
DW\+\_\+\+API int \doxymbox{\hyperlink{group__frame_gab3909bedf83f8cdb3a85f400c7aed38c}{dwarf\+\_\+get\+\_\+fde\+\_\+list\+\_\+eh}} (\doxymbox{\hyperlink{group__allstructs_gac2ba1e1c1b70a3191506b414195ca807}{Dwarf\+\_\+\+Debug}} dw\+\_\+dbg, \doxymbox{\hyperlink{group__allstructs_gabc722c9c5e457634fe3e9fce95613c96}{Dwarf\+\_\+\+Cie}} \texorpdfstring{$\ast$}{*}\texorpdfstring{$\ast$}{*}dw\+\_\+cie\+\_\+data, \doxymbox{\hyperlink{group__basicdatatypes_gac91d9490d58c8d86a4d5b63ca93ba6dd}{Dwarf\+\_\+\+Signed}} \texorpdfstring{$\ast$}{*}dw\+\_\+cie\+\_\+element\+\_\+count, \doxymbox{\hyperlink{group__allstructs_ga0dcf06f2de1fd8a043c9e4452373a8f5}{Dwarf\+\_\+\+Fde}} \texorpdfstring{$\ast$}{*}\texorpdfstring{$\ast$}{*}dw\+\_\+fde\+\_\+data, \doxymbox{\hyperlink{group__basicdatatypes_gac91d9490d58c8d86a4d5b63ca93ba6dd}{Dwarf\+\_\+\+Signed}} \texorpdfstring{$\ast$}{*}dw\+\_\+fde\+\_\+element\+\_\+count, \doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}dw\+\_\+error)
\begin{DoxyCompactList}\small\item\em Get lists of .eh\+\_\+frame FDEs and CIEs. \end{DoxyCompactList}\item 
DW\+\_\+\+API void \doxymbox{\hyperlink{group__frame_ga4ef1fc3bf61b8b29e780bb6ff0cc7926}{dwarf\+\_\+dealloc\+\_\+fde\+\_\+cie\+\_\+list}} (\doxymbox{\hyperlink{group__allstructs_gac2ba1e1c1b70a3191506b414195ca807}{Dwarf\+\_\+\+Debug}} dw\+\_\+dbg, \doxymbox{\hyperlink{group__allstructs_gabc722c9c5e457634fe3e9fce95613c96}{Dwarf\+\_\+\+Cie}} \texorpdfstring{$\ast$}{*}dw\+\_\+cie\+\_\+data, \doxymbox{\hyperlink{group__basicdatatypes_gac91d9490d58c8d86a4d5b63ca93ba6dd}{Dwarf\+\_\+\+Signed}} dw\+\_\+cie\+\_\+element\+\_\+count, \doxymbox{\hyperlink{group__allstructs_ga0dcf06f2de1fd8a043c9e4452373a8f5}{Dwarf\+\_\+\+Fde}} \texorpdfstring{$\ast$}{*}dw\+\_\+fde\+\_\+data, \doxymbox{\hyperlink{group__basicdatatypes_gac91d9490d58c8d86a4d5b63ca93ba6dd}{Dwarf\+\_\+\+Signed}} dw\+\_\+fde\+\_\+element\+\_\+count)
\begin{DoxyCompactList}\small\item\em Release storage associated with FDE and CIE arrays. \end{DoxyCompactList}\item 
DW\+\_\+\+API int \doxymbox{\hyperlink{group__frame_ga7a1ae423b02c7411159f49a8551e1fc4}{dwarf\+\_\+get\+\_\+fde\+\_\+range}} (\doxymbox{\hyperlink{group__allstructs_ga0dcf06f2de1fd8a043c9e4452373a8f5}{Dwarf\+\_\+\+Fde}} dw\+\_\+fde, \doxymbox{\hyperlink{group__basicdatatypes_ga16ddc0e584ea1a17237ccf1617f31075}{Dwarf\+\_\+\+Addr}} \texorpdfstring{$\ast$}{*}dw\+\_\+low\+\_\+pc, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}dw\+\_\+func\+\_\+length, \doxymbox{\hyperlink{group__basicdatatypes_ga52e439e652a1a30277679f64f83cc0fe}{Dwarf\+\_\+\+Small}} \texorpdfstring{$\ast$}{*}\texorpdfstring{$\ast$}{*}dw\+\_\+fde\+\_\+bytes, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}dw\+\_\+fde\+\_\+byte\+\_\+length, \doxymbox{\hyperlink{group__basicdatatypes_ga08c706887ae8c6e09e8f0fb5dd9a539e}{Dwarf\+\_\+\+Off}} \texorpdfstring{$\ast$}{*}dw\+\_\+cie\+\_\+offset, \doxymbox{\hyperlink{group__basicdatatypes_gac91d9490d58c8d86a4d5b63ca93ba6dd}{Dwarf\+\_\+\+Signed}} \texorpdfstring{$\ast$}{*}dw\+\_\+cie\+\_\+index, \doxymbox{\hyperlink{group__basicdatatypes_ga08c706887ae8c6e09e8f0fb5dd9a539e}{Dwarf\+\_\+\+Off}} \texorpdfstring{$\ast$}{*}dw\+\_\+fde\+\_\+offset, \doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}dw\+\_\+error)
\begin{DoxyCompactList}\small\item\em Return the FDE data for a single FDE. \end{DoxyCompactList}\item 
DW\+\_\+\+API int \doxymbox{\hyperlink{group__frame_ga95db4a9e92cfb9a6b60ee78db01d2898}{dwarf\+\_\+get\+\_\+fde\+\_\+exception\+\_\+info}} (\doxymbox{\hyperlink{group__allstructs_ga0dcf06f2de1fd8a043c9e4452373a8f5}{Dwarf\+\_\+\+Fde}} dw\+\_\+fde, \doxymbox{\hyperlink{group__basicdatatypes_gac91d9490d58c8d86a4d5b63ca93ba6dd}{Dwarf\+\_\+\+Signed}} \texorpdfstring{$\ast$}{*}dw\+\_\+offset\+\_\+into\+\_\+exception\+\_\+tables, \doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}dw\+\_\+error)
\begin{DoxyCompactList}\small\item\em IRIX only access to C++ destructor tables. \end{DoxyCompactList}\item 
DW\+\_\+\+API int \doxymbox{\hyperlink{group__frame_ga3f8b420b507ceb9804690c2835315d33}{dwarf\+\_\+get\+\_\+cie\+\_\+of\+\_\+fde}} (\doxymbox{\hyperlink{group__allstructs_ga0dcf06f2de1fd8a043c9e4452373a8f5}{Dwarf\+\_\+\+Fde}} dw\+\_\+fde, \doxymbox{\hyperlink{group__allstructs_gabc722c9c5e457634fe3e9fce95613c96}{Dwarf\+\_\+\+Cie}} \texorpdfstring{$\ast$}{*}dw\+\_\+cie\+\_\+returned, \doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}dw\+\_\+error)
\begin{DoxyCompactList}\small\item\em Given FDE get CIE. \end{DoxyCompactList}\item 
DW\+\_\+\+API int \doxymbox{\hyperlink{group__frame_gadc537ed05305409fd46821bcac60becb}{dwarf\+\_\+get\+\_\+cie\+\_\+info\+\_\+b}} (\doxymbox{\hyperlink{group__allstructs_gabc722c9c5e457634fe3e9fce95613c96}{Dwarf\+\_\+\+Cie}} dw\+\_\+cie, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}dw\+\_\+bytes\+\_\+in\+\_\+cie, \doxymbox{\hyperlink{group__basicdatatypes_ga52e439e652a1a30277679f64f83cc0fe}{Dwarf\+\_\+\+Small}} \texorpdfstring{$\ast$}{*}dw\+\_\+version, char \texorpdfstring{$\ast$}{*}\texorpdfstring{$\ast$}{*}dw\+\_\+augmenter, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}dw\+\_\+code\+\_\+alignment\+\_\+factor, \doxymbox{\hyperlink{group__basicdatatypes_gac91d9490d58c8d86a4d5b63ca93ba6dd}{Dwarf\+\_\+\+Signed}} \texorpdfstring{$\ast$}{*}dw\+\_\+data\+\_\+alignment\+\_\+factor, \doxymbox{\hyperlink{group__basicdatatypes_ga4fb2b14ce7a6d27321fa7999b46b82bd}{Dwarf\+\_\+\+Half}} \texorpdfstring{$\ast$}{*}dw\+\_\+return\+\_\+address\+\_\+register\+\_\+rule, \doxymbox{\hyperlink{group__basicdatatypes_ga52e439e652a1a30277679f64f83cc0fe}{Dwarf\+\_\+\+Small}} \texorpdfstring{$\ast$}{*}\texorpdfstring{$\ast$}{*}dw\+\_\+initial\+\_\+instructions, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}dw\+\_\+initial\+\_\+instructions\+\_\+length, \doxymbox{\hyperlink{group__basicdatatypes_ga4fb2b14ce7a6d27321fa7999b46b82bd}{Dwarf\+\_\+\+Half}} \texorpdfstring{$\ast$}{*}dw\+\_\+offset\+\_\+size, \doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}dw\+\_\+error)
\begin{DoxyCompactList}\small\item\em Given a CIE get access to its content. \end{DoxyCompactList}\item 
DW\+\_\+\+API int \doxymbox{\hyperlink{group__frame_gadae3ca1e6ba74b4568621529ecf059b3}{dwarf\+\_\+get\+\_\+cie\+\_\+index}} (\doxymbox{\hyperlink{group__allstructs_gabc722c9c5e457634fe3e9fce95613c96}{Dwarf\+\_\+\+Cie}} dw\+\_\+cie, \doxymbox{\hyperlink{group__basicdatatypes_gac91d9490d58c8d86a4d5b63ca93ba6dd}{Dwarf\+\_\+\+Signed}} \texorpdfstring{$\ast$}{*}dw\+\_\+index, \doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}dw\+\_\+error)
\begin{DoxyCompactList}\small\item\em Return CIE index given CIE. \end{DoxyCompactList}\item 
DW\+\_\+\+API int \doxymbox{\hyperlink{group__frame_ga962c9d82df3c7443beb89454a309a930}{dwarf\+\_\+get\+\_\+fde\+\_\+instr\+\_\+bytes}} (\doxymbox{\hyperlink{group__allstructs_ga0dcf06f2de1fd8a043c9e4452373a8f5}{Dwarf\+\_\+\+Fde}} dw\+\_\+fde, \doxymbox{\hyperlink{group__basicdatatypes_ga52e439e652a1a30277679f64f83cc0fe}{Dwarf\+\_\+\+Small}} \texorpdfstring{$\ast$}{*}\texorpdfstring{$\ast$}{*}dw\+\_\+outinstrs, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}dw\+\_\+outlen, \doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}dw\+\_\+error)
\begin{DoxyCompactList}\small\item\em Return length and pointer to access frame instructions. \end{DoxyCompactList}\item 
DW\+\_\+\+API int \doxymbox{\hyperlink{group__frame_gad939575875a940728b8f13fcc592fe4c}{dwarf\+\_\+iterate\+\_\+fde\+\_\+all\+\_\+regs3}} (\doxymbox{\hyperlink{group__allstructs_ga0dcf06f2de1fd8a043c9e4452373a8f5}{Dwarf\+\_\+\+Fde}} dw\+\_\+fde, \doxymbox{\hyperlink{group__allstructs_ga0a2d8a10ad38a22cda39a81ab65c2b4d}{Dwarf\+\_\+\+Regtable3}} \texorpdfstring{$\ast$}{*}dw\+\_\+reg\+\_\+table, \doxymbox{\hyperlink{group__frame_gaa6b949dccd17dbde81598fae5150c084}{dwarf\+\_\+iterate\+\_\+fde\+\_\+callback\+\_\+function\+\_\+type}} dw\+\_\+callback, void \texorpdfstring{$\ast$}{*}dw\+\_\+callback\+\_\+user\+\_\+data, \doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}dw\+\_\+error)
\begin{DoxyCompactList}\small\item\em Iterate all rows for a given FDE. Iinvokes a provided callback function for each row. Iteration continues until all rows have been visited. \end{DoxyCompactList}\item 
DW\+\_\+\+API int \doxymbox{\hyperlink{group__frame_gad02f3b78d6cebb9e60c1b00dadd2ecb8}{dwarf\+\_\+get\+\_\+fde\+\_\+info\+\_\+for\+\_\+all\+\_\+regs3\+\_\+b}} (\doxymbox{\hyperlink{group__allstructs_ga0dcf06f2de1fd8a043c9e4452373a8f5}{Dwarf\+\_\+\+Fde}} dw\+\_\+fde, \doxymbox{\hyperlink{group__basicdatatypes_ga16ddc0e584ea1a17237ccf1617f31075}{Dwarf\+\_\+\+Addr}} dw\+\_\+pc\+\_\+requested, \doxymbox{\hyperlink{group__allstructs_ga0a2d8a10ad38a22cda39a81ab65c2b4d}{Dwarf\+\_\+\+Regtable3}} \texorpdfstring{$\ast$}{*}dw\+\_\+reg\+\_\+table, \doxymbox{\hyperlink{group__basicdatatypes_ga16ddc0e584ea1a17237ccf1617f31075}{Dwarf\+\_\+\+Addr}} \texorpdfstring{$\ast$}{*}dw\+\_\+row\+\_\+pc, \doxymbox{\hyperlink{group__basicdatatypes_ga32afecc94a71aae2be36aa279f1dded8}{Dwarf\+\_\+\+Bool}} \texorpdfstring{$\ast$}{*}dw\+\_\+has\+\_\+more\+\_\+rows, \doxymbox{\hyperlink{group__basicdatatypes_ga16ddc0e584ea1a17237ccf1617f31075}{Dwarf\+\_\+\+Addr}} \texorpdfstring{$\ast$}{*}dw\+\_\+subsequent\+\_\+pc, \doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}dw\+\_\+error)
\begin{DoxyCompactList}\small\item\em Return information on frame registers at a given pc value. \end{DoxyCompactList}\item 
DW\+\_\+\+API int \doxymbox{\hyperlink{group__frame_gaa8ed0eaa63677b844d57a3910595b5f5}{dwarf\+\_\+get\+\_\+fde\+\_\+info\+\_\+for\+\_\+all\+\_\+regs3}} (\doxymbox{\hyperlink{group__allstructs_ga0dcf06f2de1fd8a043c9e4452373a8f5}{Dwarf\+\_\+\+Fde}} dw\+\_\+fde, \doxymbox{\hyperlink{group__basicdatatypes_ga16ddc0e584ea1a17237ccf1617f31075}{Dwarf\+\_\+\+Addr}} dw\+\_\+pc\+\_\+requested, \doxymbox{\hyperlink{group__allstructs_ga0a2d8a10ad38a22cda39a81ab65c2b4d}{Dwarf\+\_\+\+Regtable3}} \texorpdfstring{$\ast$}{*}dw\+\_\+reg\+\_\+table, \doxymbox{\hyperlink{group__basicdatatypes_ga16ddc0e584ea1a17237ccf1617f31075}{Dwarf\+\_\+\+Addr}} \texorpdfstring{$\ast$}{*}dw\+\_\+row\+\_\+pc, \doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}dw\+\_\+error)
\begin{DoxyCompactList}\small\item\em Return information on frame registers at a given pc value. \end{DoxyCompactList}\item 
DW\+\_\+\+API int \doxymbox{\hyperlink{group__frame_ga07ff07a2380089af1a10b43592a69850}{dwarf\+\_\+get\+\_\+fde\+\_\+info\+\_\+for\+\_\+reg3\+\_\+c}} (\doxymbox{\hyperlink{group__allstructs_ga0dcf06f2de1fd8a043c9e4452373a8f5}{Dwarf\+\_\+\+Fde}} dw\+\_\+fde, \doxymbox{\hyperlink{group__basicdatatypes_ga4fb2b14ce7a6d27321fa7999b46b82bd}{Dwarf\+\_\+\+Half}} dw\+\_\+table\+\_\+column, \doxymbox{\hyperlink{group__basicdatatypes_ga16ddc0e584ea1a17237ccf1617f31075}{Dwarf\+\_\+\+Addr}} dw\+\_\+pc\+\_\+requested, \doxymbox{\hyperlink{group__basicdatatypes_ga52e439e652a1a30277679f64f83cc0fe}{Dwarf\+\_\+\+Small}} \texorpdfstring{$\ast$}{*}dw\+\_\+value\+\_\+type, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}dw\+\_\+offset\+\_\+relevant, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}dw\+\_\+register, \doxymbox{\hyperlink{group__basicdatatypes_gac91d9490d58c8d86a4d5b63ca93ba6dd}{Dwarf\+\_\+\+Signed}} \texorpdfstring{$\ast$}{*}dw\+\_\+offset, \doxymbox{\hyperlink{group__allstructs_gaf33d59f922707c0eb204edf251d323db}{Dwarf\+\_\+\+Block}} \texorpdfstring{$\ast$}{*}dw\+\_\+block\+\_\+content, \doxymbox{\hyperlink{group__basicdatatypes_ga16ddc0e584ea1a17237ccf1617f31075}{Dwarf\+\_\+\+Addr}} \texorpdfstring{$\ast$}{*}dw\+\_\+row\+\_\+pc\+\_\+out, \doxymbox{\hyperlink{group__basicdatatypes_ga32afecc94a71aae2be36aa279f1dded8}{Dwarf\+\_\+\+Bool}} \texorpdfstring{$\ast$}{*}dw\+\_\+has\+\_\+more\+\_\+rows, \doxymbox{\hyperlink{group__basicdatatypes_ga16ddc0e584ea1a17237ccf1617f31075}{Dwarf\+\_\+\+Addr}} \texorpdfstring{$\ast$}{*}dw\+\_\+subsequent\+\_\+pc, \doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}dw\+\_\+error)
\begin{DoxyCompactList}\small\item\em Return details about a particular pc and register. \end{DoxyCompactList}\item 
DW\+\_\+\+API int \doxymbox{\hyperlink{group__frame_gafb0eedbffa619e2bce6e454d956b6ccc}{dwarf\+\_\+get\+\_\+fde\+\_\+info\+\_\+for\+\_\+reg3\+\_\+b}} (\doxymbox{\hyperlink{group__allstructs_ga0dcf06f2de1fd8a043c9e4452373a8f5}{Dwarf\+\_\+\+Fde}} dw\+\_\+fde, \doxymbox{\hyperlink{group__basicdatatypes_ga4fb2b14ce7a6d27321fa7999b46b82bd}{Dwarf\+\_\+\+Half}} dw\+\_\+table\+\_\+column, \doxymbox{\hyperlink{group__basicdatatypes_ga16ddc0e584ea1a17237ccf1617f31075}{Dwarf\+\_\+\+Addr}} dw\+\_\+pc\+\_\+requested, \doxymbox{\hyperlink{group__basicdatatypes_ga52e439e652a1a30277679f64f83cc0fe}{Dwarf\+\_\+\+Small}} \texorpdfstring{$\ast$}{*}dw\+\_\+value\+\_\+type, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}dw\+\_\+offset\+\_\+relevant, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}dw\+\_\+register, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}dw\+\_\+offset, \doxymbox{\hyperlink{group__allstructs_gaf33d59f922707c0eb204edf251d323db}{Dwarf\+\_\+\+Block}} \texorpdfstring{$\ast$}{*}dw\+\_\+block\+\_\+content, \doxymbox{\hyperlink{group__basicdatatypes_ga16ddc0e584ea1a17237ccf1617f31075}{Dwarf\+\_\+\+Addr}} \texorpdfstring{$\ast$}{*}dw\+\_\+row\+\_\+pc\+\_\+out, \doxymbox{\hyperlink{group__basicdatatypes_ga32afecc94a71aae2be36aa279f1dded8}{Dwarf\+\_\+\+Bool}} \texorpdfstring{$\ast$}{*}dw\+\_\+has\+\_\+more\+\_\+rows, \doxymbox{\hyperlink{group__basicdatatypes_ga16ddc0e584ea1a17237ccf1617f31075}{Dwarf\+\_\+\+Addr}} \texorpdfstring{$\ast$}{*}dw\+\_\+subsequent\+\_\+pc, \doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}dw\+\_\+error)
\begin{DoxyCompactList}\small\item\em Return details about a particular pc and register. \end{DoxyCompactList}\item 
DW\+\_\+\+API int \doxymbox{\hyperlink{group__frame_gad61d9e9b0724b08706e607d4d37fa5a0}{dwarf\+\_\+get\+\_\+fde\+\_\+info\+\_\+for\+\_\+cfa\+\_\+reg3\+\_\+c}} (\doxymbox{\hyperlink{group__allstructs_ga0dcf06f2de1fd8a043c9e4452373a8f5}{Dwarf\+\_\+\+Fde}} dw\+\_\+fde, \doxymbox{\hyperlink{group__basicdatatypes_ga16ddc0e584ea1a17237ccf1617f31075}{Dwarf\+\_\+\+Addr}} dw\+\_\+pc\+\_\+requested, \doxymbox{\hyperlink{group__basicdatatypes_ga52e439e652a1a30277679f64f83cc0fe}{Dwarf\+\_\+\+Small}} \texorpdfstring{$\ast$}{*}dw\+\_\+value\+\_\+type, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}dw\+\_\+offset\+\_\+relevant, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}dw\+\_\+register, \doxymbox{\hyperlink{group__basicdatatypes_gac91d9490d58c8d86a4d5b63ca93ba6dd}{Dwarf\+\_\+\+Signed}} \texorpdfstring{$\ast$}{*}dw\+\_\+offset, \doxymbox{\hyperlink{group__allstructs_gaf33d59f922707c0eb204edf251d323db}{Dwarf\+\_\+\+Block}} \texorpdfstring{$\ast$}{*}dw\+\_\+block, \doxymbox{\hyperlink{group__basicdatatypes_ga16ddc0e584ea1a17237ccf1617f31075}{Dwarf\+\_\+\+Addr}} \texorpdfstring{$\ast$}{*}dw\+\_\+row\+\_\+pc\+\_\+out, \doxymbox{\hyperlink{group__basicdatatypes_ga32afecc94a71aae2be36aa279f1dded8}{Dwarf\+\_\+\+Bool}} \texorpdfstring{$\ast$}{*}dw\+\_\+has\+\_\+more\+\_\+rows, \doxymbox{\hyperlink{group__basicdatatypes_ga16ddc0e584ea1a17237ccf1617f31075}{Dwarf\+\_\+\+Addr}} \texorpdfstring{$\ast$}{*}dw\+\_\+subsequent\+\_\+pc, \doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}dw\+\_\+error)
\begin{DoxyCompactList}\small\item\em Get the value of the CFA for a particular pc value. \end{DoxyCompactList}\item 
DW\+\_\+\+API int \doxymbox{\hyperlink{group__frame_ga294a626cd6b89ce9ad020f4e3929f630}{dwarf\+\_\+get\+\_\+fde\+\_\+info\+\_\+for\+\_\+cfa\+\_\+reg3\+\_\+b}} (\doxymbox{\hyperlink{group__allstructs_ga0dcf06f2de1fd8a043c9e4452373a8f5}{Dwarf\+\_\+\+Fde}} dw\+\_\+fde, \doxymbox{\hyperlink{group__basicdatatypes_ga16ddc0e584ea1a17237ccf1617f31075}{Dwarf\+\_\+\+Addr}} dw\+\_\+pc\+\_\+requested, \doxymbox{\hyperlink{group__basicdatatypes_ga52e439e652a1a30277679f64f83cc0fe}{Dwarf\+\_\+\+Small}} \texorpdfstring{$\ast$}{*}dw\+\_\+value\+\_\+type, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}dw\+\_\+offset\+\_\+relevant, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}dw\+\_\+register, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}dw\+\_\+offset, \doxymbox{\hyperlink{group__allstructs_gaf33d59f922707c0eb204edf251d323db}{Dwarf\+\_\+\+Block}} \texorpdfstring{$\ast$}{*}dw\+\_\+block, \doxymbox{\hyperlink{group__basicdatatypes_ga16ddc0e584ea1a17237ccf1617f31075}{Dwarf\+\_\+\+Addr}} \texorpdfstring{$\ast$}{*}dw\+\_\+row\+\_\+pc\+\_\+out, \doxymbox{\hyperlink{group__basicdatatypes_ga32afecc94a71aae2be36aa279f1dded8}{Dwarf\+\_\+\+Bool}} \texorpdfstring{$\ast$}{*}dw\+\_\+has\+\_\+more\+\_\+rows, \doxymbox{\hyperlink{group__basicdatatypes_ga16ddc0e584ea1a17237ccf1617f31075}{Dwarf\+\_\+\+Addr}} \texorpdfstring{$\ast$}{*}dw\+\_\+subsequent\+\_\+pc, \doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}dw\+\_\+error)
\begin{DoxyCompactList}\small\item\em Get the value of the CFA for a particular pc value. \end{DoxyCompactList}\item 
DW\+\_\+\+API int \doxymbox{\hyperlink{group__frame_ga52649509db4a21997330c4cac67fd5ae}{dwarf\+\_\+get\+\_\+fde\+\_\+for\+\_\+die}} (\doxymbox{\hyperlink{group__allstructs_gac2ba1e1c1b70a3191506b414195ca807}{Dwarf\+\_\+\+Debug}} dw\+\_\+dbg, \doxymbox{\hyperlink{group__allstructs_ga3a3759c3047d78dba9f590d5e5893be5}{Dwarf\+\_\+\+Die}} dw\+\_\+subr\+\_\+die, \doxymbox{\hyperlink{group__allstructs_ga0dcf06f2de1fd8a043c9e4452373a8f5}{Dwarf\+\_\+\+Fde}} \texorpdfstring{$\ast$}{*}dw\+\_\+returned\+\_\+fde, \doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}dw\+\_\+error)
\begin{DoxyCompactList}\small\item\em Get the fde given DW\+\_\+\+AT\+\_\+\+MIPS\+\_\+fde in a DIE. \end{DoxyCompactList}\item 
DW\+\_\+\+API int \doxymbox{\hyperlink{group__frame_gaffeb9b3e4258e68738332fbc960aae4c}{dwarf\+\_\+get\+\_\+fde\+\_\+n}} (\doxymbox{\hyperlink{group__allstructs_ga0dcf06f2de1fd8a043c9e4452373a8f5}{Dwarf\+\_\+\+Fde}} \texorpdfstring{$\ast$}{*}dw\+\_\+fde\+\_\+data, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} dw\+\_\+fde\+\_\+index, \doxymbox{\hyperlink{group__allstructs_ga0dcf06f2de1fd8a043c9e4452373a8f5}{Dwarf\+\_\+\+Fde}} \texorpdfstring{$\ast$}{*}dw\+\_\+returned\+\_\+fde, \doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}dw\+\_\+error)
\begin{DoxyCompactList}\small\item\em Retrieve an FDE from an FDE table. \end{DoxyCompactList}\item 
DW\+\_\+\+API int \doxymbox{\hyperlink{group__frame_gafd79f4f6046565526d8d5ff78a587e3c}{dwarf\+\_\+get\+\_\+fde\+\_\+at\+\_\+pc}} (\doxymbox{\hyperlink{group__allstructs_ga0dcf06f2de1fd8a043c9e4452373a8f5}{Dwarf\+\_\+\+Fde}} \texorpdfstring{$\ast$}{*}dw\+\_\+fde\+\_\+data, \doxymbox{\hyperlink{group__basicdatatypes_ga16ddc0e584ea1a17237ccf1617f31075}{Dwarf\+\_\+\+Addr}} dw\+\_\+pc\+\_\+of\+\_\+interest, \doxymbox{\hyperlink{group__allstructs_ga0dcf06f2de1fd8a043c9e4452373a8f5}{Dwarf\+\_\+\+Fde}} \texorpdfstring{$\ast$}{*}dw\+\_\+returned\+\_\+fde, \doxymbox{\hyperlink{group__basicdatatypes_ga16ddc0e584ea1a17237ccf1617f31075}{Dwarf\+\_\+\+Addr}} \texorpdfstring{$\ast$}{*}dw\+\_\+lopc, \doxymbox{\hyperlink{group__basicdatatypes_ga16ddc0e584ea1a17237ccf1617f31075}{Dwarf\+\_\+\+Addr}} \texorpdfstring{$\ast$}{*}dw\+\_\+hipc, \doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}dw\+\_\+error)
\begin{DoxyCompactList}\small\item\em Retrieve an FDE given a pc. \end{DoxyCompactList}\item 
DW\+\_\+\+API int \doxymbox{\hyperlink{group__frame_gaf8dcb705dcd06e9bb25cccf1b7010cd1}{dwarf\+\_\+get\+\_\+cie\+\_\+augmentation\+\_\+data}} (\doxymbox{\hyperlink{group__allstructs_gabc722c9c5e457634fe3e9fce95613c96}{Dwarf\+\_\+\+Cie}} dw\+\_\+cie, \doxymbox{\hyperlink{group__basicdatatypes_ga52e439e652a1a30277679f64f83cc0fe}{Dwarf\+\_\+\+Small}} \texorpdfstring{$\ast$}{*}\texorpdfstring{$\ast$}{*}dw\+\_\+augdata, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}dw\+\_\+augdata\+\_\+len, \doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}dw\+\_\+error)
\begin{DoxyCompactList}\small\item\em Return .eh\+\_\+frame CIE augmentation data. \end{DoxyCompactList}\item 
DW\+\_\+\+API int \doxymbox{\hyperlink{group__frame_ga79ed2069fff49ea3819be727249093f2}{dwarf\+\_\+get\+\_\+fde\+\_\+augmentation\+\_\+data}} (\doxymbox{\hyperlink{group__allstructs_ga0dcf06f2de1fd8a043c9e4452373a8f5}{Dwarf\+\_\+\+Fde}} dw\+\_\+fde, \doxymbox{\hyperlink{group__basicdatatypes_ga52e439e652a1a30277679f64f83cc0fe}{Dwarf\+\_\+\+Small}} \texorpdfstring{$\ast$}{*}\texorpdfstring{$\ast$}{*}dw\+\_\+augdata, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}dw\+\_\+augdata\+\_\+len, \doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}dw\+\_\+error)
\begin{DoxyCompactList}\small\item\em Return .eh\+\_\+frame FDE augmentation data. \end{DoxyCompactList}\item 
DW\+\_\+\+API int \doxymbox{\hyperlink{group__frame_ga92ff9aa1ceaeeb80be4c223c3d418ac2}{dwarf\+\_\+expand\+\_\+frame\+\_\+instructions}} (\doxymbox{\hyperlink{group__allstructs_gabc722c9c5e457634fe3e9fce95613c96}{Dwarf\+\_\+\+Cie}} dw\+\_\+cie, \doxymbox{\hyperlink{group__basicdatatypes_ga52e439e652a1a30277679f64f83cc0fe}{Dwarf\+\_\+\+Small}} \texorpdfstring{$\ast$}{*}dw\+\_\+instructionspointer, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} dw\+\_\+length\+\_\+in\+\_\+bytes, \doxymbox{\hyperlink{group__allstructs_gab7273fb778aa7b8f136da9a97a99f4b6}{Dwarf\+\_\+\+Frame\+\_\+\+Instr\+\_\+\+Head}} \texorpdfstring{$\ast$}{*}dw\+\_\+head, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}dw\+\_\+instr\+\_\+count, \doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}dw\+\_\+error)
\begin{DoxyCompactList}\small\item\em Expands CIE or FDE instructions for detailed examination. Called for CIE initial instructions and FDE instructions. Call \doxylink{group__frame_ga962c9d82df3c7443beb89454a309a930}{dwarf\+\_\+get\+\_\+fde\+\_\+instr\+\_\+bytes()} or \doxylink{group__frame_gadc537ed05305409fd46821bcac60becb}{dwarf\+\_\+get\+\_\+cie\+\_\+info\+\_\+b()} to get the initial instruction bytes and instructions byte count you wish to expand. \end{DoxyCompactList}\item 
DW\+\_\+\+API int \doxymbox{\hyperlink{group__frame_gaa40c12f619117a6c8a7b0628aa971a75}{dwarf\+\_\+get\+\_\+frame\+\_\+instruction}} (\doxymbox{\hyperlink{group__allstructs_gab7273fb778aa7b8f136da9a97a99f4b6}{Dwarf\+\_\+\+Frame\+\_\+\+Instr\+\_\+\+Head}} dw\+\_\+head, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} dw\+\_\+instr\+\_\+index, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}dw\+\_\+instr\+\_\+offset\+\_\+in\+\_\+instrs, \doxymbox{\hyperlink{group__basicdatatypes_ga52e439e652a1a30277679f64f83cc0fe}{Dwarf\+\_\+\+Small}} \texorpdfstring{$\ast$}{*}dw\+\_\+cfa\+\_\+operation, const char \texorpdfstring{$\ast$}{*}\texorpdfstring{$\ast$}{*}dw\+\_\+fields\+\_\+description, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}dw\+\_\+u0, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}dw\+\_\+u1, \doxymbox{\hyperlink{group__basicdatatypes_gac91d9490d58c8d86a4d5b63ca93ba6dd}{Dwarf\+\_\+\+Signed}} \texorpdfstring{$\ast$}{*}dw\+\_\+s0, \doxymbox{\hyperlink{group__basicdatatypes_gac91d9490d58c8d86a4d5b63ca93ba6dd}{Dwarf\+\_\+\+Signed}} \texorpdfstring{$\ast$}{*}dw\+\_\+s1, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}dw\+\_\+code\+\_\+alignment\+\_\+factor, \doxymbox{\hyperlink{group__basicdatatypes_gac91d9490d58c8d86a4d5b63ca93ba6dd}{Dwarf\+\_\+\+Signed}} \texorpdfstring{$\ast$}{*}dw\+\_\+data\+\_\+alignment\+\_\+factor, \doxymbox{\hyperlink{group__allstructs_gaf33d59f922707c0eb204edf251d323db}{Dwarf\+\_\+\+Block}} \texorpdfstring{$\ast$}{*}dw\+\_\+expression\+\_\+block, \doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}dw\+\_\+error)
\begin{DoxyCompactList}\small\item\em Return information about a single instruction Fields\+\_\+description means a sequence of up to three letters including u,s,r,c,d,b, terminated by NUL byte. It is a string but we test individual bytes instead of using string compares. Do not free any of the returned values. \end{DoxyCompactList}\item 
DW\+\_\+\+API int \doxymbox{\hyperlink{group__frame_gadeab2231c64f013b90cb949d4b66ae83}{dwarf\+\_\+get\+\_\+frame\+\_\+instruction\+\_\+a}} (\doxymbox{\hyperlink{group__allstructs_gab7273fb778aa7b8f136da9a97a99f4b6}{Dwarf\+\_\+\+Frame\+\_\+\+Instr\+\_\+\+Head}} dw\+\_\+, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} dw\+\_\+instr\+\_\+index, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}dw\+\_\+instr\+\_\+offset\+\_\+in\+\_\+instrs, \doxymbox{\hyperlink{group__basicdatatypes_ga52e439e652a1a30277679f64f83cc0fe}{Dwarf\+\_\+\+Small}} \texorpdfstring{$\ast$}{*}dw\+\_\+cfa\+\_\+operation, const char \texorpdfstring{$\ast$}{*}\texorpdfstring{$\ast$}{*}dw\+\_\+fields\+\_\+description, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}dw\+\_\+u0, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}dw\+\_\+u1, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}dw\+\_\+u2, \doxymbox{\hyperlink{group__basicdatatypes_gac91d9490d58c8d86a4d5b63ca93ba6dd}{Dwarf\+\_\+\+Signed}} \texorpdfstring{$\ast$}{*}dw\+\_\+s0, \doxymbox{\hyperlink{group__basicdatatypes_gac91d9490d58c8d86a4d5b63ca93ba6dd}{Dwarf\+\_\+\+Signed}} \texorpdfstring{$\ast$}{*}dw\+\_\+s1, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}dw\+\_\+code\+\_\+alignment\+\_\+factor, \doxymbox{\hyperlink{group__basicdatatypes_gac91d9490d58c8d86a4d5b63ca93ba6dd}{Dwarf\+\_\+\+Signed}} \texorpdfstring{$\ast$}{*}dw\+\_\+data\+\_\+alignment\+\_\+factor, \doxymbox{\hyperlink{group__allstructs_gaf33d59f922707c0eb204edf251d323db}{Dwarf\+\_\+\+Block}} \texorpdfstring{$\ast$}{*}dw\+\_\+expression\+\_\+block, \doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}dw\+\_\+error)
\begin{DoxyCompactList}\small\item\em Expands CIE or FDE instructions for detailed examination. Called for CIE initial instructions and FDE instructions. This is the same as \doxylink{group__frame_gaa40c12f619117a6c8a7b0628aa971a75}{dwarf\+\_\+get\+\_\+frame\+\_\+instruction()} except that it adds a dw\+\_\+u2 field which contains an address-\/space identifier if the letter {\ttfamily a} appears in dw\+\_\+fields\+\_\+description. The dw\+\_\+u2 field is non-\/standard and only applies to Heterogeneous Debugging frame instructions defined by LLVM (DW\+\_\+\+CFA\+\_\+\+LLVM\+\_\+def\+\_\+aspace\+\_\+cfa and DW\+\_\+\+CFA\+\_\+\+LLVM\+\_\+def\+\_\+aspace\+\_\+cfa\+\_\+sf). \end{DoxyCompactList}\item 
DW\+\_\+\+API void \doxymbox{\hyperlink{group__frame_ga1aed531588ec95b9672123d010a3ee1d}{dwarf\+\_\+dealloc\+\_\+frame\+\_\+instr\+\_\+head}} (\doxymbox{\hyperlink{group__allstructs_gab7273fb778aa7b8f136da9a97a99f4b6}{Dwarf\+\_\+\+Frame\+\_\+\+Instr\+\_\+\+Head}} dw\+\_\+head)
\begin{DoxyCompactList}\small\item\em Deallocates the frame instruction data in dw\+\_\+head. \end{DoxyCompactList}\item 
DW\+\_\+\+API int \doxymbox{\hyperlink{group__frame_gac3128fd8bbf07204d87bbbbc21a7ee74}{dwarf\+\_\+fde\+\_\+section\+\_\+offset}} (\doxymbox{\hyperlink{group__allstructs_gac2ba1e1c1b70a3191506b414195ca807}{Dwarf\+\_\+\+Debug}} dw\+\_\+dbg, \doxymbox{\hyperlink{group__allstructs_ga0dcf06f2de1fd8a043c9e4452373a8f5}{Dwarf\+\_\+\+Fde}} dw\+\_\+in\+\_\+fde, \doxymbox{\hyperlink{group__basicdatatypes_ga08c706887ae8c6e09e8f0fb5dd9a539e}{Dwarf\+\_\+\+Off}} \texorpdfstring{$\ast$}{*}dw\+\_\+fde\+\_\+off, \doxymbox{\hyperlink{group__basicdatatypes_ga08c706887ae8c6e09e8f0fb5dd9a539e}{Dwarf\+\_\+\+Off}} \texorpdfstring{$\ast$}{*}dw\+\_\+cie\+\_\+off, \doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}dw\+\_\+error)
\begin{DoxyCompactList}\small\item\em Return FDE and CIE offsets from debugging info. \end{DoxyCompactList}\item 
DW\+\_\+\+API int \doxymbox{\hyperlink{group__frame_gacb4c5bf28af746fa84091c6e3275ee3c}{dwarf\+\_\+cie\+\_\+section\+\_\+offset}} (\doxymbox{\hyperlink{group__allstructs_gac2ba1e1c1b70a3191506b414195ca807}{Dwarf\+\_\+\+Debug}} dw\+\_\+dbg, \doxymbox{\hyperlink{group__allstructs_gabc722c9c5e457634fe3e9fce95613c96}{Dwarf\+\_\+\+Cie}} dw\+\_\+in\+\_\+cie, \doxymbox{\hyperlink{group__basicdatatypes_ga08c706887ae8c6e09e8f0fb5dd9a539e}{Dwarf\+\_\+\+Off}} \texorpdfstring{$\ast$}{*}dw\+\_\+cie\+\_\+off, \doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}dw\+\_\+error)
\begin{DoxyCompactList}\small\item\em Use to print CIE offsets from debugging info. \end{DoxyCompactList}\item 
DW\+\_\+\+API \doxymbox{\hyperlink{group__basicdatatypes_ga4fb2b14ce7a6d27321fa7999b46b82bd}{Dwarf\+\_\+\+Half}} \doxymbox{\hyperlink{group__frame_gae32b7cb9b94a3f865d5a4c426b4ff148}{dwarf\+\_\+set\+\_\+frame\+\_\+rule\+\_\+table\+\_\+size}} (\doxymbox{\hyperlink{group__allstructs_gac2ba1e1c1b70a3191506b414195ca807}{Dwarf\+\_\+\+Debug}} dw\+\_\+dbg, \doxymbox{\hyperlink{group__basicdatatypes_ga4fb2b14ce7a6d27321fa7999b46b82bd}{Dwarf\+\_\+\+Half}} dw\+\_\+value)
\begin{DoxyCompactList}\small\item\em Frame Rule Table Size \doxylink{index_frameregs}{Invariants for setting frame registers }. \end{DoxyCompactList}\item 
DW\+\_\+\+API \doxymbox{\hyperlink{group__basicdatatypes_ga4fb2b14ce7a6d27321fa7999b46b82bd}{Dwarf\+\_\+\+Half}} \doxymbox{\hyperlink{group__frame_ga2b70edee1979f6a7164ed4d8c0a76a18}{dwarf\+\_\+set\+\_\+frame\+\_\+rule\+\_\+initial\+\_\+value}} (\doxymbox{\hyperlink{group__allstructs_gac2ba1e1c1b70a3191506b414195ca807}{Dwarf\+\_\+\+Debug}} dw\+\_\+dbg, \doxymbox{\hyperlink{group__basicdatatypes_ga4fb2b14ce7a6d27321fa7999b46b82bd}{Dwarf\+\_\+\+Half}} dw\+\_\+value)
\begin{DoxyCompactList}\small\item\em Frame Rule Initial Value. \end{DoxyCompactList}\item 
DW\+\_\+\+API \doxymbox{\hyperlink{group__basicdatatypes_ga4fb2b14ce7a6d27321fa7999b46b82bd}{Dwarf\+\_\+\+Half}} \doxymbox{\hyperlink{group__frame_gacf23737bb881788cd01a3e856c7ba6fd}{dwarf\+\_\+set\+\_\+frame\+\_\+cfa\+\_\+value}} (\doxymbox{\hyperlink{group__allstructs_gac2ba1e1c1b70a3191506b414195ca807}{Dwarf\+\_\+\+Debug}} dw\+\_\+dbg, \doxymbox{\hyperlink{group__basicdatatypes_ga4fb2b14ce7a6d27321fa7999b46b82bd}{Dwarf\+\_\+\+Half}} dw\+\_\+value)
\begin{DoxyCompactList}\small\item\em Frame CFA Column \doxylink{index_frameregs}{Invariants for setting frame registers }. \end{DoxyCompactList}\item 
DW\+\_\+\+API \doxymbox{\hyperlink{group__basicdatatypes_ga4fb2b14ce7a6d27321fa7999b46b82bd}{Dwarf\+\_\+\+Half}} \doxymbox{\hyperlink{group__frame_ga4f3e1aa9954a664808824095cabb342b}{dwarf\+\_\+set\+\_\+frame\+\_\+same\+\_\+value}} (\doxymbox{\hyperlink{group__allstructs_gac2ba1e1c1b70a3191506b414195ca807}{Dwarf\+\_\+\+Debug}} dw\+\_\+dbg, \doxymbox{\hyperlink{group__basicdatatypes_ga4fb2b14ce7a6d27321fa7999b46b82bd}{Dwarf\+\_\+\+Half}} dw\+\_\+value)
\begin{DoxyCompactList}\small\item\em Frame Same Value Default \doxylink{index_frameregs}{Invariants for setting frame registers }. \end{DoxyCompactList}\item 
DW\+\_\+\+API \doxymbox{\hyperlink{group__basicdatatypes_ga4fb2b14ce7a6d27321fa7999b46b82bd}{Dwarf\+\_\+\+Half}} \doxymbox{\hyperlink{group__frame_gae8e5ccbb4499f7fac13cfc62d29376aa}{dwarf\+\_\+set\+\_\+frame\+\_\+undefined\+\_\+value}} (\doxymbox{\hyperlink{group__allstructs_gac2ba1e1c1b70a3191506b414195ca807}{Dwarf\+\_\+\+Debug}} dw\+\_\+dbg, \doxymbox{\hyperlink{group__basicdatatypes_ga4fb2b14ce7a6d27321fa7999b46b82bd}{Dwarf\+\_\+\+Half}} dw\+\_\+value)
\begin{DoxyCompactList}\small\item\em Frame Undefined Value Default \doxylink{index_frameregs}{Invariants for setting frame registers }. \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
Use to access DWARF2-\/5 .debug\+\_\+frame and GNU .eh\+\_\+frame sections. Does not evaluate frame instructions, but provides detailed data so it is possible do that yourself. 

\label{doc-typedef-members}
\Hypertarget{group__frame_doc-typedef-members}
\doxysubsection{Typedef Documentation}
\Hypertarget{group__frame_gaa6b949dccd17dbde81598fae5150c084}\index{Stack Frame Access@{Stack Frame Access}!dwarf\_iterate\_fde\_callback\_function\_type@{dwarf\_iterate\_fde\_callback\_function\_type}}
\index{dwarf\_iterate\_fde\_callback\_function\_type@{dwarf\_iterate\_fde\_callback\_function\_type}!Stack Frame Access@{Stack Frame Access}}
\doxysubsubsection{\texorpdfstring{dwarf\_iterate\_fde\_callback\_function\_type}{dwarf\_iterate\_fde\_callback\_function\_type}}
{\footnotesize\ttfamily \label{group__frame_gaa6b949dccd17dbde81598fae5150c084} 
typedef int(\texorpdfstring{$\ast$}{*} dwarf\+\_\+iterate\+\_\+fde\+\_\+callback\+\_\+function\+\_\+type) (\doxymbox{\hyperlink{group__allstructs_ga0a2d8a10ad38a22cda39a81ab65c2b4d}{Dwarf\+\_\+\+Regtable3}} \texorpdfstring{$\ast$}{*}dw\+\_\+reg\+\_\+table, \doxymbox{\hyperlink{group__basicdatatypes_ga16ddc0e584ea1a17237ccf1617f31075}{Dwarf\+\_\+\+Addr}} dw\+\_\+row\+\_\+pc, \doxymbox{\hyperlink{group__basicdatatypes_ga32afecc94a71aae2be36aa279f1dded8}{Dwarf\+\_\+\+Bool}} dw\+\_\+has\+\_\+more\+\_\+rows, \doxymbox{\hyperlink{group__basicdatatypes_ga16ddc0e584ea1a17237ccf1617f31075}{Dwarf\+\_\+\+Addr}} dw\+\_\+subsequent\+\_\+pc, void \texorpdfstring{$\ast$}{*}dw\+\_\+user\+\_\+data)}

Used as a function pointer to a user-\/written callback function. This provides the register table for a row address. See \doxylink{group__frame_gad939575875a940728b8f13fcc592fe4c}{dwarf\+\_\+iterate\+\_\+fde\+\_\+all\+\_\+regs3()}. 
\begin{DoxyParams}{Parameters}
{\em dw\+\_\+reg\+\_\+table} & The register table for address data. \\
\hline
{\em dw\+\_\+row\+\_\+pc} & The address for the row the callback is reportinf. \\
\hline
{\em dw\+\_\+has\+\_\+more\+\_\+rows} & If non-\/zero means there are more rows in the current FDE. \\
\hline
{\em dw\+\_\+subsequent\+\_\+pc} & The pc address of the next row in the current FDE. \\
\hline
{\em dw\+\_\+user\+\_\+data} & Passes your callback a pointer to space you allocated \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Return DW\+\_\+\+DLV\+\_\+\+OK if the data is valid. If a serious error of some kind return DW\+\_\+\+DLV\+\_\+\+ERROR. 
\end{DoxyReturn}


\label{doc-func-members}
\Hypertarget{group__frame_doc-func-members}
\doxysubsection{Function Documentation}
\Hypertarget{group__frame_gacb4c5bf28af746fa84091c6e3275ee3c}\index{Stack Frame Access@{Stack Frame Access}!dwarf\_cie\_section\_offset@{dwarf\_cie\_section\_offset}}
\index{dwarf\_cie\_section\_offset@{dwarf\_cie\_section\_offset}!Stack Frame Access@{Stack Frame Access}}
\doxysubsubsection{\texorpdfstring{dwarf\_cie\_section\_offset()}{dwarf\_cie\_section\_offset()}}
{\footnotesize\ttfamily \label{group__frame_gacb4c5bf28af746fa84091c6e3275ee3c} 
DW\+\_\+\+API int dwarf\+\_\+cie\+\_\+section\+\_\+offset (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_gac2ba1e1c1b70a3191506b414195ca807}{Dwarf\+\_\+\+Debug}}}]{dw\+\_\+dbg}{, }\item[{\doxymbox{\hyperlink{group__allstructs_gabc722c9c5e457634fe3e9fce95613c96}{Dwarf\+\_\+\+Cie}}}]{dw\+\_\+in\+\_\+cie}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga08c706887ae8c6e09e8f0fb5dd9a539e}{Dwarf\+\_\+\+Off}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+cie\+\_\+off}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+error}{}\end{DoxyParamCaption})}



Use to print CIE offsets from debugging info. 


\begin{DoxyParams}{Parameters}
{\em dw\+\_\+dbg} & The \doxylink{group__allstructs_gac2ba1e1c1b70a3191506b414195ca807}{Dwarf\+\_\+\+Debug} of interest \\
\hline
{\em dw\+\_\+in\+\_\+cie} & Pass in the CIE of interest. \\
\hline
{\em dw\+\_\+cie\+\_\+off} & On success returns the section offset of the CIE. \\
\hline
{\em dw\+\_\+error} & Error return details \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Returns DW\+\_\+\+DLV\+\_\+\+OK etc. 
\end{DoxyReturn}
\Hypertarget{group__frame_ga4ef1fc3bf61b8b29e780bb6ff0cc7926}\index{Stack Frame Access@{Stack Frame Access}!dwarf\_dealloc\_fde\_cie\_list@{dwarf\_dealloc\_fde\_cie\_list}}
\index{dwarf\_dealloc\_fde\_cie\_list@{dwarf\_dealloc\_fde\_cie\_list}!Stack Frame Access@{Stack Frame Access}}
\doxysubsubsection{\texorpdfstring{dwarf\_dealloc\_fde\_cie\_list()}{dwarf\_dealloc\_fde\_cie\_list()}}
{\footnotesize\ttfamily \label{group__frame_ga4ef1fc3bf61b8b29e780bb6ff0cc7926} 
DW\+\_\+\+API void dwarf\+\_\+dealloc\+\_\+fde\+\_\+cie\+\_\+list (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_gac2ba1e1c1b70a3191506b414195ca807}{Dwarf\+\_\+\+Debug}}}]{dw\+\_\+dbg}{, }\item[{\doxymbox{\hyperlink{group__allstructs_gabc722c9c5e457634fe3e9fce95613c96}{Dwarf\+\_\+\+Cie}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+cie\+\_\+data}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_gac91d9490d58c8d86a4d5b63ca93ba6dd}{Dwarf\+\_\+\+Signed}}}]{dw\+\_\+cie\+\_\+element\+\_\+count}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga0dcf06f2de1fd8a043c9e4452373a8f5}{Dwarf\+\_\+\+Fde}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+fde\+\_\+data}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_gac91d9490d58c8d86a4d5b63ca93ba6dd}{Dwarf\+\_\+\+Signed}}}]{dw\+\_\+fde\+\_\+element\+\_\+count}{}\end{DoxyParamCaption})}



Release storage associated with FDE and CIE arrays. 

Applies to .eh\+\_\+frame and .debug\+\_\+frame lists.


\begin{DoxyParams}{Parameters}
{\em dw\+\_\+dbg} & The \doxylink{group__allstructs_gac2ba1e1c1b70a3191506b414195ca807}{Dwarf\+\_\+\+Debug} used in the list setup. \\
\hline
{\em dw\+\_\+cie\+\_\+data} & As returned from the list setup call. \\
\hline
{\em dw\+\_\+cie\+\_\+element\+\_\+count} & \\
\hline
{\em dw\+\_\+fde\+\_\+data} & As returned from the list setup call. \\
\hline
{\em dw\+\_\+fde\+\_\+element\+\_\+count} & As returned from the list setup call.\\
\hline
\end{DoxyParams}
On return the pointers passed in dw\+\_\+cie\+\_\+data and dw\+\_\+fde\+\_\+data should be zeroed by the caller as they are then stale pointers. \Hypertarget{group__frame_ga1aed531588ec95b9672123d010a3ee1d}\index{Stack Frame Access@{Stack Frame Access}!dwarf\_dealloc\_frame\_instr\_head@{dwarf\_dealloc\_frame\_instr\_head}}
\index{dwarf\_dealloc\_frame\_instr\_head@{dwarf\_dealloc\_frame\_instr\_head}!Stack Frame Access@{Stack Frame Access}}
\doxysubsubsection{\texorpdfstring{dwarf\_dealloc\_frame\_instr\_head()}{dwarf\_dealloc\_frame\_instr\_head()}}
{\footnotesize\ttfamily \label{group__frame_ga1aed531588ec95b9672123d010a3ee1d} 
DW\+\_\+\+API void dwarf\+\_\+dealloc\+\_\+frame\+\_\+instr\+\_\+head (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_gab7273fb778aa7b8f136da9a97a99f4b6}{Dwarf\+\_\+\+Frame\+\_\+\+Instr\+\_\+\+Head}}}]{dw\+\_\+head}{}\end{DoxyParamCaption})}



Deallocates the frame instruction data in dw\+\_\+head. 


\begin{DoxyParams}{Parameters}
{\em dw\+\_\+head} & A head pointer. Frees all data created by \doxylink{group__frame_ga92ff9aa1ceaeeb80be4c223c3d418ac2}{dwarf\+\_\+expand\+\_\+frame\+\_\+instructions()} and makes the head pointer stale. The caller should set to NULL. \\
\hline
\end{DoxyParams}
\Hypertarget{group__frame_ga92ff9aa1ceaeeb80be4c223c3d418ac2}\index{Stack Frame Access@{Stack Frame Access}!dwarf\_expand\_frame\_instructions@{dwarf\_expand\_frame\_instructions}}
\index{dwarf\_expand\_frame\_instructions@{dwarf\_expand\_frame\_instructions}!Stack Frame Access@{Stack Frame Access}}
\doxysubsubsection{\texorpdfstring{dwarf\_expand\_frame\_instructions()}{dwarf\_expand\_frame\_instructions()}}
{\footnotesize\ttfamily \label{group__frame_ga92ff9aa1ceaeeb80be4c223c3d418ac2} 
DW\+\_\+\+API int dwarf\+\_\+expand\+\_\+frame\+\_\+instructions (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_gabc722c9c5e457634fe3e9fce95613c96}{Dwarf\+\_\+\+Cie}}}]{dw\+\_\+cie}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga52e439e652a1a30277679f64f83cc0fe}{Dwarf\+\_\+\+Small}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+instructionspointer}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}}}]{dw\+\_\+length\+\_\+in\+\_\+bytes}{, }\item[{\doxymbox{\hyperlink{group__allstructs_gab7273fb778aa7b8f136da9a97a99f4b6}{Dwarf\+\_\+\+Frame\+\_\+\+Instr\+\_\+\+Head}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+head}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+instr\+\_\+count}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+error}{}\end{DoxyParamCaption})}



Expands CIE or FDE instructions for detailed examination. Called for CIE initial instructions and FDE instructions. Call \doxylink{group__frame_ga962c9d82df3c7443beb89454a309a930}{dwarf\+\_\+get\+\_\+fde\+\_\+instr\+\_\+bytes()} or \doxylink{group__frame_gadc537ed05305409fd46821bcac60becb}{dwarf\+\_\+get\+\_\+cie\+\_\+info\+\_\+b()} to get the initial instruction bytes and instructions byte count you wish to expand. 

Combined with \doxylink{group__frame_gaa40c12f619117a6c8a7b0628aa971a75}{dwarf\+\_\+get\+\_\+frame\+\_\+instruction()} or \doxylink{group__frame_gadeab2231c64f013b90cb949d4b66ae83}{dwarf\+\_\+get\+\_\+frame\+\_\+instruction\+\_\+a()} (the second is like the first but adds an argument for LLVM address space numbers) it enables detailed access to frame instruction fields for evaluation or printing.

Free allocated memory with \doxylink{group__frame_ga1aed531588ec95b9672123d010a3ee1d}{dwarf\+\_\+dealloc\+\_\+frame\+\_\+instr\+\_\+head()}.

\begin{DoxySeeAlso}{See also}
\doxylink{group__examples}{Using  dwarf\+\_\+expand\+\_\+frame\+\_\+instructions}
\end{DoxySeeAlso}

\begin{DoxyParams}{Parameters}
{\em dw\+\_\+cie} & The cie relevant to the instructions. \\
\hline
{\em dw\+\_\+instructionspointer} & points to the instructions \\
\hline
{\em dw\+\_\+length\+\_\+in\+\_\+bytes} & byte length of the instruction sequence. \\
\hline
{\em dw\+\_\+head} & The address of an allocated dw\+\_\+head \\
\hline
{\em dw\+\_\+instr\+\_\+count} & Returns the number of instructions in the byte stream \\
\hline
{\em dw\+\_\+error} & Error return details \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
On success returns DW\+\_\+\+DLV\+\_\+\+OK 
\end{DoxyReturn}
\Hypertarget{group__frame_gac3128fd8bbf07204d87bbbbc21a7ee74}\index{Stack Frame Access@{Stack Frame Access}!dwarf\_fde\_section\_offset@{dwarf\_fde\_section\_offset}}
\index{dwarf\_fde\_section\_offset@{dwarf\_fde\_section\_offset}!Stack Frame Access@{Stack Frame Access}}
\doxysubsubsection{\texorpdfstring{dwarf\_fde\_section\_offset()}{dwarf\_fde\_section\_offset()}}
{\footnotesize\ttfamily \label{group__frame_gac3128fd8bbf07204d87bbbbc21a7ee74} 
DW\+\_\+\+API int dwarf\+\_\+fde\+\_\+section\+\_\+offset (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_gac2ba1e1c1b70a3191506b414195ca807}{Dwarf\+\_\+\+Debug}}}]{dw\+\_\+dbg}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga0dcf06f2de1fd8a043c9e4452373a8f5}{Dwarf\+\_\+\+Fde}}}]{dw\+\_\+in\+\_\+fde}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga08c706887ae8c6e09e8f0fb5dd9a539e}{Dwarf\+\_\+\+Off}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+fde\+\_\+off}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga08c706887ae8c6e09e8f0fb5dd9a539e}{Dwarf\+\_\+\+Off}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+cie\+\_\+off}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+error}{}\end{DoxyParamCaption})}



Return FDE and CIE offsets from debugging info. 


\begin{DoxyParams}{Parameters}
{\em dw\+\_\+dbg} & The \doxylink{group__allstructs_gac2ba1e1c1b70a3191506b414195ca807}{Dwarf\+\_\+\+Debug} of interest \\
\hline
{\em dw\+\_\+in\+\_\+fde} & Pass in the FDE of interest. \\
\hline
{\em dw\+\_\+fde\+\_\+off} & On success returns the section offset of the FDE. \\
\hline
{\em dw\+\_\+cie\+\_\+off} & On success returns the section offset of the CIE. \\
\hline
{\em dw\+\_\+error} & Error return details \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Returns DW\+\_\+\+DLV\+\_\+\+OK etc. 
\end{DoxyReturn}
\Hypertarget{group__frame_gaf8dcb705dcd06e9bb25cccf1b7010cd1}\index{Stack Frame Access@{Stack Frame Access}!dwarf\_get\_cie\_augmentation\_data@{dwarf\_get\_cie\_augmentation\_data}}
\index{dwarf\_get\_cie\_augmentation\_data@{dwarf\_get\_cie\_augmentation\_data}!Stack Frame Access@{Stack Frame Access}}
\doxysubsubsection{\texorpdfstring{dwarf\_get\_cie\_augmentation\_data()}{dwarf\_get\_cie\_augmentation\_data()}}
{\footnotesize\ttfamily \label{group__frame_gaf8dcb705dcd06e9bb25cccf1b7010cd1} 
DW\+\_\+\+API int dwarf\+\_\+get\+\_\+cie\+\_\+augmentation\+\_\+data (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_gabc722c9c5e457634fe3e9fce95613c96}{Dwarf\+\_\+\+Cie}}}]{dw\+\_\+cie}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga52e439e652a1a30277679f64f83cc0fe}{Dwarf\+\_\+\+Small}} \texorpdfstring{$\ast$}{*}\texorpdfstring{$\ast$}{*}}]{dw\+\_\+augdata}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+augdata\+\_\+len}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+error}{}\end{DoxyParamCaption})}



Return .eh\+\_\+frame CIE augmentation data. 

GNU .eh\+\_\+frame CIE augmentation information. See Linux Standard Base Core Specification version 3.\+0 . \begin{DoxySeeAlso}{See also}
\href{https://gcc.gnu.org/legacy-ml/gcc/2003-12/msg01168.html}{\texttt{https:\+/\+/\+gcc.\+gnu.\+org/\+legacy-\/ml/\+gcc/\+2003-\/12/\+msg01168.\+html}}
\end{DoxySeeAlso}

\begin{DoxyParams}{Parameters}
{\em dw\+\_\+cie} & The CIE of interest. \\
\hline
{\em dw\+\_\+augdata} & On success returns a pointer to the augmentation data. \\
\hline
{\em dw\+\_\+augdata\+\_\+len} & On success returns the length in bytes of the augmentation data. \\
\hline
{\em dw\+\_\+error} & The usual error detail return pointer. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Returns DW\+\_\+\+DLV\+\_\+\+OK etc. If the augmentation data length is zero it returns DW\+\_\+\+DLV\+\_\+\+NO\+\_\+\+ENTRY. 
\end{DoxyReturn}
\Hypertarget{group__frame_gadae3ca1e6ba74b4568621529ecf059b3}\index{Stack Frame Access@{Stack Frame Access}!dwarf\_get\_cie\_index@{dwarf\_get\_cie\_index}}
\index{dwarf\_get\_cie\_index@{dwarf\_get\_cie\_index}!Stack Frame Access@{Stack Frame Access}}
\doxysubsubsection{\texorpdfstring{dwarf\_get\_cie\_index()}{dwarf\_get\_cie\_index()}}
{\footnotesize\ttfamily \label{group__frame_gadae3ca1e6ba74b4568621529ecf059b3} 
DW\+\_\+\+API int dwarf\+\_\+get\+\_\+cie\+\_\+index (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_gabc722c9c5e457634fe3e9fce95613c96}{Dwarf\+\_\+\+Cie}}}]{dw\+\_\+cie}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_gac91d9490d58c8d86a4d5b63ca93ba6dd}{Dwarf\+\_\+\+Signed}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+index}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+error}{}\end{DoxyParamCaption})}



Return CIE index given CIE. 


\begin{DoxyParams}{Parameters}
{\em dw\+\_\+cie} & Pass in the CIE of interest. \\
\hline
{\em dw\+\_\+index} & On success, returns the index (the position of the CIE in the CIE pointer array). \\
\hline
{\em dw\+\_\+error} & The usual error detail return pointer. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Returns DW\+\_\+\+DLV\+\_\+\+OK etc. 
\end{DoxyReturn}
\Hypertarget{group__frame_gadc537ed05305409fd46821bcac60becb}\index{Stack Frame Access@{Stack Frame Access}!dwarf\_get\_cie\_info\_b@{dwarf\_get\_cie\_info\_b}}
\index{dwarf\_get\_cie\_info\_b@{dwarf\_get\_cie\_info\_b}!Stack Frame Access@{Stack Frame Access}}
\doxysubsubsection{\texorpdfstring{dwarf\_get\_cie\_info\_b()}{dwarf\_get\_cie\_info\_b()}}
{\footnotesize\ttfamily \label{group__frame_gadc537ed05305409fd46821bcac60becb} 
DW\+\_\+\+API int dwarf\+\_\+get\+\_\+cie\+\_\+info\+\_\+b (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_gabc722c9c5e457634fe3e9fce95613c96}{Dwarf\+\_\+\+Cie}}}]{dw\+\_\+cie}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+bytes\+\_\+in\+\_\+cie}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga52e439e652a1a30277679f64f83cc0fe}{Dwarf\+\_\+\+Small}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+version}{, }\item[{char \texorpdfstring{$\ast$}{*}\texorpdfstring{$\ast$}{*}}]{dw\+\_\+augmenter}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+code\+\_\+alignment\+\_\+factor}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_gac91d9490d58c8d86a4d5b63ca93ba6dd}{Dwarf\+\_\+\+Signed}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+data\+\_\+alignment\+\_\+factor}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga4fb2b14ce7a6d27321fa7999b46b82bd}{Dwarf\+\_\+\+Half}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+return\+\_\+address\+\_\+register\+\_\+rule}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga52e439e652a1a30277679f64f83cc0fe}{Dwarf\+\_\+\+Small}} \texorpdfstring{$\ast$}{*}\texorpdfstring{$\ast$}{*}}]{dw\+\_\+initial\+\_\+instructions}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+initial\+\_\+instructions\+\_\+length}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga4fb2b14ce7a6d27321fa7999b46b82bd}{Dwarf\+\_\+\+Half}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+offset\+\_\+size}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+error}{}\end{DoxyParamCaption})}



Given a CIE get access to its content. 


\begin{DoxyParams}{Parameters}
{\em dw\+\_\+cie} & Pass in the CIE of interest. \\
\hline
{\em dw\+\_\+bytes\+\_\+in\+\_\+cie} & On success, returns the length of the CIE in bytes. \\
\hline
{\em dw\+\_\+version} & On success, returns the CIE version number. \\
\hline
{\em dw\+\_\+augmenter} & On success, returns a pointer to the augmentation string (which could be the empty string). \\
\hline
{\em dw\+\_\+code\+\_\+alignment\+\_\+factor} & On success, returns a the code\+\_\+alignment\+\_\+factor used to interpret CIE/\+\+FDE operations. \\
\hline
{\em dw\+\_\+data\+\_\+alignment\+\_\+factor} & On success, returns a the data\+\_\+alignment\+\_\+factor used to interpret CIE/\+\+FDE operations. \\
\hline
{\em dw\+\_\+return\+\_\+address\+\_\+register\+\_\+rule} & On success, returns a register number of the return address register. \\
\hline
{\em dw\+\_\+initial\+\_\+instructions} & On success, returns a pointer to the bytes of initial\+\_\+instructions in the CIE. \\
\hline
{\em dw\+\_\+initial\+\_\+instructions\+\_\+length} & On success, returns the length in bytes of the initial\+\_\+instructions. \\
\hline
{\em dw\+\_\+offset\+\_\+size} & On success, returns the offset\+\_\+size within this CIE. \\
\hline
{\em dw\+\_\+error} & The usual error detail return pointer. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Returns DW\+\_\+\+DLV\+\_\+\+OK etc. 
\end{DoxyReturn}
\Hypertarget{group__frame_ga3f8b420b507ceb9804690c2835315d33}\index{Stack Frame Access@{Stack Frame Access}!dwarf\_get\_cie\_of\_fde@{dwarf\_get\_cie\_of\_fde}}
\index{dwarf\_get\_cie\_of\_fde@{dwarf\_get\_cie\_of\_fde}!Stack Frame Access@{Stack Frame Access}}
\doxysubsubsection{\texorpdfstring{dwarf\_get\_cie\_of\_fde()}{dwarf\_get\_cie\_of\_fde()}}
{\footnotesize\ttfamily \label{group__frame_ga3f8b420b507ceb9804690c2835315d33} 
DW\+\_\+\+API int dwarf\+\_\+get\+\_\+cie\+\_\+of\+\_\+fde (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_ga0dcf06f2de1fd8a043c9e4452373a8f5}{Dwarf\+\_\+\+Fde}}}]{dw\+\_\+fde}{, }\item[{\doxymbox{\hyperlink{group__allstructs_gabc722c9c5e457634fe3e9fce95613c96}{Dwarf\+\_\+\+Cie}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+cie\+\_\+returned}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+error}{}\end{DoxyParamCaption})}



Given FDE get CIE. 


\begin{DoxyParams}{Parameters}
{\em dw\+\_\+fde} & The FDE of interest. \\
\hline
{\em dw\+\_\+cie\+\_\+returned} & On success returns a pointer to the applicable CIE. \\
\hline
{\em dw\+\_\+error} & The usual error detail return pointer. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Returns DW\+\_\+\+DLV\+\_\+\+OK etc. 
\end{DoxyReturn}
\Hypertarget{group__frame_gafd79f4f6046565526d8d5ff78a587e3c}\index{Stack Frame Access@{Stack Frame Access}!dwarf\_get\_fde\_at\_pc@{dwarf\_get\_fde\_at\_pc}}
\index{dwarf\_get\_fde\_at\_pc@{dwarf\_get\_fde\_at\_pc}!Stack Frame Access@{Stack Frame Access}}
\doxysubsubsection{\texorpdfstring{dwarf\_get\_fde\_at\_pc()}{dwarf\_get\_fde\_at\_pc()}}
{\footnotesize\ttfamily \label{group__frame_gafd79f4f6046565526d8d5ff78a587e3c} 
DW\+\_\+\+API int dwarf\+\_\+get\+\_\+fde\+\_\+at\+\_\+pc (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_ga0dcf06f2de1fd8a043c9e4452373a8f5}{Dwarf\+\_\+\+Fde}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+fde\+\_\+data}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga16ddc0e584ea1a17237ccf1617f31075}{Dwarf\+\_\+\+Addr}}}]{dw\+\_\+pc\+\_\+of\+\_\+interest}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga0dcf06f2de1fd8a043c9e4452373a8f5}{Dwarf\+\_\+\+Fde}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+returned\+\_\+fde}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga16ddc0e584ea1a17237ccf1617f31075}{Dwarf\+\_\+\+Addr}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+lopc}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga16ddc0e584ea1a17237ccf1617f31075}{Dwarf\+\_\+\+Addr}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+hipc}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+error}{}\end{DoxyParamCaption})}



Retrieve an FDE given a pc. 

Using binary search this finds the FDE that contains this dw\+\_\+pc\+\_\+of\+\_\+interest That works because libdwarf ensures the array of FDEs is sorted by the low-\/pc \begin{DoxySeeAlso}{See also}
\doxylink{group__frame_ga183965aafd1a1c3e270d80d2f5f59ba4}{dwarf\+\_\+get\+\_\+fde\+\_\+list}
\end{DoxySeeAlso}

\begin{DoxyParams}{Parameters}
{\em dw\+\_\+fde\+\_\+data} & Pass in a pointer an array of fde pointers. \\
\hline
{\em dw\+\_\+pc\+\_\+of\+\_\+interest} & The pc value of interest. \\
\hline
{\em dw\+\_\+returned\+\_\+fde} & On success a pointer to the applicable FDE is set through the pointer. \\
\hline
{\em dw\+\_\+lopc} & On success a pointer to the low pc in dw\+\_\+returned\+\_\+fde is set through the pointer. \\
\hline
{\em dw\+\_\+hipc} & On success a pointer to the high pc (one past the actual last byte address) in dw\+\_\+returned\+\_\+fde is set through the pointer. \\
\hline
{\em dw\+\_\+error} & The usual error detail return pointer. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Returns DW\+\_\+\+DLV\+\_\+\+OK if the dw\+\_\+pc\+\_\+of\+\_\+interest found in some FDE in the array. If no FDE is found containing dw\+\_\+pc\+\_\+of\+\_\+interest DW\+\_\+\+DLV\+\_\+\+NO\+\_\+\+ENTRY is returned. 
\end{DoxyReturn}
\Hypertarget{group__frame_ga79ed2069fff49ea3819be727249093f2}\index{Stack Frame Access@{Stack Frame Access}!dwarf\_get\_fde\_augmentation\_data@{dwarf\_get\_fde\_augmentation\_data}}
\index{dwarf\_get\_fde\_augmentation\_data@{dwarf\_get\_fde\_augmentation\_data}!Stack Frame Access@{Stack Frame Access}}
\doxysubsubsection{\texorpdfstring{dwarf\_get\_fde\_augmentation\_data()}{dwarf\_get\_fde\_augmentation\_data()}}
{\footnotesize\ttfamily \label{group__frame_ga79ed2069fff49ea3819be727249093f2} 
DW\+\_\+\+API int dwarf\+\_\+get\+\_\+fde\+\_\+augmentation\+\_\+data (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_ga0dcf06f2de1fd8a043c9e4452373a8f5}{Dwarf\+\_\+\+Fde}}}]{dw\+\_\+fde}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga52e439e652a1a30277679f64f83cc0fe}{Dwarf\+\_\+\+Small}} \texorpdfstring{$\ast$}{*}\texorpdfstring{$\ast$}{*}}]{dw\+\_\+augdata}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+augdata\+\_\+len}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+error}{}\end{DoxyParamCaption})}



Return .eh\+\_\+frame FDE augmentation data. 

GNU .eh\+\_\+frame FDE augmentation information. See Linux Standard Base Core Specification version 3.\+0 . \begin{DoxySeeAlso}{See also}
\href{https://gcc.gnu.org/legacy-ml/gcc/2003-12/msg01168.html}{\texttt{https:\+/\+/\+gcc.\+gnu.\+org/\+legacy-\/ml/\+gcc/\+2003-\/12/\+msg01168.\+html}}
\end{DoxySeeAlso}

\begin{DoxyParams}{Parameters}
{\em dw\+\_\+fde} & The FDE of interest. \\
\hline
{\em dw\+\_\+augdata} & On success returns a pointer to the augmentation data. \\
\hline
{\em dw\+\_\+augdata\+\_\+len} & On success returns the length in bytes of the augmentation data. \\
\hline
{\em dw\+\_\+error} & The usual error detail return pointer. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Returns DW\+\_\+\+DLV\+\_\+\+OK etc. If the augmentation data length is zero it returns DW\+\_\+\+DLV\+\_\+\+NO\+\_\+\+ENTRY. 
\end{DoxyReturn}
\Hypertarget{group__frame_ga95db4a9e92cfb9a6b60ee78db01d2898}\index{Stack Frame Access@{Stack Frame Access}!dwarf\_get\_fde\_exception\_info@{dwarf\_get\_fde\_exception\_info}}
\index{dwarf\_get\_fde\_exception\_info@{dwarf\_get\_fde\_exception\_info}!Stack Frame Access@{Stack Frame Access}}
\doxysubsubsection{\texorpdfstring{dwarf\_get\_fde\_exception\_info()}{dwarf\_get\_fde\_exception\_info()}}
{\footnotesize\ttfamily \label{group__frame_ga95db4a9e92cfb9a6b60ee78db01d2898} 
DW\+\_\+\+API int dwarf\+\_\+get\+\_\+fde\+\_\+exception\+\_\+info (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_ga0dcf06f2de1fd8a043c9e4452373a8f5}{Dwarf\+\_\+\+Fde}}}]{dw\+\_\+fde}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_gac91d9490d58c8d86a4d5b63ca93ba6dd}{Dwarf\+\_\+\+Signed}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+offset\+\_\+into\+\_\+exception\+\_\+tables}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+error}{}\end{DoxyParamCaption})}



IRIX only access to C++ destructor tables. 

This applies only to IRIX C++ destructor information which was never documented and is unlikely to be of interest. \Hypertarget{group__frame_ga52649509db4a21997330c4cac67fd5ae}\index{Stack Frame Access@{Stack Frame Access}!dwarf\_get\_fde\_for\_die@{dwarf\_get\_fde\_for\_die}}
\index{dwarf\_get\_fde\_for\_die@{dwarf\_get\_fde\_for\_die}!Stack Frame Access@{Stack Frame Access}}
\doxysubsubsection{\texorpdfstring{dwarf\_get\_fde\_for\_die()}{dwarf\_get\_fde\_for\_die()}}
{\footnotesize\ttfamily \label{group__frame_ga52649509db4a21997330c4cac67fd5ae} 
DW\+\_\+\+API int dwarf\+\_\+get\+\_\+fde\+\_\+for\+\_\+die (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_gac2ba1e1c1b70a3191506b414195ca807}{Dwarf\+\_\+\+Debug}}}]{dw\+\_\+dbg}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga3a3759c3047d78dba9f590d5e5893be5}{Dwarf\+\_\+\+Die}}}]{dw\+\_\+subr\+\_\+die}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga0dcf06f2de1fd8a043c9e4452373a8f5}{Dwarf\+\_\+\+Fde}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+returned\+\_\+fde}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+error}{}\end{DoxyParamCaption})}



Get the fde given DW\+\_\+\+AT\+\_\+\+MIPS\+\_\+fde in a DIE. 

This is essentially useless as only SGI/\+\+MIPS compilers from the 1990\textquotesingle{}s had DW\+\_\+\+AT\+\_\+\+MIPS\+\_\+fde in DW\+\_\+\+TAG\+\_\+subprogram DIEs and this relies on that attribute to work. \Hypertarget{group__frame_gaa8ed0eaa63677b844d57a3910595b5f5}\index{Stack Frame Access@{Stack Frame Access}!dwarf\_get\_fde\_info\_for\_all\_regs3@{dwarf\_get\_fde\_info\_for\_all\_regs3}}
\index{dwarf\_get\_fde\_info\_for\_all\_regs3@{dwarf\_get\_fde\_info\_for\_all\_regs3}!Stack Frame Access@{Stack Frame Access}}
\doxysubsubsection{\texorpdfstring{dwarf\_get\_fde\_info\_for\_all\_regs3()}{dwarf\_get\_fde\_info\_for\_all\_regs3()}}
{\footnotesize\ttfamily \label{group__frame_gaa8ed0eaa63677b844d57a3910595b5f5} 
DW\+\_\+\+API int dwarf\+\_\+get\+\_\+fde\+\_\+info\+\_\+for\+\_\+all\+\_\+regs3 (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_ga0dcf06f2de1fd8a043c9e4452373a8f5}{Dwarf\+\_\+\+Fde}}}]{dw\+\_\+fde}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga16ddc0e584ea1a17237ccf1617f31075}{Dwarf\+\_\+\+Addr}}}]{dw\+\_\+pc\+\_\+requested}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga0a2d8a10ad38a22cda39a81ab65c2b4d}{Dwarf\+\_\+\+Regtable3}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+reg\+\_\+table}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga16ddc0e584ea1a17237ccf1617f31075}{Dwarf\+\_\+\+Addr}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+row\+\_\+pc}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+error}{}\end{DoxyParamCaption})}



Return information on frame registers at a given pc value. 

Identical to \doxylink{group__frame_gad02f3b78d6cebb9e60c1b00dadd2ecb8}{dwarf\+\_\+get\+\_\+fde\+\_\+info\+\_\+for\+\_\+all\+\_\+regs3\+\_\+b()} except that this doesn\textquotesingle{}t output dw\+\_\+has\+\_\+more\+\_\+rows and dw\+\_\+subsequent\+\_\+pc, so \doxylink{group__frame_gad02f3b78d6cebb9e60c1b00dadd2ecb8}{dwarf\+\_\+get\+\_\+fde\+\_\+info\+\_\+for\+\_\+all\+\_\+regs3\+\_\+b()} is a better choice.

If you need to iterate through all rows of the FDE, consider switching to \doxylink{group__frame_gad02f3b78d6cebb9e60c1b00dadd2ecb8}{dwarf\+\_\+get\+\_\+fde\+\_\+info\+\_\+for\+\_\+all\+\_\+regs3\+\_\+b()} or \doxylink{group__frame_gad939575875a940728b8f13fcc592fe4c}{dwarf\+\_\+iterate\+\_\+fde\+\_\+all\+\_\+regs3()}.\Hypertarget{group__frame_gad02f3b78d6cebb9e60c1b00dadd2ecb8}\index{Stack Frame Access@{Stack Frame Access}!dwarf\_get\_fde\_info\_for\_all\_regs3\_b@{dwarf\_get\_fde\_info\_for\_all\_regs3\_b}}
\index{dwarf\_get\_fde\_info\_for\_all\_regs3\_b@{dwarf\_get\_fde\_info\_for\_all\_regs3\_b}!Stack Frame Access@{Stack Frame Access}}
\doxysubsubsection{\texorpdfstring{dwarf\_get\_fde\_info\_for\_all\_regs3\_b()}{dwarf\_get\_fde\_info\_for\_all\_regs3\_b()}}
{\footnotesize\ttfamily \label{group__frame_gad02f3b78d6cebb9e60c1b00dadd2ecb8} 
DW\+\_\+\+API int dwarf\+\_\+get\+\_\+fde\+\_\+info\+\_\+for\+\_\+all\+\_\+regs3\+\_\+b (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_ga0dcf06f2de1fd8a043c9e4452373a8f5}{Dwarf\+\_\+\+Fde}}}]{dw\+\_\+fde}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga16ddc0e584ea1a17237ccf1617f31075}{Dwarf\+\_\+\+Addr}}}]{dw\+\_\+pc\+\_\+requested}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga0a2d8a10ad38a22cda39a81ab65c2b4d}{Dwarf\+\_\+\+Regtable3}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+reg\+\_\+table}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga16ddc0e584ea1a17237ccf1617f31075}{Dwarf\+\_\+\+Addr}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+row\+\_\+pc}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga32afecc94a71aae2be36aa279f1dded8}{Dwarf\+\_\+\+Bool}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+has\+\_\+more\+\_\+rows}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga16ddc0e584ea1a17237ccf1617f31075}{Dwarf\+\_\+\+Addr}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+subsequent\+\_\+pc}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+error}{}\end{DoxyParamCaption})}



Return information on frame registers at a given pc value. 

An FDE at a given pc (code address) This function is new in October 2023 version 0.\+9.\+0. See \doxylink{libdwarf_8h}{libdwarf.\+h} for the required condition of dw\+\_\+reg\+\_\+table pointer passed in.


\begin{DoxyParams}{Parameters}
{\em dw\+\_\+fde} & Pass in the FDE of interest. \\
\hline
{\em dw\+\_\+pc\+\_\+requested} & Pass in a pc (code) address inside that FDE. \\
\hline
{\em dw\+\_\+reg\+\_\+table} & Pass in the address of a \doxylink{group__allstructs_ga0a2d8a10ad38a22cda39a81ab65c2b4d}{Dwarf\+\_\+\+Regtable3} struct which has been initialized with zero bits, and for which the dw\+\_\+rt3\+\_\+rules array has been allocated and the initialized with all zero bits. On success, returns a filled in dw\+\_\+reg\+\_\+table given the frame state. \\
\hline
{\em dw\+\_\+row\+\_\+pc} & On success returns the address of the row of frame data which may be a few counts off of the pc requested. \\
\hline
{\em dw\+\_\+has\+\_\+more\+\_\+rows} & On success returns FALSE if there are no more rows, otherwise returns TRUE. \\
\hline
{\em dw\+\_\+subsequent\+\_\+pc} & On success this returns the address of the next pc for which there is a register row, making access to all the rows in sequence much more efficient than just adding 1 to a pc value. \\
\hline
{\em dw\+\_\+error} & The usual error detail return pointer. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Returns DW\+\_\+\+DLV\+\_\+\+OK if the dw\+\_\+pc\+\_\+requested is in the FDE passed in and there is some applicable row in the table. 
\end{DoxyReturn}
\Hypertarget{group__frame_ga294a626cd6b89ce9ad020f4e3929f630}\index{Stack Frame Access@{Stack Frame Access}!dwarf\_get\_fde\_info\_for\_cfa\_reg3\_b@{dwarf\_get\_fde\_info\_for\_cfa\_reg3\_b}}
\index{dwarf\_get\_fde\_info\_for\_cfa\_reg3\_b@{dwarf\_get\_fde\_info\_for\_cfa\_reg3\_b}!Stack Frame Access@{Stack Frame Access}}
\doxysubsubsection{\texorpdfstring{dwarf\_get\_fde\_info\_for\_cfa\_reg3\_b()}{dwarf\_get\_fde\_info\_for\_cfa\_reg3\_b()}}
{\footnotesize\ttfamily \label{group__frame_ga294a626cd6b89ce9ad020f4e3929f630} 
DW\+\_\+\+API int dwarf\+\_\+get\+\_\+fde\+\_\+info\+\_\+for\+\_\+cfa\+\_\+reg3\+\_\+b (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_ga0dcf06f2de1fd8a043c9e4452373a8f5}{Dwarf\+\_\+\+Fde}}}]{dw\+\_\+fde}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga16ddc0e584ea1a17237ccf1617f31075}{Dwarf\+\_\+\+Addr}}}]{dw\+\_\+pc\+\_\+requested}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga52e439e652a1a30277679f64f83cc0fe}{Dwarf\+\_\+\+Small}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+value\+\_\+type}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+offset\+\_\+relevant}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+register}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+offset}{, }\item[{\doxymbox{\hyperlink{group__allstructs_gaf33d59f922707c0eb204edf251d323db}{Dwarf\+\_\+\+Block}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+block}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga16ddc0e584ea1a17237ccf1617f31075}{Dwarf\+\_\+\+Addr}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+row\+\_\+pc\+\_\+out}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga32afecc94a71aae2be36aa279f1dded8}{Dwarf\+\_\+\+Bool}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+has\+\_\+more\+\_\+rows}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga16ddc0e584ea1a17237ccf1617f31075}{Dwarf\+\_\+\+Addr}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+subsequent\+\_\+pc}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+error}{}\end{DoxyParamCaption})}



Get the value of the CFA for a particular pc value. 

\begin{DoxySeeAlso}{See also}
\doxylink{group__frame_gad61d9e9b0724b08706e607d4d37fa5a0}{dwarf\+\_\+get\+\_\+fde\+\_\+info\+\_\+for\+\_\+cfa\+\_\+reg3\+\_\+c}
\end{DoxySeeAlso}
This is the earlier version that returns a dw\+\_\+offset of type \doxylink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}, requiring you to cast to \doxylink{group__basicdatatypes_gac91d9490d58c8d86a4d5b63ca93ba6dd}{Dwarf\+\_\+\+Signed} to work with the value. \Hypertarget{group__frame_gad61d9e9b0724b08706e607d4d37fa5a0}\index{Stack Frame Access@{Stack Frame Access}!dwarf\_get\_fde\_info\_for\_cfa\_reg3\_c@{dwarf\_get\_fde\_info\_for\_cfa\_reg3\_c}}
\index{dwarf\_get\_fde\_info\_for\_cfa\_reg3\_c@{dwarf\_get\_fde\_info\_for\_cfa\_reg3\_c}!Stack Frame Access@{Stack Frame Access}}
\doxysubsubsection{\texorpdfstring{dwarf\_get\_fde\_info\_for\_cfa\_reg3\_c()}{dwarf\_get\_fde\_info\_for\_cfa\_reg3\_c()}}
{\footnotesize\ttfamily \label{group__frame_gad61d9e9b0724b08706e607d4d37fa5a0} 
DW\+\_\+\+API int dwarf\+\_\+get\+\_\+fde\+\_\+info\+\_\+for\+\_\+cfa\+\_\+reg3\+\_\+c (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_ga0dcf06f2de1fd8a043c9e4452373a8f5}{Dwarf\+\_\+\+Fde}}}]{dw\+\_\+fde}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga16ddc0e584ea1a17237ccf1617f31075}{Dwarf\+\_\+\+Addr}}}]{dw\+\_\+pc\+\_\+requested}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga52e439e652a1a30277679f64f83cc0fe}{Dwarf\+\_\+\+Small}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+value\+\_\+type}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+offset\+\_\+relevant}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+register}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_gac91d9490d58c8d86a4d5b63ca93ba6dd}{Dwarf\+\_\+\+Signed}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+offset}{, }\item[{\doxymbox{\hyperlink{group__allstructs_gaf33d59f922707c0eb204edf251d323db}{Dwarf\+\_\+\+Block}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+block}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga16ddc0e584ea1a17237ccf1617f31075}{Dwarf\+\_\+\+Addr}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+row\+\_\+pc\+\_\+out}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga32afecc94a71aae2be36aa279f1dded8}{Dwarf\+\_\+\+Bool}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+has\+\_\+more\+\_\+rows}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga16ddc0e584ea1a17237ccf1617f31075}{Dwarf\+\_\+\+Addr}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+subsequent\+\_\+pc}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+error}{}\end{DoxyParamCaption})}



Get the value of the CFA for a particular pc value. 

\begin{DoxySeeAlso}{See also}
\doxylink{group__frame_ga07ff07a2380089af1a10b43592a69850}{dwarf\+\_\+get\+\_\+fde\+\_\+info\+\_\+for\+\_\+reg3\+\_\+c()} has essentially the same return values as \doxylink{group__frame_ga07ff07a2380089af1a10b43592a69850}{dwarf\+\_\+get\+\_\+fde\+\_\+info\+\_\+for\+\_\+reg3\+\_\+c} but it refers to the CFA (which is not part of the register table) so this function has no table column argument.
\end{DoxySeeAlso}
New in September 2023, release 0.\+8.\+0. \doxylink{group__frame_gad61d9e9b0724b08706e607d4d37fa5a0}{dwarf\+\_\+get\+\_\+fde\+\_\+info\+\_\+for\+\_\+cfa\+\_\+reg3\+\_\+c()} returns dw\+\_\+offset as a signed type. \doxylink{group__frame_ga294a626cd6b89ce9ad020f4e3929f630}{dwarf\+\_\+get\+\_\+fde\+\_\+info\+\_\+for\+\_\+cfa\+\_\+reg3\+\_\+b()} returns dw\+\_\+offset as an unsigned type, requiring the caller to cast to \doxylink{group__basicdatatypes_gac91d9490d58c8d86a4d5b63ca93ba6dd}{Dwarf\+\_\+\+Signed} before using the value. Both versions exist and operate properly.

If dw\+\_\+value\+\_\+type == DW\+\_\+\+EXPR\+\_\+\+EXPRESSION or DW\+\_\+\+EXPR\+\_\+\+VALUE\+\_\+\+EXPRESSION dw\+\_\+offset is not set and the caller must evaluate the expression, which usually depends on runtime frame data which cannot be calculated without a stack frame including register values (etc). \Hypertarget{group__frame_gafb0eedbffa619e2bce6e454d956b6ccc}\index{Stack Frame Access@{Stack Frame Access}!dwarf\_get\_fde\_info\_for\_reg3\_b@{dwarf\_get\_fde\_info\_for\_reg3\_b}}
\index{dwarf\_get\_fde\_info\_for\_reg3\_b@{dwarf\_get\_fde\_info\_for\_reg3\_b}!Stack Frame Access@{Stack Frame Access}}
\doxysubsubsection{\texorpdfstring{dwarf\_get\_fde\_info\_for\_reg3\_b()}{dwarf\_get\_fde\_info\_for\_reg3\_b()}}
{\footnotesize\ttfamily \label{group__frame_gafb0eedbffa619e2bce6e454d956b6ccc} 
DW\+\_\+\+API int dwarf\+\_\+get\+\_\+fde\+\_\+info\+\_\+for\+\_\+reg3\+\_\+b (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_ga0dcf06f2de1fd8a043c9e4452373a8f5}{Dwarf\+\_\+\+Fde}}}]{dw\+\_\+fde}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga4fb2b14ce7a6d27321fa7999b46b82bd}{Dwarf\+\_\+\+Half}}}]{dw\+\_\+table\+\_\+column}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga16ddc0e584ea1a17237ccf1617f31075}{Dwarf\+\_\+\+Addr}}}]{dw\+\_\+pc\+\_\+requested}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga52e439e652a1a30277679f64f83cc0fe}{Dwarf\+\_\+\+Small}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+value\+\_\+type}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+offset\+\_\+relevant}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+register}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+offset}{, }\item[{\doxymbox{\hyperlink{group__allstructs_gaf33d59f922707c0eb204edf251d323db}{Dwarf\+\_\+\+Block}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+block\+\_\+content}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga16ddc0e584ea1a17237ccf1617f31075}{Dwarf\+\_\+\+Addr}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+row\+\_\+pc\+\_\+out}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga32afecc94a71aae2be36aa279f1dded8}{Dwarf\+\_\+\+Bool}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+has\+\_\+more\+\_\+rows}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga16ddc0e584ea1a17237ccf1617f31075}{Dwarf\+\_\+\+Addr}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+subsequent\+\_\+pc}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+error}{}\end{DoxyParamCaption})}



Return details about a particular pc and register. 

Identical to \doxylink{group__frame_ga07ff07a2380089af1a10b43592a69850}{dwarf\+\_\+get\+\_\+fde\+\_\+info\+\_\+for\+\_\+reg3\+\_\+c()} except that this returns dw\+\_\+offset as a \doxylink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}, which was never appropriate, and required you to cast that value to \doxylink{group__basicdatatypes_gac91d9490d58c8d86a4d5b63ca93ba6dd}{Dwarf\+\_\+\+Signed} to use it properly..

Please switch to using \doxylink{group__frame_ga07ff07a2380089af1a10b43592a69850}{dwarf\+\_\+get\+\_\+fde\+\_\+info\+\_\+for\+\_\+reg3\+\_\+c()} \Hypertarget{group__frame_ga07ff07a2380089af1a10b43592a69850}\index{Stack Frame Access@{Stack Frame Access}!dwarf\_get\_fde\_info\_for\_reg3\_c@{dwarf\_get\_fde\_info\_for\_reg3\_c}}
\index{dwarf\_get\_fde\_info\_for\_reg3\_c@{dwarf\_get\_fde\_info\_for\_reg3\_c}!Stack Frame Access@{Stack Frame Access}}
\doxysubsubsection{\texorpdfstring{dwarf\_get\_fde\_info\_for\_reg3\_c()}{dwarf\_get\_fde\_info\_for\_reg3\_c()}}
{\footnotesize\ttfamily \label{group__frame_ga07ff07a2380089af1a10b43592a69850} 
DW\+\_\+\+API int dwarf\+\_\+get\+\_\+fde\+\_\+info\+\_\+for\+\_\+reg3\+\_\+c (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_ga0dcf06f2de1fd8a043c9e4452373a8f5}{Dwarf\+\_\+\+Fde}}}]{dw\+\_\+fde}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga4fb2b14ce7a6d27321fa7999b46b82bd}{Dwarf\+\_\+\+Half}}}]{dw\+\_\+table\+\_\+column}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga16ddc0e584ea1a17237ccf1617f31075}{Dwarf\+\_\+\+Addr}}}]{dw\+\_\+pc\+\_\+requested}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga52e439e652a1a30277679f64f83cc0fe}{Dwarf\+\_\+\+Small}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+value\+\_\+type}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+offset\+\_\+relevant}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+register}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_gac91d9490d58c8d86a4d5b63ca93ba6dd}{Dwarf\+\_\+\+Signed}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+offset}{, }\item[{\doxymbox{\hyperlink{group__allstructs_gaf33d59f922707c0eb204edf251d323db}{Dwarf\+\_\+\+Block}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+block\+\_\+content}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga16ddc0e584ea1a17237ccf1617f31075}{Dwarf\+\_\+\+Addr}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+row\+\_\+pc\+\_\+out}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga32afecc94a71aae2be36aa279f1dded8}{Dwarf\+\_\+\+Bool}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+has\+\_\+more\+\_\+rows}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga16ddc0e584ea1a17237ccf1617f31075}{Dwarf\+\_\+\+Addr}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+subsequent\+\_\+pc}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+error}{}\end{DoxyParamCaption})}



Return details about a particular pc and register. 

It is efficient to iterate across all table\+\_\+columns (registers) using this function (\doxylink{group__frame_ga07ff07a2380089af1a10b43592a69850}{dwarf\+\_\+get\+\_\+fde\+\_\+info\+\_\+for\+\_\+reg3\+\_\+c()}).

Or if one wants the data for all frame rows one could instead call \doxylink{group__frame_gad939575875a940728b8f13fcc592fe4c}{dwarf\+\_\+iterate\+\_\+fde\+\_\+all\+\_\+regs3()} and index into the data it fills in and returns via a callback function you write.

If dw\+\_\+value\+\_\+type == DW\+\_\+\+EXPR\+\_\+\+EXPRESSION or DW\+\_\+\+EXPR\+\_\+\+VALUE\+\_\+\+EXPRESSION dw\+\_\+offset is not set and the caller must evaluate the expression, which usually depends on runtime frame data which cannot be calculated without a stack frame including registers (etc).

\doxylink{group__frame_ga07ff07a2380089af1a10b43592a69850}{dwarf\+\_\+get\+\_\+fde\+\_\+info\+\_\+for\+\_\+reg3\+\_\+c()} is new in libdwarf 0.\+8.\+0. It corrects the incorrect type of the dw\+\_\+offset argument in \doxylink{group__frame_gafb0eedbffa619e2bce6e454d956b6ccc}{dwarf\+\_\+get\+\_\+fde\+\_\+info\+\_\+for\+\_\+reg3\+\_\+b()}. Both versions operate correctly.

As of libdwarf 2.\+3.\+0 the CFA can be requested with dw\+\_\+table\+\_\+column. Previously the CFA was unavailable. By default the cfa pseudo register number is DW\+\_\+\+FRAME\+\_\+\+CFA\+\_\+\+COL from \doxylink{dwarf_8h}{dwarf.\+h}.


\begin{DoxyParams}{Parameters}
{\em dw\+\_\+fde} & Pass in the FDE of interest. \\
\hline
{\em dw\+\_\+table\+\_\+column} & Pass in the table\+\_\+column, column numbers in the table are 0 through the number\+\_\+of\+\_\+registers-\/1 and the \textquotesingle{}column\textquotesingle{} of the CFA (by default it is DW\+\_\+\+FRAME\+\_\+\+CFA\+\_\+\+COL, but might have been set by your code using \doxylink{group__frame_gacf23737bb881788cd01a3e856c7ba6fd}{dwarf\+\_\+set\+\_\+frame\+\_\+cfa\+\_\+value()}). \\
\hline
{\em dw\+\_\+pc\+\_\+requested} & Pass in the pc of interest within dw\+\_\+fde. \\
\hline
{\em dw\+\_\+value\+\_\+type} & On success returns the value type, a DW\+\_\+\+EXPR value. For example DW\+\_\+\+EXPR\+\_\+\+EXPRESSION \\
\hline
{\em dw\+\_\+offset\+\_\+relevant} & On success returns FALSE if the offset value is irrelevant, otherwise TRUE. \\
\hline
{\em dw\+\_\+register} & On success returns a register number. \\
\hline
{\em dw\+\_\+offset} & On success returns a signed register offset value when dw\+\_\+value\+\_\+type is DW\+\_\+\+EXPR\+\_\+\+OFFSET or DW\+\_\+\+EXPER\+\_\+\+VAL\+\_\+\+OFFSET. \\
\hline
{\em dw\+\_\+block\+\_\+content} & On success returns a pointer to a block. For example, for DW\+\_\+\+EXPR\+\_\+\+EXPRESSION the block gives access to the expression bytes. \\
\hline
{\em dw\+\_\+row\+\_\+pc\+\_\+out} & On success returns the address of the actual pc for this register at this pc. \\
\hline
{\em dw\+\_\+has\+\_\+more\+\_\+rows} & On success returns FALSE if there are no more rows, otherwise returns TRUE. \\
\hline
{\em dw\+\_\+subsequent\+\_\+pc} & On success this returns the address of the next pc for which there is a register row, making access to all the rows in sequence much more efficient than just adding 1 to a pc value. \\
\hline
{\em dw\+\_\+error} & The usual error detail return pointer. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Returns DW\+\_\+\+DLV\+\_\+\+OK if the dw\+\_\+pc\+\_\+requested is in the FDE passed in and there is a row for the pc in the table. 
\end{DoxyReturn}
\Hypertarget{group__frame_ga962c9d82df3c7443beb89454a309a930}\index{Stack Frame Access@{Stack Frame Access}!dwarf\_get\_fde\_instr\_bytes@{dwarf\_get\_fde\_instr\_bytes}}
\index{dwarf\_get\_fde\_instr\_bytes@{dwarf\_get\_fde\_instr\_bytes}!Stack Frame Access@{Stack Frame Access}}
\doxysubsubsection{\texorpdfstring{dwarf\_get\_fde\_instr\_bytes()}{dwarf\_get\_fde\_instr\_bytes()}}
{\footnotesize\ttfamily \label{group__frame_ga962c9d82df3c7443beb89454a309a930} 
DW\+\_\+\+API int dwarf\+\_\+get\+\_\+fde\+\_\+instr\+\_\+bytes (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_ga0dcf06f2de1fd8a043c9e4452373a8f5}{Dwarf\+\_\+\+Fde}}}]{dw\+\_\+fde}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga52e439e652a1a30277679f64f83cc0fe}{Dwarf\+\_\+\+Small}} \texorpdfstring{$\ast$}{*}\texorpdfstring{$\ast$}{*}}]{dw\+\_\+outinstrs}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+outlen}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+error}{}\end{DoxyParamCaption})}



Return length and pointer to access frame instructions. 

\begin{DoxySeeAlso}{See also}
\doxylink{group__frame_ga92ff9aa1ceaeeb80be4c223c3d418ac2}{dwarf\+\_\+expand\+\_\+frame\+\_\+instructions} 

\doxylink{group__examples}{Using  dwarf\+\_\+expand\+\_\+frame\+\_\+instructions}
\end{DoxySeeAlso}

\begin{DoxyParams}{Parameters}
{\em dw\+\_\+fde} & Pass in the FDE of interest. \\
\hline
{\em dw\+\_\+outinstrs} & On success returns a pointer to the FDE instruction byte stream. \\
\hline
{\em dw\+\_\+outlen} & On success returns the length of the dw\+\_\+outinstrs byte stream. \\
\hline
{\em dw\+\_\+error} & The usual error detail return pointer. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Returns DW\+\_\+\+DLV\+\_\+\+OK etc. 
\end{DoxyReturn}
\Hypertarget{group__frame_ga183965aafd1a1c3e270d80d2f5f59ba4}\index{Stack Frame Access@{Stack Frame Access}!dwarf\_get\_fde\_list@{dwarf\_get\_fde\_list}}
\index{dwarf\_get\_fde\_list@{dwarf\_get\_fde\_list}!Stack Frame Access@{Stack Frame Access}}
\doxysubsubsection{\texorpdfstring{dwarf\_get\_fde\_list()}{dwarf\_get\_fde\_list()}}
{\footnotesize\ttfamily \label{group__frame_ga183965aafd1a1c3e270d80d2f5f59ba4} 
DW\+\_\+\+API int dwarf\+\_\+get\+\_\+fde\+\_\+list (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_gac2ba1e1c1b70a3191506b414195ca807}{Dwarf\+\_\+\+Debug}}}]{dw\+\_\+dbg}{, }\item[{\doxymbox{\hyperlink{group__allstructs_gabc722c9c5e457634fe3e9fce95613c96}{Dwarf\+\_\+\+Cie}} \texorpdfstring{$\ast$}{*}\texorpdfstring{$\ast$}{*}}]{dw\+\_\+cie\+\_\+data}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_gac91d9490d58c8d86a4d5b63ca93ba6dd}{Dwarf\+\_\+\+Signed}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+cie\+\_\+element\+\_\+count}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga0dcf06f2de1fd8a043c9e4452373a8f5}{Dwarf\+\_\+\+Fde}} \texorpdfstring{$\ast$}{*}\texorpdfstring{$\ast$}{*}}]{dw\+\_\+fde\+\_\+data}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_gac91d9490d58c8d86a4d5b63ca93ba6dd}{Dwarf\+\_\+\+Signed}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+fde\+\_\+element\+\_\+count}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+error}{}\end{DoxyParamCaption})}



Get lists of .debug\+\_\+frame FDEs and CIEs. 

See DWARF5 Section 6.\+4 Call Frame Information, page 171.

see \doxylink{checkexamples_8c}{doc/\+checkexamples.\+c} exampleq() \begin{DoxySeeAlso}{See also}
\doxylink{group__exampleq}{Extracting fde, cie lists.}
\end{DoxySeeAlso}
The FDE array returned through dw\+\_\+fde\+\_\+data is sorted low-\/to-\/high by the lowest-\/pc in each FDE.


\begin{DoxyParams}{Parameters}
{\em dw\+\_\+dbg} & The \doxylink{group__allstructs_gac2ba1e1c1b70a3191506b414195ca807}{Dwarf\+\_\+\+Debug} of interest. \\
\hline
{\em dw\+\_\+cie\+\_\+data} & On success returns a pointer to an array of pointers to CIE data. \\
\hline
{\em dw\+\_\+cie\+\_\+element\+\_\+count} & On success returns a count of the number of elements in the dw\+\_\+cie\+\_\+data array. \\
\hline
{\em dw\+\_\+fde\+\_\+data} & On success returns a pointer to an array of pointers to FDE data. \\
\hline
{\em dw\+\_\+fde\+\_\+element\+\_\+count} & On success returns a count of the number of elements in the dw\+\_\+fde\+\_\+data array. On success \\
\hline
{\em dw\+\_\+error} & The usual error detail return pointer. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Returns DW\+\_\+\+DLV\+\_\+\+OK etc. 
\end{DoxyReturn}
\Hypertarget{group__frame_gab3909bedf83f8cdb3a85f400c7aed38c}\index{Stack Frame Access@{Stack Frame Access}!dwarf\_get\_fde\_list\_eh@{dwarf\_get\_fde\_list\_eh}}
\index{dwarf\_get\_fde\_list\_eh@{dwarf\_get\_fde\_list\_eh}!Stack Frame Access@{Stack Frame Access}}
\doxysubsubsection{\texorpdfstring{dwarf\_get\_fde\_list\_eh()}{dwarf\_get\_fde\_list\_eh()}}
{\footnotesize\ttfamily \label{group__frame_gab3909bedf83f8cdb3a85f400c7aed38c} 
DW\+\_\+\+API int dwarf\+\_\+get\+\_\+fde\+\_\+list\+\_\+eh (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_gac2ba1e1c1b70a3191506b414195ca807}{Dwarf\+\_\+\+Debug}}}]{dw\+\_\+dbg}{, }\item[{\doxymbox{\hyperlink{group__allstructs_gabc722c9c5e457634fe3e9fce95613c96}{Dwarf\+\_\+\+Cie}} \texorpdfstring{$\ast$}{*}\texorpdfstring{$\ast$}{*}}]{dw\+\_\+cie\+\_\+data}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_gac91d9490d58c8d86a4d5b63ca93ba6dd}{Dwarf\+\_\+\+Signed}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+cie\+\_\+element\+\_\+count}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga0dcf06f2de1fd8a043c9e4452373a8f5}{Dwarf\+\_\+\+Fde}} \texorpdfstring{$\ast$}{*}\texorpdfstring{$\ast$}{*}}]{dw\+\_\+fde\+\_\+data}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_gac91d9490d58c8d86a4d5b63ca93ba6dd}{Dwarf\+\_\+\+Signed}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+fde\+\_\+element\+\_\+count}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+error}{}\end{DoxyParamCaption})}



Get lists of .eh\+\_\+frame FDEs and CIEs. 

The arguments are identical to the previous function, the difference is the section read. The GNU-\/defined .eh\+\_\+frame section is very similar to .debug\+\_\+frame but has unique features that matter when following a stack trace. \begin{DoxySeeAlso}{See also}
\doxylink{group__frame_ga183965aafd1a1c3e270d80d2f5f59ba4}{dwarf\+\_\+get\+\_\+fde\+\_\+list} 
\end{DoxySeeAlso}
\Hypertarget{group__frame_gaffeb9b3e4258e68738332fbc960aae4c}\index{Stack Frame Access@{Stack Frame Access}!dwarf\_get\_fde\_n@{dwarf\_get\_fde\_n}}
\index{dwarf\_get\_fde\_n@{dwarf\_get\_fde\_n}!Stack Frame Access@{Stack Frame Access}}
\doxysubsubsection{\texorpdfstring{dwarf\_get\_fde\_n()}{dwarf\_get\_fde\_n()}}
{\footnotesize\ttfamily \label{group__frame_gaffeb9b3e4258e68738332fbc960aae4c} 
DW\+\_\+\+API int dwarf\+\_\+get\+\_\+fde\+\_\+n (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_ga0dcf06f2de1fd8a043c9e4452373a8f5}{Dwarf\+\_\+\+Fde}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+fde\+\_\+data}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}}}]{dw\+\_\+fde\+\_\+index}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga0dcf06f2de1fd8a043c9e4452373a8f5}{Dwarf\+\_\+\+Fde}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+returned\+\_\+fde}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+error}{}\end{DoxyParamCaption})}



Retrieve an FDE from an FDE table. 

This is just like indexing into the FDE array but with extra checking of the pointer and index. \begin{DoxySeeAlso}{See also}
\doxylink{group__frame_ga183965aafd1a1c3e270d80d2f5f59ba4}{dwarf\+\_\+get\+\_\+fde\+\_\+list} 
\end{DoxySeeAlso}
\Hypertarget{group__frame_ga7a1ae423b02c7411159f49a8551e1fc4}\index{Stack Frame Access@{Stack Frame Access}!dwarf\_get\_fde\_range@{dwarf\_get\_fde\_range}}
\index{dwarf\_get\_fde\_range@{dwarf\_get\_fde\_range}!Stack Frame Access@{Stack Frame Access}}
\doxysubsubsection{\texorpdfstring{dwarf\_get\_fde\_range()}{dwarf\_get\_fde\_range()}}
{\footnotesize\ttfamily \label{group__frame_ga7a1ae423b02c7411159f49a8551e1fc4} 
DW\+\_\+\+API int dwarf\+\_\+get\+\_\+fde\+\_\+range (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_ga0dcf06f2de1fd8a043c9e4452373a8f5}{Dwarf\+\_\+\+Fde}}}]{dw\+\_\+fde}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga16ddc0e584ea1a17237ccf1617f31075}{Dwarf\+\_\+\+Addr}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+low\+\_\+pc}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+func\+\_\+length}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga52e439e652a1a30277679f64f83cc0fe}{Dwarf\+\_\+\+Small}} \texorpdfstring{$\ast$}{*}\texorpdfstring{$\ast$}{*}}]{dw\+\_\+fde\+\_\+bytes}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+fde\+\_\+byte\+\_\+length}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga08c706887ae8c6e09e8f0fb5dd9a539e}{Dwarf\+\_\+\+Off}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+cie\+\_\+offset}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_gac91d9490d58c8d86a4d5b63ca93ba6dd}{Dwarf\+\_\+\+Signed}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+cie\+\_\+index}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga08c706887ae8c6e09e8f0fb5dd9a539e}{Dwarf\+\_\+\+Off}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+fde\+\_\+offset}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+error}{}\end{DoxyParamCaption})}



Return the FDE data for a single FDE. 


\begin{DoxyParams}{Parameters}
{\em dw\+\_\+fde} & The FDE of interest. \\
\hline
{\em dw\+\_\+low\+\_\+pc} & On success returns the low pc value for the function involved. \\
\hline
{\em dw\+\_\+func\+\_\+length} & On success returns the length of the function code in bytes. \\
\hline
{\em dw\+\_\+fde\+\_\+bytes} & On success returns a pointer to the bytes of the FDE. \\
\hline
{\em dw\+\_\+fde\+\_\+byte\+\_\+length} & On success returns the length of the dw\+\_\+fde\+\_\+bytes area. \\
\hline
{\em dw\+\_\+cie\+\_\+offset} & On success returns the section offset of the associated CIE. \\
\hline
{\em dw\+\_\+cie\+\_\+index} & On success returns the CIE index of the associated CIE. \\
\hline
{\em dw\+\_\+fde\+\_\+offset} & On success returns the section offset of this FDE. \\
\hline
{\em dw\+\_\+error} & The usual error detail return pointer. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Returns DW\+\_\+\+DLV\+\_\+\+OK etc. 
\end{DoxyReturn}
\Hypertarget{group__frame_gaa40c12f619117a6c8a7b0628aa971a75}\index{Stack Frame Access@{Stack Frame Access}!dwarf\_get\_frame\_instruction@{dwarf\_get\_frame\_instruction}}
\index{dwarf\_get\_frame\_instruction@{dwarf\_get\_frame\_instruction}!Stack Frame Access@{Stack Frame Access}}
\doxysubsubsection{\texorpdfstring{dwarf\_get\_frame\_instruction()}{dwarf\_get\_frame\_instruction()}}
{\footnotesize\ttfamily \label{group__frame_gaa40c12f619117a6c8a7b0628aa971a75} 
DW\+\_\+\+API int dwarf\+\_\+get\+\_\+frame\+\_\+instruction (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_gab7273fb778aa7b8f136da9a97a99f4b6}{Dwarf\+\_\+\+Frame\+\_\+\+Instr\+\_\+\+Head}}}]{dw\+\_\+head}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}}}]{dw\+\_\+instr\+\_\+index}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+instr\+\_\+offset\+\_\+in\+\_\+instrs}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga52e439e652a1a30277679f64f83cc0fe}{Dwarf\+\_\+\+Small}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+cfa\+\_\+operation}{, }\item[{const char \texorpdfstring{$\ast$}{*}\texorpdfstring{$\ast$}{*}}]{dw\+\_\+fields\+\_\+description}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+u0}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+u1}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_gac91d9490d58c8d86a4d5b63ca93ba6dd}{Dwarf\+\_\+\+Signed}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+s0}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_gac91d9490d58c8d86a4d5b63ca93ba6dd}{Dwarf\+\_\+\+Signed}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+s1}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+code\+\_\+alignment\+\_\+factor}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_gac91d9490d58c8d86a4d5b63ca93ba6dd}{Dwarf\+\_\+\+Signed}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+data\+\_\+alignment\+\_\+factor}{, }\item[{\doxymbox{\hyperlink{group__allstructs_gaf33d59f922707c0eb204edf251d323db}{Dwarf\+\_\+\+Block}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+expression\+\_\+block}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+error}{}\end{DoxyParamCaption})}



Return information about a single instruction Fields\+\_\+description means a sequence of up to three letters including u,s,r,c,d,b, terminated by NUL byte. It is a string but we test individual bytes instead of using string compares. Do not free any of the returned values. 

\begin{DoxySeeAlso}{See also}
\doxylink{group__examples}{Using  dwarf\+\_\+expand\+\_\+frame\+\_\+instructions}
\end{DoxySeeAlso}

\begin{DoxyParams}{Parameters}
{\em dw\+\_\+head} & A head record \\
\hline
{\em dw\+\_\+instr\+\_\+index} & index 0 \texorpdfstring{$<$}{<} i \texorpdfstring{$<$}{<} instr\+\_\+count \\
\hline
{\em dw\+\_\+instr\+\_\+offset\+\_\+in\+\_\+instrs} & Returns the byte offset of this instruction within instructions. \\
\hline
{\em dw\+\_\+cfa\+\_\+operation} & Returns a DW\+\_\+\+CFA opcode. \\
\hline
{\em dw\+\_\+fields\+\_\+description} & Returns a string. Do not free. \\
\hline
{\em dw\+\_\+u0} & May be set to an unsigned value \\
\hline
{\em dw\+\_\+u1} & May be set to an unsigned value \\
\hline
{\em dw\+\_\+s0} & May be set to a signed value \\
\hline
{\em dw\+\_\+s1} & May be set to a signed value \\
\hline
{\em dw\+\_\+code\+\_\+alignment\+\_\+factor} & May be set by the call \\
\hline
{\em dw\+\_\+data\+\_\+alignment\+\_\+factor} & May be set by the call \\
\hline
{\em dw\+\_\+expression\+\_\+block} & Pass in a pointer to a block \\
\hline
{\em dw\+\_\+error} & If DW\+\_\+\+DLV\+\_\+\+ERROR and the argument is non-\/\+NULL, returns details about the error. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
On success returns DW\+\_\+\+DLV\+\_\+\+OK If there is no such instruction with that index it returns DW\+\_\+\+DLV\+\_\+\+NO\+\_\+\+ENTRY On error it returns DW\+\_\+\+DLV\+\_\+\+ERROR and if dw\+\_\+error is NULL it pushes back a pointer to a \doxylink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error} to the caller.
\end{DoxyReturn}
Frame expressions have a variety of formats and content. The dw\+\_\+fields parameter is set to a pointer to a short string with some set of the letters s,u,r,d,c,b,a which enables determining exactly which values the call sets. Some examples:\+ A {\ttfamily s} in fields\+[0]\+ means s0 is a signed number.

A {\ttfamily b} somewhere in fields means the expression block passed in has been filled in.

A {\ttfamily r} in fields\+[1]\+ means u1 is set to a register number.

A {\ttfamily d} in fields means data\+\_\+alignment\+\_\+factor is set

A {\ttfamily c} in fields means code\+\_\+alignment\+\_\+factor is set

An {\ttfamily a} in fields means an LLVM address space value and only exists if calling \doxylink{group__frame_gadeab2231c64f013b90cb949d4b66ae83}{dwarf\+\_\+get\+\_\+frame\+\_\+instruction\+\_\+a()}.

The possible frame instruction formats are:\+ 
\begin{DoxyCode}{0}
\DoxyCodeLine{\textcolor{stringliteral}{"{}"{}}\ \textcolor{stringliteral}{"{}b"{}}\ \textcolor{stringliteral}{"{}r"{}}\ \textcolor{stringliteral}{"{}rb"{}}\ \textcolor{stringliteral}{"{}rr"{}}\ \textcolor{stringliteral}{"{}rsd"{}}\ \textcolor{stringliteral}{"{}rsda"{}}\ \textcolor{stringliteral}{"{}ru"{}}\ \textcolor{stringliteral}{"{}rua"{}}\ \textcolor{stringliteral}{"{}rud"{}}}
\DoxyCodeLine{\textcolor{stringliteral}{"{}sd"{}}\ \textcolor{stringliteral}{"{}u"{}}\ \textcolor{stringliteral}{"{}uc"{}}}

\end{DoxyCode}
 are the possible frame instruction formats. \Hypertarget{group__frame_gadeab2231c64f013b90cb949d4b66ae83}\index{Stack Frame Access@{Stack Frame Access}!dwarf\_get\_frame\_instruction\_a@{dwarf\_get\_frame\_instruction\_a}}
\index{dwarf\_get\_frame\_instruction\_a@{dwarf\_get\_frame\_instruction\_a}!Stack Frame Access@{Stack Frame Access}}
\doxysubsubsection{\texorpdfstring{dwarf\_get\_frame\_instruction\_a()}{dwarf\_get\_frame\_instruction\_a()}}
{\footnotesize\ttfamily \label{group__frame_gadeab2231c64f013b90cb949d4b66ae83} 
DW\+\_\+\+API int dwarf\+\_\+get\+\_\+frame\+\_\+instruction\+\_\+a (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_gab7273fb778aa7b8f136da9a97a99f4b6}{Dwarf\+\_\+\+Frame\+\_\+\+Instr\+\_\+\+Head}}}]{dw\+\_\+}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}}}]{dw\+\_\+instr\+\_\+index}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+instr\+\_\+offset\+\_\+in\+\_\+instrs}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga52e439e652a1a30277679f64f83cc0fe}{Dwarf\+\_\+\+Small}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+cfa\+\_\+operation}{, }\item[{const char \texorpdfstring{$\ast$}{*}\texorpdfstring{$\ast$}{*}}]{dw\+\_\+fields\+\_\+description}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+u0}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+u1}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+u2}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_gac91d9490d58c8d86a4d5b63ca93ba6dd}{Dwarf\+\_\+\+Signed}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+s0}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_gac91d9490d58c8d86a4d5b63ca93ba6dd}{Dwarf\+\_\+\+Signed}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+s1}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+code\+\_\+alignment\+\_\+factor}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_gac91d9490d58c8d86a4d5b63ca93ba6dd}{Dwarf\+\_\+\+Signed}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+data\+\_\+alignment\+\_\+factor}{, }\item[{\doxymbox{\hyperlink{group__allstructs_gaf33d59f922707c0eb204edf251d323db}{Dwarf\+\_\+\+Block}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+expression\+\_\+block}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+error}{}\end{DoxyParamCaption})}



Expands CIE or FDE instructions for detailed examination. Called for CIE initial instructions and FDE instructions. This is the same as \doxylink{group__frame_gaa40c12f619117a6c8a7b0628aa971a75}{dwarf\+\_\+get\+\_\+frame\+\_\+instruction()} except that it adds a dw\+\_\+u2 field which contains an address-\/space identifier if the letter {\ttfamily a} appears in dw\+\_\+fields\+\_\+description. The dw\+\_\+u2 field is non-\/standard and only applies to Heterogeneous Debugging frame instructions defined by LLVM (DW\+\_\+\+CFA\+\_\+\+LLVM\+\_\+def\+\_\+aspace\+\_\+cfa and DW\+\_\+\+CFA\+\_\+\+LLVM\+\_\+def\+\_\+aspace\+\_\+cfa\+\_\+sf). 

Where multiplication is called for (via dw\+\_\+code\+\_\+alignment\+\_\+factor or dw\+\_\+data\+\_\+alignment\+\_\+factor) to produce an offset there is no need to check for overflow as libdwarf has already verified there is no overflow.

The return values are the same except here we have:\+ an {\ttfamily a} in fields\+[2]\+ or fields\+[3]\+ means dw\+\_\+u2 is an address-\/space identifier for the LLVM CFA instruction. \Hypertarget{group__frame_gad939575875a940728b8f13fcc592fe4c}\index{Stack Frame Access@{Stack Frame Access}!dwarf\_iterate\_fde\_all\_regs3@{dwarf\_iterate\_fde\_all\_regs3}}
\index{dwarf\_iterate\_fde\_all\_regs3@{dwarf\_iterate\_fde\_all\_regs3}!Stack Frame Access@{Stack Frame Access}}
\doxysubsubsection{\texorpdfstring{dwarf\_iterate\_fde\_all\_regs3()}{dwarf\_iterate\_fde\_all\_regs3()}}
{\footnotesize\ttfamily \label{group__frame_gad939575875a940728b8f13fcc592fe4c} 
DW\+\_\+\+API int dwarf\+\_\+iterate\+\_\+fde\+\_\+all\+\_\+regs3 (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_ga0dcf06f2de1fd8a043c9e4452373a8f5}{Dwarf\+\_\+\+Fde}}}]{dw\+\_\+fde}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga0a2d8a10ad38a22cda39a81ab65c2b4d}{Dwarf\+\_\+\+Regtable3}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+reg\+\_\+table}{, }\item[{\doxymbox{\hyperlink{group__frame_gaa6b949dccd17dbde81598fae5150c084}{dwarf\+\_\+iterate\+\_\+fde\+\_\+callback\+\_\+function\+\_\+type}}}]{dw\+\_\+callback}{, }\item[{void \texorpdfstring{$\ast$}{*}}]{dw\+\_\+callback\+\_\+user\+\_\+data}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+error}{}\end{DoxyParamCaption})}



Iterate all rows for a given FDE. Iinvokes a provided callback function for each row. Iteration continues until all rows have been visited. 

This is much more efficient than repeatedly calling \doxylink{group__frame_gad02f3b78d6cebb9e60c1b00dadd2ecb8}{dwarf\+\_\+get\+\_\+fde\+\_\+info\+\_\+for\+\_\+all\+\_\+regs3\+\_\+b()} when you need to extract all rows of an FDE. See dwarfexample/\+frame2.\+c for an example of its use.


\begin{DoxyParams}{Parameters}
{\em dw\+\_\+fde} & Pass in the FDE of interest. \\
\hline
{\em dw\+\_\+reg\+\_\+table} & Pass in the address of a struct to be filled in and returned via the callback with fde row data for the current row. The struct should be all zeros. The array of struct \doxylink{struct_dwarf___regtable___entry3__s}{Dwarf\+\_\+\+Regtable\+\_\+\+Entry3\+\_\+s} for register rules in the struct must have been allocated and initialized with all zero bits. \\
\hline
{\em dw\+\_\+callback} & The callback that should b invoked for each row in the FDE. The register table of size @dw\+\_\+reg\+\_\+table\+\_\+size is passed to the callback. \\
\hline
{\em dw\+\_\+callback\+\_\+user\+\_\+data} & User data that is passed to the callback \\
\hline
{\em dw\+\_\+error} & The usual error detail return pointer. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Returns DW\+\_\+\+DLV\+\_\+\+OK if iterations all succeeded 
\end{DoxyReturn}
\Hypertarget{group__frame_gacf23737bb881788cd01a3e856c7ba6fd}\index{Stack Frame Access@{Stack Frame Access}!dwarf\_set\_frame\_cfa\_value@{dwarf\_set\_frame\_cfa\_value}}
\index{dwarf\_set\_frame\_cfa\_value@{dwarf\_set\_frame\_cfa\_value}!Stack Frame Access@{Stack Frame Access}}
\doxysubsubsection{\texorpdfstring{dwarf\_set\_frame\_cfa\_value()}{dwarf\_set\_frame\_cfa\_value()}}
{\footnotesize\ttfamily \label{group__frame_gacf23737bb881788cd01a3e856c7ba6fd} 
DW\+\_\+\+API \doxymbox{\hyperlink{group__basicdatatypes_ga4fb2b14ce7a6d27321fa7999b46b82bd}{Dwarf\+\_\+\+Half}} dwarf\+\_\+set\+\_\+frame\+\_\+cfa\+\_\+value (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_gac2ba1e1c1b70a3191506b414195ca807}{Dwarf\+\_\+\+Debug}}}]{dw\+\_\+dbg}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga4fb2b14ce7a6d27321fa7999b46b82bd}{Dwarf\+\_\+\+Half}}}]{dw\+\_\+value}{}\end{DoxyParamCaption})}



Frame CFA Column \doxylink{index_frameregs}{Invariants for setting frame registers }. 


\begin{DoxyParams}{Parameters}
{\em dw\+\_\+dbg} & The \doxylink{group__allstructs_gac2ba1e1c1b70a3191506b414195ca807}{Dwarf\+\_\+\+Debug} of interest. If it is null or invalid, return the value zero immediately. \\
\hline
{\em dw\+\_\+value} & Pass in the value to record for the library to use. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Returns the previous value. 
\end{DoxyReturn}
\Hypertarget{group__frame_ga2b70edee1979f6a7164ed4d8c0a76a18}\index{Stack Frame Access@{Stack Frame Access}!dwarf\_set\_frame\_rule\_initial\_value@{dwarf\_set\_frame\_rule\_initial\_value}}
\index{dwarf\_set\_frame\_rule\_initial\_value@{dwarf\_set\_frame\_rule\_initial\_value}!Stack Frame Access@{Stack Frame Access}}
\doxysubsubsection{\texorpdfstring{dwarf\_set\_frame\_rule\_initial\_value()}{dwarf\_set\_frame\_rule\_initial\_value()}}
{\footnotesize\ttfamily \label{group__frame_ga2b70edee1979f6a7164ed4d8c0a76a18} 
DW\+\_\+\+API \doxymbox{\hyperlink{group__basicdatatypes_ga4fb2b14ce7a6d27321fa7999b46b82bd}{Dwarf\+\_\+\+Half}} dwarf\+\_\+set\+\_\+frame\+\_\+rule\+\_\+initial\+\_\+value (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_gac2ba1e1c1b70a3191506b414195ca807}{Dwarf\+\_\+\+Debug}}}]{dw\+\_\+dbg}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga4fb2b14ce7a6d27321fa7999b46b82bd}{Dwarf\+\_\+\+Half}}}]{dw\+\_\+value}{}\end{DoxyParamCaption})}



Frame Rule Initial Value. 

\doxylink{index_frameregs}{Invariants for setting frame registers }


\begin{DoxyParams}{Parameters}
{\em dw\+\_\+dbg} & The \doxylink{group__allstructs_gac2ba1e1c1b70a3191506b414195ca807}{Dwarf\+\_\+\+Debug} of interest. If it is null or invalid, return the value zero immediately. \\
\hline
{\em dw\+\_\+value} & Pass in the value to record for the library to use. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Returns the previous value. 
\end{DoxyReturn}
\Hypertarget{group__frame_gae32b7cb9b94a3f865d5a4c426b4ff148}\index{Stack Frame Access@{Stack Frame Access}!dwarf\_set\_frame\_rule\_table\_size@{dwarf\_set\_frame\_rule\_table\_size}}
\index{dwarf\_set\_frame\_rule\_table\_size@{dwarf\_set\_frame\_rule\_table\_size}!Stack Frame Access@{Stack Frame Access}}
\doxysubsubsection{\texorpdfstring{dwarf\_set\_frame\_rule\_table\_size()}{dwarf\_set\_frame\_rule\_table\_size()}}
{\footnotesize\ttfamily \label{group__frame_gae32b7cb9b94a3f865d5a4c426b4ff148} 
DW\+\_\+\+API \doxymbox{\hyperlink{group__basicdatatypes_ga4fb2b14ce7a6d27321fa7999b46b82bd}{Dwarf\+\_\+\+Half}} dwarf\+\_\+set\+\_\+frame\+\_\+rule\+\_\+table\+\_\+size (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_gac2ba1e1c1b70a3191506b414195ca807}{Dwarf\+\_\+\+Debug}}}]{dw\+\_\+dbg}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga4fb2b14ce7a6d27321fa7999b46b82bd}{Dwarf\+\_\+\+Half}}}]{dw\+\_\+value}{}\end{DoxyParamCaption})}



Frame Rule Table Size \doxylink{index_frameregs}{Invariants for setting frame registers }. 


\begin{DoxyParams}{Parameters}
{\em dw\+\_\+dbg} & The \doxylink{group__allstructs_gac2ba1e1c1b70a3191506b414195ca807}{Dwarf\+\_\+\+Debug} of interest. If it is null or invalid, return the value zero immediately \\
\hline
{\em dw\+\_\+value} & Pass in the value to record for the library to use. If zero, the Frame Rule Table Size is left unchanged. The library someone arbitrarily does not allow setting the number of register rules (registers) below 188 (DW\+\_\+\+FRAME\+\_\+\+HIGHEST\+\_\+\+NORMAL\+\_\+\+REGISTER in \doxylink{dwarf_8h}{dwarf.\+h}) and does not apply any dw\+\_\+value lower than that. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Returns the previous value. 
\end{DoxyReturn}
\Hypertarget{group__frame_ga4f3e1aa9954a664808824095cabb342b}\index{Stack Frame Access@{Stack Frame Access}!dwarf\_set\_frame\_same\_value@{dwarf\_set\_frame\_same\_value}}
\index{dwarf\_set\_frame\_same\_value@{dwarf\_set\_frame\_same\_value}!Stack Frame Access@{Stack Frame Access}}
\doxysubsubsection{\texorpdfstring{dwarf\_set\_frame\_same\_value()}{dwarf\_set\_frame\_same\_value()}}
{\footnotesize\ttfamily \label{group__frame_ga4f3e1aa9954a664808824095cabb342b} 
DW\+\_\+\+API \doxymbox{\hyperlink{group__basicdatatypes_ga4fb2b14ce7a6d27321fa7999b46b82bd}{Dwarf\+\_\+\+Half}} dwarf\+\_\+set\+\_\+frame\+\_\+same\+\_\+value (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_gac2ba1e1c1b70a3191506b414195ca807}{Dwarf\+\_\+\+Debug}}}]{dw\+\_\+dbg}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga4fb2b14ce7a6d27321fa7999b46b82bd}{Dwarf\+\_\+\+Half}}}]{dw\+\_\+value}{}\end{DoxyParamCaption})}



Frame Same Value Default \doxylink{index_frameregs}{Invariants for setting frame registers }. 


\begin{DoxyParams}{Parameters}
{\em dw\+\_\+dbg} & The \doxylink{group__allstructs_gac2ba1e1c1b70a3191506b414195ca807}{Dwarf\+\_\+\+Debug} of interest. If it is null or invalid, return the value zero immediately. \\
\hline
{\em dw\+\_\+value} & Pass in the value to record for the library to use. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Returns the previous value. 
\end{DoxyReturn}
\Hypertarget{group__frame_gae8e5ccbb4499f7fac13cfc62d29376aa}\index{Stack Frame Access@{Stack Frame Access}!dwarf\_set\_frame\_undefined\_value@{dwarf\_set\_frame\_undefined\_value}}
\index{dwarf\_set\_frame\_undefined\_value@{dwarf\_set\_frame\_undefined\_value}!Stack Frame Access@{Stack Frame Access}}
\doxysubsubsection{\texorpdfstring{dwarf\_set\_frame\_undefined\_value()}{dwarf\_set\_frame\_undefined\_value()}}
{\footnotesize\ttfamily \label{group__frame_gae8e5ccbb4499f7fac13cfc62d29376aa} 
DW\+\_\+\+API \doxymbox{\hyperlink{group__basicdatatypes_ga4fb2b14ce7a6d27321fa7999b46b82bd}{Dwarf\+\_\+\+Half}} dwarf\+\_\+set\+\_\+frame\+\_\+undefined\+\_\+value (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_gac2ba1e1c1b70a3191506b414195ca807}{Dwarf\+\_\+\+Debug}}}]{dw\+\_\+dbg}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga4fb2b14ce7a6d27321fa7999b46b82bd}{Dwarf\+\_\+\+Half}}}]{dw\+\_\+value}{}\end{DoxyParamCaption})}



Frame Undefined Value Default \doxylink{index_frameregs}{Invariants for setting frame registers }. 


\begin{DoxyParams}{Parameters}
{\em dw\+\_\+dbg} & The \doxylink{group__allstructs_gac2ba1e1c1b70a3191506b414195ca807}{Dwarf\+\_\+\+Debug} of interest. If it is null or invalid, return the value zero immediately. \\
\hline
{\em dw\+\_\+value} & Pass in the value to record for the library to use. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Returns the previous value. 
\end{DoxyReturn}
