\doxysection{Enumerators with various purposes }
\hypertarget{group__enums}{}\label{group__enums}\index{Enumerators with various purposes@{Enumerators with various purposes}}
\doxysubsubsection*{Enumerations}
\begin{DoxyCompactItemize}
\item 
enum \doxymbox{\hyperlink{group__enums_ga8d02a46e9e2f3023b8a7fb996a4a08ac}{Dwarf\+\_\+\+Ranges\+\_\+\+Entry\+\_\+\+Type}} \{ {\bfseries DW\+\_\+\+RANGES\+\_\+\+ENTRY}
, {\bfseries DW\+\_\+\+RANGES\+\_\+\+ADDRESS\+\_\+\+SELECTION}
, {\bfseries DW\+\_\+\+RANGES\+\_\+\+END}
 \}
\item 
enum \doxymbox{\hyperlink{group__enums_ga9ac80540973d025e56d5cbc1332c876b}{Dwarf\+\_\+\+Form\+\_\+\+Class}} \{ \newline
{\bfseries DW\+\_\+\+FORM\+\_\+\+CLASS\+\_\+\+UNKNOWN} = 0
, {\bfseries DW\+\_\+\+FORM\+\_\+\+CLASS\+\_\+\+ADDRESS} = 1
, {\bfseries DW\+\_\+\+FORM\+\_\+\+CLASS\+\_\+\+BLOCK} = 2
, {\bfseries DW\+\_\+\+FORM\+\_\+\+CLASS\+\_\+\+CONSTANT} =3
, \newline
{\bfseries DW\+\_\+\+FORM\+\_\+\+CLASS\+\_\+\+EXPRLOC} = 4
, {\bfseries DW\+\_\+\+FORM\+\_\+\+CLASS\+\_\+\+FLAG} = 5
, {\bfseries DW\+\_\+\+FORM\+\_\+\+CLASS\+\_\+\+LINEPTR} = 6
, {\bfseries DW\+\_\+\+FORM\+\_\+\+CLASS\+\_\+\+LOCLISTPTR} =7
, \newline
{\bfseries DW\+\_\+\+FORM\+\_\+\+CLASS\+\_\+\+MACPTR} = 8
, {\bfseries DW\+\_\+\+FORM\+\_\+\+CLASS\+\_\+\+RANGELISTPTR} =9
, {\bfseries DW\+\_\+\+FORM\+\_\+\+CLASS\+\_\+\+REFERENCE} =10
, {\bfseries DW\+\_\+\+FORM\+\_\+\+CLASS\+\_\+\+STRING} = 11
, \newline
{\bfseries DW\+\_\+\+FORM\+\_\+\+CLASS\+\_\+\+FRAMEPTR} = 12
, {\bfseries DW\+\_\+\+FORM\+\_\+\+CLASS\+\_\+\+MACROPTR} = 13
, {\bfseries DW\+\_\+\+FORM\+\_\+\+CLASS\+\_\+\+ADDRPTR} = 14
, {\bfseries DW\+\_\+\+FORM\+\_\+\+CLASS\+\_\+\+LOCLIST} = 15
, \newline
{\bfseries DW\+\_\+\+FORM\+\_\+\+CLASS\+\_\+\+LOCLISTSPTR} =16
, {\bfseries DW\+\_\+\+FORM\+\_\+\+CLASS\+\_\+\+RNGLIST} =17
, {\bfseries DW\+\_\+\+FORM\+\_\+\+CLASS\+\_\+\+RNGLISTSPTR} =18
, {\bfseries DW\+\_\+\+FORM\+\_\+\+CLASS\+\_\+\+STROFFSETSPTR} =19
 \}
\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}


\label{doc-enum-members}
\Hypertarget{group__enums_doc-enum-members}
\doxysubsection{Enumeration Type Documentation}
\Hypertarget{group__enums_ga9ac80540973d025e56d5cbc1332c876b}\index{Enumerators with various purposes@{Enumerators with various purposes}!Dwarf\_Form\_Class@{Dwarf\_Form\_Class}}
\index{Dwarf\_Form\_Class@{Dwarf\_Form\_Class}!Enumerators with various purposes@{Enumerators with various purposes}}
\doxysubsubsection{\texorpdfstring{Dwarf\_Form\_Class}{Dwarf\_Form\_Class}}
{\footnotesize\ttfamily \label{group__enums_ga9ac80540973d025e56d5cbc1332c876b} 
enum \doxymbox{\hyperlink{group__enums_ga9ac80540973d025e56d5cbc1332c876b}{Dwarf\+\_\+\+Form\+\_\+\+Class}}}

