\doxysection{Fast Access to .debug\+\_\+pubnames and more. }
\hypertarget{group__pubnames}{}\label{group__pubnames}\index{Fast Access to .debug\_pubnames and more.@{Fast Access to .debug\_pubnames and more.}}
\doxysubsubsection*{Macros}
\begin{DoxyCompactItemize}
\item 
\Hypertarget{group__pubnames_ga28e08489db4fde4609c19ae3557f390e}\label{group__pubnames_ga28e08489db4fde4609c19ae3557f390e} 
\+\#define {\bfseries DW\+\_\+\+GL\+\_\+\+GLOBALS}~0 /\+\texorpdfstring{$\ast$}{*} .debug\+\_\+pubnames  and .debug\+\_\+names \texorpdfstring{$\ast$}{*}/\+
\item 
\Hypertarget{group__pubnames_ga7c307e5a40007cd80160cf79a18cdf45}\label{group__pubnames_ga7c307e5a40007cd80160cf79a18cdf45} 
\+\#define {\bfseries DW\+\_\+\+GL\+\_\+\+PUBTYPES}~1 /\+\texorpdfstring{$\ast$}{*} .debug\+\_\+pubtypes \texorpdfstring{$\ast$}{*}/\+
\item 
\Hypertarget{group__pubnames_gac897f3c81a9fa31fbc99b03b5b208864}\label{group__pubnames_gac897f3c81a9fa31fbc99b03b5b208864} 
\+\#define {\bfseries DW\+\_\+\+GL\+\_\+\+FUNCS}~2 /\+\texorpdfstring{$\ast$}{*} .debug\+\_\+funcnames \texorpdfstring{$\ast$}{*}/\+
\item 
\Hypertarget{group__pubnames_gacd71351ca240809ec976185fb92f435e}\label{group__pubnames_gacd71351ca240809ec976185fb92f435e} 
\+\#define {\bfseries DW\+\_\+\+GL\+\_\+\+TYPES}~3 /\+\texorpdfstring{$\ast$}{*} .debug\+\_\+typenames \texorpdfstring{$\ast$}{*}/\+
\item 
\Hypertarget{group__pubnames_ga82cffc4175c9ad6c31a38f244abaf23c}\label{group__pubnames_ga82cffc4175c9ad6c31a38f244abaf23c} 
\+\#define {\bfseries DW\+\_\+\+GL\+\_\+\+VARS}~4 /\+\texorpdfstring{$\ast$}{*} .debug\+\_\+varnames \texorpdfstring{$\ast$}{*}/\+
\item 
\Hypertarget{group__pubnames_ga6337950708918eaa0ddbb62c6f0b6d61}\label{group__pubnames_ga6337950708918eaa0ddbb62c6f0b6d61} 
\+\#define {\bfseries DW\+\_\+\+GL\+\_\+\+WEAKS}~5 /\+\texorpdfstring{$\ast$}{*} .debug\+\_\+weaknames \texorpdfstring{$\ast$}{*}/\+
\end{DoxyCompactItemize}
\doxysubsubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
DW\+\_\+\+API int \doxymbox{\hyperlink{group__pubnames_ga9143be4ff0556383af3a5e4c2de87fff}{dwarf\+\_\+get\+\_\+globals}} (\doxymbox{\hyperlink{group__allstructs_gac2ba1e1c1b70a3191506b414195ca807}{Dwarf\+\_\+\+Debug}} dw\+\_\+dbg, \doxymbox{\hyperlink{group__allstructs_ga59a6e779b3b390cf4f234c9edee87008}{Dwarf\+\_\+\+Global}} \texorpdfstring{$\ast$}{*}\texorpdfstring{$\ast$}{*}dw\+\_\+globals, \doxymbox{\hyperlink{group__basicdatatypes_gac91d9490d58c8d86a4d5b63ca93ba6dd}{Dwarf\+\_\+\+Signed}} \texorpdfstring{$\ast$}{*}dw\+\_\+number\+\_\+of\+\_\+globals, \doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}dw\+\_\+error)
\begin{DoxyCompactList}\small\item\em Global name space operations, .debug\+\_\+pubnames access. \end{DoxyCompactList}\item 
DW\+\_\+\+API int \doxymbox{\hyperlink{group__pubnames_ga10ffe6065920a9dca3f4e29deedce14b}{dwarf\+\_\+get\+\_\+pubtypes}} (\doxymbox{\hyperlink{group__allstructs_gac2ba1e1c1b70a3191506b414195ca807}{Dwarf\+\_\+\+Debug}} dw\+\_\+dbg, \doxymbox{\hyperlink{group__allstructs_ga59a6e779b3b390cf4f234c9edee87008}{Dwarf\+\_\+\+Global}} \texorpdfstring{$\ast$}{*}\texorpdfstring{$\ast$}{*}dw\+\_\+pubtypes, \doxymbox{\hyperlink{group__basicdatatypes_gac91d9490d58c8d86a4d5b63ca93ba6dd}{Dwarf\+\_\+\+Signed}} \texorpdfstring{$\ast$}{*}dw\+\_\+number\+\_\+of\+\_\+pubtypes, \doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}dw\+\_\+error)
\begin{DoxyCompactList}\small\item\em Global debug\+\_\+types access. \end{DoxyCompactList}\item 
DW\+\_\+\+API int \doxymbox{\hyperlink{group__pubnames_gaef3a5b4e40f2f1e65c42eeff102733aa}{dwarf\+\_\+globals\+\_\+by\+\_\+type}} (\doxymbox{\hyperlink{group__allstructs_gac2ba1e1c1b70a3191506b414195ca807}{Dwarf\+\_\+\+Debug}} dw\+\_\+dbg, int dw\+\_\+requested\+\_\+section, \doxymbox{\hyperlink{group__allstructs_ga59a6e779b3b390cf4f234c9edee87008}{Dwarf\+\_\+\+Global}} \texorpdfstring{$\ast$}{*}\texorpdfstring{$\ast$}{*}dw\+\_\+contents, \doxymbox{\hyperlink{group__basicdatatypes_gac91d9490d58c8d86a4d5b63ca93ba6dd}{Dwarf\+\_\+\+Signed}} \texorpdfstring{$\ast$}{*}dw\+\_\+count, \doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}dw\+\_\+error)
\begin{DoxyCompactList}\small\item\em Allocate Any Fast Access DWARF2-\/\+DWARF4. \end{DoxyCompactList}\item 
DW\+\_\+\+API void \doxymbox{\hyperlink{group__pubnames_gaea7887503c421934018a886728d82c62}{dwarf\+\_\+globals\+\_\+dealloc}} (\doxymbox{\hyperlink{group__allstructs_gac2ba1e1c1b70a3191506b414195ca807}{Dwarf\+\_\+\+Debug}} dw\+\_\+dbg, \doxymbox{\hyperlink{group__allstructs_ga59a6e779b3b390cf4f234c9edee87008}{Dwarf\+\_\+\+Global}} \texorpdfstring{$\ast$}{*}dw\+\_\+global\+\_\+like, \doxymbox{\hyperlink{group__basicdatatypes_gac91d9490d58c8d86a4d5b63ca93ba6dd}{Dwarf\+\_\+\+Signed}} dw\+\_\+count)
\begin{DoxyCompactList}\small\item\em Dealloc the \doxylink{group__allstructs_ga59a6e779b3b390cf4f234c9edee87008}{Dwarf\+\_\+\+Global} data. \end{DoxyCompactList}\item 
DW\+\_\+\+API int \doxymbox{\hyperlink{group__pubnames_ga340d3cc79f2e8a35e00a3eef5a8b9daa}{dwarf\+\_\+globname}} (\doxymbox{\hyperlink{group__allstructs_ga59a6e779b3b390cf4f234c9edee87008}{Dwarf\+\_\+\+Global}} dw\+\_\+global, char \texorpdfstring{$\ast$}{*}\texorpdfstring{$\ast$}{*}dw\+\_\+returned\+\_\+name, \doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}dw\+\_\+error)
\begin{DoxyCompactList}\small\item\em Return the name of a global-\/like data item. \end{DoxyCompactList}\item 
DW\+\_\+\+API int \doxymbox{\hyperlink{group__pubnames_ga7829970dff4860699cb700465789ba6a}{dwarf\+\_\+global\+\_\+die\+\_\+offset}} (\doxymbox{\hyperlink{group__allstructs_ga59a6e779b3b390cf4f234c9edee87008}{Dwarf\+\_\+\+Global}} dw\+\_\+global, \doxymbox{\hyperlink{group__basicdatatypes_ga08c706887ae8c6e09e8f0fb5dd9a539e}{Dwarf\+\_\+\+Off}} \texorpdfstring{$\ast$}{*}dw\+\_\+die\+\_\+offset, \doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}dw\+\_\+error)
\begin{DoxyCompactList}\small\item\em Return the DIE offset of a global data item. \end{DoxyCompactList}\item 
DW\+\_\+\+API int \doxymbox{\hyperlink{group__pubnames_gade76481b5864e915ee42d2d9b35ac36a}{dwarf\+\_\+global\+\_\+cu\+\_\+offset}} (\doxymbox{\hyperlink{group__allstructs_ga59a6e779b3b390cf4f234c9edee87008}{Dwarf\+\_\+\+Global}} dw\+\_\+global, \doxymbox{\hyperlink{group__basicdatatypes_ga08c706887ae8c6e09e8f0fb5dd9a539e}{Dwarf\+\_\+\+Off}} \texorpdfstring{$\ast$}{*}dw\+\_\+cu\+\_\+header\+\_\+offset, \doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}dw\+\_\+error)
\begin{DoxyCompactList}\small\item\em Return the CU header data of a global data item. \end{DoxyCompactList}\item 
DW\+\_\+\+API int \doxymbox{\hyperlink{group__pubnames_ga2dd9cdea0b578fe4c3088e98c3fc54a8}{dwarf\+\_\+global\+\_\+name\+\_\+offsets}} (\doxymbox{\hyperlink{group__allstructs_ga59a6e779b3b390cf4f234c9edee87008}{Dwarf\+\_\+\+Global}} dw\+\_\+global, char \texorpdfstring{$\ast$}{*}\texorpdfstring{$\ast$}{*}dw\+\_\+returned\+\_\+name, \doxymbox{\hyperlink{group__basicdatatypes_ga08c706887ae8c6e09e8f0fb5dd9a539e}{Dwarf\+\_\+\+Off}} \texorpdfstring{$\ast$}{*}dw\+\_\+die\+\_\+offset, \doxymbox{\hyperlink{group__basicdatatypes_ga08c706887ae8c6e09e8f0fb5dd9a539e}{Dwarf\+\_\+\+Off}} \texorpdfstring{$\ast$}{*}dw\+\_\+cu\+\_\+die\+\_\+offset, \doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}dw\+\_\+error)
\begin{DoxyCompactList}\small\item\em Return the name and offsets of a global entry. \end{DoxyCompactList}\item 
DW\+\_\+\+API \doxymbox{\hyperlink{group__basicdatatypes_ga4fb2b14ce7a6d27321fa7999b46b82bd}{Dwarf\+\_\+\+Half}} \doxymbox{\hyperlink{group__pubnames_ga98ac98c5bcb56f804a4bdf176b51ea5e}{dwarf\+\_\+global\+\_\+tag\+\_\+number}} (\doxymbox{\hyperlink{group__allstructs_ga59a6e779b3b390cf4f234c9edee87008}{Dwarf\+\_\+\+Global}} dw\+\_\+global)
\begin{DoxyCompactList}\small\item\em Return the DW\+\_\+\+TAG number of a global entry. \end{DoxyCompactList}\item 
DW\+\_\+\+API int \doxymbox{\hyperlink{group__pubnames_gaf0bb7bf63910883ec882e2596811a253}{dwarf\+\_\+get\+\_\+globals\+\_\+header}} (\doxymbox{\hyperlink{group__allstructs_ga59a6e779b3b390cf4f234c9edee87008}{Dwarf\+\_\+\+Global}} dw\+\_\+global, int \texorpdfstring{$\ast$}{*}dw\+\_\+category, \doxymbox{\hyperlink{group__basicdatatypes_ga08c706887ae8c6e09e8f0fb5dd9a539e}{Dwarf\+\_\+\+Off}} \texorpdfstring{$\ast$}{*}dw\+\_\+offset\+\_\+pub\+\_\+header, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}dw\+\_\+length\+\_\+size, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}dw\+\_\+length\+\_\+pub, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}dw\+\_\+version, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}dw\+\_\+header\+\_\+info\+\_\+offset, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}dw\+\_\+info\+\_\+length, \doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}dw\+\_\+error)
\begin{DoxyCompactList}\small\item\em For more complete globals printing. \end{DoxyCompactList}\item 
DW\+\_\+\+API int \doxymbox{\hyperlink{group__pubnames_ga389e6eed3ca3b715c63d8e64f3a78657}{dwarf\+\_\+return\+\_\+empty\+\_\+pubnames}} (\doxymbox{\hyperlink{group__allstructs_gac2ba1e1c1b70a3191506b414195ca807}{Dwarf\+\_\+\+Debug}} dw\+\_\+dbg, int dw\+\_\+flag)
\begin{DoxyCompactList}\small\item\em A flag for dwarfdump on pubnames, pubtypes etc. \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
\doxylink{index_dwsec_pubnames}{Pubnames and Pubtypes overview }

