\doxysection{Compilation Unit (CU) Access }
\hypertarget{group__compilationunit}{}\label{group__compilationunit}\index{Compilation Unit (CU) Access@{Compilation Unit (CU) Access}}
\doxysubsubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
DW\+\_\+\+API int \doxymbox{\hyperlink{group__compilationunit_ga282a397fc2095bd2939d486b232e3cc2}{dwarf\+\_\+next\+\_\+cu\+\_\+header\+\_\+e}} (\doxymbox{\hyperlink{group__allstructs_gac2ba1e1c1b70a3191506b414195ca807}{Dwarf\+\_\+\+Debug}} dw\+\_\+dbg, \doxymbox{\hyperlink{group__basicdatatypes_ga32afecc94a71aae2be36aa279f1dded8}{Dwarf\+\_\+\+Bool}} dw\+\_\+is\+\_\+info, \doxymbox{\hyperlink{group__allstructs_ga3a3759c3047d78dba9f590d5e5893be5}{Dwarf\+\_\+\+Die}} \texorpdfstring{$\ast$}{*}dw\+\_\+cu\+\_\+die, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}dw\+\_\+cu\+\_\+header\+\_\+length, \doxymbox{\hyperlink{group__basicdatatypes_ga4fb2b14ce7a6d27321fa7999b46b82bd}{Dwarf\+\_\+\+Half}} \texorpdfstring{$\ast$}{*}dw\+\_\+version\+\_\+stamp, \doxymbox{\hyperlink{group__basicdatatypes_ga08c706887ae8c6e09e8f0fb5dd9a539e}{Dwarf\+\_\+\+Off}} \texorpdfstring{$\ast$}{*}dw\+\_\+abbrev\+\_\+offset, \doxymbox{\hyperlink{group__basicdatatypes_ga4fb2b14ce7a6d27321fa7999b46b82bd}{Dwarf\+\_\+\+Half}} \texorpdfstring{$\ast$}{*}dw\+\_\+address\+\_\+size, \doxymbox{\hyperlink{group__basicdatatypes_ga4fb2b14ce7a6d27321fa7999b46b82bd}{Dwarf\+\_\+\+Half}} \texorpdfstring{$\ast$}{*}dw\+\_\+length\+\_\+size, \doxymbox{\hyperlink{group__basicdatatypes_ga4fb2b14ce7a6d27321fa7999b46b82bd}{Dwarf\+\_\+\+Half}} \texorpdfstring{$\ast$}{*}dw\+\_\+extension\+\_\+size, \doxymbox{\hyperlink{group__allstructs_ga3eae90d156d443089b7868fbc26ccf12}{Dwarf\+\_\+\+Sig8}} \texorpdfstring{$\ast$}{*}dw\+\_\+type\+\_\+signature, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}dw\+\_\+typeoffset, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}dw\+\_\+next\+\_\+cu\+\_\+header\+\_\+offset, \doxymbox{\hyperlink{group__basicdatatypes_ga4fb2b14ce7a6d27321fa7999b46b82bd}{Dwarf\+\_\+\+Half}} \texorpdfstring{$\ast$}{*}dw\+\_\+header\+\_\+cu\+\_\+type, \doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}dw\+\_\+error)
\begin{DoxyCompactList}\small\item\em Return information on the next CU header(e). \end{DoxyCompactList}\item 
DW\+\_\+\+API int \doxymbox{\hyperlink{group__compilationunit_ga474f73416ef468aab00dffbbdd149b0e}{dwarf\+\_\+next\+\_\+cu\+\_\+header\+\_\+d}} (\doxymbox{\hyperlink{group__allstructs_gac2ba1e1c1b70a3191506b414195ca807}{Dwarf\+\_\+\+Debug}} dw\+\_\+dbg, \doxymbox{\hyperlink{group__basicdatatypes_ga32afecc94a71aae2be36aa279f1dded8}{Dwarf\+\_\+\+Bool}} dw\+\_\+is\+\_\+info, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}dw\+\_\+cu\+\_\+header\+\_\+length, \doxymbox{\hyperlink{group__basicdatatypes_ga4fb2b14ce7a6d27321fa7999b46b82bd}{Dwarf\+\_\+\+Half}} \texorpdfstring{$\ast$}{*}dw\+\_\+version\+\_\+stamp, \doxymbox{\hyperlink{group__basicdatatypes_ga08c706887ae8c6e09e8f0fb5dd9a539e}{Dwarf\+\_\+\+Off}} \texorpdfstring{$\ast$}{*}dw\+\_\+abbrev\+\_\+offset, \doxymbox{\hyperlink{group__basicdatatypes_ga4fb2b14ce7a6d27321fa7999b46b82bd}{Dwarf\+\_\+\+Half}} \texorpdfstring{$\ast$}{*}dw\+\_\+address\+\_\+size, \doxymbox{\hyperlink{group__basicdatatypes_ga4fb2b14ce7a6d27321fa7999b46b82bd}{Dwarf\+\_\+\+Half}} \texorpdfstring{$\ast$}{*}dw\+\_\+length\+\_\+size, \doxymbox{\hyperlink{group__basicdatatypes_ga4fb2b14ce7a6d27321fa7999b46b82bd}{Dwarf\+\_\+\+Half}} \texorpdfstring{$\ast$}{*}dw\+\_\+extension\+\_\+size, \doxymbox{\hyperlink{group__allstructs_ga3eae90d156d443089b7868fbc26ccf12}{Dwarf\+\_\+\+Sig8}} \texorpdfstring{$\ast$}{*}dw\+\_\+type\+\_\+signature, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}dw\+\_\+typeoffset, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}dw\+\_\+next\+\_\+cu\+\_\+header\+\_\+offset, \doxymbox{\hyperlink{group__basicdatatypes_ga4fb2b14ce7a6d27321fa7999b46b82bd}{Dwarf\+\_\+\+Half}} \texorpdfstring{$\ast$}{*}dw\+\_\+header\+\_\+cu\+\_\+type, \doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}dw\+\_\+error)
\begin{DoxyCompactList}\small\item\em Return information on the next CU header(d). \end{DoxyCompactList}\item 
DW\+\_\+\+API int \doxymbox{\hyperlink{group__compilationunit_gac9755be1dca4cc32c3a477d1f10f35f4}{dwarf\+\_\+siblingof\+\_\+c}} (\doxymbox{\hyperlink{group__allstructs_ga3a3759c3047d78dba9f590d5e5893be5}{Dwarf\+\_\+\+Die}} dw\+\_\+die, \doxymbox{\hyperlink{group__allstructs_ga3a3759c3047d78dba9f590d5e5893be5}{Dwarf\+\_\+\+Die}} \texorpdfstring{$\ast$}{*}dw\+\_\+return\+\_\+siblingdie, \doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}dw\+\_\+error)
\begin{DoxyCompactList}\small\item\em Return the next sibling DIE. \end{DoxyCompactList}\item 
DW\+\_\+\+API int \doxymbox{\hyperlink{group__compilationunit_gab8ae0bd010de9b7dca65f761b2c395e1}{dwarf\+\_\+siblingof\+\_\+b}} (\doxymbox{\hyperlink{group__allstructs_gac2ba1e1c1b70a3191506b414195ca807}{Dwarf\+\_\+\+Debug}} dw\+\_\+dbg, \doxymbox{\hyperlink{group__allstructs_ga3a3759c3047d78dba9f590d5e5893be5}{Dwarf\+\_\+\+Die}} dw\+\_\+die, \doxymbox{\hyperlink{group__basicdatatypes_ga32afecc94a71aae2be36aa279f1dded8}{Dwarf\+\_\+\+Bool}} dw\+\_\+is\+\_\+info, \doxymbox{\hyperlink{group__allstructs_ga3a3759c3047d78dba9f590d5e5893be5}{Dwarf\+\_\+\+Die}} \texorpdfstring{$\ast$}{*}dw\+\_\+return\+\_\+siblingdie, \doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}dw\+\_\+error)
\begin{DoxyCompactList}\small\item\em Return the first DIE or the next sibling DIE. \end{DoxyCompactList}\item 
DW\+\_\+\+API int \doxymbox{\hyperlink{group__compilationunit_ga790259904d96dd35fba269a3d6e59110}{dwarf\+\_\+cu\+\_\+header\+\_\+basics}} (\doxymbox{\hyperlink{group__allstructs_ga3a3759c3047d78dba9f590d5e5893be5}{Dwarf\+\_\+\+Die}} dw\+\_\+die, \doxymbox{\hyperlink{group__basicdatatypes_ga4fb2b14ce7a6d27321fa7999b46b82bd}{Dwarf\+\_\+\+Half}} \texorpdfstring{$\ast$}{*}dw\+\_\+version, \doxymbox{\hyperlink{group__basicdatatypes_ga32afecc94a71aae2be36aa279f1dded8}{Dwarf\+\_\+\+Bool}} \texorpdfstring{$\ast$}{*}dw\+\_\+is\+\_\+info, \doxymbox{\hyperlink{group__basicdatatypes_ga32afecc94a71aae2be36aa279f1dded8}{Dwarf\+\_\+\+Bool}} \texorpdfstring{$\ast$}{*}dw\+\_\+is\+\_\+dwo, \doxymbox{\hyperlink{group__basicdatatypes_ga4fb2b14ce7a6d27321fa7999b46b82bd}{Dwarf\+\_\+\+Half}} \texorpdfstring{$\ast$}{*}dw\+\_\+offset\+\_\+size, \doxymbox{\hyperlink{group__basicdatatypes_ga4fb2b14ce7a6d27321fa7999b46b82bd}{Dwarf\+\_\+\+Half}} \texorpdfstring{$\ast$}{*}dw\+\_\+address\+\_\+size, \doxymbox{\hyperlink{group__basicdatatypes_ga4fb2b14ce7a6d27321fa7999b46b82bd}{Dwarf\+\_\+\+Half}} \texorpdfstring{$\ast$}{*}dw\+\_\+extension\+\_\+size, \doxymbox{\hyperlink{group__allstructs_ga3eae90d156d443089b7868fbc26ccf12}{Dwarf\+\_\+\+Sig8}} \texorpdfstring{$\ast$}{*}\texorpdfstring{$\ast$}{*}dw\+\_\+signature, \doxymbox{\hyperlink{group__basicdatatypes_ga08c706887ae8c6e09e8f0fb5dd9a539e}{Dwarf\+\_\+\+Off}} \texorpdfstring{$\ast$}{*}dw\+\_\+offset\+\_\+of\+\_\+length, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}dw\+\_\+total\+\_\+byte\+\_\+length, \doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}dw\+\_\+error)
\begin{DoxyCompactList}\small\item\em Return some CU-\/relative facts. \end{DoxyCompactList}\item 
DW\+\_\+\+API int \doxymbox{\hyperlink{group__compilationunit_gab31f79265b1d39aff271b1780c6d0eb9}{dwarf\+\_\+child}} (\doxymbox{\hyperlink{group__allstructs_ga3a3759c3047d78dba9f590d5e5893be5}{Dwarf\+\_\+\+Die}} dw\+\_\+die, \doxymbox{\hyperlink{group__allstructs_ga3a3759c3047d78dba9f590d5e5893be5}{Dwarf\+\_\+\+Die}} \texorpdfstring{$\ast$}{*}dw\+\_\+return\+\_\+childdie, \doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}dw\+\_\+error)
\begin{DoxyCompactList}\small\item\em Return the child DIE, if any. The child may be the first of a list of sibling DIEs. \end{DoxyCompactList}\item 
DW\+\_\+\+API void \doxymbox{\hyperlink{group__compilationunit_ga44bb7c253ff53b3edd9c4e012ec15a08}{dwarf\+\_\+dealloc\+\_\+die}} (\doxymbox{\hyperlink{group__allstructs_ga3a3759c3047d78dba9f590d5e5893be5}{Dwarf\+\_\+\+Die}} dw\+\_\+die)
\begin{DoxyCompactList}\small\item\em Deallocate (free) a DIE. \end{DoxyCompactList}\item 
DW\+\_\+\+API int \doxymbox{\hyperlink{group__compilationunit_ga00e7f0bbb07aa1d47c4d3f1889342c66}{dwarf\+\_\+die\+\_\+from\+\_\+hash\+\_\+signature}} (\doxymbox{\hyperlink{group__allstructs_gac2ba1e1c1b70a3191506b414195ca807}{Dwarf\+\_\+\+Debug}} dw\+\_\+dbg, \doxymbox{\hyperlink{group__allstructs_ga3eae90d156d443089b7868fbc26ccf12}{Dwarf\+\_\+\+Sig8}} \texorpdfstring{$\ast$}{*}dw\+\_\+hash\+\_\+sig, const char \texorpdfstring{$\ast$}{*}dw\+\_\+sig\+\_\+type, \doxymbox{\hyperlink{group__allstructs_ga3a3759c3047d78dba9f590d5e5893be5}{Dwarf\+\_\+\+Die}} \texorpdfstring{$\ast$}{*}dw\+\_\+returned\+\_\+\+CU\+\_\+die, \doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}dw\+\_\+error)
\begin{DoxyCompactList}\small\item\em Return a CU DIE given a has signature. \end{DoxyCompactList}\item 
DW\+\_\+\+API int \doxymbox{\hyperlink{group__compilationunit_gac0bb0845b5cfd7c708bd64f37662f649}{dwarf\+\_\+offdie\+\_\+b}} (\doxymbox{\hyperlink{group__allstructs_gac2ba1e1c1b70a3191506b414195ca807}{Dwarf\+\_\+\+Debug}} dw\+\_\+dbg, \doxymbox{\hyperlink{group__basicdatatypes_ga08c706887ae8c6e09e8f0fb5dd9a539e}{Dwarf\+\_\+\+Off}} dw\+\_\+offset, \doxymbox{\hyperlink{group__basicdatatypes_ga32afecc94a71aae2be36aa279f1dded8}{Dwarf\+\_\+\+Bool}} dw\+\_\+is\+\_\+info, \doxymbox{\hyperlink{group__allstructs_ga3a3759c3047d78dba9f590d5e5893be5}{Dwarf\+\_\+\+Die}} \texorpdfstring{$\ast$}{*}dw\+\_\+return\+\_\+die, \doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}dw\+\_\+error)
\begin{DoxyCompactList}\small\item\em Return DIE given global (not CU-\/relative) offset. \end{DoxyCompactList}\item 
DW\+\_\+\+API int \doxymbox{\hyperlink{group__compilationunit_gafff49c39fdc7870b731ccf1ebaa37f3b}{dwarf\+\_\+find\+\_\+die\+\_\+given\+\_\+sig8}} (\doxymbox{\hyperlink{group__allstructs_gac2ba1e1c1b70a3191506b414195ca807}{Dwarf\+\_\+\+Debug}} dw\+\_\+dbg, \doxymbox{\hyperlink{group__allstructs_ga3eae90d156d443089b7868fbc26ccf12}{Dwarf\+\_\+\+Sig8}} \texorpdfstring{$\ast$}{*}dw\+\_\+ref, \doxymbox{\hyperlink{group__allstructs_ga3a3759c3047d78dba9f590d5e5893be5}{Dwarf\+\_\+\+Die}} \texorpdfstring{$\ast$}{*}dw\+\_\+die\+\_\+out, \doxymbox{\hyperlink{group__basicdatatypes_ga32afecc94a71aae2be36aa279f1dded8}{Dwarf\+\_\+\+Bool}} \texorpdfstring{$\ast$}{*}dw\+\_\+is\+\_\+info, \doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}dw\+\_\+error)
\begin{DoxyCompactList}\small\item\em Return a DIE given a \doxylink{group__allstructs_ga3eae90d156d443089b7868fbc26ccf12}{Dwarf\+\_\+\+Sig8} hash. \end{DoxyCompactList}\item 
DW\+\_\+\+API \doxymbox{\hyperlink{group__basicdatatypes_ga32afecc94a71aae2be36aa279f1dded8}{Dwarf\+\_\+\+Bool}} \doxymbox{\hyperlink{group__compilationunit_ga62be9a37c432b6143e1c4e333946b454}{dwarf\+\_\+get\+\_\+die\+\_\+infotypes\+\_\+flag}} (\doxymbox{\hyperlink{group__allstructs_ga3a3759c3047d78dba9f590d5e5893be5}{Dwarf\+\_\+\+Die}} dw\+\_\+die)
\begin{DoxyCompactList}\small\item\em Return the is\+\_\+info flag. \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}


