\doxysection{Abbreviations Section Details }
\hypertarget{group__abbrev}{}\label{group__abbrev}\index{Abbreviations Section Details@{Abbreviations Section Details}}
\doxysubsubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
DW\+\_\+\+API int \doxymbox{\hyperlink{group__abbrev_ga77629e56ce8614828e3924ec5d94b4c7}{dwarf\+\_\+get\+\_\+abbrev}} (\doxymbox{\hyperlink{group__allstructs_gac2ba1e1c1b70a3191506b414195ca807}{Dwarf\+\_\+\+Debug}} dw\+\_\+dbg, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} dw\+\_\+offset, \doxymbox{\hyperlink{group__allstructs_gabe4cce2f99909360909f3f6159ae3f18}{Dwarf\+\_\+\+Abbrev}} \texorpdfstring{$\ast$}{*}dw\+\_\+returned\+\_\+abbrev, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}dw\+\_\+length, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}dw\+\_\+attr\+\_\+count, \doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}dw\+\_\+error)
\begin{DoxyCompactList}\small\item\em Reading Abbreviation Data. \end{DoxyCompactList}\item 
DW\+\_\+\+API int \doxymbox{\hyperlink{group__abbrev_gae35dbaffae75291b8b4327caa115e144}{dwarf\+\_\+get\+\_\+abbrev\+\_\+tag}} (\doxymbox{\hyperlink{group__allstructs_gabe4cce2f99909360909f3f6159ae3f18}{Dwarf\+\_\+\+Abbrev}} dw\+\_\+abbrev, \doxymbox{\hyperlink{group__basicdatatypes_ga4fb2b14ce7a6d27321fa7999b46b82bd}{Dwarf\+\_\+\+Half}} \texorpdfstring{$\ast$}{*}dw\+\_\+return\+\_\+tag\+\_\+number, \doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}dw\+\_\+error)
\begin{DoxyCompactList}\small\item\em Get abbreviation tag. \end{DoxyCompactList}\item 
DW\+\_\+\+API int \doxymbox{\hyperlink{group__abbrev_ga6ea80f687176862e969177bd11579d8d}{dwarf\+\_\+get\+\_\+abbrev\+\_\+code}} (\doxymbox{\hyperlink{group__allstructs_gabe4cce2f99909360909f3f6159ae3f18}{Dwarf\+\_\+\+Abbrev}} dw\+\_\+abbrev, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}dw\+\_\+return\+\_\+code\+\_\+number, \doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}dw\+\_\+error)
\begin{DoxyCompactList}\small\item\em Get Abbreviation Code. \end{DoxyCompactList}\item 
DW\+\_\+\+API int \doxymbox{\hyperlink{group__abbrev_gab5061fb36da76dc0edc2bb772450017f}{dwarf\+\_\+get\+\_\+abbrev\+\_\+children\+\_\+flag}} (\doxymbox{\hyperlink{group__allstructs_gabe4cce2f99909360909f3f6159ae3f18}{Dwarf\+\_\+\+Abbrev}} dw\+\_\+abbrev, \doxymbox{\hyperlink{group__basicdatatypes_gac91d9490d58c8d86a4d5b63ca93ba6dd}{Dwarf\+\_\+\+Signed}} \texorpdfstring{$\ast$}{*}dw\+\_\+return\+\_\+flag, \doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}dw\+\_\+error)
\begin{DoxyCompactList}\small\item\em Get Abbrev Children Flag. \end{DoxyCompactList}\item 
DW\+\_\+\+API int \doxymbox{\hyperlink{group__abbrev_ga71b44cc99738a87caf9f9c8222ae3d09}{dwarf\+\_\+get\+\_\+abbrev\+\_\+entry\+\_\+b}} (\doxymbox{\hyperlink{group__allstructs_gabe4cce2f99909360909f3f6159ae3f18}{Dwarf\+\_\+\+Abbrev}} dw\+\_\+abbrev, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} dw\+\_\+indx, \doxymbox{\hyperlink{group__basicdatatypes_ga32afecc94a71aae2be36aa279f1dded8}{Dwarf\+\_\+\+Bool}} dw\+\_\+filter\+\_\+outliers, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}dw\+\_\+returned\+\_\+attr\+\_\+num, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}dw\+\_\+returned\+\_\+form, \doxymbox{\hyperlink{group__basicdatatypes_gac91d9490d58c8d86a4d5b63ca93ba6dd}{Dwarf\+\_\+\+Signed}} \texorpdfstring{$\ast$}{*}dw\+\_\+returned\+\_\+implicit\+\_\+const, \doxymbox{\hyperlink{group__basicdatatypes_ga08c706887ae8c6e09e8f0fb5dd9a539e}{Dwarf\+\_\+\+Off}} \texorpdfstring{$\ast$}{*}dw\+\_\+offset, \doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}dw\+\_\+error)
\begin{DoxyCompactList}\small\item\em Get Abbrev Entry Details. \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
Allows reading section .debug\+\_\+abbrev independently of CUs or DIEs. Normally not done (libdwarf uses it as necessary to access DWARF DIEs and DWARF attributes) unless one is interested in the content of the section.

