\doxysection{Fast Access to .debug\+\_\+names DWARF5 }
\hypertarget{group__debugnames}{}\label{group__debugnames}\index{Fast Access to .debug\_names DWARF5@{Fast Access to .debug\_names DWARF5}}
\doxysubsubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
DW\+\_\+\+API int \doxymbox{\hyperlink{group__debugnames_gacfabb3fe1761cb333e5208abd457a950}{dwarf\+\_\+dnames\+\_\+header}} (\doxymbox{\hyperlink{group__allstructs_gac2ba1e1c1b70a3191506b414195ca807}{Dwarf\+\_\+\+Debug}} dw\+\_\+dbg, \doxymbox{\hyperlink{group__basicdatatypes_ga08c706887ae8c6e09e8f0fb5dd9a539e}{Dwarf\+\_\+\+Off}} dw\+\_\+starting\+\_\+offset, \doxymbox{\hyperlink{group__allstructs_gae855725028fa7b42977d3654bd046018}{Dwarf\+\_\+\+Dnames\+\_\+\+Head}} \texorpdfstring{$\ast$}{*}dw\+\_\+dn, \doxymbox{\hyperlink{group__basicdatatypes_ga08c706887ae8c6e09e8f0fb5dd9a539e}{Dwarf\+\_\+\+Off}} \texorpdfstring{$\ast$}{*}dw\+\_\+offset\+\_\+of\+\_\+next\+\_\+table, \doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}dw\+\_\+error)
\begin{DoxyCompactList}\small\item\em Open access to a .debug\+\_\+names table. \end{DoxyCompactList}\item 
DW\+\_\+\+API void \doxymbox{\hyperlink{group__debugnames_gaf55acc1d14799c2d5a954e299c5dc489}{dwarf\+\_\+dealloc\+\_\+dnames}} (\doxymbox{\hyperlink{group__allstructs_gae855725028fa7b42977d3654bd046018}{Dwarf\+\_\+\+Dnames\+\_\+\+Head}} dw\+\_\+dn)
\begin{DoxyCompactList}\small\item\em Frees all the malloc data associated with dw\+\_\+dn. \end{DoxyCompactList}\item 
DW\+\_\+\+API int \doxymbox{\hyperlink{group__debugnames_gac2da249bb89c9fb3ed870c9e57bb68a6}{dwarf\+\_\+dnames\+\_\+abbrevtable}} (\doxymbox{\hyperlink{group__allstructs_gae855725028fa7b42977d3654bd046018}{Dwarf\+\_\+\+Dnames\+\_\+\+Head}} dw\+\_\+dn, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} dw\+\_\+index, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}dw\+\_\+abbrev\+\_\+offset, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}dw\+\_\+abbrev\+\_\+code, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}dw\+\_\+abbrev\+\_\+tag, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} dw\+\_\+array\+\_\+size, \doxymbox{\hyperlink{group__basicdatatypes_ga4fb2b14ce7a6d27321fa7999b46b82bd}{Dwarf\+\_\+\+Half}} \texorpdfstring{$\ast$}{*}dw\+\_\+idxattr\+\_\+array, \doxymbox{\hyperlink{group__basicdatatypes_ga4fb2b14ce7a6d27321fa7999b46b82bd}{Dwarf\+\_\+\+Half}} \texorpdfstring{$\ast$}{*}dw\+\_\+form\+\_\+array, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}dw\+\_\+idxattr\+\_\+count)
\begin{DoxyCompactList}\small\item\em Access to the abbrevs table content. \end{DoxyCompactList}\item 
DW\+\_\+\+API int \doxymbox{\hyperlink{group__debugnames_ga6eb6932f7f45fd6c2004c2950e9bb117}{dwarf\+\_\+dnames\+\_\+sizes}} (\doxymbox{\hyperlink{group__allstructs_gae855725028fa7b42977d3654bd046018}{Dwarf\+\_\+\+Dnames\+\_\+\+Head}} dw\+\_\+dn, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}dw\+\_\+comp\+\_\+unit\+\_\+count, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}dw\+\_\+local\+\_\+type\+\_\+unit\+\_\+count, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}dw\+\_\+foreign\+\_\+type\+\_\+unit\+\_\+count, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}dw\+\_\+bucket\+\_\+count, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}dw\+\_\+name\+\_\+count, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}dw\+\_\+abbrev\+\_\+table\+\_\+size, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}dw\+\_\+entry\+\_\+pool\+\_\+size, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}dw\+\_\+augmentation\+\_\+string\+\_\+size, char \texorpdfstring{$\ast$}{*}\texorpdfstring{$\ast$}{*}dw\+\_\+augmentation\+\_\+string, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}dw\+\_\+section\+\_\+size, \doxymbox{\hyperlink{group__basicdatatypes_ga4fb2b14ce7a6d27321fa7999b46b82bd}{Dwarf\+\_\+\+Half}} \texorpdfstring{$\ast$}{*}dw\+\_\+table\+\_\+version, \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 Sizes and counts from the debug names table. \end{DoxyCompactList}\item 
DW\+\_\+\+API int \doxymbox{\hyperlink{group__debugnames_gae7fca1ebe98511bc1eaaea01b55b208b}{dwarf\+\_\+dnames\+\_\+offsets}} (\doxymbox{\hyperlink{group__allstructs_gae855725028fa7b42977d3654bd046018}{Dwarf\+\_\+\+Dnames\+\_\+\+Head}} dw\+\_\+dn, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}dw\+\_\+header\+\_\+offset, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}dw\+\_\+cu\+\_\+table\+\_\+offset, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}dw\+\_\+tu\+\_\+local\+\_\+offset, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}dw\+\_\+foreign\+\_\+tu\+\_\+offset, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}dw\+\_\+bucket\+\_\+offset, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}dw\+\_\+hashes\+\_\+offset, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}dw\+\_\+stringoffsets\+\_\+offset, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}dw\+\_\+entryoffsets\+\_\+offset, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}dw\+\_\+abbrev\+\_\+table\+\_\+offset, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}dw\+\_\+entry\+\_\+pool\+\_\+offset, \doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}dw\+\_\+error)
\begin{DoxyCompactList}\small\item\em Offsets from the debug names table. \end{DoxyCompactList}\item 
DW\+\_\+\+API int \doxymbox{\hyperlink{group__debugnames_gaf1d50e65f14779507cd62b4406d95cbf}{dwarf\+\_\+dnames\+\_\+cu\+\_\+table}} (\doxymbox{\hyperlink{group__allstructs_gae855725028fa7b42977d3654bd046018}{Dwarf\+\_\+\+Dnames\+\_\+\+Head}} dw\+\_\+dn, const char \texorpdfstring{$\ast$}{*}dw\+\_\+type, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} dw\+\_\+index\+\_\+number, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}dw\+\_\+offset, \doxymbox{\hyperlink{group__allstructs_ga3eae90d156d443089b7868fbc26ccf12}{Dwarf\+\_\+\+Sig8}} \texorpdfstring{$\ast$}{*}dw\+\_\+sig, \doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}dw\+\_\+error)
\begin{DoxyCompactList}\small\item\em Each debug names cu list entry one at a time. \end{DoxyCompactList}\item 
DW\+\_\+\+API int \doxymbox{\hyperlink{group__debugnames_ga5f277eaa2f6110b369c203dc819cb335}{dwarf\+\_\+dnames\+\_\+bucket}} (\doxymbox{\hyperlink{group__allstructs_gae855725028fa7b42977d3654bd046018}{Dwarf\+\_\+\+Dnames\+\_\+\+Head}} dw\+\_\+dn, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} dw\+\_\+bucket\+\_\+number, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}dw\+\_\+index, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}dw\+\_\+indexcount, \doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}dw\+\_\+error)
\begin{DoxyCompactList}\small\item\em Access to bucket contents. \end{DoxyCompactList}\item 
DW\+\_\+\+API int \doxymbox{\hyperlink{group__debugnames_gadfb161993f617a4a233583ec5745de6a}{dwarf\+\_\+dnames\+\_\+name}} (\doxymbox{\hyperlink{group__allstructs_gae855725028fa7b42977d3654bd046018}{Dwarf\+\_\+\+Dnames\+\_\+\+Head}} dw\+\_\+dn, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} dw\+\_\+name\+\_\+index, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}dw\+\_\+bucket\+\_\+number, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}dw\+\_\+hash\+\_\+value, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}dw\+\_\+offset\+\_\+to\+\_\+debug\+\_\+str, char \texorpdfstring{$\ast$}{*}\texorpdfstring{$\ast$}{*}dw\+\_\+ptrtostr, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}dw\+\_\+offset\+\_\+in\+\_\+entrypool, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}dw\+\_\+abbrev\+\_\+number, \doxymbox{\hyperlink{group__basicdatatypes_ga4fb2b14ce7a6d27321fa7999b46b82bd}{Dwarf\+\_\+\+Half}} \texorpdfstring{$\ast$}{*}dw\+\_\+abbrev\+\_\+tag, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} dw\+\_\+array\+\_\+size, \doxymbox{\hyperlink{group__basicdatatypes_ga4fb2b14ce7a6d27321fa7999b46b82bd}{Dwarf\+\_\+\+Half}} \texorpdfstring{$\ast$}{*}dw\+\_\+idxattr\+\_\+array, \doxymbox{\hyperlink{group__basicdatatypes_ga4fb2b14ce7a6d27321fa7999b46b82bd}{Dwarf\+\_\+\+Half}} \texorpdfstring{$\ast$}{*}dw\+\_\+form\+\_\+array, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}dw\+\_\+idxattr\+\_\+count, \doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}dw\+\_\+error)
\begin{DoxyCompactList}\small\item\em Retrieve a name table entry. \end{DoxyCompactList}\item 
DW\+\_\+\+API int \doxymbox{\hyperlink{group__debugnames_ga3a9536b8093fb619780d08d4df322c78}{dwarf\+\_\+dnames\+\_\+entrypool}} (\doxymbox{\hyperlink{group__allstructs_gae855725028fa7b42977d3654bd046018}{Dwarf\+\_\+\+Dnames\+\_\+\+Head}} dw\+\_\+dn, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} dw\+\_\+offset\+\_\+in\+\_\+entrypool, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}dw\+\_\+abbrev\+\_\+code, \doxymbox{\hyperlink{group__basicdatatypes_ga4fb2b14ce7a6d27321fa7999b46b82bd}{Dwarf\+\_\+\+Half}} \texorpdfstring{$\ast$}{*}dw\+\_\+tag, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}dw\+\_\+value\+\_\+count, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}dw\+\_\+index\+\_\+of\+\_\+abbrev, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}dw\+\_\+offset\+\_\+of\+\_\+initial\+\_\+value, \doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}dw\+\_\+error)
\begin{DoxyCompactList}\small\item\em Return a the set of values from an entrypool entry. \end{DoxyCompactList}\item 
DW\+\_\+\+API int \doxymbox{\hyperlink{group__debugnames_ga7e39181e8d78680559a95239b77b673c}{dwarf\+\_\+dnames\+\_\+entrypool\+\_\+values}} (\doxymbox{\hyperlink{group__allstructs_gae855725028fa7b42977d3654bd046018}{Dwarf\+\_\+\+Dnames\+\_\+\+Head}} dw\+\_\+dn, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} dw\+\_\+index\+\_\+of\+\_\+abbrev, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} dw\+\_\+offset\+\_\+in\+\_\+entrypool\+\_\+of\+\_\+values, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} dw\+\_\+arrays\+\_\+length, \doxymbox{\hyperlink{group__basicdatatypes_ga4fb2b14ce7a6d27321fa7999b46b82bd}{Dwarf\+\_\+\+Half}} \texorpdfstring{$\ast$}{*}dw\+\_\+array\+\_\+idx\+\_\+number, \doxymbox{\hyperlink{group__basicdatatypes_ga4fb2b14ce7a6d27321fa7999b46b82bd}{Dwarf\+\_\+\+Half}} \texorpdfstring{$\ast$}{*}dw\+\_\+array\+\_\+form, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}dw\+\_\+array\+\_\+of\+\_\+offsets, \doxymbox{\hyperlink{group__allstructs_ga3eae90d156d443089b7868fbc26ccf12}{Dwarf\+\_\+\+Sig8}} \texorpdfstring{$\ast$}{*}dw\+\_\+array\+\_\+of\+\_\+signatures, \doxymbox{\hyperlink{group__basicdatatypes_ga32afecc94a71aae2be36aa279f1dded8}{Dwarf\+\_\+\+Bool}} \texorpdfstring{$\ast$}{*}dw\+\_\+single\+\_\+cu, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}dw\+\_\+cu\+\_\+offset, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}dw\+\_\+offset\+\_\+of\+\_\+next\+\_\+entrypool, \doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}dw\+\_\+error)
\begin{DoxyCompactList}\small\item\em Return the value set defined by this entry. \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
The section is new in DWARF5 and supersedes .debug\+\_\+pubnames and .debug\+\_\+pubtypes in DWARF2, DWARF3, and DWARF4.