These functions each read one of a set of sections designed for fast access by name, but they are not always emitted as they each have somewhat limited and inflexible capabilities. So you may not see many of these.

All have the same set of functions with a name reflecting the specific object section involved. Only the first, of type \doxylink{group__allstructs_ga59a6e779b3b390cf4f234c9edee87008}{Dwarf\+\_\+\+Global}, is documented here in full detail as the others do the same jobs just each for their applicable object section.. 

\label{doc-func-members}
\Hypertarget{group__pubnames_doc-func-members}
\doxysubsection{Function Documentation}
\Hypertarget{group__pubnames_ga9143be4ff0556383af3a5e4c2de87fff}\index{Fast Access to .debug\_pubnames and more.@{Fast Access to .debug\_pubnames and more.}!dwarf\_get\_globals@{dwarf\_get\_globals}}
\index{dwarf\_get\_globals@{dwarf\_get\_globals}!Fast Access to .debug\_pubnames and more.@{Fast Access to .debug\_pubnames and more.}}
\doxysubsubsection{\texorpdfstring{dwarf\_get\_globals()}{dwarf\_get\_globals()}}
{\footnotesize\ttfamily \label{group__pubnames_ga9143be4ff0556383af3a5e4c2de87fff} 
DW\+\_\+\+API int dwarf\+\_\+get\+\_\+globals (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_gac2ba1e1c1b70a3191506b414195ca807}{Dwarf\+\_\+\+Debug}}}]{dw\+\_\+dbg}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga59a6e779b3b390cf4f234c9edee87008}{Dwarf\+\_\+\+Global}} \texorpdfstring{$\ast$}{*}\texorpdfstring{$\ast$}{*}}]{dw\+\_\+globals}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_gac91d9490d58c8d86a4d5b63ca93ba6dd}{Dwarf\+\_\+\+Signed}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+number\+\_\+of\+\_\+globals}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+error}{}\end{DoxyParamCaption})}