\doxylink{index_dwsec_independentsec}{About Reading Independently. } 

\label{doc-func-members}
\Hypertarget{group__abbrev_doc-func-members}
\doxysubsection{Function Documentation}
\Hypertarget{group__abbrev_ga77629e56ce8614828e3924ec5d94b4c7}\index{Abbreviations Section Details@{Abbreviations Section Details}!dwarf\_get\_abbrev@{dwarf\_get\_abbrev}}
\index{dwarf\_get\_abbrev@{dwarf\_get\_abbrev}!Abbreviations Section Details@{Abbreviations Section Details}}
\doxysubsubsection{\texorpdfstring{dwarf\_get\_abbrev()}{dwarf\_get\_abbrev()}}
{\footnotesize\ttfamily \label{group__abbrev_ga77629e56ce8614828e3924ec5d94b4c7} 
DW\+\_\+\+API int dwarf\+\_\+get\+\_\+abbrev (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_gac2ba1e1c1b70a3191506b414195ca807}{Dwarf\+\_\+\+Debug}}}]{dw\+\_\+dbg}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}}}]{dw\+\_\+offset}{, }\item[{\doxymbox{\hyperlink{group__allstructs_gabe4cce2f99909360909f3f6159ae3f18}{Dwarf\+\_\+\+Abbrev}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+returned\+\_\+abbrev}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+length}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+attr\+\_\+count}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+error}{}\end{DoxyParamCaption})}



Reading Abbreviation Data. 

Normally you never need to call these functions. Calls that involve DIEs do all this for you behind the scenes in the library.

This reads the data for a single abbrev code starting at dw\+\_\+offset. Essentially, opening access to an abbreviation entry.

When libdwarf itself reads abbreviations to access DIEs the offset comes from the Compilation Unit Header debug\+\_\+abbrev\+\_\+offset field. \begin{DoxySeeAlso}{See also}
\doxylink{group__compilationunit_ga282a397fc2095bd2939d486b232e3cc2}{dwarf\+\_\+next\+\_\+cu\+\_\+header\+\_\+e}
\end{DoxySeeAlso}

\begin{DoxyParams}{Parameters}
{\em dw\+\_\+dbg} & The \doxylink{group__allstructs_gac2ba1e1c1b70a3191506b414195ca807}{Dwarf\+\_\+\+Debug} of interest. \\
\hline
{\em dw\+\_\+offset} & Pass in the offset where a Debug\+\_\+\+Abbrev starts. \\
\hline
{\em dw\+\_\+returned\+\_\+abbrev} & On success, sets a pointer to a \doxylink{group__allstructs_gabe4cce2f99909360909f3f6159ae3f18}{Dwarf\+\_\+\+Abbrev} through the pointer to allow further access. \\
\hline
{\em dw\+\_\+length} & On success, returns the length of the entire abbreviation block (bytes), useful to calculate the next offset if reading the section independently of any compilation unit. \\
\hline
{\em dw\+\_\+attr\+\_\+count} & On success, returns the number of attributes in this abbreviation entry. \\
\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 abbreviation is a single zero byte it is a null abbreviation. DW\+\_\+\+DLV\+\_\+\+OK is returned.
\end{DoxyReturn}
Close the abbrev by calling dwarf\+\_\+dealloc(dbg,\texorpdfstring{$\ast$}{*}dw\+\_\+returned\+\_\+abbrev, DW\+\_\+\+DLA\+\_\+\+ABBREV) \Hypertarget{group__abbrev_gab5061fb36da76dc0edc2bb772450017f}\index{Abbreviations Section Details@{Abbreviations Section Details}!dwarf\_get\_abbrev\_children\_flag@{dwarf\_get\_abbrev\_children\_flag}}
\index{dwarf\_get\_abbrev\_children\_flag@{dwarf\_get\_abbrev\_children\_flag}!Abbreviations Section Details@{Abbreviations Section Details}}
\doxysubsubsection{\texorpdfstring{dwarf\_get\_abbrev\_children\_flag()}{dwarf\_get\_abbrev\_children\_flag()}}
{\footnotesize\ttfamily \label{group__abbrev_gab5061fb36da76dc0edc2bb772450017f} 
DW\+\_\+\+API int dwarf\+\_\+get\+\_\+abbrev\+\_\+children\+\_\+flag (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_gabe4cce2f99909360909f3f6159ae3f18}{Dwarf\+\_\+\+Abbrev}}}]{dw\+\_\+abbrev}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_gac91d9490d58c8d86a4d5b63ca93ba6dd}{Dwarf\+\_\+\+Signed}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+return\+\_\+flag}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+error}{}\end{DoxyParamCaption})}