\label{doc-func-members}
\Hypertarget{group__compilationunit_doc-func-members}
\doxysubsection{Function Documentation}
\Hypertarget{group__compilationunit_gab31f79265b1d39aff271b1780c6d0eb9}\index{Compilation Unit (CU) Access@{Compilation Unit (CU) Access}!dwarf\_child@{dwarf\_child}}
\index{dwarf\_child@{dwarf\_child}!Compilation Unit (CU) Access@{Compilation Unit (CU) Access}}
\doxysubsubsection{\texorpdfstring{dwarf\_child()}{dwarf\_child()}}
{\footnotesize\ttfamily \label{group__compilationunit_gab31f79265b1d39aff271b1780c6d0eb9} 
DW\+\_\+\+API int dwarf\+\_\+child (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_ga3a3759c3047d78dba9f590d5e5893be5}{Dwarf\+\_\+\+Die}}}]{dw\+\_\+die}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga3a3759c3047d78dba9f590d5e5893be5}{Dwarf\+\_\+\+Die}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+return\+\_\+childdie}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+error}{}\end{DoxyParamCaption})}



Return the child DIE, if any. The child may be the first of a list of sibling DIEs. 


\begin{DoxyParams}{Parameters}
{\em dw\+\_\+die} & We will return the first child of this DIE. \\
\hline
{\em dw\+\_\+return\+\_\+childdie} & Returns the first child through the pointer. For subsequent dies siblings of the first, use \doxylink{group__compilationunit_gac9755be1dca4cc32c3a477d1f10f35f4}{dwarf\+\_\+siblingof\+\_\+c()}. \\
\hline
{\em dw\+\_\+error} & The usual Dwarf\+\_\+\+Error\texorpdfstring{$\ast$}{*}. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Returns DW\+\_\+\+DLV\+\_\+\+OK etc. Returns DW\+\_\+\+DLV\+\_\+\+NO\+\_\+\+ENTRY if dw\+\_\+die has no children.
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\doxylink{group__example5}{Using dwarf\+\_\+child()} 
\end{DoxySeeAlso}
\Hypertarget{group__compilationunit_ga790259904d96dd35fba269a3d6e59110}\index{Compilation Unit (CU) Access@{Compilation Unit (CU) Access}!dwarf\_cu\_header\_basics@{dwarf\_cu\_header\_basics}}
\index{dwarf\_cu\_header\_basics@{dwarf\_cu\_header\_basics}!Compilation Unit (CU) Access@{Compilation Unit (CU) Access}}
\doxysubsubsection{\texorpdfstring{dwarf\_cu\_header\_basics()}{dwarf\_cu\_header\_basics()}}
{\footnotesize\ttfamily \label{group__compilationunit_ga790259904d96dd35fba269a3d6e59110} 
DW\+\_\+\+API int dwarf\+\_\+cu\+\_\+header\+\_\+basics (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_ga3a3759c3047d78dba9f590d5e5893be5}{Dwarf\+\_\+\+Die}}}]{dw\+\_\+die}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga4fb2b14ce7a6d27321fa7999b46b82bd}{Dwarf\+\_\+\+Half}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+version}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga32afecc94a71aae2be36aa279f1dded8}{Dwarf\+\_\+\+Bool}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+is\+\_\+info}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga32afecc94a71aae2be36aa279f1dded8}{Dwarf\+\_\+\+Bool}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+is\+\_\+dwo}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga4fb2b14ce7a6d27321fa7999b46b82bd}{Dwarf\+\_\+\+Half}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+offset\+\_\+size}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga4fb2b14ce7a6d27321fa7999b46b82bd}{Dwarf\+\_\+\+Half}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+address\+\_\+size}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga4fb2b14ce7a6d27321fa7999b46b82bd}{Dwarf\+\_\+\+Half}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+extension\+\_\+size}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga3eae90d156d443089b7868fbc26ccf12}{Dwarf\+\_\+\+Sig8}} \texorpdfstring{$\ast$}{*}\texorpdfstring{$\ast$}{*}}]{dw\+\_\+signature}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga08c706887ae8c6e09e8f0fb5dd9a539e}{Dwarf\+\_\+\+Off}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+offset\+\_\+of\+\_\+length}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+total\+\_\+byte\+\_\+length}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+error}{}\end{DoxyParamCaption})}