Global name space operations, .debug\+\_\+pubnames access. 

This accesses .debug\+\_\+pubnames and .debug\+\_\+names sections. Section .debug\+\_\+pubnames is defined in DWARF2, DWARF3, and DWARF4. Section .debug\+\_\+names is defined in DWARF5 and contains lots of information, but only the part of the wealth of information that this interface allows can be retrieved here. See \doxylink{group__debugnames_gacfabb3fe1761cb333e5208abd457a950}{dwarf\+\_\+dnames\+\_\+header()} for access to all. debug\+\_\+names data.

The code here, as of 0.\+4.\+3, September 3 2022, returns data from either section.

\begin{DoxySeeAlso}{See also}
\doxylink{group__examplef}{Using dwarf\+\_\+get\+\_\+globals()}
\end{DoxySeeAlso}

\begin{DoxyParams}{Parameters}
{\em dw\+\_\+dbg} & The \doxylink{group__allstructs_gac2ba1e1c1b70a3191506b414195ca807}{Dwarf\+\_\+\+Debug} of interest. \\
\hline
{\em dw\+\_\+globals} & On success returns an array of pointers to opaque structs.. \\
\hline
{\em dw\+\_\+number\+\_\+of\+\_\+globals} & On success returns the number of entries in the 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. Returns DW\+\_\+\+DLV\+\_\+\+NO\+\_\+\+ENTRY if the section is not present. 
\end{DoxyReturn}
\Hypertarget{group__pubnames_gaf0bb7bf63910883ec882e2596811a253}\index{Fast Access to .debug\_pubnames and more.@{Fast Access to .debug\_pubnames and more.}!dwarf\_get\_globals\_header@{dwarf\_get\_globals\_header}}
\index{dwarf\_get\_globals\_header@{dwarf\_get\_globals\_header}!Fast Access to .debug\_pubnames and more.@{Fast Access to .debug\_pubnames and more.}}
\doxysubsubsection{\texorpdfstring{dwarf\_get\_globals\_header()}{dwarf\_get\_globals\_header()}}
{\footnotesize\ttfamily \label{group__pubnames_gaf0bb7bf63910883ec882e2596811a253} 
DW\+\_\+\+API int dwarf\+\_\+get\+\_\+globals\+\_\+header (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_ga59a6e779b3b390cf4f234c9edee87008}{Dwarf\+\_\+\+Global}}}]{dw\+\_\+global}{, }\item[{int \texorpdfstring{$\ast$}{*}}]{dw\+\_\+category}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga08c706887ae8c6e09e8f0fb5dd9a539e}{Dwarf\+\_\+\+Off}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+offset\+\_\+pub\+\_\+header}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+length\+\_\+size}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+length\+\_\+pub}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+version}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+header\+\_\+info\+\_\+offset}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+info\+\_\+length}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+error}{}\end{DoxyParamCaption})}