The dwarf specification separates FORMs into different classes. To do the separation properly requires 4 pieces of data as of DWARF4 (thus the function arguments listed here). The DWARF4 specification class definition suffices to describe all DWARF versions. See section 7.\+5.\+4, Attribute Encodings. A return of DW\+\_\+\+FORM\+\_\+\+CLASS\+\_\+\+UNKNOWN means the library could not properly figure out what form-\/class it is.

DW\+\_\+\+FORM\+\_\+\+CLASS\+\_\+\+FRAMEPTR is MIPS/\+\+IRIX only, and refers to the DW\+\_\+\+AT\+\_\+\+MIPS\+\_\+fde attribute (a reference to the .debug\+\_\+frame section).

DWARF5:\+ DW\+\_\+\+FORM\+\_\+\+CLASS\+\_\+\+LOCLISTSPTR is like DW\+\_\+\+FORM\+\_\+\+CLASS\+\_\+\+LOCLIST except that LOCLISTSPTR is always a section offset, never an index, and LOCLISTSPTR is only referenced by DW\+\_\+\+AT\+\_\+loclists\+\_\+base. Note DW\+\_\+\+FORM\+\_\+\+CLASS\+\_\+\+LOCLISTSPTR spelling to distinguish from DW\+\_\+\+FORM\+\_\+\+CLASS\+\_\+\+LOCLISTPTR.

DWARF5:\+ DW\+\_\+\+FORM\+\_\+\+CLASS\+\_\+\+RNGLISTSPTR is like DW\+\_\+\+FORM\+\_\+\+CLASS\+\_\+\+RNGLIST except that RNGLISTSPTR is always a section offset, never an index. DW\+\_\+\+FORM\+\_\+\+CLASS\+\_\+\+RNGLISTSPTR is only referenced by DW\+\_\+\+AT\+\_\+rnglists\+\_\+base. \Hypertarget{group__enums_ga8d02a46e9e2f3023b8a7fb996a4a08ac}\index{Enumerators with various purposes@{Enumerators with various purposes}!Dwarf\_Ranges\_Entry\_Type@{Dwarf\_Ranges\_Entry\_Type}}
\index{Dwarf\_Ranges\_Entry\_Type@{Dwarf\_Ranges\_Entry\_Type}!Enumerators with various purposes@{Enumerators with various purposes}}
\doxysubsubsection{\texorpdfstring{Dwarf\_Ranges\_Entry\_Type}{Dwarf\_Ranges\_Entry\_Type}}
{\footnotesize\ttfamily \label{group__enums_ga8d02a46e9e2f3023b8a7fb996a4a08ac} 
enum \doxymbox{\hyperlink{group__enums_ga8d02a46e9e2f3023b8a7fb996a4a08ac}{Dwarf\+\_\+\+Ranges\+\_\+\+Entry\+\_\+\+Type}}}

The dwr\+\_\+addr1/\+addr2 data is either pair of offsets of a base pc address (DW\+\_\+\+RANGES\+\_\+\+ENTRY) or a base pc address (dwr\+\_\+addr2 in DW\+\_\+\+RANGES\+\_\+\+ADDRESS\+\_\+\+SELECTION) or both are zero(end of list, DW\+\_\+\+RANGES\+\_\+\+END) or both non-\/zero but identical (means an empty range, DW\+\_\+\+RANGES\+\_\+\+ENTRY). These are for use with DWARF 2,3,4.

DW\+\_\+\+RANGES\+\_\+\+ADDRESS\+\_\+\+SELECTION should have been spelled DW\+\_\+\+RANGES\+\_\+\+BASE\+\_\+\+ADDRESS. but it is not worth changing as it is widely used.

The DW\+\_\+\+RANGES\+\_\+\+ENTRY values are raw pc offset data recorded in the section, not addresses. \begin{DoxySeeAlso}{See also}
\doxylink{group__examplev}{Example getting .\+debug\+\_\+ranges data}
\end{DoxySeeAlso}
Dwarf\+\_\+\+Ranges\texorpdfstring{$\ast$}{*} apply to DWARF2,3, and 4. Not to DWARF5 (the data is different and in a new DWARF5 section). 