Return some CU-\/relative facts. 

Any \doxylink{group__allstructs_ga3a3759c3047d78dba9f590d5e5893be5}{Dwarf\+\_\+\+Die} will work. The values returned through the pointers are about the CU for a DIE


\begin{DoxyParams}{Parameters}
{\em dw\+\_\+die} & Some open \doxylink{group__allstructs_ga3a3759c3047d78dba9f590d5e5893be5}{Dwarf\+\_\+\+Die}. \\
\hline
{\em dw\+\_\+version} & Returns the DWARF version:\+ 2,3,4, or 5 \\
\hline
{\em dw\+\_\+is\+\_\+info} & Returns non-\/zero if the CU is .debug\+\_\+info. Returns zero if the CU is .debug\+\_\+types (DWARF4). \\
\hline
{\em dw\+\_\+is\+\_\+dwo} & Returns ton-\/zero if the CU is a dwo/\+dwp object and zero if it is a standard object. \\
\hline
{\em dw\+\_\+offset\+\_\+size} & Returns offset size, 4 and 8 are possible. \\
\hline
{\em dw\+\_\+address\+\_\+size} & Almost always returns 4 or 8. Could be 2 in unusual circumstances. \\
\hline
{\em dw\+\_\+extension\+\_\+size} & The sum of dw\+\_\+offset\+\_\+size and dw\+\_\+extension\+\_\+size are the count of the initial bytes of the CU. Standard lengths are 4 and 12. For 1990\textquotesingle{}s SGI objects the length could be 8. \\
\hline
{\em dw\+\_\+signature} & Returns a pointer to an 8 byte signature. \\
\hline
{\em dw\+\_\+offset\+\_\+of\+\_\+length} & Returns the section offset of the initial byte of the CU. \\
\hline
{\em dw\+\_\+total\+\_\+byte\+\_\+length} & Returns the total length of the CU including the length field and the content of the CU. \\
\hline
{\em dw\+\_\+error} & The usual Dwarf\+\_\+\+Error\texorpdfstring{$\ast$}{*}. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Returns DW\+\_\+\+DLV\+\_\+\+OK etc. 
\end{DoxyReturn}
\Hypertarget{group__compilationunit_ga44bb7c253ff53b3edd9c4e012ec15a08}\index{Compilation Unit (CU) Access@{Compilation Unit (CU) Access}!dwarf\_dealloc\_die@{dwarf\_dealloc\_die}}
\index{dwarf\_dealloc\_die@{dwarf\_dealloc\_die}!Compilation Unit (CU) Access@{Compilation Unit (CU) Access}}
\doxysubsubsection{\texorpdfstring{dwarf\_dealloc\_die()}{dwarf\_dealloc\_die()}}
{\footnotesize\ttfamily \label{group__compilationunit_ga44bb7c253ff53b3edd9c4e012ec15a08} 
DW\+\_\+\+API void dwarf\+\_\+dealloc\+\_\+die (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_ga3a3759c3047d78dba9f590d5e5893be5}{Dwarf\+\_\+\+Die}}}]{dw\+\_\+die}{}\end{DoxyParamCaption})}