For more complete globals printing. 

For each CU represented in .debug\+\_\+pubnames, etc, there is a .debug\+\_\+pubnames header. For any given \doxylink{group__allstructs_ga59a6e779b3b390cf4f234c9edee87008}{Dwarf\+\_\+\+Global} this returns the content of the applicable header. This does not include header information from any .debug\+\_\+names headers.

The function declaration changed at version 0.\+6.\+0. \Hypertarget{group__pubnames_ga10ffe6065920a9dca3f4e29deedce14b}\index{Fast Access to .debug\_pubnames and more.@{Fast Access to .debug\_pubnames and more.}!dwarf\_get\_pubtypes@{dwarf\_get\_pubtypes}}
\index{dwarf\_get\_pubtypes@{dwarf\_get\_pubtypes}!Fast Access to .debug\_pubnames and more.@{Fast Access to .debug\_pubnames and more.}}
\doxysubsubsection{\texorpdfstring{dwarf\_get\_pubtypes()}{dwarf\_get\_pubtypes()}}
{\footnotesize\ttfamily \label{group__pubnames_ga10ffe6065920a9dca3f4e29deedce14b} 
DW\+\_\+\+API int dwarf\+\_\+get\+\_\+pubtypes (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_gac2ba1e1c1b70a3191506b414195ca807}{Dwarf\+\_\+\+Debug}}}]{dw\+\_\+dbg}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga59a6e779b3b390cf4f234c9edee87008}{Dwarf\+\_\+\+Global}} \texorpdfstring{$\ast$}{*}\texorpdfstring{$\ast$}{*}}]{dw\+\_\+pubtypes}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_gac91d9490d58c8d86a4d5b63ca93ba6dd}{Dwarf\+\_\+\+Signed}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+number\+\_\+of\+\_\+pubtypes}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+error}{}\end{DoxyParamCaption})}



