\doxysection{Fast Access to Split Dwarf (Debug Fission) }
\hypertarget{group__splitdwarf}{}\label{group__splitdwarf}\index{Fast Access to Split Dwarf (Debug Fission)@{Fast Access to Split Dwarf (Debug Fission)}}
\doxysubsubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
DW\+\_\+\+API int \doxymbox{\hyperlink{group__splitdwarf_ga53f0db8b097e7361be0ab95c27a9b7a1}{dwarf\+\_\+get\+\_\+xu\+\_\+index\+\_\+header}} (\doxymbox{\hyperlink{group__allstructs_gac2ba1e1c1b70a3191506b414195ca807}{Dwarf\+\_\+\+Debug}} dw\+\_\+dbg, const char \texorpdfstring{$\ast$}{*}dw\+\_\+section\+\_\+type, \doxymbox{\hyperlink{group__allstructs_ga85f2862c1b7f8249050a52eaea63e1d3}{Dwarf\+\_\+\+Xu\+\_\+\+Index\+\_\+\+Header}} \texorpdfstring{$\ast$}{*}dw\+\_\+xuhdr, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}dw\+\_\+version\+\_\+number, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}dw\+\_\+section\+\_\+count, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}dw\+\_\+units\+\_\+count, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}dw\+\_\+hash\+\_\+slots\+\_\+count, const char \texorpdfstring{$\ast$}{*}\texorpdfstring{$\ast$}{*}dw\+\_\+sect\+\_\+name, \doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}dw\+\_\+error)
\begin{DoxyCompactList}\small\item\em Access a .debug\+\_\+cu\+\_\+index or dw\+\_\+tu\+\_\+index section. \end{DoxyCompactList}\item 
DW\+\_\+\+API void \doxymbox{\hyperlink{group__splitdwarf_gae7c02412cbb8641585a56102a6e6b36a}{dwarf\+\_\+dealloc\+\_\+xu\+\_\+header}} (\doxymbox{\hyperlink{group__allstructs_ga85f2862c1b7f8249050a52eaea63e1d3}{Dwarf\+\_\+\+Xu\+\_\+\+Index\+\_\+\+Header}} dw\+\_\+xuhdr)
\begin{DoxyCompactList}\small\item\em Dealloc (free) memory associated with dw\+\_\+xuhdr. \end{DoxyCompactList}\item 
DW\+\_\+\+API int \doxymbox{\hyperlink{group__splitdwarf_gaac68e64b6dc8ad3561afac0d37e98d56}{dwarf\+\_\+get\+\_\+xu\+\_\+index\+\_\+section\+\_\+type}} (\doxymbox{\hyperlink{group__allstructs_ga85f2862c1b7f8249050a52eaea63e1d3}{Dwarf\+\_\+\+Xu\+\_\+\+Index\+\_\+\+Header}} dw\+\_\+xuhdr, const char \texorpdfstring{$\ast$}{*}\texorpdfstring{$\ast$}{*}dw\+\_\+typename, const char \texorpdfstring{$\ast$}{*}\texorpdfstring{$\ast$}{*}dw\+\_\+sectionname, \doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}dw\+\_\+error)
\begin{DoxyCompactList}\small\item\em Return basic information about a \doxylink{group__allstructs_ga85f2862c1b7f8249050a52eaea63e1d3}{Dwarf\+\_\+\+Xu\+\_\+\+Index\+\_\+\+Header}. \end{DoxyCompactList}\item 
DW\+\_\+\+API int \doxymbox{\hyperlink{group__splitdwarf_ga990c8cf560b323bb5f800ce9c64d09b6}{dwarf\+\_\+get\+\_\+xu\+\_\+hash\+\_\+entry}} (\doxymbox{\hyperlink{group__allstructs_ga85f2862c1b7f8249050a52eaea63e1d3}{Dwarf\+\_\+\+Xu\+\_\+\+Index\+\_\+\+Header}} dw\+\_\+xuhdr, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} dw\+\_\+index, \doxymbox{\hyperlink{group__allstructs_ga3eae90d156d443089b7868fbc26ccf12}{Dwarf\+\_\+\+Sig8}} \texorpdfstring{$\ast$}{*}dw\+\_\+hash\+\_\+value, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}dw\+\_\+index\+\_\+to\+\_\+sections, \doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}dw\+\_\+error)
\begin{DoxyCompactList}\small\item\em Get a Hash Entry. \end{DoxyCompactList}\item 
DW\+\_\+\+API int \doxymbox{\hyperlink{group__splitdwarf_gaa847c609f70ddde38bf9e31e1bafaef1}{dwarf\+\_\+get\+\_\+xu\+\_\+section\+\_\+names}} (\doxymbox{\hyperlink{group__allstructs_ga85f2862c1b7f8249050a52eaea63e1d3}{Dwarf\+\_\+\+Xu\+\_\+\+Index\+\_\+\+Header}} dw\+\_\+xuhdr, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} dw\+\_\+column\+\_\+index, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}dw\+\_\+\+SECT\+\_\+number, const char \texorpdfstring{$\ast$}{*}\texorpdfstring{$\ast$}{*}dw\+\_\+\+SECT\+\_\+name, \doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}dw\+\_\+error)
\begin{DoxyCompactList}\small\item\em get DW\+\_\+\+SECT value for a column. \end{DoxyCompactList}\item 
DW\+\_\+\+API int \doxymbox{\hyperlink{group__splitdwarf_ga7430f61910478564a31152aacc497539}{dwarf\+\_\+get\+\_\+xu\+\_\+section\+\_\+offset}} (\doxymbox{\hyperlink{group__allstructs_ga85f2862c1b7f8249050a52eaea63e1d3}{Dwarf\+\_\+\+Xu\+\_\+\+Index\+\_\+\+Header}} dw\+\_\+xuhdr, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} dw\+\_\+row\+\_\+index, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} dw\+\_\+column\+\_\+index, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}dw\+\_\+sec\+\_\+offset, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}dw\+\_\+sec\+\_\+size, \doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}dw\+\_\+error)
\begin{DoxyCompactList}\small\item\em Get row data (section data) for a row and column. \end{DoxyCompactList}\item 
DW\+\_\+\+API int \doxymbox{\hyperlink{group__splitdwarf_ga8d71e529d3c341c6b256127c5d3dc9b4}{dwarf\+\_\+get\+\_\+debugfission\+\_\+for\+\_\+die}} (\doxymbox{\hyperlink{group__allstructs_ga3a3759c3047d78dba9f590d5e5893be5}{Dwarf\+\_\+\+Die}} dw\+\_\+die, \doxymbox{\hyperlink{group__allstructs_gaa55a84805e4e64bcd1f18bc2258fb574}{Dwarf\+\_\+\+Debug\+\_\+\+Fission\+\_\+\+Per\+\_\+\+CU}} \texorpdfstring{$\ast$}{*}dw\+\_\+percu\+\_\+out, \doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}dw\+\_\+error)
\begin{DoxyCompactList}\small\item\em Get debugfission data for a \doxylink{group__allstructs_ga3a3759c3047d78dba9f590d5e5893be5}{Dwarf\+\_\+\+Die}. \end{DoxyCompactList}\item 
DW\+\_\+\+API int \doxymbox{\hyperlink{group__splitdwarf_gae3247dc062c9de40e5535ce87d7222a2}{dwarf\+\_\+get\+\_\+debugfission\+\_\+for\+\_\+key}} (\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\+\_\+cu\+\_\+type, \doxymbox{\hyperlink{group__allstructs_gaa55a84805e4e64bcd1f18bc2258fb574}{Dwarf\+\_\+\+Debug\+\_\+\+Fission\+\_\+\+Per\+\_\+\+CU}} \texorpdfstring{$\ast$}{*}dw\+\_\+percu\+\_\+out, \doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}dw\+\_\+error)
\begin{DoxyCompactList}\small\item\em Given a hash signature find per-\/cu Fission data. \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}