Deallocate (free) a DIE. 


\begin{DoxyParams}{Parameters}
{\em dw\+\_\+die} & Frees (deallocs) memory associated with this \doxylink{group__allstructs_ga3a3759c3047d78dba9f590d5e5893be5}{Dwarf\+\_\+\+Die}.\\
\hline
\end{DoxyParams}
DIEs not freed explicitly will be freed by \doxylink{group__initfunctions_ga14a505c07ee5481401735f280f719454}{dwarf\+\_\+finish()}. \Hypertarget{group__compilationunit_ga00e7f0bbb07aa1d47c4d3f1889342c66}\index{Compilation Unit (CU) Access@{Compilation Unit (CU) Access}!dwarf\_die\_from\_hash\_signature@{dwarf\_die\_from\_hash\_signature}}
\index{dwarf\_die\_from\_hash\_signature@{dwarf\_die\_from\_hash\_signature}!Compilation Unit (CU) Access@{Compilation Unit (CU) Access}}
\doxysubsubsection{\texorpdfstring{dwarf\_die\_from\_hash\_signature()}{dwarf\_die\_from\_hash\_signature()}}
{\footnotesize\ttfamily \label{group__compilationunit_ga00e7f0bbb07aa1d47c4d3f1889342c66} 
DW\+\_\+\+API int dwarf\+\_\+die\+\_\+from\+\_\+hash\+\_\+signature (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_gac2ba1e1c1b70a3191506b414195ca807}{Dwarf\+\_\+\+Debug}}}]{dw\+\_\+dbg}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga3eae90d156d443089b7868fbc26ccf12}{Dwarf\+\_\+\+Sig8}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+hash\+\_\+sig}{, }\item[{const char \texorpdfstring{$\ast$}{*}}]{dw\+\_\+sig\+\_\+type}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga3a3759c3047d78dba9f590d5e5893be5}{Dwarf\+\_\+\+Die}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+returned\+\_\+\+CU\+\_\+die}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+error}{}\end{DoxyParamCaption})}