Global debug\+\_\+types access. 


\begin{DoxyParams}{Parameters}
{\em dw\+\_\+dbg} & The \doxylink{group__allstructs_gac2ba1e1c1b70a3191506b414195ca807}{Dwarf\+\_\+\+Debug} of interest. \\
\hline
{\em dw\+\_\+pubtypes} & On success returns an array of pointers to opaque structs.. \\
\hline
{\em dw\+\_\+number\+\_\+of\+\_\+pubtypes} & On success returns the number of entries in the 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. Returns DW\+\_\+\+DLV\+\_\+\+NO\+\_\+\+ENTRY if the section is not present.
\end{DoxyReturn}
Same function name as 0.\+5.\+0 and earlier, but the data type changes to \doxylink{group__allstructs_ga59a6e779b3b390cf4f234c9edee87008}{Dwarf\+\_\+\+Global}

\doxylink{group__pubnames_ga10ffe6065920a9dca3f4e29deedce14b}{dwarf\+\_\+get\+\_\+pubtypes()} is an alternate name for dwarf\+\_\+globals\+\_\+by\+\_\+type(..,DW\+\_\+\+GL\+\_\+\+PUBTYPES,..). \Hypertarget{group__pubnames_gade76481b5864e915ee42d2d9b35ac36a}\index{Fast Access to .debug\_pubnames and more.@{Fast Access to .debug\_pubnames and more.}!dwarf\_global\_cu\_offset@{dwarf\_global\_cu\_offset}}
\index{dwarf\_global\_cu\_offset@{dwarf\_global\_cu\_offset}!Fast Access to .debug\_pubnames and more.@{Fast Access to .debug\_pubnames and more.}}
\doxysubsubsection{\texorpdfstring{dwarf\_global\_cu\_offset()}{dwarf\_global\_cu\_offset()}}
{\footnotesize\ttfamily \label{group__pubnames_gade76481b5864e915ee42d2d9b35ac36a} 
DW\+\_\+\+API int dwarf\+\_\+global\+\_\+cu\+\_\+offset (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_ga59a6e779b3b390cf4f234c9edee87008}{Dwarf\+\_\+\+Global}}}]{dw\+\_\+global}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga08c706887ae8c6e09e8f0fb5dd9a539e}{Dwarf\+\_\+\+Off}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+cu\+\_\+header\+\_\+offset}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+error}{}\end{DoxyParamCaption})}



Return the CU header data of a global data item. 

A CU header offset is rarely useful.