\label{doc-func-members}
\Hypertarget{group__splitdwarf_doc-func-members}
\doxysubsection{Function Documentation}
\Hypertarget{group__splitdwarf_gae7c02412cbb8641585a56102a6e6b36a}\index{Fast Access to Split Dwarf (Debug Fission)@{Fast Access to Split Dwarf (Debug Fission)}!dwarf\_dealloc\_xu\_header@{dwarf\_dealloc\_xu\_header}}
\index{dwarf\_dealloc\_xu\_header@{dwarf\_dealloc\_xu\_header}!Fast Access to Split Dwarf (Debug Fission)@{Fast Access to Split Dwarf (Debug Fission)}}
\doxysubsubsection{\texorpdfstring{dwarf\_dealloc\_xu\_header()}{dwarf\_dealloc\_xu\_header()}}
{\footnotesize\ttfamily \label{group__splitdwarf_gae7c02412cbb8641585a56102a6e6b36a} 
DW\+\_\+\+API void dwarf\+\_\+dealloc\+\_\+xu\+\_\+header (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_ga85f2862c1b7f8249050a52eaea63e1d3}{Dwarf\+\_\+\+Xu\+\_\+\+Index\+\_\+\+Header}}}]{dw\+\_\+xuhdr}{}\end{DoxyParamCaption})}