The functions provide a detailed reporting of the content and structure of the table (so one can build one\textquotesingle{}s own search table) but they are not particularly helpful for searching.

A new function (more than one?) would be needed for convenient searching. 

\label{doc-func-members}
\Hypertarget{group__debugnames_doc-func-members}
\doxysubsection{Function Documentation}
\Hypertarget{group__debugnames_gaf55acc1d14799c2d5a954e299c5dc489}\index{Fast Access to .debug\_names DWARF5@{Fast Access to .debug\_names DWARF5}!dwarf\_dealloc\_dnames@{dwarf\_dealloc\_dnames}}
\index{dwarf\_dealloc\_dnames@{dwarf\_dealloc\_dnames}!Fast Access to .debug\_names DWARF5@{Fast Access to .debug\_names DWARF5}}
\doxysubsubsection{\texorpdfstring{dwarf\_dealloc\_dnames()}{dwarf\_dealloc\_dnames()}}
{\footnotesize\ttfamily \label{group__debugnames_gaf55acc1d14799c2d5a954e299c5dc489} 
DW\+\_\+\+API void dwarf\+\_\+dealloc\+\_\+dnames (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_gae855725028fa7b42977d3654bd046018}{Dwarf\+\_\+\+Dnames\+\_\+\+Head}}}]{dw\+\_\+dn}{}\end{DoxyParamCaption})}