Return a CU DIE given a has signature. 


\begin{DoxyParams}{Parameters}
{\em dw\+\_\+dbg} & \\
\hline
{\em dw\+\_\+hash\+\_\+sig} & A pointer to an 8 byte signature to be looked up. in .debug\+\_\+names. \\
\hline
{\em dw\+\_\+sig\+\_\+type} & Valid type requests are "{}cu"{} and "{}tu"{} \\
\hline
{\em dw\+\_\+returned\+\_\+\+CU\+\_\+die} & Returns the found CU DIE if one is found. \\
\hline
{\em dw\+\_\+error} & The usual Dwarf\+\_\+\+Error\texorpdfstring{$\ast$}{*}. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
DW\+\_\+\+DLV\+\_\+\+OK means dw\+\_\+returned\+\_\+\+CU\+\_\+die was set. DW\+\_\+\+DLV\+\_\+\+NO\+\_\+\+ENTRY means the signature could not be found. 
\end{DoxyReturn}
\Hypertarget{group__compilationunit_gafff49c39fdc7870b731ccf1ebaa37f3b}\index{Compilation Unit (CU) Access@{Compilation Unit (CU) Access}!dwarf\_find\_die\_given\_sig8@{dwarf\_find\_die\_given\_sig8}}
\index{dwarf\_find\_die\_given\_sig8@{dwarf\_find\_die\_given\_sig8}!Compilation Unit (CU) Access@{Compilation Unit (CU) Access}}
\doxysubsubsection{\texorpdfstring{dwarf\_find\_die\_given\_sig8()}{dwarf\_find\_die\_given\_sig8()}}
{\footnotesize\ttfamily \label{group__compilationunit_gafff49c39fdc7870b731ccf1ebaa37f3b} 
DW\+\_\+\+API int dwarf\+\_\+find\+\_\+die\+\_\+given\+\_\+sig8 (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_gac2ba1e1c1b70a3191506b414195ca807}{Dwarf\+\_\+\+Debug}}}]{dw\+\_\+dbg}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga3eae90d156d443089b7868fbc26ccf12}{Dwarf\+\_\+\+Sig8}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+ref}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga3a3759c3047d78dba9f590d5e5893be5}{Dwarf\+\_\+\+Die}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+die\+\_\+out}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga32afecc94a71aae2be36aa279f1dded8}{Dwarf\+\_\+\+Bool}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+is\+\_\+info}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+error}{}\end{DoxyParamCaption})}



Return a DIE given a \doxylink{group__allstructs_ga3eae90d156d443089b7868fbc26ccf12}{Dwarf\+\_\+\+Sig8} hash. 

Returns DIE and is\+\_\+info flag if it finds the hash signature of a DIE. Often will be the CU DIE of DW\+\_\+\+UT\+\_\+split\+\_\+type or DW\+\_\+\+UT\+\_\+type CU.


\begin{DoxyParams}{Parameters}
{\em dw\+\_\+dbg} & The applicable \doxylink{group__allstructs_gac2ba1e1c1b70a3191506b414195ca807}{Dwarf\+\_\+\+Debug} \\
\hline
{\em dw\+\_\+ref} & A pointer to a \doxylink{group__allstructs_ga3eae90d156d443089b7868fbc26ccf12}{Dwarf\+\_\+\+Sig8} struct whose content defines what is being searched for. \\
\hline
{\em dw\+\_\+die\+\_\+out} & If found, this returns the found DIE itself. \\
\hline
{\em dw\+\_\+is\+\_\+info} & If found, this returns section (.debug\+\_\+is\+\_\+info or .debug\+\_\+is\+\_\+types). \\
\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__compilationunit_ga62be9a37c432b6143e1c4e333946b454}\index{Compilation Unit (CU) Access@{Compilation Unit (CU) Access}!dwarf\_get\_die\_infotypes\_flag@{dwarf\_get\_die\_infotypes\_flag}}
\index{dwarf\_get\_die\_infotypes\_flag@{dwarf\_get\_die\_infotypes\_flag}!Compilation Unit (CU) Access@{Compilation Unit (CU) Access}}
\doxysubsubsection{\texorpdfstring{dwarf\_get\_die\_infotypes\_flag()}{dwarf\_get\_die\_infotypes\_flag()}}
{\footnotesize\ttfamily \label{group__compilationunit_ga62be9a37c432b6143e1c4e333946b454} 
DW\+\_\+\+API \doxymbox{\hyperlink{group__basicdatatypes_ga32afecc94a71aae2be36aa279f1dded8}{Dwarf\+\_\+\+Bool}} dwarf\+\_\+get\+\_\+die\+\_\+infotypes\+\_\+flag (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_ga3a3759c3047d78dba9f590d5e5893be5}{Dwarf\+\_\+\+Die}}}]{dw\+\_\+die}{}\end{DoxyParamCaption})}



Return the is\+\_\+info flag. 

So client software knows if a DIE is in debug\+\_\+info or (DWARF4-\/only) debug\+\_\+types. 
\begin{DoxyParams}{Parameters}
{\em dw\+\_\+die} & The DIE being queried. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
If non-\/zero the flag means the DIE is in .debug\+\_\+info. Otherwise it means the DIE is in .debug\+\_\+types. 
\end{DoxyReturn}
\Hypertarget{group__compilationunit_ga474f73416ef468aab00dffbbdd149b0e}\index{Compilation Unit (CU) Access@{Compilation Unit (CU) Access}!dwarf\_next\_cu\_header\_d@{dwarf\_next\_cu\_header\_d}}
\index{dwarf\_next\_cu\_header\_d@{dwarf\_next\_cu\_header\_d}!Compilation Unit (CU) Access@{Compilation Unit (CU) Access}}
\doxysubsubsection{\texorpdfstring{dwarf\_next\_cu\_header\_d()}{dwarf\_next\_cu\_header\_d()}}
{\footnotesize\ttfamily \label{group__compilationunit_ga474f73416ef468aab00dffbbdd149b0e} 
DW\+\_\+\+API int dwarf\+\_\+next\+\_\+cu\+\_\+header\+\_\+d (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_gac2ba1e1c1b70a3191506b414195ca807}{Dwarf\+\_\+\+Debug}}}]{dw\+\_\+dbg}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga32afecc94a71aae2be36aa279f1dded8}{Dwarf\+\_\+\+Bool}}}]{dw\+\_\+is\+\_\+info}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+cu\+\_\+header\+\_\+length}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga4fb2b14ce7a6d27321fa7999b46b82bd}{Dwarf\+\_\+\+Half}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+version\+\_\+stamp}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga08c706887ae8c6e09e8f0fb5dd9a539e}{Dwarf\+\_\+\+Off}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+abbrev\+\_\+offset}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga4fb2b14ce7a6d27321fa7999b46b82bd}{Dwarf\+\_\+\+Half}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+address\+\_\+size}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga4fb2b14ce7a6d27321fa7999b46b82bd}{Dwarf\+\_\+\+Half}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+length\+\_\+size}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga4fb2b14ce7a6d27321fa7999b46b82bd}{Dwarf\+\_\+\+Half}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+extension\+\_\+size}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga3eae90d156d443089b7868fbc26ccf12}{Dwarf\+\_\+\+Sig8}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+type\+\_\+signature}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+typeoffset}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+next\+\_\+cu\+\_\+header\+\_\+offset}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga4fb2b14ce7a6d27321fa7999b46b82bd}{Dwarf\+\_\+\+Half}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+header\+\_\+cu\+\_\+type}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+error}{}\end{DoxyParamCaption})}