Dealloc (free) memory associated with dw\+\_\+xuhdr. 

Should be named dwarf\+\_\+dealloc\+\_\+xuhdr instead. 
\begin{DoxyParams}{Parameters}
{\em dw\+\_\+xuhdr} & Dealloc (free) all associated memory. The caller should zero the passed in value on return as it is then a stale value. \\
\hline
\end{DoxyParams}
\Hypertarget{group__splitdwarf_ga8d71e529d3c341c6b256127c5d3dc9b4}\index{Fast Access to Split Dwarf (Debug Fission)@{Fast Access to Split Dwarf (Debug Fission)}!dwarf\_get\_debugfission\_for\_die@{dwarf\_get\_debugfission\_for\_die}}
\index{dwarf\_get\_debugfission\_for\_die@{dwarf\_get\_debugfission\_for\_die}!Fast Access to Split Dwarf (Debug Fission)@{Fast Access to Split Dwarf (Debug Fission)}}
\doxysubsubsection{\texorpdfstring{dwarf\_get\_debugfission\_for\_die()}{dwarf\_get\_debugfission\_for\_die()}}
{\footnotesize\ttfamily \label{group__splitdwarf_ga8d71e529d3c341c6b256127c5d3dc9b4} 
DW\+\_\+\+API int dwarf\+\_\+get\+\_\+debugfission\+\_\+for\+\_\+die (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_ga3a3759c3047d78dba9f590d5e5893be5}{Dwarf\+\_\+\+Die}}}]{dw\+\_\+die}{, }\item[{\doxymbox{\hyperlink{group__allstructs_gaa55a84805e4e64bcd1f18bc2258fb574}{Dwarf\+\_\+\+Debug\+\_\+\+Fission\+\_\+\+Per\+\_\+\+CU}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+percu\+\_\+out}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+error}{}\end{DoxyParamCaption})}



Get debugfission data for a \doxylink{group__allstructs_ga3a3759c3047d78dba9f590d5e5893be5}{Dwarf\+\_\+\+Die}. 