\begin{DoxyParams}{Parameters}
{\em dw\+\_\+global} & The \doxylink{group__allstructs_ga59a6e779b3b390cf4f234c9edee87008}{Dwarf\+\_\+\+Global} of interest. \\
\hline
{\em dw\+\_\+cu\+\_\+header\+\_\+offset} & On success a the section-\/global offset of a CU header is returned. \\
\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__pubnames_ga7829970dff4860699cb700465789ba6a}\index{Fast Access to .debug\_pubnames and more.@{Fast Access to .debug\_pubnames and more.}!dwarf\_global\_die\_offset@{dwarf\_global\_die\_offset}}
\index{dwarf\_global\_die\_offset@{dwarf\_global\_die\_offset}!Fast Access to .debug\_pubnames and more.@{Fast Access to .debug\_pubnames and more.}}
\doxysubsubsection{\texorpdfstring{dwarf\_global\_die\_offset()}{dwarf\_global\_die\_offset()}}
{\footnotesize\ttfamily \label{group__pubnames_ga7829970dff4860699cb700465789ba6a} 
DW\+\_\+\+API int dwarf\+\_\+global\+\_\+die\+\_\+offset (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_ga59a6e779b3b390cf4f234c9edee87008}{Dwarf\+\_\+\+Global}}}]{dw\+\_\+global}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga08c706887ae8c6e09e8f0fb5dd9a539e}{Dwarf\+\_\+\+Off}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+die\+\_\+offset}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+error}{}\end{DoxyParamCaption})}



Return the DIE offset of a global data item. 


\begin{DoxyParams}{Parameters}
{\em dw\+\_\+global} & The \doxylink{group__allstructs_ga59a6e779b3b390cf4f234c9edee87008}{Dwarf\+\_\+\+Global} of interest. \\
\hline
{\em dw\+\_\+die\+\_\+offset} & On success a the section-\/global DIE offset of a data item is returned. \\
\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__pubnames_ga2dd9cdea0b578fe4c3088e98c3fc54a8}\index{Fast Access to .debug\_pubnames and more.@{Fast Access to .debug\_pubnames and more.}!dwarf\_global\_name\_offsets@{dwarf\_global\_name\_offsets}}
\index{dwarf\_global\_name\_offsets@{dwarf\_global\_name\_offsets}!Fast Access to .debug\_pubnames and more.@{Fast Access to .debug\_pubnames and more.}}
\doxysubsubsection{\texorpdfstring{dwarf\_global\_name\_offsets()}{dwarf\_global\_name\_offsets()}}
{\footnotesize\ttfamily \label{group__pubnames_ga2dd9cdea0b578fe4c3088e98c3fc54a8} 
DW\+\_\+\+API int dwarf\+\_\+global\+\_\+name\+\_\+offsets (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_ga59a6e779b3b390cf4f234c9edee87008}{Dwarf\+\_\+\+Global}}}]{dw\+\_\+global}{, }\item[{char \texorpdfstring{$\ast$}{*}\texorpdfstring{$\ast$}{*}}]{dw\+\_\+returned\+\_\+name}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga08c706887ae8c6e09e8f0fb5dd9a539e}{Dwarf\+\_\+\+Off}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+die\+\_\+offset}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga08c706887ae8c6e09e8f0fb5dd9a539e}{Dwarf\+\_\+\+Off}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+cu\+\_\+die\+\_\+offset}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+error}{}\end{DoxyParamCaption})}



Return the name and offsets of a global entry. 


\begin{DoxyParams}{Parameters}
{\em dw\+\_\+global} & The \doxylink{group__allstructs_ga59a6e779b3b390cf4f234c9edee87008}{Dwarf\+\_\+\+Global} of interest. \\
\hline
{\em dw\+\_\+returned\+\_\+name} & On success a pointer to the name (a null-\/terminated string) is returned. \\
\hline
{\em dw\+\_\+die\+\_\+offset} & On success a the section-\/global DIE offset of the global with the name. \\
\hline
{\em dw\+\_\+cu\+\_\+die\+\_\+offset} & On success a the section-\/global offset of the relevant CU DIE is returned. \\
\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__pubnames_ga98ac98c5bcb56f804a4bdf176b51ea5e}\index{Fast Access to .debug\_pubnames and more.@{Fast Access to .debug\_pubnames and more.}!dwarf\_global\_tag\_number@{dwarf\_global\_tag\_number}}
\index{dwarf\_global\_tag\_number@{dwarf\_global\_tag\_number}!Fast Access to .debug\_pubnames and more.@{Fast Access to .debug\_pubnames and more.}}
\doxysubsubsection{\texorpdfstring{dwarf\_global\_tag\_number()}{dwarf\_global\_tag\_number()}}
{\footnotesize\ttfamily \label{group__pubnames_ga98ac98c5bcb56f804a4bdf176b51ea5e} 
DW\+\_\+\+API \doxymbox{\hyperlink{group__basicdatatypes_ga4fb2b14ce7a6d27321fa7999b46b82bd}{Dwarf\+\_\+\+Half}} dwarf\+\_\+global\+\_\+tag\+\_\+number (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_ga59a6e779b3b390cf4f234c9edee87008}{Dwarf\+\_\+\+Global}}}]{dw\+\_\+global}{}\end{DoxyParamCaption})}