Frees all the malloc data associated with dw\+\_\+dn. 


\begin{DoxyParams}{Parameters}
{\em dw\+\_\+dn} & A \doxylink{group__allstructs_gae855725028fa7b42977d3654bd046018}{Dwarf\+\_\+\+Dnames\+\_\+\+Head} pointer. Callers should zero the pointer passed in as soon as possible after this returns as the pointer is then stale. \\
\hline
\end{DoxyParams}
\Hypertarget{group__debugnames_gac2da249bb89c9fb3ed870c9e57bb68a6}\index{Fast Access to .debug\_names DWARF5@{Fast Access to .debug\_names DWARF5}!dwarf\_dnames\_abbrevtable@{dwarf\_dnames\_abbrevtable}}
\index{dwarf\_dnames\_abbrevtable@{dwarf\_dnames\_abbrevtable}!Fast Access to .debug\_names DWARF5@{Fast Access to .debug\_names DWARF5}}
\doxysubsubsection{\texorpdfstring{dwarf\_dnames\_abbrevtable()}{dwarf\_dnames\_abbrevtable()}}
{\footnotesize\ttfamily \label{group__debugnames_gac2da249bb89c9fb3ed870c9e57bb68a6} 
DW\+\_\+\+API int dwarf\+\_\+dnames\+\_\+abbrevtable (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_gae855725028fa7b42977d3654bd046018}{Dwarf\+\_\+\+Dnames\+\_\+\+Head}}}]{dw\+\_\+dn}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}}}]{dw\+\_\+index}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+abbrev\+\_\+offset}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+abbrev\+\_\+code}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+abbrev\+\_\+tag}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}}}]{dw\+\_\+array\+\_\+size}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga4fb2b14ce7a6d27321fa7999b46b82bd}{Dwarf\+\_\+\+Half}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+idxattr\+\_\+array}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga4fb2b14ce7a6d27321fa7999b46b82bd}{Dwarf\+\_\+\+Half}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+form\+\_\+array}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+idxattr\+\_\+count}{}\end{DoxyParamCaption})}