For any \doxylink{group__allstructs_ga3a3759c3047d78dba9f590d5e5893be5}{Dwarf\+\_\+\+Die} in a compilation unit, return the debug fission table data through dw\+\_\+percu\+\_\+out. Usually applications will pass in the CU die. Calling code should zero all of the struct \doxylink{struct_dwarf___debug___fission___per___c_u__s}{Dwarf\+\_\+\+Debug\+\_\+\+Fission\+\_\+\+Per\+\_\+\+CU\+\_\+s} before calling this. If there is no debugfission data this returns DW\+\_\+\+DLV\+\_\+\+NO\+\_\+\+ENTRY (only .dwp objects have debugfission data) 
\begin{DoxyParams}{Parameters}
{\em dw\+\_\+die} & Pass in a \doxylink{group__allstructs_ga3a3759c3047d78dba9f590d5e5893be5}{Dwarf\+\_\+\+Die} pointer, Usually pass in a CU DIE pointer. \\
\hline
{\em dw\+\_\+percu\+\_\+out} & Pass in a pointer to a zeroed structure. On success the function fills in the structure. \\
\hline
{\em dw\+\_\+error} & The usual pointer to return error details. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Returns DW\+\_\+\+DLV\+\_\+\+OK etc. 
\end{DoxyReturn}
\Hypertarget{group__splitdwarf_gae3247dc062c9de40e5535ce87d7222a2}\index{Fast Access to Split Dwarf (Debug Fission)@{Fast Access to Split Dwarf (Debug Fission)}!dwarf\_get\_debugfission\_for\_key@{dwarf\_get\_debugfission\_for\_key}}
\index{dwarf\_get\_debugfission\_for\_key@{dwarf\_get\_debugfission\_for\_key}!Fast Access to Split Dwarf (Debug Fission)@{Fast Access to Split Dwarf (Debug Fission)}}
\doxysubsubsection{\texorpdfstring{dwarf\_get\_debugfission\_for\_key()}{dwarf\_get\_debugfission\_for\_key()}}
{\footnotesize\ttfamily \label{group__splitdwarf_gae3247dc062c9de40e5535ce87d7222a2} 
DW\+\_\+\+API int dwarf\+\_\+get\+\_\+debugfission\+\_\+for\+\_\+key (\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\+\_\+cu\+\_\+type}{, }\item[{\doxymbox{\hyperlink{group__allstructs_gaa55a84805e4e64bcd1f18bc2258fb574}{Dwarf\+\_\+\+Debug\+\_\+\+Fission\+\_\+\+Per\+\_\+\+CU}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+percu\+\_\+out}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+error}{}\end{DoxyParamCaption})}



Given a hash signature find per-\/cu Fission data. 


\begin{DoxyParams}{Parameters}
{\em dw\+\_\+dbg} & Pass in the \doxylink{group__allstructs_gac2ba1e1c1b70a3191506b414195ca807}{Dwarf\+\_\+\+Debug} of interest. \\
\hline
{\em dw\+\_\+hash\+\_\+sig} & Pass in a pointer to a \doxylink{group__allstructs_ga3eae90d156d443089b7868fbc26ccf12}{Dwarf\+\_\+\+Sig8} containing a hash value of interest. \\
\hline
{\em dw\+\_\+cu\+\_\+type} & Pass in the type, a string. Either "{}cu"{} or "{}tu"{}. \\
\hline
{\em dw\+\_\+percu\+\_\+out} & Pass in a pointer to a zeroed structure. On success the function fills in the structure. \\
\hline
{\em dw\+\_\+error} & The usual pointer to return error details. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Returns DW\+\_\+\+DLV\+\_\+\+OK etc. 
\end{DoxyReturn}
\Hypertarget{group__splitdwarf_ga990c8cf560b323bb5f800ce9c64d09b6}\index{Fast Access to Split Dwarf (Debug Fission)@{Fast Access to Split Dwarf (Debug Fission)}!dwarf\_get\_xu\_hash\_entry@{dwarf\_get\_xu\_hash\_entry}}
\index{dwarf\_get\_xu\_hash\_entry@{dwarf\_get\_xu\_hash\_entry}!Fast Access to Split Dwarf (Debug Fission)@{Fast Access to Split Dwarf (Debug Fission)}}
\doxysubsubsection{\texorpdfstring{dwarf\_get\_xu\_hash\_entry()}{dwarf\_get\_xu\_hash\_entry()}}
{\footnotesize\ttfamily \label{group__splitdwarf_ga990c8cf560b323bb5f800ce9c64d09b6} 
DW\+\_\+\+API int dwarf\+\_\+get\+\_\+xu\+\_\+hash\+\_\+entry (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_ga85f2862c1b7f8249050a52eaea63e1d3}{Dwarf\+\_\+\+Xu\+\_\+\+Index\+\_\+\+Header}}}]{dw\+\_\+xuhdr}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}}}]{dw\+\_\+index}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga3eae90d156d443089b7868fbc26ccf12}{Dwarf\+\_\+\+Sig8}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+hash\+\_\+value}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+index\+\_\+to\+\_\+sections}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+error}{}\end{DoxyParamCaption})}



Get a Hash Entry. 

\begin{DoxySeeAlso}{See also}
\doxylink{group__examplez}{Reading Split Dwarf (\+Debug Fission) hash slots}
\end{DoxySeeAlso}