Return the DW\+\_\+\+TAG number of a global entry. 


\begin{DoxyParams}{Parameters}
{\em dw\+\_\+global} & The \doxylink{group__allstructs_ga59a6e779b3b390cf4f234c9edee87008}{Dwarf\+\_\+\+Global} of interest. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
If the \doxylink{group__allstructs_ga59a6e779b3b390cf4f234c9edee87008}{Dwarf\+\_\+\+Global} refers to a global from the .debug\+\_\+names section the return value is the DW\+\_\+\+TAG for the DIE in the global entry, for example DW\+\_\+\+TAG\+\_\+subprogram. In case of error or if the section for this global was not .debug\+\_\+names zero is returned. 
\end{DoxyReturn}
\Hypertarget{group__pubnames_gaef3a5b4e40f2f1e65c42eeff102733aa}\index{Fast Access to .debug\_pubnames and more.@{Fast Access to .debug\_pubnames and more.}!dwarf\_globals\_by\_type@{dwarf\_globals\_by\_type}}
\index{dwarf\_globals\_by\_type@{dwarf\_globals\_by\_type}!Fast Access to .debug\_pubnames and more.@{Fast Access to .debug\_pubnames and more.}}
\doxysubsubsection{\texorpdfstring{dwarf\_globals\_by\_type()}{dwarf\_globals\_by\_type()}}
{\footnotesize\ttfamily \label{group__pubnames_gaef3a5b4e40f2f1e65c42eeff102733aa} 
DW\+\_\+\+API int dwarf\+\_\+globals\+\_\+by\+\_\+type (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_gac2ba1e1c1b70a3191506b414195ca807}{Dwarf\+\_\+\+Debug}}}]{dw\+\_\+dbg}{, }\item[{int}]{dw\+\_\+requested\+\_\+section}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga59a6e779b3b390cf4f234c9edee87008}{Dwarf\+\_\+\+Global}} \texorpdfstring{$\ast$}{*}\texorpdfstring{$\ast$}{*}}]{dw\+\_\+contents}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_gac91d9490d58c8d86a4d5b63ca93ba6dd}{Dwarf\+\_\+\+Signed}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+count}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+error}{}\end{DoxyParamCaption})}



Allocate Any Fast Access DWARF2-\/\+DWARF4. 

This interface new in 0.\+6.\+0. Simplfies access by replace dwarf\+\_\+get\+\_\+pubtypes, dwarf\+\_\+get\+\_\+funcs, dwarf\+\_\+get\+\_\+types, dwarfget\+\_\+vars, and dwarf\+\_\+get\+\_\+weaks with a single set of types.


\begin{DoxyParams}{Parameters}
{\em dw\+\_\+dbg} & The \doxylink{group__allstructs_gac2ba1e1c1b70a3191506b414195ca807}{Dwarf\+\_\+\+Debug} of interest. \\
\hline
{\em dw\+\_\+requested\+\_\+section} & Pass in one of the values DW\+\_\+\+GL\+\_\+\+GLOBALS through DW\+\_\+\+GL\+\_\+\+WEAKS to select the section to extract data from. \\
\hline
{\em dw\+\_\+contents} & On success returns an array of pointers to opaque structs. \\
\hline
{\em dw\+\_\+count} & On success returns the number of entries in the 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. Returns DW\+\_\+\+DLV\+\_\+\+NO\+\_\+\+ENTRY if the section is not present. 
\end{DoxyReturn}
\Hypertarget{group__pubnames_gaea7887503c421934018a886728d82c62}\index{Fast Access to .debug\_pubnames and more.@{Fast Access to .debug\_pubnames and more.}!dwarf\_globals\_dealloc@{dwarf\_globals\_dealloc}}
\index{dwarf\_globals\_dealloc@{dwarf\_globals\_dealloc}!Fast Access to .debug\_pubnames and more.@{Fast Access to .debug\_pubnames and more.}}
\doxysubsubsection{\texorpdfstring{dwarf\_globals\_dealloc()}{dwarf\_globals\_dealloc()}}
{\footnotesize\ttfamily \label{group__pubnames_gaea7887503c421934018a886728d82c62} 
DW\+\_\+\+API void dwarf\+\_\+globals\+\_\+dealloc (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_gac2ba1e1c1b70a3191506b414195ca807}{Dwarf\+\_\+\+Debug}}}]{dw\+\_\+dbg}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga59a6e779b3b390cf4f234c9edee87008}{Dwarf\+\_\+\+Global}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+global\+\_\+like}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_gac91d9490d58c8d86a4d5b63ca93ba6dd}{Dwarf\+\_\+\+Signed}}}]{dw\+\_\+count}{}\end{DoxyParamCaption})}