Get Abbrev Children Flag. 


\begin{DoxyParams}{Parameters}
{\em dw\+\_\+abbrev} & The \doxylink{group__allstructs_gabe4cce2f99909360909f3f6159ae3f18}{Dwarf\+\_\+\+Abbrev} of interest. \\
\hline
{\em dw\+\_\+return\+\_\+flag} & On success returns the flag TRUE (greater than zero) if the DIE referencing the abbreviation has children, else returns FALSE (zero). \\
\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__abbrev_ga6ea80f687176862e969177bd11579d8d}\index{Abbreviations Section Details@{Abbreviations Section Details}!dwarf\_get\_abbrev\_code@{dwarf\_get\_abbrev\_code}}
\index{dwarf\_get\_abbrev\_code@{dwarf\_get\_abbrev\_code}!Abbreviations Section Details@{Abbreviations Section Details}}
\doxysubsubsection{\texorpdfstring{dwarf\_get\_abbrev\_code()}{dwarf\_get\_abbrev\_code()}}
{\footnotesize\ttfamily \label{group__abbrev_ga6ea80f687176862e969177bd11579d8d} 
DW\+\_\+\+API int dwarf\+\_\+get\+\_\+abbrev\+\_\+code (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_gabe4cce2f99909360909f3f6159ae3f18}{Dwarf\+\_\+\+Abbrev}}}]{dw\+\_\+abbrev}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+return\+\_\+code\+\_\+number}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+error}{}\end{DoxyParamCaption})}



Get Abbreviation Code. 


\begin{DoxyParams}{Parameters}
{\em dw\+\_\+abbrev} & The \doxylink{group__allstructs_gabe4cce2f99909360909f3f6159ae3f18}{Dwarf\+\_\+\+Abbrev} of interest. \\
\hline
{\em dw\+\_\+return\+\_\+code\+\_\+number} & Returns the code for this abbreviation, a number assigned to the abbreviation and unique within the applicable CU. \\
\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__abbrev_ga71b44cc99738a87caf9f9c8222ae3d09}\index{Abbreviations Section Details@{Abbreviations Section Details}!dwarf\_get\_abbrev\_entry\_b@{dwarf\_get\_abbrev\_entry\_b}}
\index{dwarf\_get\_abbrev\_entry\_b@{dwarf\_get\_abbrev\_entry\_b}!Abbreviations Section Details@{Abbreviations Section Details}}
\doxysubsubsection{\texorpdfstring{dwarf\_get\_abbrev\_entry\_b()}{dwarf\_get\_abbrev\_entry\_b()}}
{\footnotesize\ttfamily \label{group__abbrev_ga71b44cc99738a87caf9f9c8222ae3d09} 
DW\+\_\+\+API int dwarf\+\_\+get\+\_\+abbrev\+\_\+entry\+\_\+b (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_gabe4cce2f99909360909f3f6159ae3f18}{Dwarf\+\_\+\+Abbrev}}}]{dw\+\_\+abbrev}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}}}]{dw\+\_\+indx}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga32afecc94a71aae2be36aa279f1dded8}{Dwarf\+\_\+\+Bool}}}]{dw\+\_\+filter\+\_\+outliers}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+returned\+\_\+attr\+\_\+num}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+returned\+\_\+form}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_gac91d9490d58c8d86a4d5b63ca93ba6dd}{Dwarf\+\_\+\+Signed}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+returned\+\_\+implicit\+\_\+const}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga08c706887ae8c6e09e8f0fb5dd9a539e}{Dwarf\+\_\+\+Off}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+offset}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+error}{}\end{DoxyParamCaption})}