Access to the abbrevs table content. 

Of interest mainly to debugging issues with compilers or debuggers.


\begin{DoxyParams}{Parameters}
{\em dw\+\_\+dn} & A \doxylink{group__allstructs_gae855725028fa7b42977d3654bd046018}{Dwarf\+\_\+\+Dnames\+\_\+\+Head} pointer. \\
\hline
{\em dw\+\_\+index} & An index (starting at zero) into a table constructed of abbrev data. These indexes are derived from abbrev data and are not in the abbrev data itself. \\
\hline
{\em dw\+\_\+abbrev\+\_\+offset} & Returns the offset of the abbrev table entry for this names table entry. \\
\hline
{\em dw\+\_\+abbrev\+\_\+code} & Returns the abbrev code for the abbrev at offset dw\+\_\+abbrev\+\_\+offset. \\
\hline
{\em dw\+\_\+abbrev\+\_\+tag} & Returns the tag for the abbrev at offset dw\+\_\+abbrev\+\_\+offset. \\
\hline
{\em dw\+\_\+array\+\_\+size} & The size you allocated in each of the following two arrays. \\
\hline
{\em dw\+\_\+idxattr\+\_\+array} & Pass in an array you allocated where the function returns and array of index attributes (DW\+\_\+\+IDX) for this dw\+\_\+abbrev\+\_\+code. The last attribute code in the array is zero. \\
\hline
{\em dw\+\_\+form\+\_\+array} & Pass in an array you allocated where the function returns and array of forms for this dw\+\_\+abbrev\+\_\+code (paralled to dw\+\_\+idxattr\+\_\+array). The last form code in the array is zero. \\
\hline
{\em dw\+\_\+idxattr\+\_\+count} & Returns the actual idxattribute/\+form count (including the terminating 0,0 pair. If the array\+\_\+size passed in is less than this value the array returned is incomplete. Array entries needed. Might be larger than dw\+\_\+array\+\_\+size, meaning not all entries could be returned in your arrays. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Returns DW\+\_\+\+DLV\+\_\+\+OK on success. If the offset does not refer to a known part of the abbrev table it returns DW\+\_\+\+DLV\+\_\+\+NO\+\_\+\+ENTRY. Never returns DW\+\_\+\+DLV\+\_\+\+ERROR. 
\end{DoxyReturn}
\Hypertarget{group__debugnames_ga5f277eaa2f6110b369c203dc819cb335}\index{Fast Access to .debug\_names DWARF5@{Fast Access to .debug\_names DWARF5}!dwarf\_dnames\_bucket@{dwarf\_dnames\_bucket}}
\index{dwarf\_dnames\_bucket@{dwarf\_dnames\_bucket}!Fast Access to .debug\_names DWARF5@{Fast Access to .debug\_names DWARF5}}
\doxysubsubsection{\texorpdfstring{dwarf\_dnames\_bucket()}{dwarf\_dnames\_bucket()}}
{\footnotesize\ttfamily \label{group__debugnames_ga5f277eaa2f6110b369c203dc819cb335} 
DW\+\_\+\+API int dwarf\+\_\+dnames\+\_\+bucket (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_gae855725028fa7b42977d3654bd046018}{Dwarf\+\_\+\+Dnames\+\_\+\+Head}}}]{dw\+\_\+dn}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}}}]{dw\+\_\+bucket\+\_\+number}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+index}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+indexcount}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+error}{}\end{DoxyParamCaption})}



Access to bucket contents. 


\begin{DoxyParams}{Parameters}
{\em dw\+\_\+dn} & The \doxylink{group__allstructs_gae855725028fa7b42977d3654bd046018}{Dwarf\+\_\+\+Dnames\+\_\+\+Head} of interest. \\
\hline
{\em dw\+\_\+bucket\+\_\+number} & Pass in a bucket number Bucket numbers start at 0. \\
\hline
{\em dw\+\_\+index} & On success returns the index of the appropriate name entry. Name entry indexes start at one, a zero index means the bucket is unused. \\
\hline
{\em dw\+\_\+indexcount} & On success returns the number of name entries in the bucket. \\
\hline
{\em dw\+\_\+error} & On error dw\+\_\+error is set to point to the error details. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The usual value:\+ DW\+\_\+\+DLV\+\_\+\+OK etc. An out of range dw\+\_\+index\+\_\+number gets a return if DW\+\_\+\+DLV\+\_\+\+NO\+\_\+\+ENTRY 
\end{DoxyReturn}
\Hypertarget{group__debugnames_gaf1d50e65f14779507cd62b4406d95cbf}\index{Fast Access to .debug\_names DWARF5@{Fast Access to .debug\_names DWARF5}!dwarf\_dnames\_cu\_table@{dwarf\_dnames\_cu\_table}}
\index{dwarf\_dnames\_cu\_table@{dwarf\_dnames\_cu\_table}!Fast Access to .debug\_names DWARF5@{Fast Access to .debug\_names DWARF5}}
\doxysubsubsection{\texorpdfstring{dwarf\_dnames\_cu\_table()}{dwarf\_dnames\_cu\_table()}}
{\footnotesize\ttfamily \label{group__debugnames_gaf1d50e65f14779507cd62b4406d95cbf} 
DW\+\_\+\+API int dwarf\+\_\+dnames\+\_\+cu\+\_\+table (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_gae855725028fa7b42977d3654bd046018}{Dwarf\+\_\+\+Dnames\+\_\+\+Head}}}]{dw\+\_\+dn}{, }\item[{const char \texorpdfstring{$\ast$}{*}}]{dw\+\_\+type}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}}}]{dw\+\_\+index\+\_\+number}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+offset}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga3eae90d156d443089b7868fbc26ccf12}{Dwarf\+\_\+\+Sig8}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+sig}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+error}{}\end{DoxyParamCaption})}