Return information on the next CU header(d). 

This is the version to use for linking against libdwarf v0.\+8.\+0 and earlier (and it also works for later versions).

Replace all uses of \doxylink{group__compilationunit_ga474f73416ef468aab00dffbbdd149b0e}{dwarf\+\_\+next\+\_\+cu\+\_\+header\+\_\+d()} and use dwarf\+\_\+next\+\_\+cu\+\_\+header\+\_\+e instead.

Assuming you continue to use \doxylink{group__compilationunit_ga474f73416ef468aab00dffbbdd149b0e}{dwarf\+\_\+next\+\_\+cu\+\_\+header\+\_\+d()} read the following carefully.

The library keeps track of where it is in the object file following a call to \doxylink{group__compilationunit_ga474f73416ef468aab00dffbbdd149b0e}{dwarf\+\_\+next\+\_\+cu\+\_\+header\+\_\+d()} and it knows (see next paragraph) how to interpret dwarf\+\_\+siblingof\+\_\+b(dw\+\_\+dbg,\+NULL,dw\+\_\+is\+\_\+info, \&cu\+\_\+die,...).

In order to read the DIE tree of the CU this records information in the dw\+\_\+dbg data and after a successful call to \doxylink{group__compilationunit_ga474f73416ef468aab00dffbbdd149b0e}{dwarf\+\_\+next\+\_\+cu\+\_\+header\+\_\+d()} only an immediate call to dwarf\+\_\+siblingof\+\_\+b(dw\+\_\+dbg,\+NULL,dw\+\_\+is\+\_\+info, \&cu\+\_\+die,...) is guaranteed to return the correct DIE (a Compilation Unit DIE).

Avoid any call to libdwarf between a successful call to \doxylink{group__compilationunit_ga474f73416ef468aab00dffbbdd149b0e}{dwarf\+\_\+next\+\_\+cu\+\_\+header\+\_\+d()} and dwarf\+\_\+siblingof\+\_\+b(dw\+\_\+dbg,\+NULL,dw\+\_\+is\+\_\+info, \&cu\+\_\+die,...) to ensure the intended and correct \doxylink{group__allstructs_ga3a3759c3047d78dba9f590d5e5893be5}{Dwarf\+\_\+\+Die} is returned.

\begin{DoxySeeAlso}{See also}
\doxylink{group__examplecuhdrd}{Example walking CUs(d)}
\end{DoxySeeAlso}
All arguments are the same as \doxylink{group__compilationunit_ga282a397fc2095bd2939d486b232e3cc2}{dwarf\+\_\+next\+\_\+cu\+\_\+header\+\_\+e()} except that there is no dw\+\_\+cu\+\_\+die argument in \doxylink{group__compilationunit_ga474f73416ef468aab00dffbbdd149b0e}{dwarf\+\_\+next\+\_\+cu\+\_\+header\+\_\+d()}. \Hypertarget{group__compilationunit_ga282a397fc2095bd2939d486b232e3cc2}\index{Compilation Unit (CU) Access@{Compilation Unit (CU) Access}!dwarf\_next\_cu\_header\_e@{dwarf\_next\_cu\_header\_e}}
\index{dwarf\_next\_cu\_header\_e@{dwarf\_next\_cu\_header\_e}!Compilation Unit (CU) Access@{Compilation Unit (CU) Access}}
\doxysubsubsection{\texorpdfstring{dwarf\_next\_cu\_header\_e()}{dwarf\_next\_cu\_header\_e()}}
{\footnotesize\ttfamily \label{group__compilationunit_ga282a397fc2095bd2939d486b232e3cc2} 
DW\+\_\+\+API int dwarf\+\_\+next\+\_\+cu\+\_\+header\+\_\+e (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_gac2ba1e1c1b70a3191506b414195ca807}{Dwarf\+\_\+\+Debug}}}]{dw\+\_\+dbg}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga32afecc94a71aae2be36aa279f1dded8}{Dwarf\+\_\+\+Bool}}}]{dw\+\_\+is\+\_\+info}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga3a3759c3047d78dba9f590d5e5893be5}{Dwarf\+\_\+\+Die}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+cu\+\_\+die}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+cu\+\_\+header\+\_\+length}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga4fb2b14ce7a6d27321fa7999b46b82bd}{Dwarf\+\_\+\+Half}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+version\+\_\+stamp}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga08c706887ae8c6e09e8f0fb5dd9a539e}{Dwarf\+\_\+\+Off}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+abbrev\+\_\+offset}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga4fb2b14ce7a6d27321fa7999b46b82bd}{Dwarf\+\_\+\+Half}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+address\+\_\+size}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga4fb2b14ce7a6d27321fa7999b46b82bd}{Dwarf\+\_\+\+Half}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+length\+\_\+size}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga4fb2b14ce7a6d27321fa7999b46b82bd}{Dwarf\+\_\+\+Half}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+extension\+\_\+size}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga3eae90d156d443089b7868fbc26ccf12}{Dwarf\+\_\+\+Sig8}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+type\+\_\+signature}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+typeoffset}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+next\+\_\+cu\+\_\+header\+\_\+offset}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga4fb2b14ce7a6d27321fa7999b46b82bd}{Dwarf\+\_\+\+Half}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+header\+\_\+cu\+\_\+type}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+error}{}\end{DoxyParamCaption})}