Dealloc the \doxylink{group__allstructs_ga59a6e779b3b390cf4f234c9edee87008}{Dwarf\+\_\+\+Global} data. 


\begin{DoxyParams}{Parameters}
{\em dw\+\_\+dbg} & The \doxylink{group__allstructs_gac2ba1e1c1b70a3191506b414195ca807}{Dwarf\+\_\+\+Debug} of interest. \\
\hline
{\em dw\+\_\+global\+\_\+like} & The array of globals/\+types/\+etc data to dealloc (free). \\
\hline
{\em dw\+\_\+count} & The number of entries in the array. \\
\hline
\end{DoxyParams}
\Hypertarget{group__pubnames_ga340d3cc79f2e8a35e00a3eef5a8b9daa}\index{Fast Access to .debug\_pubnames and more.@{Fast Access to .debug\_pubnames and more.}!dwarf\_globname@{dwarf\_globname}}
\index{dwarf\_globname@{dwarf\_globname}!Fast Access to .debug\_pubnames and more.@{Fast Access to .debug\_pubnames and more.}}
\doxysubsubsection{\texorpdfstring{dwarf\_globname()}{dwarf\_globname()}}
{\footnotesize\ttfamily \label{group__pubnames_ga340d3cc79f2e8a35e00a3eef5a8b9daa} 
DW\+\_\+\+API int dwarf\+\_\+globname (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_ga59a6e779b3b390cf4f234c9edee87008}{Dwarf\+\_\+\+Global}}}]{dw\+\_\+global}{, }\item[{char \texorpdfstring{$\ast$}{*}\texorpdfstring{$\ast$}{*}}]{dw\+\_\+returned\+\_\+name}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+error}{}\end{DoxyParamCaption})}



Return the name of a global-\/like data item. 


\begin{DoxyParams}{Parameters}
{\em dw\+\_\+global} & The \doxylink{group__allstructs_ga59a6e779b3b390cf4f234c9edee87008}{Dwarf\+\_\+\+Global} of interest. \\
\hline
{\em dw\+\_\+returned\+\_\+name} & On success a pointer to the name (a null-\/terminated string) is returned. \\
\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__pubnames_ga389e6eed3ca3b715c63d8e64f3a78657}\index{Fast Access to .debug\_pubnames and more.@{Fast Access to .debug\_pubnames and more.}!dwarf\_return\_empty\_pubnames@{dwarf\_return\_empty\_pubnames}}
\index{dwarf\_return\_empty\_pubnames@{dwarf\_return\_empty\_pubnames}!Fast Access to .debug\_pubnames and more.@{Fast Access to .debug\_pubnames and more.}}
\doxysubsubsection{\texorpdfstring{dwarf\_return\_empty\_pubnames()}{dwarf\_return\_empty\_pubnames()}}
{\footnotesize\ttfamily \label{group__pubnames_ga389e6eed3ca3b715c63d8e64f3a78657} 
DW\+\_\+\+API int dwarf\+\_\+return\+\_\+empty\+\_\+pubnames (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_gac2ba1e1c1b70a3191506b414195ca807}{Dwarf\+\_\+\+Debug}}}]{dw\+\_\+dbg}{, }\item[{int}]{dw\+\_\+flag}{}\end{DoxyParamCaption})}



A flag for dwarfdump on pubnames, pubtypes etc. 

Sets a flag in the dbg. Always returns DW\+\_\+\+DLV\+\_\+\+OK. Applies to all the sections of this kind:\+ pubnames, pubtypes, funcs, typenames,vars, weaks. Ensures empty content (meaning no offset/\+name tuples, but with a header) for a CU shows up rather than being suppressed.

Primarily useful if one wants to note any pointless header data in the section.

\doxylink{index_dwsec_pubnames}{Pubnames and Pubtypes overview }


\begin{DoxyParams}{Parameters}
{\em dw\+\_\+dbg} & The \doxylink{group__allstructs_gac2ba1e1c1b70a3191506b414195ca807}{Dwarf\+\_\+\+Debug} of interest. \\
\hline
{\em dw\+\_\+flag} & Must be the value one. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Returns DW\+\_\+\+DLV\+\_\+\+OK. Always. 
\end{DoxyReturn}