Each debug names cu list entry one at a time. 

Indexes to the cu/\+tu/\+ tables start at 0.

Some values in dw\+\_\+offset are actually offsets, such as for DW\+\_\+\+IDX\+\_\+die\+\_\+offset. DW\+\_\+\+IDX\+\_\+compile\+\_\+unit and DW\+\_\+\+IDX\+\_\+type\+\_\+unit are indexes into the table specified by dw\+\_\+type and are returned through dw\+\_\+offset field;


\begin{DoxyParams}{Parameters}
{\em dw\+\_\+dn} & The table of interest. \\
\hline
{\em dw\+\_\+type} & Pass in the type, "{}cu"{} or "{}tu"{} \\
\hline
{\em dw\+\_\+index\+\_\+number} & For "{}cu"{} index range is 0 through K-\/1 For "{}tu"{} index range is 0 through T+\+F-\/1 \\
\hline
{\em dw\+\_\+offset} & Zero if it cannot be determined. (check the return value!). \\
\hline
{\em dw\+\_\+sig} & the \doxylink{group__allstructs_ga3eae90d156d443089b7868fbc26ccf12}{Dwarf\+\_\+\+Sig8} is filled in with a signature if the TU index is T through T+\+F-\/1 \\
\hline
{\em dw\+\_\+error} & On error dw\+\_\+error is set to point to the error details. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The usual value:\+ DW\+\_\+\+DLV\+\_\+\+OK etc. 
\end{DoxyReturn}
\Hypertarget{group__debugnames_ga3a9536b8093fb619780d08d4df322c78}\index{Fast Access to .debug\_names DWARF5@{Fast Access to .debug\_names DWARF5}!dwarf\_dnames\_entrypool@{dwarf\_dnames\_entrypool}}
\index{dwarf\_dnames\_entrypool@{dwarf\_dnames\_entrypool}!Fast Access to .debug\_names DWARF5@{Fast Access to .debug\_names DWARF5}}
\doxysubsubsection{\texorpdfstring{dwarf\_dnames\_entrypool()}{dwarf\_dnames\_entrypool()}}
{\footnotesize\ttfamily \label{group__debugnames_ga3a9536b8093fb619780d08d4df322c78} 
DW\+\_\+\+API int dwarf\+\_\+dnames\+\_\+entrypool (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_gae855725028fa7b42977d3654bd046018}{Dwarf\+\_\+\+Dnames\+\_\+\+Head}}}]{dw\+\_\+dn}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}}}]{dw\+\_\+offset\+\_\+in\+\_\+entrypool}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+abbrev\+\_\+code}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga4fb2b14ce7a6d27321fa7999b46b82bd}{Dwarf\+\_\+\+Half}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+tag}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+value\+\_\+count}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+index\+\_\+of\+\_\+abbrev}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+offset\+\_\+of\+\_\+initial\+\_\+value}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+error}{}\end{DoxyParamCaption})}



Return a the set of values from an entrypool entry. 

Returns the basic data about an entrypool record and enables correct calling of dwarf\+\_\+dnames\+\_\+entrypool\+\_\+values (see below). The two-\/stage approach makes it simple for callers to prepare for the number of values that will be returned by \doxylink{group__debugnames_ga7e39181e8d78680559a95239b77b673c}{dwarf\+\_\+dnames\+\_\+entrypool\+\_\+values()}