Return information on the next CU header(e). 

New in v0.\+9.\+0 November 2023.

\doxylink{group__compilationunit_ga282a397fc2095bd2939d486b232e3cc2}{dwarf\+\_\+next\+\_\+cu\+\_\+header\+\_\+e()} is preferred over \doxylink{group__compilationunit_ga474f73416ef468aab00dffbbdd149b0e}{dwarf\+\_\+next\+\_\+cu\+\_\+header\+\_\+d()} as the latter requires a second (immediate) step to access the CU-\/\+DIE of the CU.

With the CU-\/\+DIE returned by \doxylink{group__compilationunit_ga282a397fc2095bd2939d486b232e3cc2}{dwarf\+\_\+next\+\_\+cu\+\_\+header\+\_\+e()} one calls \doxylink{group__compilationunit_gab31f79265b1d39aff271b1780c6d0eb9}{dwarf\+\_\+child()} first (the CU-\/\+DIE has no siblings) and then one calls \doxylink{group__compilationunit_gac9755be1dca4cc32c3a477d1f10f35f4}{dwarf\+\_\+siblingof\+\_\+c()} and \doxylink{group__compilationunit_gab31f79265b1d39aff271b1780c6d0eb9}{dwarf\+\_\+child()} appropriately to descend the tree of DIEs.


\begin{DoxyParams}{Parameters}
{\em dw\+\_\+dbg} & The \doxylink{group__allstructs_gac2ba1e1c1b70a3191506b414195ca807}{Dwarf\+\_\+\+Debug} of interest. \\
\hline
{\em dw\+\_\+is\+\_\+info} & Pass in TRUE if reading through .debug\+\_\+info Pass in FALSE if reading through DWARF4 .debug\+\_\+types. \\
\hline
{\em dw\+\_\+cu\+\_\+die} & Pass in a pointer to a \doxylink{group__allstructs_ga3a3759c3047d78dba9f590d5e5893be5}{Dwarf\+\_\+\+Die}. the call sets the passed-\/in pointer to be a Compilation Unit Die for use with \doxylink{group__compilationunit_gab31f79265b1d39aff271b1780c6d0eb9}{dwarf\+\_\+child()} or any other call requiring a \doxylink{group__allstructs_ga3a3759c3047d78dba9f590d5e5893be5}{Dwarf\+\_\+\+Die} argument. \\
\hline
{\em dw\+\_\+cu\+\_\+header\+\_\+length} & Returns the length of the just-\/read CU header. \\
\hline
{\em dw\+\_\+version\+\_\+stamp} & Returns the version number (2 to 5) of the CU header just read. \\
\hline
{\em dw\+\_\+abbrev\+\_\+offset} & Returns the .debug\+\_\+abbrev offset from the the CU header just read. \\
\hline
{\em dw\+\_\+address\+\_\+size} & Returns the address size specified for this CU, usually either 4 or 8. \\
\hline
{\em dw\+\_\+length\+\_\+size} & Returns the offset size (the length of the size field from the header) specified for this CU, either 4 or 4. \\
\hline
{\em dw\+\_\+extension\+\_\+size} & If the section is standard 64bit DWARF then this value is 4. Else the value is zero. \\
\hline
{\em dw\+\_\+type\+\_\+signature} & If the CU is DW\+\_\+\+UT\+\_\+skeleton DW\+\_\+\+UT\+\_\+split\+\_\+compile, DW\+\_\+\+UT\+\_\+split\+\_\+type or DW\+\_\+\+UT\+\_\+type this is the type signature from the CU\+\_\+header compiled into this field. \\
\hline
{\em dw\+\_\+typeoffset} & For DW\+\_\+\+UT\+\_\+split\+\_\+type or DW\+\_\+\+UT\+\_\+type this is the type offset from the CU header. \\
\hline
{\em dw\+\_\+next\+\_\+cu\+\_\+header\+\_\+offset} & The offset in the section of the next CU (unless there is a compiler bug this is rarely of interest). \\
\hline
{\em dw\+\_\+header\+\_\+cu\+\_\+type} & Returns DW\+\_\+\+UT\+\_\+compile, or other DW\+\_\+\+UT value. \\
\hline
{\em dw\+\_\+error} & In case return is DW\+\_\+\+DLV\+\_\+\+ERROR dw\+\_\+error is set to point to the error details. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Returns DW\+\_\+\+DLV\+\_\+\+OK on success. Returns DW\+\_\+\+DLV\+\_\+\+NO\+\_\+\+ENTRY if all CUs have been read.
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\doxylink{group__examplecuhdre}{Example walking CUs(e)} 
\end{DoxySeeAlso}
\Hypertarget{group__compilationunit_gac0bb0845b5cfd7c708bd64f37662f649}\index{Compilation Unit (CU) Access@{Compilation Unit (CU) Access}!dwarf\_offdie\_b@{dwarf\_offdie\_b}}
\index{dwarf\_offdie\_b@{dwarf\_offdie\_b}!Compilation Unit (CU) Access@{Compilation Unit (CU) Access}}
\doxysubsubsection{\texorpdfstring{dwarf\_offdie\_b()}{dwarf\_offdie\_b()}}
{\footnotesize\ttfamily \label{group__compilationunit_gac0bb0845b5cfd7c708bd64f37662f649} 
DW\+\_\+\+API int dwarf\+\_\+offdie\+\_\+b (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_gac2ba1e1c1b70a3191506b414195ca807}{Dwarf\+\_\+\+Debug}}}]{dw\+\_\+dbg}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga08c706887ae8c6e09e8f0fb5dd9a539e}{Dwarf\+\_\+\+Off}}}]{dw\+\_\+offset}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga32afecc94a71aae2be36aa279f1dded8}{Dwarf\+\_\+\+Bool}}}]{dw\+\_\+is\+\_\+info}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga3a3759c3047d78dba9f590d5e5893be5}{Dwarf\+\_\+\+Die}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+return\+\_\+die}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+error}{}\end{DoxyParamCaption})}



Return DIE given global (not CU-\/relative) offset. 

This works whether or not the target section has had \doxylink{group__compilationunit_ga474f73416ef468aab00dffbbdd149b0e}{dwarf\+\_\+next\+\_\+cu\+\_\+header\+\_\+d()} applied, the CU the offset exists in has been seen at all, or the target offset is one libdwarf has seen before.