\begin{DoxyParams}{Parameters}
{\em dw\+\_\+xuhdr} & Pass in an open header pointer. \\
\hline
{\em dw\+\_\+index} & Pass in the index of the entry you wish. Valid index values are 0 through {\bfseries{S-\/1}}. If the dw\+\_\+index passed in is outside the valid range the functionj \\
\hline
{\em dw\+\_\+hash\+\_\+value} & Pass in a pointer to a \doxylink{group__allstructs_ga3eae90d156d443089b7868fbc26ccf12}{Dwarf\+\_\+\+Sig8}. On success the hash struct is filled in with the 8 byte hash value. \\
\hline
{\em dw\+\_\+index\+\_\+to\+\_\+sections} & On success returns the offset/\+size table index for this hash entry. \\
\hline
{\em dw\+\_\+error} & The usual pointer to return error details. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Returns DW\+\_\+\+DLV\+\_\+\+OK on success. If the dw\+\_\+index passed in is outside the valid range the function it returns DW\+\_\+\+DLV\+\_\+\+NO\+\_\+\+ENTRY (before version 0.\+7.\+0 it returned DW\+\_\+\+DLV\+\_\+\+ERROR, though nothing mentioned that). In case of error it returns DW\+\_\+\+DLV\+\_\+\+ERROR. If dw\+\_\+error is non-\/null returns error details through dw\+\_\+error (the usual error behavior). 
\end{DoxyReturn}
\Hypertarget{group__splitdwarf_ga53f0db8b097e7361be0ab95c27a9b7a1}\index{Fast Access to Split Dwarf (Debug Fission)@{Fast Access to Split Dwarf (Debug Fission)}!dwarf\_get\_xu\_index\_header@{dwarf\_get\_xu\_index\_header}}
\index{dwarf\_get\_xu\_index\_header@{dwarf\_get\_xu\_index\_header}!Fast Access to Split Dwarf (Debug Fission)@{Fast Access to Split Dwarf (Debug Fission)}}
\doxysubsubsection{\texorpdfstring{dwarf\_get\_xu\_index\_header()}{dwarf\_get\_xu\_index\_header()}}
{\footnotesize\ttfamily \label{group__splitdwarf_ga53f0db8b097e7361be0ab95c27a9b7a1} 
DW\+\_\+\+API int dwarf\+\_\+get\+\_\+xu\+\_\+index\+\_\+header (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_gac2ba1e1c1b70a3191506b414195ca807}{Dwarf\+\_\+\+Debug}}}]{dw\+\_\+dbg}{, }\item[{const char \texorpdfstring{$\ast$}{*}}]{dw\+\_\+section\+\_\+type}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga85f2862c1b7f8249050a52eaea63e1d3}{Dwarf\+\_\+\+Xu\+\_\+\+Index\+\_\+\+Header}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+xuhdr}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+version\+\_\+number}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+section\+\_\+count}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+units\+\_\+count}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+hash\+\_\+slots\+\_\+count}{, }\item[{const char \texorpdfstring{$\ast$}{*}\texorpdfstring{$\ast$}{*}}]{dw\+\_\+sect\+\_\+name}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+error}{}\end{DoxyParamCaption})}



Access a .debug\+\_\+cu\+\_\+index or dw\+\_\+tu\+\_\+index section. 

These sections are in a DWARF5 package file, a file normally named with the .dwo or .dwp extension.. See DWARF5 section 7.\+3.\+5.\+3 Format of the CU and TU Index Sections.