\begin{DoxyParams}{Parameters}
{\em dw\+\_\+dn} & Pass in the debug names table of interest. \\
\hline
{\em dw\+\_\+offset\+\_\+in\+\_\+entrypool} & The record offset (in the entry pool table) of the first record of IDX attributes. Starts at zero. \\
\hline
{\em dw\+\_\+abbrev\+\_\+code} & On success returns the abbrev code of the idx attributes for the pool entry. \\
\hline
{\em dw\+\_\+tag} & On success returns the TAG of the DIE referred to by this entrypool entry. \\
\hline
{\em dw\+\_\+value\+\_\+count} & On success returns the number of distinct values imply by this entry. \\
\hline
{\em dw\+\_\+index\+\_\+of\+\_\+abbrev} & On success returns the index of the abbrev index/\+form pairs in the abbreviation table. \\
\hline
{\em dw\+\_\+offset\+\_\+of\+\_\+initial\+\_\+value} & On success returns the entry pool offset of the sequence of bytes containing values, such as a CU index or a DIE offset. \\
\hline
{\em dw\+\_\+error} & The usual error detail record \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
DW\+\_\+\+DLV\+\_\+\+OK is returned if the specified name entry exists. DW\+\_\+\+DLV\+\_\+\+NO\+\_\+\+ENTRY is returned if the specified offset is outside the size of the table. DW\+\_\+\+DLV\+\_\+\+ERROR is returned in case of an internal error or corrupt section content. 
\end{DoxyReturn}
\Hypertarget{group__debugnames_ga7e39181e8d78680559a95239b77b673c}\index{Fast Access to .debug\_names DWARF5@{Fast Access to .debug\_names DWARF5}!dwarf\_dnames\_entrypool\_values@{dwarf\_dnames\_entrypool\_values}}
\index{dwarf\_dnames\_entrypool\_values@{dwarf\_dnames\_entrypool\_values}!Fast Access to .debug\_names DWARF5@{Fast Access to .debug\_names DWARF5}}
\doxysubsubsection{\texorpdfstring{dwarf\_dnames\_entrypool\_values()}{dwarf\_dnames\_entrypool\_values()}}
{\footnotesize\ttfamily \label{group__debugnames_ga7e39181e8d78680559a95239b77b673c} 
DW\+\_\+\+API int dwarf\+\_\+dnames\+\_\+entrypool\+\_\+values (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_gae855725028fa7b42977d3654bd046018}{Dwarf\+\_\+\+Dnames\+\_\+\+Head}}}]{dw\+\_\+dn}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}}}]{dw\+\_\+index\+\_\+of\+\_\+abbrev}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}}}]{dw\+\_\+offset\+\_\+in\+\_\+entrypool\+\_\+of\+\_\+values}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}}}]{dw\+\_\+arrays\+\_\+length}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga4fb2b14ce7a6d27321fa7999b46b82bd}{Dwarf\+\_\+\+Half}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+array\+\_\+idx\+\_\+number}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga4fb2b14ce7a6d27321fa7999b46b82bd}{Dwarf\+\_\+\+Half}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+array\+\_\+form}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+array\+\_\+of\+\_\+offsets}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga3eae90d156d443089b7868fbc26ccf12}{Dwarf\+\_\+\+Sig8}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+array\+\_\+of\+\_\+signatures}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga32afecc94a71aae2be36aa279f1dded8}{Dwarf\+\_\+\+Bool}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+single\+\_\+cu}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+cu\+\_\+offset}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+offset\+\_\+of\+\_\+next\+\_\+entrypool}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+error}{}\end{DoxyParamCaption})}



Return the value set defined by this entry. 

Call here after calling dwarf\+\_\+dnames\+\_\+entrypool to provide data to call this function correctly.

This retrieves the index attribute values that identify a names table name.

The caller allocates a set of arrays and the function fills them in. If dw\+\_\+array\+\_\+idx\+\_\+number\+[n]\+ is DW\+\_\+\+IDX\+\_\+type\+\_\+hash then dw\+\_\+array\+\_\+of\+\_\+signatures\+[n]\+ contains the hash. For other IDX values dw\+\_\+array\+\_\+of\+\_\+offsets\+[n]\+ contains the value being returned.


\begin{DoxyParams}{Parameters}
{\em dw\+\_\+dn} & Pass in the debug names table of interest. \\
\hline
{\em dw\+\_\+index\+\_\+of\+\_\+abbrev} & Pass in the abbreviation index. \\
\hline
{\em dw\+\_\+offset\+\_\+in\+\_\+entrypool\+\_\+of\+\_\+values} & Pass in the offset of the values returned by dw\+\_\+offset\+\_\+of\+\_\+initial\+\_\+value above. \\
\hline
{\em dw\+\_\+arrays\+\_\+length} & Pass in the array length of each of the following four fields. The dw\+\_\+value\+\_\+count returned above is what you need to use. \\
\hline
{\em dw\+\_\+array\+\_\+idx\+\_\+number} & Create an array of \doxylink{group__basicdatatypes_ga4fb2b14ce7a6d27321fa7999b46b82bd}{Dwarf\+\_\+\+Half} values, dw\+\_\+arrays\+\_\+length long, and pass a pointer to the first entry here. \\
\hline
{\em dw\+\_\+array\+\_\+form} & Create an array of \doxylink{group__basicdatatypes_ga4fb2b14ce7a6d27321fa7999b46b82bd}{Dwarf\+\_\+\+Half} values, dw\+\_\+arrays\+\_\+length long, and pass a pointer to the first entry here. \\
\hline
{\em dw\+\_\+array\+\_\+of\+\_\+offsets} & Create an array of \doxylink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned} values, dw\+\_\+arrays\+\_\+length long, and pass a pointer to the first entry here. \\
\hline
{\em dw\+\_\+array\+\_\+of\+\_\+signatures} & Create an array of \doxylink{group__allstructs_ga3eae90d156d443089b7868fbc26ccf12}{Dwarf\+\_\+\+Sig8} structs, dw\+\_\+arrays\+\_\+length long, and pass a pointer to the first entry here. \\
\hline
{\em dw\+\_\+offset\+\_\+of\+\_\+next\+\_\+entrypool} & On success returns the offset of the next entrypool. A value here is usable in the next call to dwarf\+\_\+dnames\+\_\+entrypool. \\
\hline
{\em dw\+\_\+single\+\_\+cu} & On success, if it is a single-\/cu name table there is likely no DW\+\_\+\+IDX\+\_\+compile\+\_\+unit. So we return TRUE via this flag in such a case. \\
\hline
{\em dw\+\_\+cu\+\_\+offset} & On success, for a single-\/cu name table with no DW\+\_\+\+IDX\+\_\+compile\+\_\+unit this is set to the CU offset from that single CU-\/table entry. \\
\hline
{\em dw\+\_\+error} & The usual error detail record \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
DW\+\_\+\+DLV\+\_\+\+OK is returned if the specified name entry exists. DW\+\_\+\+DLV\+\_\+\+NO\+\_\+\+ENTRY is returned if the specified offset is outside the size of the table. DW\+\_\+\+DLV\+\_\+\+ERROR is returned in case of an internal error or corrupt section content. 
\end{DoxyReturn}
\Hypertarget{group__debugnames_gacfabb3fe1761cb333e5208abd457a950}\index{Fast Access to .debug\_names DWARF5@{Fast Access to .debug\_names DWARF5}!dwarf\_dnames\_header@{dwarf\_dnames\_header}}
\index{dwarf\_dnames\_header@{dwarf\_dnames\_header}!Fast Access to .debug\_names DWARF5@{Fast Access to .debug\_names DWARF5}}
\doxysubsubsection{\texorpdfstring{dwarf\_dnames\_header()}{dwarf\_dnames\_header()}}
{\footnotesize\ttfamily \label{group__debugnames_gacfabb3fe1761cb333e5208abd457a950} 
DW\+\_\+\+API int dwarf\+\_\+dnames\+\_\+header (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_gac2ba1e1c1b70a3191506b414195ca807}{Dwarf\+\_\+\+Debug}}}]{dw\+\_\+dbg}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga08c706887ae8c6e09e8f0fb5dd9a539e}{Dwarf\+\_\+\+Off}}}]{dw\+\_\+starting\+\_\+offset}{, }\item[{\doxymbox{\hyperlink{group__allstructs_gae855725028fa7b42977d3654bd046018}{Dwarf\+\_\+\+Dnames\+\_\+\+Head}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+dn}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga08c706887ae8c6e09e8f0fb5dd9a539e}{Dwarf\+\_\+\+Off}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+offset\+\_\+of\+\_\+next\+\_\+table}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+error}{}\end{DoxyParamCaption})}