\begin{DoxyParams}{Parameters}
{\em dw\+\_\+dbg} & The applicable \doxylink{group__allstructs_gac2ba1e1c1b70a3191506b414195ca807}{Dwarf\+\_\+\+Debug} \\
\hline
{\em dw\+\_\+offset} & The global offset of the DIE in the appropriate section. \\
\hline
{\em dw\+\_\+is\+\_\+info} & Pass TRUE if the target is .debug\+\_\+info. Pass FALSE if the target is .debug\+\_\+types. \\
\hline
{\em dw\+\_\+return\+\_\+die} & On success this returns a DIE pointer to the found DIE. \\
\hline
{\em dw\+\_\+error} & The usual Dwarf\+\_\+\+Error\texorpdfstring{$\ast$}{*}. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
DW\+\_\+\+DLV\+\_\+\+OK means dw\+\_\+returned\+\_\+die was found DW\+\_\+\+DLV\+\_\+\+NO\+\_\+\+ENTRY is only possible if the offset is to a null DIE, and that is very unusual. Otherwise expect DW\+\_\+\+DLV\+\_\+\+ERROR.
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\doxylink{group__example6}{Using dwarf\+\_\+offdie\+\_\+b()} 
\end{DoxySeeAlso}
\Hypertarget{group__compilationunit_gab8ae0bd010de9b7dca65f761b2c395e1}\index{Compilation Unit (CU) Access@{Compilation Unit (CU) Access}!dwarf\_siblingof\_b@{dwarf\_siblingof\_b}}
\index{dwarf\_siblingof\_b@{dwarf\_siblingof\_b}!Compilation Unit (CU) Access@{Compilation Unit (CU) Access}}
\doxysubsubsection{\texorpdfstring{dwarf\_siblingof\_b()}{dwarf\_siblingof\_b()}}
{\footnotesize\ttfamily \label{group__compilationunit_gab8ae0bd010de9b7dca65f761b2c395e1} 
DW\+\_\+\+API int dwarf\+\_\+siblingof\+\_\+b (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_gac2ba1e1c1b70a3191506b414195ca807}{Dwarf\+\_\+\+Debug}}}]{dw\+\_\+dbg}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga3a3759c3047d78dba9f590d5e5893be5}{Dwarf\+\_\+\+Die}}}]{dw\+\_\+die}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga32afecc94a71aae2be36aa279f1dded8}{Dwarf\+\_\+\+Bool}}}]{dw\+\_\+is\+\_\+info}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga3a3759c3047d78dba9f590d5e5893be5}{Dwarf\+\_\+\+Die}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+return\+\_\+siblingdie}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+error}{}\end{DoxyParamCaption})}



Return the first DIE or the next sibling DIE. 

This function follows \doxylink{group__compilationunit_ga474f73416ef468aab00dffbbdd149b0e}{dwarf\+\_\+next\+\_\+cu\+\_\+header\+\_\+d()} to return the CU-\/\+DIE that \doxylink{group__compilationunit_ga474f73416ef468aab00dffbbdd149b0e}{dwarf\+\_\+next\+\_\+cu\+\_\+header\+\_\+d()} implies but does not reveal.

Aside from the special case required use of \doxylink{group__compilationunit_gab8ae0bd010de9b7dca65f761b2c395e1}{dwarf\+\_\+siblingof\+\_\+b()} immediately following \doxylink{group__compilationunit_ga474f73416ef468aab00dffbbdd149b0e}{dwarf\+\_\+next\+\_\+cu\+\_\+header\+\_\+d()}, \doxylink{group__compilationunit_gac9755be1dca4cc32c3a477d1f10f35f4}{dwarf\+\_\+siblingof\+\_\+c()} is the faster function.

This function will eventually be deprecated.


\begin{DoxyParams}{Parameters}
{\em dw\+\_\+dbg} & The \doxylink{group__allstructs_gac2ba1e1c1b70a3191506b414195ca807}{Dwarf\+\_\+\+Debug} one is operating on. \\
\hline
{\em dw\+\_\+die} & Immediately after calling dwarf\+\_\+next\+\_\+cu\+\_\+header\+\_\+d pass in NULL to retrieve the CU DIE. Or pass in a known DIE and this will retrieve the next sibling in the chain. \\
\hline
{\em dw\+\_\+is\+\_\+info} & Pass TRUE or FALSE to match the applicable dwarf\+\_\+next\+\_\+cu\+\_\+header\+\_\+d call. \\
\hline
{\em dw\+\_\+return\+\_\+siblingdie} & The DIE returned through the pointer. \\
\hline
{\em dw\+\_\+error} & The usual error information, if any. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Returns DW\+\_\+\+DLV\+\_\+\+OK etc.
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
example4 

dwarf\+\_\+get\+\_\+die\+\_\+infotypes 
\end{DoxySeeAlso}
\Hypertarget{group__compilationunit_gac9755be1dca4cc32c3a477d1f10f35f4}\index{Compilation Unit (CU) Access@{Compilation Unit (CU) Access}!dwarf\_siblingof\_c@{dwarf\_siblingof\_c}}
\index{dwarf\_siblingof\_c@{dwarf\_siblingof\_c}!Compilation Unit (CU) Access@{Compilation Unit (CU) Access}}
\doxysubsubsection{\texorpdfstring{dwarf\_siblingof\_c()}{dwarf\_siblingof\_c()}}
{\footnotesize\ttfamily \label{group__compilationunit_gac9755be1dca4cc32c3a477d1f10f35f4} 
DW\+\_\+\+API int dwarf\+\_\+siblingof\+\_\+c (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_ga3a3759c3047d78dba9f590d5e5893be5}{Dwarf\+\_\+\+Die}}}]{dw\+\_\+die}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga3a3759c3047d78dba9f590d5e5893be5}{Dwarf\+\_\+\+Die}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+return\+\_\+siblingdie}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+error}{}\end{DoxyParamCaption})}



Return the next sibling DIE. 


\begin{DoxyParams}{Parameters}
{\em dw\+\_\+die} & Pass in a known DIE and this will retrieve the next sibling in the chain. \\
\hline
{\em dw\+\_\+return\+\_\+siblingdie} & The DIE returned through the pointer. \\
\hline
{\em dw\+\_\+error} & The usual error information, if any. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Returns DW\+\_\+\+DLV\+\_\+\+OK etc.
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
example4 

dwarf\+\_\+get\+\_\+die\+\_\+infotypes 
\end{DoxySeeAlso}