\begin{DoxyParams}{Parameters}
{\em dw\+\_\+dbg} & Pass in the \doxylink{group__allstructs_gac2ba1e1c1b70a3191506b414195ca807}{Dwarf\+\_\+\+Debug} of interest \\
\hline
{\em dw\+\_\+section\+\_\+type} & Pass in a pointer to either "{}cu"{} or "{}tu"{}. \\
\hline
{\em dw\+\_\+xuhdr} & On success, returns a pointer usable in further calls. \\
\hline
{\em dw\+\_\+version\+\_\+number} & On success returns five. \\
\hline
{\em dw\+\_\+section\+\_\+count} & On success returns the number of entries in the table of section counts. Referred to as {\bfseries{N}}. \\
\hline
{\em dw\+\_\+units\+\_\+count} & On success returns the number of compilation units or type units in the index. Referred to as {\bfseries{U}}. \\
\hline
{\em dw\+\_\+hash\+\_\+slots\+\_\+count} & On success returns the number of slots in the hash table. Referred to as {\bfseries{S}}. \\
\hline
{\em dw\+\_\+sect\+\_\+name} & On success returns a pointer to the name of the section. Do not free/\+dealloc the returned pointer. \\
\hline
{\em dw\+\_\+error} & The usual pointer to return error details. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Returns DW\+\_\+\+DLV\+\_\+\+OK etc. Returns DW\+\_\+\+DLV\+\_\+\+NO\+\_\+\+ENTRY if the section requested is not present. 
\end{DoxyReturn}
\Hypertarget{group__splitdwarf_gaac68e64b6dc8ad3561afac0d37e98d56}\index{Fast Access to Split Dwarf (Debug Fission)@{Fast Access to Split Dwarf (Debug Fission)}!dwarf\_get\_xu\_index\_section\_type@{dwarf\_get\_xu\_index\_section\_type}}
\index{dwarf\_get\_xu\_index\_section\_type@{dwarf\_get\_xu\_index\_section\_type}!Fast Access to Split Dwarf (Debug Fission)@{Fast Access to Split Dwarf (Debug Fission)}}
\doxysubsubsection{\texorpdfstring{dwarf\_get\_xu\_index\_section\_type()}{dwarf\_get\_xu\_index\_section\_type()}}
{\footnotesize\ttfamily \label{group__splitdwarf_gaac68e64b6dc8ad3561afac0d37e98d56} 
DW\+\_\+\+API int dwarf\+\_\+get\+\_\+xu\+\_\+index\+\_\+section\+\_\+type (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_ga85f2862c1b7f8249050a52eaea63e1d3}{Dwarf\+\_\+\+Xu\+\_\+\+Index\+\_\+\+Header}}}]{dw\+\_\+xuhdr}{, }\item[{const char \texorpdfstring{$\ast$}{*}\texorpdfstring{$\ast$}{*}}]{dw\+\_\+typename}{, }\item[{const char \texorpdfstring{$\ast$}{*}\texorpdfstring{$\ast$}{*}}]{dw\+\_\+sectionname}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+error}{}\end{DoxyParamCaption})}



Return basic information about a \doxylink{group__allstructs_ga85f2862c1b7f8249050a52eaea63e1d3}{Dwarf\+\_\+\+Xu\+\_\+\+Index\+\_\+\+Header}. 


\begin{DoxyParams}{Parameters}
{\em dw\+\_\+xuhdr} & Pass in an open header pointer. \\
\hline
{\em dw\+\_\+typename} & On success returns a pointer to the immutable string "{}tu"{} or "{}cu"{}. Do not free. \\
\hline
{\em dw\+\_\+sectionname} & On success returns a pointer to the section name in the object file. Do not free. \\
\hline
{\em dw\+\_\+error} & The usual pointer to return error details. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Returns DW\+\_\+\+DLV\+\_\+\+OK etc. 
\end{DoxyReturn}
\Hypertarget{group__splitdwarf_gaa847c609f70ddde38bf9e31e1bafaef1}\index{Fast Access to Split Dwarf (Debug Fission)@{Fast Access to Split Dwarf (Debug Fission)}!dwarf\_get\_xu\_section\_names@{dwarf\_get\_xu\_section\_names}}
\index{dwarf\_get\_xu\_section\_names@{dwarf\_get\_xu\_section\_names}!Fast Access to Split Dwarf (Debug Fission)@{Fast Access to Split Dwarf (Debug Fission)}}
\doxysubsubsection{\texorpdfstring{dwarf\_get\_xu\_section\_names()}{dwarf\_get\_xu\_section\_names()}}
{\footnotesize\ttfamily \label{group__splitdwarf_gaa847c609f70ddde38bf9e31e1bafaef1} 
DW\+\_\+\+API int dwarf\+\_\+get\+\_\+xu\+\_\+section\+\_\+names (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_ga85f2862c1b7f8249050a52eaea63e1d3}{Dwarf\+\_\+\+Xu\+\_\+\+Index\+\_\+\+Header}}}]{dw\+\_\+xuhdr}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}}}]{dw\+\_\+column\+\_\+index}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+\+SECT\+\_\+number}{, }\item[{const char \texorpdfstring{$\ast$}{*}\texorpdfstring{$\ast$}{*}}]{dw\+\_\+\+SECT\+\_\+name}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+error}{}\end{DoxyParamCaption})}