Open access to a .debug\+\_\+names table. 


\begin{DoxyParams}{Parameters}
{\em dw\+\_\+dbg} & The \doxylink{group__allstructs_gac2ba1e1c1b70a3191506b414195ca807}{Dwarf\+\_\+\+Debug} of interest. \\
\hline
{\em dw\+\_\+starting\+\_\+offset} & Read this section starting at offset zero. \\
\hline
{\em dw\+\_\+dn} & On success returns a pointer to a set of data allowing access to the table. \\
\hline
{\em dw\+\_\+offset\+\_\+of\+\_\+next\+\_\+table} & On success returns Offset just past the end of the the opened table. \\
\hline
{\em dw\+\_\+error} & On error dw\+\_\+error is set to point to the error details. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The usual value:\+ DW\+\_\+\+DLV\+\_\+\+OK etc. If there is no such table or if dw\+\_\+starting\+\_\+offset is past the end of the section it returns DW\+\_\+\+DLV\+\_\+\+NO\+\_\+\+ENTRY. 
\end{DoxyReturn}
\Hypertarget{group__debugnames_gadfb161993f617a4a233583ec5745de6a}\index{Fast Access to .debug\_names DWARF5@{Fast Access to .debug\_names DWARF5}!dwarf\_dnames\_name@{dwarf\_dnames\_name}}
\index{dwarf\_dnames\_name@{dwarf\_dnames\_name}!Fast Access to .debug\_names DWARF5@{Fast Access to .debug\_names DWARF5}}
\doxysubsubsection{\texorpdfstring{dwarf\_dnames\_name()}{dwarf\_dnames\_name()}}
{\footnotesize\ttfamily \label{group__debugnames_gadfb161993f617a4a233583ec5745de6a} 
DW\+\_\+\+API int dwarf\+\_\+dnames\+\_\+name (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_gae855725028fa7b42977d3654bd046018}{Dwarf\+\_\+\+Dnames\+\_\+\+Head}}}]{dw\+\_\+dn}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}}}]{dw\+\_\+name\+\_\+index}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+bucket\+\_\+number}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+hash\+\_\+value}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+offset\+\_\+to\+\_\+debug\+\_\+str}{, }\item[{char \texorpdfstring{$\ast$}{*}\texorpdfstring{$\ast$}{*}}]{dw\+\_\+ptrtostr}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+offset\+\_\+in\+\_\+entrypool}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+abbrev\+\_\+number}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga4fb2b14ce7a6d27321fa7999b46b82bd}{Dwarf\+\_\+\+Half}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+abbrev\+\_\+tag}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}}}]{dw\+\_\+array\+\_\+size}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga4fb2b14ce7a6d27321fa7999b46b82bd}{Dwarf\+\_\+\+Half}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+idxattr\+\_\+array}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga4fb2b14ce7a6d27321fa7999b46b82bd}{Dwarf\+\_\+\+Half}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+form\+\_\+array}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+idxattr\+\_\+count}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+error}{}\end{DoxyParamCaption})}



Retrieve a name table entry. 

Retrieve the name and other data from a single name table entry.