Get Abbrev Entry Details. 

Most will will call with filter\+\_\+outliers non-\/zero.


\begin{DoxyParams}{Parameters}
{\em dw\+\_\+abbrev} & The \doxylink{group__allstructs_gabe4cce2f99909360909f3f6159ae3f18}{Dwarf\+\_\+\+Abbrev} of interest. \\
\hline
{\em dw\+\_\+indx} & Valid dw\+\_\+index values are 0 through dw\+\_\+attr\+\_\+count-\/1 \\
\hline
{\em dw\+\_\+filter\+\_\+outliers} & Pass non-\/zero (TRUE) so the function will check for unreasonable abbreviation content and return DW\+\_\+\+DLV\+\_\+\+ERROR if such found. If zero (FALSE) passed in even a nonsensical attribute number and/\+or unknown DW\+\_\+\+FORM are allowed (used by dwarfdump to report the issue(s)). \\
\hline
{\em dw\+\_\+returned\+\_\+attr\+\_\+num} & On success returns the attribute number, such as DW\+\_\+\+AT\+\_\+name \\
\hline
{\em dw\+\_\+returned\+\_\+form} & On success returns the attribute FORM, such as DW\+\_\+\+FORM\+\_\+udata \\
\hline
{\em dw\+\_\+returned\+\_\+implicit\+\_\+const} & On success, if the dw\+\_\+returned\+\_\+form is DW\+\_\+\+FORM\+\_\+implicit\+\_\+const then dw\+\_\+returned\+\_\+implicit\+\_\+const is the implicit const value, but if not implicit const the return value is zero.. \\
\hline
{\em dw\+\_\+offset} & On success returns the offset of the start of this attr/\+form pair in the abbreviation section. \\
\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 abbreviation code for this \doxylink{group__allstructs_gabe4cce2f99909360909f3f6159ae3f18}{Dwarf\+\_\+\+Abbrev} is 0 it is a null abbreviation, the dw\+\_\+indx is ignored, and the function returns DW\+\_\+\+DLV\+\_\+\+NO\+\_\+\+ENTRY. 
\end{DoxyReturn}
\Hypertarget{group__abbrev_gae35dbaffae75291b8b4327caa115e144}\index{Abbreviations Section Details@{Abbreviations Section Details}!dwarf\_get\_abbrev\_tag@{dwarf\_get\_abbrev\_tag}}
\index{dwarf\_get\_abbrev\_tag@{dwarf\_get\_abbrev\_tag}!Abbreviations Section Details@{Abbreviations Section Details}}
\doxysubsubsection{\texorpdfstring{dwarf\_get\_abbrev\_tag()}{dwarf\_get\_abbrev\_tag()}}
{\footnotesize\ttfamily \label{group__abbrev_gae35dbaffae75291b8b4327caa115e144} 
DW\+\_\+\+API int dwarf\+\_\+get\+\_\+abbrev\+\_\+tag (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_gabe4cce2f99909360909f3f6159ae3f18}{Dwarf\+\_\+\+Abbrev}}}]{dw\+\_\+abbrev}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga4fb2b14ce7a6d27321fa7999b46b82bd}{Dwarf\+\_\+\+Half}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+return\+\_\+tag\+\_\+number}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+error}{}\end{DoxyParamCaption})}



Get abbreviation tag. 


\begin{DoxyParams}{Parameters}
{\em dw\+\_\+abbrev} & The \doxylink{group__allstructs_gabe4cce2f99909360909f3f6159ae3f18}{Dwarf\+\_\+\+Abbrev} of interest. \\
\hline
{\em dw\+\_\+return\+\_\+tag\+\_\+number} & Returns the tag value, for example DW\+\_\+\+TAG\+\_\+compile\+\_\+unit. \\
\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}