get DW\+\_\+\+SECT value for a column. 

\begin{DoxySeeAlso}{See also}
\doxylink{group__exampleza}{Reading Split Dwarf (\+Debug Fission) data}
\end{DoxySeeAlso}

\begin{DoxyParams}{Parameters}
{\em dw\+\_\+xuhdr} & Pass in an open header pointer. \\
\hline
{\em dw\+\_\+column\+\_\+index} & The section names are in row zero of the table so we do not mention the row number at all. Pass in the column of the entry you wish. Valid dw\+\_\+column\+\_\+index values are 0 through {\bfseries{N-\/1}}. \\
\hline
{\em dw\+\_\+\+SECT\+\_\+number} & On success returns DW\+\_\+\+SECT\+\_\+\+INFO or other section id as appears in dw\+\_\+column\+\_\+index. \\
\hline
{\em dw\+\_\+\+SECT\+\_\+name} & On success returns a pointer to the string with the section name. \\
\hline
{\em dw\+\_\+error} & The usual pointer to return error details. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Returns DW\+\_\+\+DLV\+\_\+\+OK etc. 
\end{DoxyReturn}
\Hypertarget{group__splitdwarf_ga7430f61910478564a31152aacc497539}\index{Fast Access to Split Dwarf (Debug Fission)@{Fast Access to Split Dwarf (Debug Fission)}!dwarf\_get\_xu\_section\_offset@{dwarf\_get\_xu\_section\_offset}}
\index{dwarf\_get\_xu\_section\_offset@{dwarf\_get\_xu\_section\_offset}!Fast Access to Split Dwarf (Debug Fission)@{Fast Access to Split Dwarf (Debug Fission)}}
\doxysubsubsection{\texorpdfstring{dwarf\_get\_xu\_section\_offset()}{dwarf\_get\_xu\_section\_offset()}}
{\footnotesize\ttfamily \label{group__splitdwarf_ga7430f61910478564a31152aacc497539} 
DW\+\_\+\+API int dwarf\+\_\+get\+\_\+xu\+\_\+section\+\_\+offset (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_ga85f2862c1b7f8249050a52eaea63e1d3}{Dwarf\+\_\+\+Xu\+\_\+\+Index\+\_\+\+Header}}}]{dw\+\_\+xuhdr}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}}}]{dw\+\_\+row\+\_\+index}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}}}]{dw\+\_\+column\+\_\+index}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+sec\+\_\+offset}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+sec\+\_\+size}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+error}{}\end{DoxyParamCaption})}



Get row data (section data) for a row and column. 

The section offset represents a base offset for the section the row data refers to. DWARF6 Section 7.\+3.\+5.\+3 page 193.


\begin{DoxyParams}{Parameters}
{\em dw\+\_\+xuhdr} & Pass in an open header pointer. \\
\hline
{\em dw\+\_\+row\+\_\+index} & Pass in a row number , 1 through {\bfseries{U}} \\
\hline
{\em dw\+\_\+column\+\_\+index} & Pass in a column number , 0 through {\bfseries{N-\/1}} \\
\hline
{\em dw\+\_\+sec\+\_\+offset} & On success returns the section offset of the section whose name dwarf\+\_\+get\+\_\+xu\+\_\+section\+\_\+names returns. \\
\hline
{\em dw\+\_\+sec\+\_\+size} & On success returns the section size of the section whose name dwarf\+\_\+get\+\_\+xu\+\_\+section\+\_\+names returns. If the returned section size is zero then this column makes no contribution to the dwp object file and the dw\+\_\+sec\+\_\+size and dw\+\_\+sec\+\_\+offset shoul be ignored. \\
\hline
{\em dw\+\_\+error} & The usual pointer to return error details. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Returns DW\+\_\+\+DLV\+\_\+\+OK etc. 
\end{DoxyReturn}