\begin{DoxyParams}{Parameters}
{\em dw\+\_\+dn} & The table of interest. \\
\hline
{\em dw\+\_\+name\+\_\+index} & Pass in the desired index, start at one. \\
\hline
{\em dw\+\_\+bucket\+\_\+number} & On success returns a bucket number, zero if no buckets present. \\
\hline
{\em dw\+\_\+hash\+\_\+value} & The hash value, all zeros if no hashes present \\
\hline
{\em dw\+\_\+offset\+\_\+to\+\_\+debug\+\_\+str} & The offset to the .debug\+\_\+str section string. \\
\hline
{\em dw\+\_\+ptrtostr} & if dw\+\_\+ptrtostr non-\/null returns a pointer to the applicable string here. \\
\hline
{\em dw\+\_\+offset\+\_\+in\+\_\+entrypool} & Returns the offset in the entrypool \\
\hline
{\em dw\+\_\+abbrev\+\_\+number} & Returned from entrypool. \\
\hline
{\em dw\+\_\+abbrev\+\_\+tag} & Returned from entrypool abbrev data. \\
\hline
{\em dw\+\_\+array\+\_\+size} & Size of array you provide to hold DW\+\_\+\+IDX index attribute and form numbers. Possibly 10 suffices for practical purposes. \\
\hline
{\em dw\+\_\+idxattr\+\_\+array} & Array space you provide, for idx attribute numbers (function will initialize it). The final entry in the array will be 0. \\
\hline
{\em dw\+\_\+form\+\_\+array} & Array you provide, for form numbers (function will initialize it). The final entry in the array will be 0. \\
\hline
{\em dw\+\_\+idxattr\+\_\+count} & Array entries needed. Might be larger than dw\+\_\+array\+\_\+size, meaning not all entries could be returned in your array. \\
\hline
{\em dw\+\_\+error} & On error dw\+\_\+error is set to point to the error details. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The usual value:\+ DW\+\_\+\+DLV\+\_\+\+OK etc. If the index passed in is outside the valid range returns DW\+\_\+\+DLV\+\_\+\+NO\+\_\+\+ENTRY. 
\end{DoxyReturn}
\Hypertarget{group__debugnames_gae7fca1ebe98511bc1eaaea01b55b208b}\index{Fast Access to .debug\_names DWARF5@{Fast Access to .debug\_names DWARF5}!dwarf\_dnames\_offsets@{dwarf\_dnames\_offsets}}
\index{dwarf\_dnames\_offsets@{dwarf\_dnames\_offsets}!Fast Access to .debug\_names DWARF5@{Fast Access to .debug\_names DWARF5}}
\doxysubsubsection{\texorpdfstring{dwarf\_dnames\_offsets()}{dwarf\_dnames\_offsets()}}
{\footnotesize\ttfamily \label{group__debugnames_gae7fca1ebe98511bc1eaaea01b55b208b} 
DW\+\_\+\+API int dwarf\+\_\+dnames\+\_\+offsets (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_gae855725028fa7b42977d3654bd046018}{Dwarf\+\_\+\+Dnames\+\_\+\+Head}}}]{dw\+\_\+dn}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+header\+\_\+offset}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+cu\+\_\+table\+\_\+offset}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+tu\+\_\+local\+\_\+offset}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+foreign\+\_\+tu\+\_\+offset}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+bucket\+\_\+offset}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+hashes\+\_\+offset}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+stringoffsets\+\_\+offset}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+entryoffsets\+\_\+offset}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+abbrev\+\_\+table\+\_\+offset}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+entry\+\_\+pool\+\_\+offset}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+error}{}\end{DoxyParamCaption})}



Offsets from the debug names table. 

We do not describe these returned values, which refer to the .debug\+\_\+names section.

The header offset is a section offset. The rest are offsets from the header.

See DWARF5 section 6.\+1.\+1 "{}\+Lookup By Name"{} \Hypertarget{group__debugnames_ga6eb6932f7f45fd6c2004c2950e9bb117}\index{Fast Access to .debug\_names DWARF5@{Fast Access to .debug\_names DWARF5}!dwarf\_dnames\_sizes@{dwarf\_dnames\_sizes}}
\index{dwarf\_dnames\_sizes@{dwarf\_dnames\_sizes}!Fast Access to .debug\_names DWARF5@{Fast Access to .debug\_names DWARF5}}
\doxysubsubsection{\texorpdfstring{dwarf\_dnames\_sizes()}{dwarf\_dnames\_sizes()}}
{\footnotesize\ttfamily \label{group__debugnames_ga6eb6932f7f45fd6c2004c2950e9bb117} 
DW\+\_\+\+API int dwarf\+\_\+dnames\+\_\+sizes (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_gae855725028fa7b42977d3654bd046018}{Dwarf\+\_\+\+Dnames\+\_\+\+Head}}}]{dw\+\_\+dn}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+comp\+\_\+unit\+\_\+count}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+local\+\_\+type\+\_\+unit\+\_\+count}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+foreign\+\_\+type\+\_\+unit\+\_\+count}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+bucket\+\_\+count}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+name\+\_\+count}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+abbrev\+\_\+table\+\_\+size}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+entry\+\_\+pool\+\_\+size}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+augmentation\+\_\+string\+\_\+size}{, }\item[{char \texorpdfstring{$\ast$}{*}\texorpdfstring{$\ast$}{*}}]{dw\+\_\+augmentation\+\_\+string}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+section\+\_\+size}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga4fb2b14ce7a6d27321fa7999b46b82bd}{Dwarf\+\_\+\+Half}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+table\+\_\+version}{, }\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})}



Sizes and counts from the debug names table. 

We do not describe these returned values. Other than for dw\+\_\+dn and dw\+\_\+error passing pointers you do not care about as NULL is fine. Of course no value can be returned through those passed as NULL.

Any program referencing a names table will need at least a few of these values.

See DWARF5 section 6.\+1.\+1 "{}\+Lookup By Name"{} particularly the graph page 139. dw\+\_\+comp\+\_\+unit\+\_\+count is K(k), dw\+\_\+local\+\_\+type\+\_\+unit\+\_\+count is T(t), and dw\+\_\+foreign\+\_\+type\+\_\+unit\+\_\+count is F(f). 