\doxysection{DIE Attribute and Attribute-\/\+Form Details }
\hypertarget{group__attrform}{}\label{group__attrform}\index{DIE Attribute and Attribute-\/Form Details@{DIE Attribute and Attribute-\/Form Details}}
\doxysubsubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
DW\+\_\+\+API int \doxymbox{\hyperlink{group__attrform_gaa7eacb8230fa31cc568e627c5f0573f6}{dwarf\+\_\+attrlist}} (\doxymbox{\hyperlink{group__allstructs_ga3a3759c3047d78dba9f590d5e5893be5}{Dwarf\+\_\+\+Die}} dw\+\_\+die, \doxymbox{\hyperlink{group__allstructs_ga3b8f8b4e43653647a2face222040a915}{Dwarf\+\_\+\+Attribute}} \texorpdfstring{$\ast$}{*}\texorpdfstring{$\ast$}{*}dw\+\_\+attrbuf, \doxymbox{\hyperlink{group__basicdatatypes_gac91d9490d58c8d86a4d5b63ca93ba6dd}{Dwarf\+\_\+\+Signed}} \texorpdfstring{$\ast$}{*}dw\+\_\+attrcount, \doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}dw\+\_\+error)
\begin{DoxyCompactList}\small\item\em Gets the full list of attributes. \end{DoxyCompactList}\item 
DW\+\_\+\+API int \doxymbox{\hyperlink{group__attrform_ga9bd87c807f8b52872344a8be5aa7d45a}{dwarf\+\_\+hasform}} (\doxymbox{\hyperlink{group__allstructs_ga3b8f8b4e43653647a2face222040a915}{Dwarf\+\_\+\+Attribute}} dw\+\_\+attr, \doxymbox{\hyperlink{group__basicdatatypes_ga4fb2b14ce7a6d27321fa7999b46b82bd}{Dwarf\+\_\+\+Half}} dw\+\_\+form, \doxymbox{\hyperlink{group__basicdatatypes_ga32afecc94a71aae2be36aa279f1dded8}{Dwarf\+\_\+\+Bool}} \texorpdfstring{$\ast$}{*}dw\+\_\+returned\+\_\+bool, \doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}dw\+\_\+error)
\begin{DoxyCompactList}\small\item\em Sets TRUE if a \doxylink{group__allstructs_ga3b8f8b4e43653647a2face222040a915}{Dwarf\+\_\+\+Attribute} has the indicated FORM. \end{DoxyCompactList}\item 
DW\+\_\+\+API int \doxymbox{\hyperlink{group__attrform_ga493e471ab639e3b57e053a00e49a0a14}{dwarf\+\_\+whatform}} (\doxymbox{\hyperlink{group__allstructs_ga3b8f8b4e43653647a2face222040a915}{Dwarf\+\_\+\+Attribute}} dw\+\_\+attr, \doxymbox{\hyperlink{group__basicdatatypes_ga4fb2b14ce7a6d27321fa7999b46b82bd}{Dwarf\+\_\+\+Half}} \texorpdfstring{$\ast$}{*}dw\+\_\+returned\+\_\+final\+\_\+form, \doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}dw\+\_\+error)
\begin{DoxyCompactList}\small\item\em Return the form of the \doxylink{group__allstructs_ga3b8f8b4e43653647a2face222040a915}{Dwarf\+\_\+\+Attribute}. \end{DoxyCompactList}\item 
DW\+\_\+\+API int \doxymbox{\hyperlink{group__attrform_ga7d396fd2b1f82d461062a5596a418a40}{dwarf\+\_\+whatform\+\_\+direct}} (\doxymbox{\hyperlink{group__allstructs_ga3b8f8b4e43653647a2face222040a915}{Dwarf\+\_\+\+Attribute}} dw\+\_\+attr, \doxymbox{\hyperlink{group__basicdatatypes_ga4fb2b14ce7a6d27321fa7999b46b82bd}{Dwarf\+\_\+\+Half}} \texorpdfstring{$\ast$}{*}dw\+\_\+returned\+\_\+initial\+\_\+form, \doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}dw\+\_\+error)
\begin{DoxyCompactList}\small\item\em Return the initial form of the \doxylink{group__allstructs_ga3b8f8b4e43653647a2face222040a915}{Dwarf\+\_\+\+Attribute}. \end{DoxyCompactList}\item 
DW\+\_\+\+API int \doxymbox{\hyperlink{group__attrform_ga0efa71ef6bb7dc4e36b218274287d953}{dwarf\+\_\+whatattr}} (\doxymbox{\hyperlink{group__allstructs_ga3b8f8b4e43653647a2face222040a915}{Dwarf\+\_\+\+Attribute}} dw\+\_\+attr, \doxymbox{\hyperlink{group__basicdatatypes_ga4fb2b14ce7a6d27321fa7999b46b82bd}{Dwarf\+\_\+\+Half}} \texorpdfstring{$\ast$}{*}dw\+\_\+returned\+\_\+attrnum, \doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}dw\+\_\+error)
\begin{DoxyCompactList}\small\item\em Return the attribute number of the \doxylink{group__allstructs_ga3b8f8b4e43653647a2face222040a915}{Dwarf\+\_\+\+Attribute}. \end{DoxyCompactList}\item 
DW\+\_\+\+API int \doxymbox{\hyperlink{group__attrform_ga598831f0c80f3e4b35481d8f003d36b5}{dwarf\+\_\+formref}} (\doxymbox{\hyperlink{group__allstructs_ga3b8f8b4e43653647a2face222040a915}{Dwarf\+\_\+\+Attribute}} dw\+\_\+attr, \doxymbox{\hyperlink{group__basicdatatypes_ga08c706887ae8c6e09e8f0fb5dd9a539e}{Dwarf\+\_\+\+Off}} \texorpdfstring{$\ast$}{*}dw\+\_\+return\+\_\+offset, \doxymbox{\hyperlink{group__basicdatatypes_ga32afecc94a71aae2be36aa279f1dded8}{Dwarf\+\_\+\+Bool}} \texorpdfstring{$\ast$}{*}dw\+\_\+is\+\_\+info, \doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}dw\+\_\+error)
\begin{DoxyCompactList}\small\item\em Retrieve the CU-\/relative offset of a reference. \end{DoxyCompactList}\item 
DW\+\_\+\+API int \doxymbox{\hyperlink{group__attrform_ga4a3ac920e1798e2fbfafe17964a4f9f2}{dwarf\+\_\+global\+\_\+formref\+\_\+b}} (\doxymbox{\hyperlink{group__allstructs_ga3b8f8b4e43653647a2face222040a915}{Dwarf\+\_\+\+Attribute}} dw\+\_\+attr, \doxymbox{\hyperlink{group__basicdatatypes_ga08c706887ae8c6e09e8f0fb5dd9a539e}{Dwarf\+\_\+\+Off}} \texorpdfstring{$\ast$}{*}dw\+\_\+return\+\_\+offset, \doxymbox{\hyperlink{group__basicdatatypes_ga32afecc94a71aae2be36aa279f1dded8}{Dwarf\+\_\+\+Bool}} \texorpdfstring{$\ast$}{*}dw\+\_\+offset\+\_\+is\+\_\+info, \doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}dw\+\_\+error)
\begin{DoxyCompactList}\small\item\em Return the section-\/relative offset of a \doxylink{group__allstructs_ga3b8f8b4e43653647a2face222040a915}{Dwarf\+\_\+\+Attribute}. \end{DoxyCompactList}\item 
DW\+\_\+\+API int \doxymbox{\hyperlink{group__attrform_ga65fb85a6b64739719dbe6c348cd76a9a}{dwarf\+\_\+global\+\_\+formref}} (\doxymbox{\hyperlink{group__allstructs_ga3b8f8b4e43653647a2face222040a915}{Dwarf\+\_\+\+Attribute}} dw\+\_\+attr, \doxymbox{\hyperlink{group__basicdatatypes_ga08c706887ae8c6e09e8f0fb5dd9a539e}{Dwarf\+\_\+\+Off}} \texorpdfstring{$\ast$}{*}dw\+\_\+return\+\_\+offset, \doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}dw\+\_\+error)
\begin{DoxyCompactList}\small\item\em Same as dwarf\+\_\+global\+\_\+formref\+\_\+b except... \end{DoxyCompactList}\item 
DW\+\_\+\+API int \doxymbox{\hyperlink{group__attrform_ga884567dce64e2c7876c753f7ebd645d4}{dwarf\+\_\+formsig8}} (\doxymbox{\hyperlink{group__allstructs_ga3b8f8b4e43653647a2face222040a915}{Dwarf\+\_\+\+Attribute}} dw\+\_\+attr, \doxymbox{\hyperlink{group__allstructs_ga3eae90d156d443089b7868fbc26ccf12}{Dwarf\+\_\+\+Sig8}} \texorpdfstring{$\ast$}{*}dw\+\_\+returned\+\_\+sig\+\_\+bytes, \doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}dw\+\_\+error)
\begin{DoxyCompactList}\small\item\em Return an 8 byte reference form for DW\+\_\+\+FORM\+\_\+ref\+\_\+sig8. \end{DoxyCompactList}\item 
DW\+\_\+\+API int \doxymbox{\hyperlink{group__attrform_ga6fefc3f4a92034bc787e13478497b8c4}{dwarf\+\_\+formsig8\+\_\+const}} (\doxymbox{\hyperlink{group__allstructs_ga3b8f8b4e43653647a2face222040a915}{Dwarf\+\_\+\+Attribute}} dw\+\_\+attr, \doxymbox{\hyperlink{group__allstructs_ga3eae90d156d443089b7868fbc26ccf12}{Dwarf\+\_\+\+Sig8}} \texorpdfstring{$\ast$}{*}dw\+\_\+returned\+\_\+sig\+\_\+bytes, \doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}dw\+\_\+error)
\begin{DoxyCompactList}\small\item\em Return an 8 byte reference form for DW\+\_\+\+FORM\+\_\+data8. \end{DoxyCompactList}\item 
DW\+\_\+\+API int \doxymbox{\hyperlink{group__attrform_ga421b3a86215880c2e99a9b5ce6ec6903}{dwarf\+\_\+formaddr}} (\doxymbox{\hyperlink{group__allstructs_ga3b8f8b4e43653647a2face222040a915}{Dwarf\+\_\+\+Attribute}} dw\+\_\+attr, \doxymbox{\hyperlink{group__basicdatatypes_ga16ddc0e584ea1a17237ccf1617f31075}{Dwarf\+\_\+\+Addr}} \texorpdfstring{$\ast$}{*}dw\+\_\+returned\+\_\+addr, \doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}dw\+\_\+error)
\begin{DoxyCompactList}\small\item\em Return the address when the attribute has form address. \end{DoxyCompactList}\item 
DW\+\_\+\+API int \doxymbox{\hyperlink{group__attrform_ga6f2c63f385aaf3012d85950eecae7b1e}{dwarf\+\_\+get\+\_\+debug\+\_\+addr\+\_\+index}} (\doxymbox{\hyperlink{group__allstructs_ga3b8f8b4e43653647a2face222040a915}{Dwarf\+\_\+\+Attribute}} dw\+\_\+attr, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}dw\+\_\+return\+\_\+index, \doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}dw\+\_\+error)
\begin{DoxyCompactList}\small\item\em Get the addr index of a \doxylink{group__allstructs_ga3b8f8b4e43653647a2face222040a915}{Dwarf\+\_\+\+Attribute}. \end{DoxyCompactList}\item 
DW\+\_\+\+API int \doxymbox{\hyperlink{group__attrform_ga001fd99edc1e9fb003818adb0c6b1e1f}{dwarf\+\_\+formflag}} (\doxymbox{\hyperlink{group__allstructs_ga3b8f8b4e43653647a2face222040a915}{Dwarf\+\_\+\+Attribute}} dw\+\_\+attr, \doxymbox{\hyperlink{group__basicdatatypes_ga32afecc94a71aae2be36aa279f1dded8}{Dwarf\+\_\+\+Bool}} \texorpdfstring{$\ast$}{*}dw\+\_\+returned\+\_\+bool, \doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}dw\+\_\+error)
\begin{DoxyCompactList}\small\item\em Return the flag value of a flag form. \end{DoxyCompactList}\item 
DW\+\_\+\+API int \doxymbox{\hyperlink{group__attrform_ga9745a82720c7e658d6d1695dbaae28be}{dwarf\+\_\+formudata}} (\doxymbox{\hyperlink{group__allstructs_ga3b8f8b4e43653647a2face222040a915}{Dwarf\+\_\+\+Attribute}} dw\+\_\+attr, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}dw\+\_\+returned\+\_\+val, \doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}dw\+\_\+error)
\begin{DoxyCompactList}\small\item\em Return an unsigned value. \end{DoxyCompactList}\item 
DW\+\_\+\+API int \doxymbox{\hyperlink{group__attrform_ga4deb1f656c9688676266d231b4566906}{dwarf\+\_\+formsdata}} (\doxymbox{\hyperlink{group__allstructs_ga3b8f8b4e43653647a2face222040a915}{Dwarf\+\_\+\+Attribute}} dw\+\_\+attr, \doxymbox{\hyperlink{group__basicdatatypes_gac91d9490d58c8d86a4d5b63ca93ba6dd}{Dwarf\+\_\+\+Signed}} \texorpdfstring{$\ast$}{*}dw\+\_\+returned\+\_\+val, \doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}dw\+\_\+error)
\begin{DoxyCompactList}\small\item\em Return a signed value. \end{DoxyCompactList}\item 
DW\+\_\+\+API int \doxymbox{\hyperlink{group__attrform_ga47bf7ede1f3026e760c072cd34b80e28}{dwarf\+\_\+formdata16}} (\doxymbox{\hyperlink{group__allstructs_ga3b8f8b4e43653647a2face222040a915}{Dwarf\+\_\+\+Attribute}} dw\+\_\+attr, \doxymbox{\hyperlink{group__allstructs_ga60acd6fa13481d6f64fdd145660ccb03}{Dwarf\+\_\+\+Form\+\_\+\+Data16}} \texorpdfstring{$\ast$}{*}dw\+\_\+returned\+\_\+val, \doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}dw\+\_\+error)
\begin{DoxyCompactList}\small\item\em Return a 16 byte \doxylink{group__allstructs_ga60acd6fa13481d6f64fdd145660ccb03}{Dwarf\+\_\+\+Form\+\_\+\+Data16} value. \end{DoxyCompactList}\item 
DW\+\_\+\+API int \doxymbox{\hyperlink{group__attrform_ga179a259d5b917294f30eef8823d279d2}{dwarf\+\_\+formblock}} (\doxymbox{\hyperlink{group__allstructs_ga3b8f8b4e43653647a2face222040a915}{Dwarf\+\_\+\+Attribute}} dw\+\_\+attr, \doxymbox{\hyperlink{group__allstructs_gaf33d59f922707c0eb204edf251d323db}{Dwarf\+\_\+\+Block}} \texorpdfstring{$\ast$}{*}\texorpdfstring{$\ast$}{*}dw\+\_\+returned\+\_\+block, \doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}dw\+\_\+error)
\begin{DoxyCompactList}\small\item\em Return an allocated filled-\/in Form\+\_\+\+Block. \end{DoxyCompactList}\item 
DW\+\_\+\+API int \doxymbox{\hyperlink{group__attrform_gab4ad0256e23f36487623864c044b442f}{dwarf\+\_\+formstring}} (\doxymbox{\hyperlink{group__allstructs_ga3b8f8b4e43653647a2face222040a915}{Dwarf\+\_\+\+Attribute}} dw\+\_\+attr, char \texorpdfstring{$\ast$}{*}\texorpdfstring{$\ast$}{*}dw\+\_\+returned\+\_\+string, \doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}dw\+\_\+error)
\begin{DoxyCompactList}\small\item\em Return a pointer to a string. \end{DoxyCompactList}\item 
DW\+\_\+\+API int \doxymbox{\hyperlink{group__attrform_ga220ae3527759b7d54b5de90823429b98}{dwarf\+\_\+get\+\_\+debug\+\_\+str\+\_\+index}} (\doxymbox{\hyperlink{group__allstructs_ga3b8f8b4e43653647a2face222040a915}{Dwarf\+\_\+\+Attribute}} dw\+\_\+attr, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}dw\+\_\+return\+\_\+index, \doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}dw\+\_\+error)
\begin{DoxyCompactList}\small\item\em Return a string index. \end{DoxyCompactList}\item 
DW\+\_\+\+API int \doxymbox{\hyperlink{group__attrform_ga9db336de5996b904a2d2011f43a8e182}{dwarf\+\_\+formexprloc}} (\doxymbox{\hyperlink{group__allstructs_ga3b8f8b4e43653647a2face222040a915}{Dwarf\+\_\+\+Attribute}} dw\+\_\+attr, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}dw\+\_\+return\+\_\+exprlen, \doxymbox{\hyperlink{group__basicdatatypes_ga376c1939313af42401fc67bc998fdd2c}{Dwarf\+\_\+\+Ptr}} \texorpdfstring{$\ast$}{*}dw\+\_\+block\+\_\+ptr, \doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}dw\+\_\+error)
\begin{DoxyCompactList}\small\item\em Return a pointer-\/to and length-\/of a block of data. \end{DoxyCompactList}\item 
DW\+\_\+\+API enum \doxymbox{\hyperlink{group__enums_ga9ac80540973d025e56d5cbc1332c876b}{Dwarf\+\_\+\+Form\+\_\+\+Class}} \doxymbox{\hyperlink{group__attrform_ga3b1fd6183b2cfd7e76570d6dbd65a839}{dwarf\+\_\+get\+\_\+form\+\_\+class}} (\doxymbox{\hyperlink{group__basicdatatypes_ga4fb2b14ce7a6d27321fa7999b46b82bd}{Dwarf\+\_\+\+Half}} dw\+\_\+version, \doxymbox{\hyperlink{group__basicdatatypes_ga4fb2b14ce7a6d27321fa7999b46b82bd}{Dwarf\+\_\+\+Half}} dw\+\_\+attrnum, \doxymbox{\hyperlink{group__basicdatatypes_ga4fb2b14ce7a6d27321fa7999b46b82bd}{Dwarf\+\_\+\+Half}} dw\+\_\+offset\+\_\+size, \doxymbox{\hyperlink{group__basicdatatypes_ga4fb2b14ce7a6d27321fa7999b46b82bd}{Dwarf\+\_\+\+Half}} dw\+\_\+form)
\begin{DoxyCompactList}\small\item\em Return the FORM\+\_\+\+CLASS applicable. Four pieces of information are necessary to get the correct FORM\+\_\+\+CLASS. \end{DoxyCompactList}\item 
DW\+\_\+\+API int \doxymbox{\hyperlink{group__attrform_ga7607a76bcd785b1bec89b5346e6fede1}{dwarf\+\_\+attr\+\_\+offset}} (\doxymbox{\hyperlink{group__allstructs_ga3a3759c3047d78dba9f590d5e5893be5}{Dwarf\+\_\+\+Die}} dw\+\_\+die, \doxymbox{\hyperlink{group__allstructs_ga3b8f8b4e43653647a2face222040a915}{Dwarf\+\_\+\+Attribute}} dw\+\_\+attr, \doxymbox{\hyperlink{group__basicdatatypes_ga08c706887ae8c6e09e8f0fb5dd9a539e}{Dwarf\+\_\+\+Off}} \texorpdfstring{$\ast$}{*}dw\+\_\+return\+\_\+offset, \doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}dw\+\_\+error)
\begin{DoxyCompactList}\small\item\em Return the offset of an attribute in its section. \end{DoxyCompactList}\item 
DW\+\_\+\+API int \doxymbox{\hyperlink{group__attrform_gac026718b7afde5450dcee6912ca08537}{dwarf\+\_\+uncompress\+\_\+integer\+\_\+block\+\_\+a}} (\doxymbox{\hyperlink{group__allstructs_gac2ba1e1c1b70a3191506b414195ca807}{Dwarf\+\_\+\+Debug}} dw\+\_\+dbg, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} dw\+\_\+input\+\_\+length\+\_\+in\+\_\+bytes, void \texorpdfstring{$\ast$}{*}dw\+\_\+input\+\_\+block, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}dw\+\_\+value\+\_\+count, \doxymbox{\hyperlink{group__basicdatatypes_gac91d9490d58c8d86a4d5b63ca93ba6dd}{Dwarf\+\_\+\+Signed}} \texorpdfstring{$\ast$}{*}\texorpdfstring{$\ast$}{*}dw\+\_\+value\+\_\+array, \doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}dw\+\_\+error)
\begin{DoxyCompactList}\small\item\em Uncompress a block of sleb numbers It\textquotesingle{}s not much of a compression so not much of an uncompression. Developed by Sun Microsystems and it is unclear if it was ever used. \end{DoxyCompactList}\item 
DW\+\_\+\+API void \doxymbox{\hyperlink{group__attrform_ga4d4498deca21469a922230365ae5fc93}{dwarf\+\_\+dealloc\+\_\+uncompressed\+\_\+block}} (\doxymbox{\hyperlink{group__allstructs_gac2ba1e1c1b70a3191506b414195ca807}{Dwarf\+\_\+\+Debug}} dw\+\_\+dbg, void \texorpdfstring{$\ast$}{*}dw\+\_\+value\+\_\+array)
\begin{DoxyCompactList}\small\item\em Dealloc what dwarf\+\_\+uncompress\+\_\+integer\+\_\+block\+\_\+a allocated. \end{DoxyCompactList}\item 
DW\+\_\+\+API int \doxymbox{\hyperlink{group__attrform_ga25ea036fcafa2ff6dd0f6c1b854e09d1}{dwarf\+\_\+convert\+\_\+to\+\_\+global\+\_\+offset}} (\doxymbox{\hyperlink{group__allstructs_ga3b8f8b4e43653647a2face222040a915}{Dwarf\+\_\+\+Attribute}} dw\+\_\+attr, \doxymbox{\hyperlink{group__basicdatatypes_ga08c706887ae8c6e09e8f0fb5dd9a539e}{Dwarf\+\_\+\+Off}} dw\+\_\+offset, \doxymbox{\hyperlink{group__basicdatatypes_ga08c706887ae8c6e09e8f0fb5dd9a539e}{Dwarf\+\_\+\+Off}} \texorpdfstring{$\ast$}{*}dw\+\_\+return\+\_\+offset, \doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}dw\+\_\+error)
\begin{DoxyCompactList}\small\item\em Convert local offset to global offset. \end{DoxyCompactList}\item 
DW\+\_\+\+API void \doxymbox{\hyperlink{group__attrform_gab2f9c384f5940949e17badd290bdd732}{dwarf\+\_\+dealloc\+\_\+attribute}} (\doxymbox{\hyperlink{group__allstructs_ga3b8f8b4e43653647a2face222040a915}{Dwarf\+\_\+\+Attribute}} dw\+\_\+attr)
\begin{DoxyCompactList}\small\item\em Dealloc a \doxylink{group__allstructs_ga3b8f8b4e43653647a2face222040a915}{Dwarf\+\_\+\+Attribute} When this call returns the dw\+\_\+attr is a stale pointer. \end{DoxyCompactList}\item 
DW\+\_\+\+API int \doxymbox{\hyperlink{group__attrform_ga9547862557c92006bb2554bffb2683f8}{dwarf\+\_\+discr\+\_\+list}} (\doxymbox{\hyperlink{group__allstructs_gac2ba1e1c1b70a3191506b414195ca807}{Dwarf\+\_\+\+Debug}} dw\+\_\+dbg, \doxymbox{\hyperlink{group__basicdatatypes_ga52e439e652a1a30277679f64f83cc0fe}{Dwarf\+\_\+\+Small}} \texorpdfstring{$\ast$}{*}dw\+\_\+blockpointer, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} dw\+\_\+blocklen, \doxymbox{\hyperlink{group__allstructs_gad858a09eae0daa3381a3712a65ef3757}{Dwarf\+\_\+\+Dsc\+\_\+\+Head}} \texorpdfstring{$\ast$}{*}dw\+\_\+dsc\+\_\+head\+\_\+out, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}dw\+\_\+dsc\+\_\+array\+\_\+length\+\_\+out, \doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}dw\+\_\+error)
\begin{DoxyCompactList}\small\item\em Return an array of discriminant values. \end{DoxyCompactList}\item 
DW\+\_\+\+API int \doxymbox{\hyperlink{group__attrform_ga7b849289adfcbbf7348503e37d48c55e}{dwarf\+\_\+discr\+\_\+entry\+\_\+u}} (\doxymbox{\hyperlink{group__allstructs_gad858a09eae0daa3381a3712a65ef3757}{Dwarf\+\_\+\+Dsc\+\_\+\+Head}} dw\+\_\+dsc, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} dw\+\_\+entrynum, \doxymbox{\hyperlink{group__basicdatatypes_ga4fb2b14ce7a6d27321fa7999b46b82bd}{Dwarf\+\_\+\+Half}} \texorpdfstring{$\ast$}{*}dw\+\_\+out\+\_\+type, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}dw\+\_\+out\+\_\+discr\+\_\+low, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}dw\+\_\+out\+\_\+discr\+\_\+high, \doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}dw\+\_\+error)
\begin{DoxyCompactList}\small\item\em Access a single unsigned discriminant list entry. \end{DoxyCompactList}\item 
DW\+\_\+\+API int \doxymbox{\hyperlink{group__attrform_gaf48856f5661381df8c11606cfaf72944}{dwarf\+\_\+discr\+\_\+entry\+\_\+s}} (\doxymbox{\hyperlink{group__allstructs_gad858a09eae0daa3381a3712a65ef3757}{Dwarf\+\_\+\+Dsc\+\_\+\+Head}} dw\+\_\+dsc, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} dw\+\_\+entrynum, \doxymbox{\hyperlink{group__basicdatatypes_ga4fb2b14ce7a6d27321fa7999b46b82bd}{Dwarf\+\_\+\+Half}} \texorpdfstring{$\ast$}{*}dw\+\_\+out\+\_\+type, \doxymbox{\hyperlink{group__basicdatatypes_gac91d9490d58c8d86a4d5b63ca93ba6dd}{Dwarf\+\_\+\+Signed}} \texorpdfstring{$\ast$}{*}dw\+\_\+out\+\_\+discr\+\_\+low, \doxymbox{\hyperlink{group__basicdatatypes_gac91d9490d58c8d86a4d5b63ca93ba6dd}{Dwarf\+\_\+\+Signed}} \texorpdfstring{$\ast$}{*}dw\+\_\+out\+\_\+discr\+\_\+high, \doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}dw\+\_\+error)
\begin{DoxyCompactList}\small\item\em Access to a single signed discriminant list entry. \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
Access to the details of DIEs 

\label{doc-func-members}
\Hypertarget{group__attrform_doc-func-members}
\doxysubsection{Function Documentation}
\Hypertarget{group__attrform_ga7607a76bcd785b1bec89b5346e6fede1}\index{DIE Attribute and Attribute-\/Form Details@{DIE Attribute and Attribute-\/Form Details}!dwarf\_attr\_offset@{dwarf\_attr\_offset}}
\index{dwarf\_attr\_offset@{dwarf\_attr\_offset}!DIE Attribute and Attribute-\/Form Details@{DIE Attribute and Attribute-\/Form Details}}
\doxysubsubsection{\texorpdfstring{dwarf\_attr\_offset()}{dwarf\_attr\_offset()}}
{\footnotesize\ttfamily \label{group__attrform_ga7607a76bcd785b1bec89b5346e6fede1} 
DW\+\_\+\+API int dwarf\+\_\+attr\+\_\+offset (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_ga3a3759c3047d78dba9f590d5e5893be5}{Dwarf\+\_\+\+Die}}}]{dw\+\_\+die}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga3b8f8b4e43653647a2face222040a915}{Dwarf\+\_\+\+Attribute}}}]{dw\+\_\+attr}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga08c706887ae8c6e09e8f0fb5dd9a539e}{Dwarf\+\_\+\+Off}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+return\+\_\+offset}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+error}{}\end{DoxyParamCaption})}



Return the offset of an attribute in its section. 


\begin{DoxyParams}{Parameters}
{\em dw\+\_\+die} & The DIE of interest. \\
\hline
{\em dw\+\_\+attr} & A \doxylink{group__allstructs_ga3b8f8b4e43653647a2face222040a915}{Dwarf\+\_\+\+Attribute} of interest in this DIE \\
\hline
{\em dw\+\_\+return\+\_\+offset} & The offset is in .debug\+\_\+info if the DIE is there. The offset is in .debug\+\_\+types if the DIE is there. \\
\hline
{\em dw\+\_\+error} & The usual error pointer. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
DW\+\_\+\+DLV\+\_\+\+OK if it succeeds. DW\+\_\+\+DLV\+\_\+\+NO\+\_\+\+ENTRY is impossible. 
\end{DoxyReturn}
\Hypertarget{group__attrform_gaa7eacb8230fa31cc568e627c5f0573f6}\index{DIE Attribute and Attribute-\/Form Details@{DIE Attribute and Attribute-\/Form Details}!dwarf\_attrlist@{dwarf\_attrlist}}
\index{dwarf\_attrlist@{dwarf\_attrlist}!DIE Attribute and Attribute-\/Form Details@{DIE Attribute and Attribute-\/Form Details}}
\doxysubsubsection{\texorpdfstring{dwarf\_attrlist()}{dwarf\_attrlist()}}
{\footnotesize\ttfamily \label{group__attrform_gaa7eacb8230fa31cc568e627c5f0573f6} 
DW\+\_\+\+API int dwarf\+\_\+attrlist (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_ga3a3759c3047d78dba9f590d5e5893be5}{Dwarf\+\_\+\+Die}}}]{dw\+\_\+die}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga3b8f8b4e43653647a2face222040a915}{Dwarf\+\_\+\+Attribute}} \texorpdfstring{$\ast$}{*}\texorpdfstring{$\ast$}{*}}]{dw\+\_\+attrbuf}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_gac91d9490d58c8d86a4d5b63ca93ba6dd}{Dwarf\+\_\+\+Signed}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+attrcount}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+error}{}\end{DoxyParamCaption})}



Gets the full list of attributes. 


\begin{DoxyParams}{Parameters}
{\em dw\+\_\+die} & The DIE from which to pull attributes. \\
\hline
{\em dw\+\_\+attrbuf} & The pointer is set to point to an array of \doxylink{group__allstructs_ga3b8f8b4e43653647a2face222040a915}{Dwarf\+\_\+\+Attribute} (pointers to attribute data). This array must eventually be deallocated. \\
\hline
{\em dw\+\_\+attrcount} & The number of entries in the array of pointers. There is no null-\/pointer to terminate the list, use this count. \\
\hline
{\em dw\+\_\+error} & A place to return error details. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
If it returns DW\+\_\+\+DLV\+\_\+\+ERROR and dw\+\_\+error is non-\/null it creates an \doxylink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error} and places it in this argument. Usually returns DW\+\_\+\+DLV\+\_\+\+OK.
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\doxylink{group__example1}{Using dwarf\+\_\+attrlist()}

\doxylink{group__example8}{Using  dwarf\+\_\+attrlist()} 
\end{DoxySeeAlso}
\Hypertarget{group__attrform_ga25ea036fcafa2ff6dd0f6c1b854e09d1}\index{DIE Attribute and Attribute-\/Form Details@{DIE Attribute and Attribute-\/Form Details}!dwarf\_convert\_to\_global\_offset@{dwarf\_convert\_to\_global\_offset}}
\index{dwarf\_convert\_to\_global\_offset@{dwarf\_convert\_to\_global\_offset}!DIE Attribute and Attribute-\/Form Details@{DIE Attribute and Attribute-\/Form Details}}
\doxysubsubsection{\texorpdfstring{dwarf\_convert\_to\_global\_offset()}{dwarf\_convert\_to\_global\_offset()}}
{\footnotesize\ttfamily \label{group__attrform_ga25ea036fcafa2ff6dd0f6c1b854e09d1} 
DW\+\_\+\+API int dwarf\+\_\+convert\+\_\+to\+\_\+global\+\_\+offset (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_ga3b8f8b4e43653647a2face222040a915}{Dwarf\+\_\+\+Attribute}}}]{dw\+\_\+attr}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga08c706887ae8c6e09e8f0fb5dd9a539e}{Dwarf\+\_\+\+Off}}}]{dw\+\_\+offset}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga08c706887ae8c6e09e8f0fb5dd9a539e}{Dwarf\+\_\+\+Off}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+return\+\_\+offset}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+error}{}\end{DoxyParamCaption})}



Convert local offset to global offset. 

Uses the DW\+\_\+\+FORM of the attribute to determine if the dw\+\_\+offset is local, and if so, adds the CU base offset to adjust dw\+\_\+offset.


\begin{DoxyParams}{Parameters}
{\em dw\+\_\+attr} & The attribute the local offset was extracted from. \\
\hline
{\em dw\+\_\+offset} & The global offset of the attribute. \\
\hline
{\em dw\+\_\+return\+\_\+offset} & The returned section (global) offset. \\
\hline
{\em dw\+\_\+error} & The usual error pointer. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
DW\+\_\+\+DLV\+\_\+\+OK if it succeeds. Returns DW\+\_\+\+DLV\+\_\+\+ERROR if the dw\+\_\+attr form is not an offset form (for example, DW\+\_\+\+FORM\+\_\+ref\+\_\+udata). 
\end{DoxyReturn}
\Hypertarget{group__attrform_gab2f9c384f5940949e17badd290bdd732}\index{DIE Attribute and Attribute-\/Form Details@{DIE Attribute and Attribute-\/Form Details}!dwarf\_dealloc\_attribute@{dwarf\_dealloc\_attribute}}
\index{dwarf\_dealloc\_attribute@{dwarf\_dealloc\_attribute}!DIE Attribute and Attribute-\/Form Details@{DIE Attribute and Attribute-\/Form Details}}
\doxysubsubsection{\texorpdfstring{dwarf\_dealloc\_attribute()}{dwarf\_dealloc\_attribute()}}
{\footnotesize\ttfamily \label{group__attrform_gab2f9c384f5940949e17badd290bdd732} 
DW\+\_\+\+API void dwarf\+\_\+dealloc\+\_\+attribute (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_ga3b8f8b4e43653647a2face222040a915}{Dwarf\+\_\+\+Attribute}}}]{dw\+\_\+attr}{}\end{DoxyParamCaption})}



Dealloc a \doxylink{group__allstructs_ga3b8f8b4e43653647a2face222040a915}{Dwarf\+\_\+\+Attribute} When this call returns the dw\+\_\+attr is a stale pointer. 


\begin{DoxyParams}{Parameters}
{\em dw\+\_\+attr} & The attribute to dealloc. \\
\hline
\end{DoxyParams}
\Hypertarget{group__attrform_ga4d4498deca21469a922230365ae5fc93}\index{DIE Attribute and Attribute-\/Form Details@{DIE Attribute and Attribute-\/Form Details}!dwarf\_dealloc\_uncompressed\_block@{dwarf\_dealloc\_uncompressed\_block}}
\index{dwarf\_dealloc\_uncompressed\_block@{dwarf\_dealloc\_uncompressed\_block}!DIE Attribute and Attribute-\/Form Details@{DIE Attribute and Attribute-\/Form Details}}
\doxysubsubsection{\texorpdfstring{dwarf\_dealloc\_uncompressed\_block()}{dwarf\_dealloc\_uncompressed\_block()}}
{\footnotesize\ttfamily \label{group__attrform_ga4d4498deca21469a922230365ae5fc93} 
DW\+\_\+\+API void dwarf\+\_\+dealloc\+\_\+uncompressed\+\_\+block (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_gac2ba1e1c1b70a3191506b414195ca807}{Dwarf\+\_\+\+Debug}}}]{dw\+\_\+dbg}{, }\item[{void \texorpdfstring{$\ast$}{*}}]{dw\+\_\+value\+\_\+array}{}\end{DoxyParamCaption})}



Dealloc what dwarf\+\_\+uncompress\+\_\+integer\+\_\+block\+\_\+a allocated. 


\begin{DoxyParams}{Parameters}
{\em dw\+\_\+dbg} & The \doxylink{group__allstructs_gac2ba1e1c1b70a3191506b414195ca807}{Dwarf\+\_\+\+Debug} of interest \\
\hline
{\em dw\+\_\+value\+\_\+array} & The array was called an array of \doxylink{group__basicdatatypes_gac91d9490d58c8d86a4d5b63ca93ba6dd}{Dwarf\+\_\+\+Signed}. We dealloc all of it without needing dw\+\_\+value\+\_\+count. \\
\hline
\end{DoxyParams}
\Hypertarget{group__attrform_gaf48856f5661381df8c11606cfaf72944}\index{DIE Attribute and Attribute-\/Form Details@{DIE Attribute and Attribute-\/Form Details}!dwarf\_discr\_entry\_s@{dwarf\_discr\_entry\_s}}
\index{dwarf\_discr\_entry\_s@{dwarf\_discr\_entry\_s}!DIE Attribute and Attribute-\/Form Details@{DIE Attribute and Attribute-\/Form Details}}
\doxysubsubsection{\texorpdfstring{dwarf\_discr\_entry\_s()}{dwarf\_discr\_entry\_s()}}
{\footnotesize\ttfamily \label{group__attrform_gaf48856f5661381df8c11606cfaf72944} 
DW\+\_\+\+API int dwarf\+\_\+discr\+\_\+entry\+\_\+s (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_gad858a09eae0daa3381a3712a65ef3757}{Dwarf\+\_\+\+Dsc\+\_\+\+Head}}}]{dw\+\_\+dsc}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}}}]{dw\+\_\+entrynum}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga4fb2b14ce7a6d27321fa7999b46b82bd}{Dwarf\+\_\+\+Half}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+out\+\_\+type}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_gac91d9490d58c8d86a4d5b63ca93ba6dd}{Dwarf\+\_\+\+Signed}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+out\+\_\+discr\+\_\+low}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_gac91d9490d58c8d86a4d5b63ca93ba6dd}{Dwarf\+\_\+\+Signed}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+out\+\_\+discr\+\_\+high}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+error}{}\end{DoxyParamCaption})}



Access to a single signed discriminant list entry. 

The same as dwarf\+\_\+discr\+\_\+entry\+\_\+u except here the values are signed. \Hypertarget{group__attrform_ga7b849289adfcbbf7348503e37d48c55e}\index{DIE Attribute and Attribute-\/Form Details@{DIE Attribute and Attribute-\/Form Details}!dwarf\_discr\_entry\_u@{dwarf\_discr\_entry\_u}}
\index{dwarf\_discr\_entry\_u@{dwarf\_discr\_entry\_u}!DIE Attribute and Attribute-\/Form Details@{DIE Attribute and Attribute-\/Form Details}}
\doxysubsubsection{\texorpdfstring{dwarf\_discr\_entry\_u()}{dwarf\_discr\_entry\_u()}}
{\footnotesize\ttfamily \label{group__attrform_ga7b849289adfcbbf7348503e37d48c55e} 
DW\+\_\+\+API int dwarf\+\_\+discr\+\_\+entry\+\_\+u (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_gad858a09eae0daa3381a3712a65ef3757}{Dwarf\+\_\+\+Dsc\+\_\+\+Head}}}]{dw\+\_\+dsc}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}}}]{dw\+\_\+entrynum}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga4fb2b14ce7a6d27321fa7999b46b82bd}{Dwarf\+\_\+\+Half}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+out\+\_\+type}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+out\+\_\+discr\+\_\+low}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+out\+\_\+discr\+\_\+high}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+error}{}\end{DoxyParamCaption})}



Access a single unsigned discriminant list entry. 

It is up to the caller to know whether the discriminant values are signed or unsigned (therefore to know whether this or dwarf\+\_\+discr\+\_\+entry\+\_\+s. should be called)


\begin{DoxyParams}{Parameters}
{\em dw\+\_\+dsc} & The \doxylink{group__allstructs_gad858a09eae0daa3381a3712a65ef3757}{Dwarf\+\_\+\+Dsc\+\_\+\+Head} applicable. \\
\hline
{\em dw\+\_\+entrynum} & Valid values are zero to dw\+\_\+dsc\+\_\+array\+\_\+length\+\_\+out-\/1 \\
\hline
{\em dw\+\_\+out\+\_\+type} & On success is set to either DW\+\_\+\+DSC\+\_\+label or DW\+\_\+\+DSC\+\_\+range through the pointer. \\
\hline
{\em dw\+\_\+out\+\_\+discr\+\_\+low} & On success set to the lowest in this discriminant range \\
\hline
{\em dw\+\_\+out\+\_\+discr\+\_\+high} & On success set to the highest in this discriminant range \\
\hline
{\em dw\+\_\+error} & The usual error pointer. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
DW\+\_\+\+DLV\+\_\+\+OK if it succeeds. 
\end{DoxyReturn}
\Hypertarget{group__attrform_ga9547862557c92006bb2554bffb2683f8}\index{DIE Attribute and Attribute-\/Form Details@{DIE Attribute and Attribute-\/Form Details}!dwarf\_discr\_list@{dwarf\_discr\_list}}
\index{dwarf\_discr\_list@{dwarf\_discr\_list}!DIE Attribute and Attribute-\/Form Details@{DIE Attribute and Attribute-\/Form Details}}
\doxysubsubsection{\texorpdfstring{dwarf\_discr\_list()}{dwarf\_discr\_list()}}
{\footnotesize\ttfamily \label{group__attrform_ga9547862557c92006bb2554bffb2683f8} 
DW\+\_\+\+API int dwarf\+\_\+discr\+\_\+list (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_gac2ba1e1c1b70a3191506b414195ca807}{Dwarf\+\_\+\+Debug}}}]{dw\+\_\+dbg}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga52e439e652a1a30277679f64f83cc0fe}{Dwarf\+\_\+\+Small}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+blockpointer}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}}}]{dw\+\_\+blocklen}{, }\item[{\doxymbox{\hyperlink{group__allstructs_gad858a09eae0daa3381a3712a65ef3757}{Dwarf\+\_\+\+Dsc\+\_\+\+Head}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+dsc\+\_\+head\+\_\+out}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+dsc\+\_\+array\+\_\+length\+\_\+out}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+error}{}\end{DoxyParamCaption})}



Return an array of discriminant values. 

This applies if a DW\+\_\+\+TAG\+\_\+variant has one of the DW\+\_\+\+FORM\+\_\+block forms. \begin{DoxySeeAlso}{See also}
\doxylink{group__attrform_ga179a259d5b917294f30eef8823d279d2}{dwarf\+\_\+formblock}
\end{DoxySeeAlso}
For an example of use and dealloc:\+ \begin{DoxySeeAlso}{See also}
\doxylink{group__examplediscrlist}{Using dwarf\+\_\+discr\+\_\+list()}
\end{DoxySeeAlso}

\begin{DoxyParams}{Parameters}
{\em dw\+\_\+dbg} & The applicable \doxylink{group__allstructs_gac2ba1e1c1b70a3191506b414195ca807}{Dwarf\+\_\+\+Debug} \\
\hline
{\em dw\+\_\+blockpointer} & The bl\+\_\+data value from a \doxylink{group__allstructs_gaf33d59f922707c0eb204edf251d323db}{Dwarf\+\_\+\+Block}. \\
\hline
{\em dw\+\_\+blocklen} & The bl\+\_\+len value from a \doxylink{group__allstructs_gaf33d59f922707c0eb204edf251d323db}{Dwarf\+\_\+\+Block}. \\
\hline
{\em dw\+\_\+dsc\+\_\+head\+\_\+out} & On success returns a pointer to an array of discriminant values in an opaque struct. \\
\hline
{\em dw\+\_\+dsc\+\_\+array\+\_\+length\+\_\+out} & On success returns the number of entries in the dw\+\_\+dsc\+\_\+head\+\_\+out array. \\
\hline
{\em dw\+\_\+error} & The usual error pointer. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
DW\+\_\+\+DLV\+\_\+\+OK if it succeeds. 
\end{DoxyReturn}
\Hypertarget{group__attrform_ga421b3a86215880c2e99a9b5ce6ec6903}\index{DIE Attribute and Attribute-\/Form Details@{DIE Attribute and Attribute-\/Form Details}!dwarf\_formaddr@{dwarf\_formaddr}}
\index{dwarf\_formaddr@{dwarf\_formaddr}!DIE Attribute and Attribute-\/Form Details@{DIE Attribute and Attribute-\/Form Details}}
\doxysubsubsection{\texorpdfstring{dwarf\_formaddr()}{dwarf\_formaddr()}}
{\footnotesize\ttfamily \label{group__attrform_ga421b3a86215880c2e99a9b5ce6ec6903} 
DW\+\_\+\+API int dwarf\+\_\+formaddr (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_ga3b8f8b4e43653647a2face222040a915}{Dwarf\+\_\+\+Attribute}}}]{dw\+\_\+attr}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga16ddc0e584ea1a17237ccf1617f31075}{Dwarf\+\_\+\+Addr}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+returned\+\_\+addr}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+error}{}\end{DoxyParamCaption})}



Return the address when the attribute has form address. 

There are several address forms, some of them indexed.


\begin{DoxyParams}{Parameters}
{\em dw\+\_\+attr} & The \doxylink{group__allstructs_ga3b8f8b4e43653647a2face222040a915}{Dwarf\+\_\+\+Attribute} of interest. \\
\hline
{\em dw\+\_\+returned\+\_\+addr} & On success this set through the pointer to the address in the attribute. \\
\hline
{\em dw\+\_\+error} & A place to return error details. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
On success returns DW\+\_\+\+DLV\+\_\+\+OK sets dw\+\_\+returned\+\_\+addr . If attribute is passed in NULL or the attribute is badly broken or the address cannot be retrieved the call returns DW\+\_\+\+DLV\+\_\+\+ERROR. Never returns DW\+\_\+\+DLV\+\_\+\+NO\+\_\+\+ENTRY. 
\end{DoxyReturn}
\Hypertarget{group__attrform_ga179a259d5b917294f30eef8823d279d2}\index{DIE Attribute and Attribute-\/Form Details@{DIE Attribute and Attribute-\/Form Details}!dwarf\_formblock@{dwarf\_formblock}}
\index{dwarf\_formblock@{dwarf\_formblock}!DIE Attribute and Attribute-\/Form Details@{DIE Attribute and Attribute-\/Form Details}}
\doxysubsubsection{\texorpdfstring{dwarf\_formblock()}{dwarf\_formblock()}}
{\footnotesize\ttfamily \label{group__attrform_ga179a259d5b917294f30eef8823d279d2} 
DW\+\_\+\+API int dwarf\+\_\+formblock (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_ga3b8f8b4e43653647a2face222040a915}{Dwarf\+\_\+\+Attribute}}}]{dw\+\_\+attr}{, }\item[{\doxymbox{\hyperlink{group__allstructs_gaf33d59f922707c0eb204edf251d323db}{Dwarf\+\_\+\+Block}} \texorpdfstring{$\ast$}{*}\texorpdfstring{$\ast$}{*}}]{dw\+\_\+returned\+\_\+block}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+error}{}\end{DoxyParamCaption})}



Return an allocated filled-\/in Form\+\_\+\+Block. 

It is an error if the DW\+\_\+\+FORM in the attribute is not a block form. DW\+\_\+\+FORM\+\_\+block2 is an example of a block form.

\begin{DoxySeeAlso}{See also}
\doxylink{group__allstructs_gaf33d59f922707c0eb204edf251d323db}{Dwarf\+\_\+\+Block} 

\doxylink{group__examplediscrlist}{Using dwarf\+\_\+discr\+\_\+list()}
\end{DoxySeeAlso}

\begin{DoxyParams}{Parameters}
{\em dw\+\_\+attr} & The \doxylink{group__allstructs_ga3b8f8b4e43653647a2face222040a915}{Dwarf\+\_\+\+Attribute} of interest. \\
\hline
{\em dw\+\_\+returned\+\_\+block} & Allocates a \doxylink{group__allstructs_gaf33d59f922707c0eb204edf251d323db}{Dwarf\+\_\+\+Block} and returns a pointer to the filled-\/in block. \\
\hline
{\em dw\+\_\+error} & The usual error pointer. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
DW\+\_\+\+DLV\+\_\+\+OK if it succeeds. Never returns DW\+\_\+\+DLV\+\_\+\+NO\+\_\+\+ENTRY. 
\end{DoxyReturn}
\Hypertarget{group__attrform_ga47bf7ede1f3026e760c072cd34b80e28}\index{DIE Attribute and Attribute-\/Form Details@{DIE Attribute and Attribute-\/Form Details}!dwarf\_formdata16@{dwarf\_formdata16}}
\index{dwarf\_formdata16@{dwarf\_formdata16}!DIE Attribute and Attribute-\/Form Details@{DIE Attribute and Attribute-\/Form Details}}
\doxysubsubsection{\texorpdfstring{dwarf\_formdata16()}{dwarf\_formdata16()}}
{\footnotesize\ttfamily \label{group__attrform_ga47bf7ede1f3026e760c072cd34b80e28} 
DW\+\_\+\+API int dwarf\+\_\+formdata16 (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_ga3b8f8b4e43653647a2face222040a915}{Dwarf\+\_\+\+Attribute}}}]{dw\+\_\+attr}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga60acd6fa13481d6f64fdd145660ccb03}{Dwarf\+\_\+\+Form\+\_\+\+Data16}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+returned\+\_\+val}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+error}{}\end{DoxyParamCaption})}



Return a 16 byte \doxylink{group__allstructs_ga60acd6fa13481d6f64fdd145660ccb03}{Dwarf\+\_\+\+Form\+\_\+\+Data16} value. 

We just store the bytes in a struct, we have no 16 byte integer type. It is an error if the FORM is not DW\+\_\+\+FORM\+\_\+data16 \begin{DoxySeeAlso}{See also}
\doxylink{group__allstructs_ga60acd6fa13481d6f64fdd145660ccb03}{Dwarf\+\_\+\+Form\+\_\+\+Data16}
\end{DoxySeeAlso}

\begin{DoxyParams}{Parameters}
{\em dw\+\_\+attr} & The \doxylink{group__allstructs_ga3b8f8b4e43653647a2face222040a915}{Dwarf\+\_\+\+Attribute} of interest. \\
\hline
{\em dw\+\_\+returned\+\_\+val} & Copies the 16 byte value into the pointed to area. \\
\hline
{\em dw\+\_\+error} & The usual error pointer. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
DW\+\_\+\+DLV\+\_\+\+OK if it succeeds. Never returns DW\+\_\+\+DLV\+\_\+\+NO\+\_\+\+ENTRY. 
\end{DoxyReturn}
\Hypertarget{group__attrform_ga9db336de5996b904a2d2011f43a8e182}\index{DIE Attribute and Attribute-\/Form Details@{DIE Attribute and Attribute-\/Form Details}!dwarf\_formexprloc@{dwarf\_formexprloc}}
\index{dwarf\_formexprloc@{dwarf\_formexprloc}!DIE Attribute and Attribute-\/Form Details@{DIE Attribute and Attribute-\/Form Details}}
\doxysubsubsection{\texorpdfstring{dwarf\_formexprloc()}{dwarf\_formexprloc()}}
{\footnotesize\ttfamily \label{group__attrform_ga9db336de5996b904a2d2011f43a8e182} 
DW\+\_\+\+API int dwarf\+\_\+formexprloc (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_ga3b8f8b4e43653647a2face222040a915}{Dwarf\+\_\+\+Attribute}}}]{dw\+\_\+attr}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+return\+\_\+exprlen}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga376c1939313af42401fc67bc998fdd2c}{Dwarf\+\_\+\+Ptr}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+block\+\_\+ptr}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+error}{}\end{DoxyParamCaption})}



Return a pointer-\/to and length-\/of a block of data. 


\begin{DoxyParams}{Parameters}
{\em dw\+\_\+attr} & The \doxylink{group__allstructs_ga3b8f8b4e43653647a2face222040a915}{Dwarf\+\_\+\+Attribute} of interest. \\
\hline
{\em dw\+\_\+return\+\_\+exprlen} & Returns the length in bytes of the block if it succeeds. \\
\hline
{\em dw\+\_\+block\+\_\+ptr} & Returns a pointer to the first byte of the block of data if it succeeds. \\
\hline
{\em dw\+\_\+error} & The usual error pointer. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
DW\+\_\+\+DLV\+\_\+\+OK if it succeeds. If the attribute form is not DW\+\_\+\+FORM\+\_\+exprloc it returns DW\+\_\+\+DLV\+\_\+\+ERROR and sets dw\+\_\+error to point to the error details. 
\end{DoxyReturn}
\Hypertarget{group__attrform_ga001fd99edc1e9fb003818adb0c6b1e1f}\index{DIE Attribute and Attribute-\/Form Details@{DIE Attribute and Attribute-\/Form Details}!dwarf\_formflag@{dwarf\_formflag}}
\index{dwarf\_formflag@{dwarf\_formflag}!DIE Attribute and Attribute-\/Form Details@{DIE Attribute and Attribute-\/Form Details}}
\doxysubsubsection{\texorpdfstring{dwarf\_formflag()}{dwarf\_formflag()}}
{\footnotesize\ttfamily \label{group__attrform_ga001fd99edc1e9fb003818adb0c6b1e1f} 
DW\+\_\+\+API int dwarf\+\_\+formflag (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_ga3b8f8b4e43653647a2face222040a915}{Dwarf\+\_\+\+Attribute}}}]{dw\+\_\+attr}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga32afecc94a71aae2be36aa279f1dded8}{Dwarf\+\_\+\+Bool}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+returned\+\_\+bool}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+error}{}\end{DoxyParamCaption})}



Return the flag value of a flag form. 

It is an error if the FORM is not a flag form.


\begin{DoxyParams}{Parameters}
{\em dw\+\_\+attr} & The \doxylink{group__allstructs_ga3b8f8b4e43653647a2face222040a915}{Dwarf\+\_\+\+Attribute} of interest. \\
\hline
{\em dw\+\_\+returned\+\_\+bool} & Returns either TRUE or FALSE through the pointer. \\
\hline
{\em dw\+\_\+error} & The usual error pointer. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
DW\+\_\+\+DLV\+\_\+\+OK if it succeeds. Never returns DW\+\_\+\+DLV\+\_\+\+NO\+\_\+\+ENTRY. 
\end{DoxyReturn}
\Hypertarget{group__attrform_ga598831f0c80f3e4b35481d8f003d36b5}\index{DIE Attribute and Attribute-\/Form Details@{DIE Attribute and Attribute-\/Form Details}!dwarf\_formref@{dwarf\_formref}}
\index{dwarf\_formref@{dwarf\_formref}!DIE Attribute and Attribute-\/Form Details@{DIE Attribute and Attribute-\/Form Details}}
\doxysubsubsection{\texorpdfstring{dwarf\_formref()}{dwarf\_formref()}}
{\footnotesize\ttfamily \label{group__attrform_ga598831f0c80f3e4b35481d8f003d36b5} 
DW\+\_\+\+API int dwarf\+\_\+formref (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_ga3b8f8b4e43653647a2face222040a915}{Dwarf\+\_\+\+Attribute}}}]{dw\+\_\+attr}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga08c706887ae8c6e09e8f0fb5dd9a539e}{Dwarf\+\_\+\+Off}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+return\+\_\+offset}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga32afecc94a71aae2be36aa279f1dded8}{Dwarf\+\_\+\+Bool}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+is\+\_\+info}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+error}{}\end{DoxyParamCaption})}



Retrieve the CU-\/relative offset of a reference. 

The DW\+\_\+\+FORM of the attribute must be one of a small set of local reference forms:\+ DW\+\_\+\+FORM\+\_\+ref$<$n$>$ or DW\+\_\+\+FORM\+\_\+udata.


\begin{DoxyParams}{Parameters}
{\em dw\+\_\+attr} & The \doxylink{group__allstructs_ga3b8f8b4e43653647a2face222040a915}{Dwarf\+\_\+\+Attribute} of interest. \\
\hline
{\em dw\+\_\+return\+\_\+offset} & Returns the CU-\/relative offset through the pointer. \\
\hline
{\em dw\+\_\+is\+\_\+info} & Returns a flag through the pointer. TRUE if the offset is in .debug\+\_\+info, FALSE if it is in .debug\+\_\+types \\
\hline
{\em dw\+\_\+error} & A place to return error details. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Returns DW\+\_\+\+DLV\+\_\+\+OK and sets dw\+\_\+returned\+\_\+attrnum If attribute is passed in NULL or the attribute is badly broken or the FORM of this attribute is not one of the small set of local references the call returns DW\+\_\+\+DLV\+\_\+\+ERROR. Never returns DW\+\_\+\+DLV\+\_\+\+NO\+\_\+\+ENTRY; 
\end{DoxyReturn}
\Hypertarget{group__attrform_ga4deb1f656c9688676266d231b4566906}\index{DIE Attribute and Attribute-\/Form Details@{DIE Attribute and Attribute-\/Form Details}!dwarf\_formsdata@{dwarf\_formsdata}}
\index{dwarf\_formsdata@{dwarf\_formsdata}!DIE Attribute and Attribute-\/Form Details@{DIE Attribute and Attribute-\/Form Details}}
\doxysubsubsection{\texorpdfstring{dwarf\_formsdata()}{dwarf\_formsdata()}}
{\footnotesize\ttfamily \label{group__attrform_ga4deb1f656c9688676266d231b4566906} 
DW\+\_\+\+API int dwarf\+\_\+formsdata (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_ga3b8f8b4e43653647a2face222040a915}{Dwarf\+\_\+\+Attribute}}}]{dw\+\_\+attr}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_gac91d9490d58c8d86a4d5b63ca93ba6dd}{Dwarf\+\_\+\+Signed}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+returned\+\_\+val}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+error}{}\end{DoxyParamCaption})}



Return a signed value. 

The form must be a signed integral type. It is an error otherwise.


\begin{DoxyParams}{Parameters}
{\em dw\+\_\+attr} & The \doxylink{group__allstructs_ga3b8f8b4e43653647a2face222040a915}{Dwarf\+\_\+\+Attribute} of interest. \\
\hline
{\em dw\+\_\+returned\+\_\+val} & On success returns the signed value through the pointer. \\
\hline
{\em dw\+\_\+error} & The usual error pointer. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
DW\+\_\+\+DLV\+\_\+\+OK if it succeeds. Never returns DW\+\_\+\+DLV\+\_\+\+NO\+\_\+\+ENTRY. 
\end{DoxyReturn}
\Hypertarget{group__attrform_ga884567dce64e2c7876c753f7ebd645d4}\index{DIE Attribute and Attribute-\/Form Details@{DIE Attribute and Attribute-\/Form Details}!dwarf\_formsig8@{dwarf\_formsig8}}
\index{dwarf\_formsig8@{dwarf\_formsig8}!DIE Attribute and Attribute-\/Form Details@{DIE Attribute and Attribute-\/Form Details}}
\doxysubsubsection{\texorpdfstring{dwarf\_formsig8()}{dwarf\_formsig8()}}
{\footnotesize\ttfamily \label{group__attrform_ga884567dce64e2c7876c753f7ebd645d4} 
DW\+\_\+\+API int dwarf\+\_\+formsig8 (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_ga3b8f8b4e43653647a2face222040a915}{Dwarf\+\_\+\+Attribute}}}]{dw\+\_\+attr}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga3eae90d156d443089b7868fbc26ccf12}{Dwarf\+\_\+\+Sig8}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+returned\+\_\+sig\+\_\+bytes}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+error}{}\end{DoxyParamCaption})}



Return an 8 byte reference form for DW\+\_\+\+FORM\+\_\+ref\+\_\+sig8. 


\begin{DoxyParams}{Parameters}
{\em dw\+\_\+attr} & The \doxylink{group__allstructs_ga3b8f8b4e43653647a2face222040a915}{Dwarf\+\_\+\+Attribute} of interest. \\
\hline
{\em dw\+\_\+returned\+\_\+sig\+\_\+bytes} & On success returns DW\+\_\+\+DLV\+\_\+\+OK and copies the 8 bytes into dw\+\_\+returned\+\_\+sig\+\_\+bytes. \\
\hline
{\em dw\+\_\+error} & A place to return error details. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
On success returns DW\+\_\+\+DLV\+\_\+\+OK and copies the 8 bytes into dw\+\_\+returned\+\_\+sig\+\_\+bytes. If attribute is passed in NULL or the attribute is badly broken the call returns DW\+\_\+\+DLV\+\_\+\+ERROR. If the dw\+\_\+attr has a form other than DW\+\_\+\+FORM\+\_\+ref\+\_\+sig8 the function returns DW\+\_\+\+DLV\+\_\+\+NO\+\_\+\+ENTRY 
\end{DoxyReturn}
\Hypertarget{group__attrform_ga6fefc3f4a92034bc787e13478497b8c4}\index{DIE Attribute and Attribute-\/Form Details@{DIE Attribute and Attribute-\/Form Details}!dwarf\_formsig8\_const@{dwarf\_formsig8\_const}}
\index{dwarf\_formsig8\_const@{dwarf\_formsig8\_const}!DIE Attribute and Attribute-\/Form Details@{DIE Attribute and Attribute-\/Form Details}}
\doxysubsubsection{\texorpdfstring{dwarf\_formsig8\_const()}{dwarf\_formsig8\_const()}}
{\footnotesize\ttfamily \label{group__attrform_ga6fefc3f4a92034bc787e13478497b8c4} 
DW\+\_\+\+API int dwarf\+\_\+formsig8\+\_\+const (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_ga3b8f8b4e43653647a2face222040a915}{Dwarf\+\_\+\+Attribute}}}]{dw\+\_\+attr}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga3eae90d156d443089b7868fbc26ccf12}{Dwarf\+\_\+\+Sig8}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+returned\+\_\+sig\+\_\+bytes}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+error}{}\end{DoxyParamCaption})}



Return an 8 byte reference form for DW\+\_\+\+FORM\+\_\+data8. 


\begin{DoxyParams}{Parameters}
{\em dw\+\_\+attr} & The \doxylink{group__allstructs_ga3b8f8b4e43653647a2face222040a915}{Dwarf\+\_\+\+Attribute} of interest. \\
\hline
{\em dw\+\_\+returned\+\_\+sig\+\_\+bytes} & On success Returns DW\+\_\+\+DLV\+\_\+\+OK and copies the 8 bytes into dw\+\_\+returned\+\_\+sig\+\_\+bytes. \\
\hline
{\em dw\+\_\+error} & A place to return error details. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
On success returns DW\+\_\+\+DLV\+\_\+\+OK and copies the 8 bytes into dw\+\_\+returned\+\_\+sig\+\_\+bytes. If attribute is passed in NULL or the attribute is badly broken the call returns DW\+\_\+\+DLV\+\_\+\+ERROR. If the dw\+\_\+attr has a form other than DW\+\_\+\+FORM\+\_\+data8 the function returns DW\+\_\+\+DLV\+\_\+\+NO\+\_\+\+ENTRY 
\end{DoxyReturn}
\Hypertarget{group__attrform_gab4ad0256e23f36487623864c044b442f}\index{DIE Attribute and Attribute-\/Form Details@{DIE Attribute and Attribute-\/Form Details}!dwarf\_formstring@{dwarf\_formstring}}
\index{dwarf\_formstring@{dwarf\_formstring}!DIE Attribute and Attribute-\/Form Details@{DIE Attribute and Attribute-\/Form Details}}
\doxysubsubsection{\texorpdfstring{dwarf\_formstring()}{dwarf\_formstring()}}
{\footnotesize\ttfamily \label{group__attrform_gab4ad0256e23f36487623864c044b442f} 
DW\+\_\+\+API int dwarf\+\_\+formstring (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_ga3b8f8b4e43653647a2face222040a915}{Dwarf\+\_\+\+Attribute}}}]{dw\+\_\+attr}{, }\item[{char \texorpdfstring{$\ast$}{*}\texorpdfstring{$\ast$}{*}}]{dw\+\_\+returned\+\_\+string}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+error}{}\end{DoxyParamCaption})}



Return a pointer to a string. 


\begin{DoxyParams}{Parameters}
{\em dw\+\_\+attr} & The \doxylink{group__allstructs_ga3b8f8b4e43653647a2face222040a915}{Dwarf\+\_\+\+Attribute} of interest. \\
\hline
{\em dw\+\_\+returned\+\_\+string} & On success puts a pointer to a string existing in an appropriate DWARF section into dw\+\_\+returned\+\_\+string. Never free() or dealloc the returned string. \\
\hline
{\em dw\+\_\+error} & The usual error pointer. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
DW\+\_\+\+DLV\+\_\+\+OK if it succeeds. 
\end{DoxyReturn}
\Hypertarget{group__attrform_ga9745a82720c7e658d6d1695dbaae28be}\index{DIE Attribute and Attribute-\/Form Details@{DIE Attribute and Attribute-\/Form Details}!dwarf\_formudata@{dwarf\_formudata}}
\index{dwarf\_formudata@{dwarf\_formudata}!DIE Attribute and Attribute-\/Form Details@{DIE Attribute and Attribute-\/Form Details}}
\doxysubsubsection{\texorpdfstring{dwarf\_formudata()}{dwarf\_formudata()}}
{\footnotesize\ttfamily \label{group__attrform_ga9745a82720c7e658d6d1695dbaae28be} 
DW\+\_\+\+API int dwarf\+\_\+formudata (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_ga3b8f8b4e43653647a2face222040a915}{Dwarf\+\_\+\+Attribute}}}]{dw\+\_\+attr}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+returned\+\_\+val}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+error}{}\end{DoxyParamCaption})}



Return an unsigned value. 

The form can be an unsigned or signed integral type but if it is a signed type the value must be non-\/negative. It is an error otherwise.


\begin{DoxyParams}{Parameters}
{\em dw\+\_\+attr} & The \doxylink{group__allstructs_ga3b8f8b4e43653647a2face222040a915}{Dwarf\+\_\+\+Attribute} of interest. \\
\hline
{\em dw\+\_\+returned\+\_\+val} & On success returns the unsigned value through the pointer. \\
\hline
{\em dw\+\_\+error} & The usual error pointer. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
DW\+\_\+\+DLV\+\_\+\+OK if it succeeds. Never returns DW\+\_\+\+DLV\+\_\+\+NO\+\_\+\+ENTRY. 
\end{DoxyReturn}
\Hypertarget{group__attrform_ga6f2c63f385aaf3012d85950eecae7b1e}\index{DIE Attribute and Attribute-\/Form Details@{DIE Attribute and Attribute-\/Form Details}!dwarf\_get\_debug\_addr\_index@{dwarf\_get\_debug\_addr\_index}}
\index{dwarf\_get\_debug\_addr\_index@{dwarf\_get\_debug\_addr\_index}!DIE Attribute and Attribute-\/Form Details@{DIE Attribute and Attribute-\/Form Details}}
\doxysubsubsection{\texorpdfstring{dwarf\_get\_debug\_addr\_index()}{dwarf\_get\_debug\_addr\_index()}}
{\footnotesize\ttfamily \label{group__attrform_ga6f2c63f385aaf3012d85950eecae7b1e} 
DW\+\_\+\+API int dwarf\+\_\+get\+\_\+debug\+\_\+addr\+\_\+index (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_ga3b8f8b4e43653647a2face222040a915}{Dwarf\+\_\+\+Attribute}}}]{dw\+\_\+attr}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+return\+\_\+index}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+error}{}\end{DoxyParamCaption})}



Get the addr index of a \doxylink{group__allstructs_ga3b8f8b4e43653647a2face222040a915}{Dwarf\+\_\+\+Attribute}. 

So a consumer can get the index when the object with the actual .debug\+\_\+addr section is elsewhere (Debug Fission). Or if the caller just wants the index. Only call it when you know it should does have an index address FORM such as DW\+\_\+\+FORM\+\_\+addrx1 or one of the GNU address index forms.


\begin{DoxyParams}{Parameters}
{\em dw\+\_\+attr} & The \doxylink{group__allstructs_ga3b8f8b4e43653647a2face222040a915}{Dwarf\+\_\+\+Attribute} of interest. \\
\hline
{\em dw\+\_\+return\+\_\+index} & If successful it returns the index through the pointer. \\
\hline
{\em dw\+\_\+error} & The usual error pointer. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
DW\+\_\+\+DLV\+\_\+\+OK if it succeeds. Never returns DW\+\_\+\+DLV\+\_\+\+NO\+\_\+\+ENTRY. 
\end{DoxyReturn}
\Hypertarget{group__attrform_ga220ae3527759b7d54b5de90823429b98}\index{DIE Attribute and Attribute-\/Form Details@{DIE Attribute and Attribute-\/Form Details}!dwarf\_get\_debug\_str\_index@{dwarf\_get\_debug\_str\_index}}
\index{dwarf\_get\_debug\_str\_index@{dwarf\_get\_debug\_str\_index}!DIE Attribute and Attribute-\/Form Details@{DIE Attribute and Attribute-\/Form Details}}
\doxysubsubsection{\texorpdfstring{dwarf\_get\_debug\_str\_index()}{dwarf\_get\_debug\_str\_index()}}
{\footnotesize\ttfamily \label{group__attrform_ga220ae3527759b7d54b5de90823429b98} 
DW\+\_\+\+API int dwarf\+\_\+get\+\_\+debug\+\_\+str\+\_\+index (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_ga3b8f8b4e43653647a2face222040a915}{Dwarf\+\_\+\+Attribute}}}]{dw\+\_\+attr}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+return\+\_\+index}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+error}{}\end{DoxyParamCaption})}



Return a string index. 


\begin{DoxyParams}{Parameters}
{\em dw\+\_\+attr} & The \doxylink{group__allstructs_ga3b8f8b4e43653647a2face222040a915}{Dwarf\+\_\+\+Attribute} of interest. \\
\hline
{\em dw\+\_\+return\+\_\+index} & If the form is a string index form (for example DW\+\_\+\+FORM\+\_\+strx) the string index value is returned via the pointer. \\
\hline
{\em dw\+\_\+error} & The usual error pointer. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
DW\+\_\+\+DLV\+\_\+\+OK if it succeeds. If the attribute form is not one of the string index forms it returns DW\+\_\+\+DLV\+\_\+\+ERROR and sets dw\+\_\+error to point to the error details. 
\end{DoxyReturn}
\Hypertarget{group__attrform_ga3b1fd6183b2cfd7e76570d6dbd65a839}\index{DIE Attribute and Attribute-\/Form Details@{DIE Attribute and Attribute-\/Form Details}!dwarf\_get\_form\_class@{dwarf\_get\_form\_class}}
\index{dwarf\_get\_form\_class@{dwarf\_get\_form\_class}!DIE Attribute and Attribute-\/Form Details@{DIE Attribute and Attribute-\/Form Details}}
\doxysubsubsection{\texorpdfstring{dwarf\_get\_form\_class()}{dwarf\_get\_form\_class()}}
{\footnotesize\ttfamily \label{group__attrform_ga3b1fd6183b2cfd7e76570d6dbd65a839} 
DW\+\_\+\+API enum \doxymbox{\hyperlink{group__enums_ga9ac80540973d025e56d5cbc1332c876b}{Dwarf\+\_\+\+Form\+\_\+\+Class}} dwarf\+\_\+get\+\_\+form\+\_\+class (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga4fb2b14ce7a6d27321fa7999b46b82bd}{Dwarf\+\_\+\+Half}}}]{dw\+\_\+version}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga4fb2b14ce7a6d27321fa7999b46b82bd}{Dwarf\+\_\+\+Half}}}]{dw\+\_\+attrnum}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga4fb2b14ce7a6d27321fa7999b46b82bd}{Dwarf\+\_\+\+Half}}}]{dw\+\_\+offset\+\_\+size}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga4fb2b14ce7a6d27321fa7999b46b82bd}{Dwarf\+\_\+\+Half}}}]{dw\+\_\+form}{}\end{DoxyParamCaption})}



Return the FORM\+\_\+\+CLASS applicable. Four pieces of information are necessary to get the correct FORM\+\_\+\+CLASS. 


\begin{DoxyParams}{Parameters}
{\em dw\+\_\+version} & The CU\textquotesingle{}s DWARF version. Standard numbers are 2,3,4, or 5. \\
\hline
{\em dw\+\_\+attrnum} & For example DW\+\_\+\+AT\+\_\+name \\
\hline
{\em dw\+\_\+offset\+\_\+size} & The offset size applicable to the compilation unit relevant to the attribute and form. \\
\hline
{\em dw\+\_\+form} & The FORM number, for example DW\+\_\+\+FORM\+\_\+data4 \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Returns a form class, for example DW\+\_\+\+FORM\+\_\+\+CLASS\+\_\+\+CONSTANT. The FORM\+\_\+\+CLASS names are mentioned (for example as \textquotesingle{}address\textquotesingle{} in Table 2.\+3 of DWARF5) but are not assigned formal names \& numbers in the standard. 
\end{DoxyReturn}
\Hypertarget{group__attrform_ga65fb85a6b64739719dbe6c348cd76a9a}\index{DIE Attribute and Attribute-\/Form Details@{DIE Attribute and Attribute-\/Form Details}!dwarf\_global\_formref@{dwarf\_global\_formref}}
\index{dwarf\_global\_formref@{dwarf\_global\_formref}!DIE Attribute and Attribute-\/Form Details@{DIE Attribute and Attribute-\/Form Details}}
\doxysubsubsection{\texorpdfstring{dwarf\_global\_formref()}{dwarf\_global\_formref()}}
{\footnotesize\ttfamily \label{group__attrform_ga65fb85a6b64739719dbe6c348cd76a9a} 
DW\+\_\+\+API int dwarf\+\_\+global\+\_\+formref (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_ga3b8f8b4e43653647a2face222040a915}{Dwarf\+\_\+\+Attribute}}}]{dw\+\_\+attr}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga08c706887ae8c6e09e8f0fb5dd9a539e}{Dwarf\+\_\+\+Off}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+return\+\_\+offset}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+error}{}\end{DoxyParamCaption})}



Same as dwarf\+\_\+global\+\_\+formref\+\_\+b except... 

\begin{DoxySeeAlso}{See also}
\doxylink{group__attrform_ga4a3ac920e1798e2fbfafe17964a4f9f2}{dwarf\+\_\+global\+\_\+formref\+\_\+b}
\end{DoxySeeAlso}
This is the same, except there is no dw\+\_\+offset\+\_\+is\+\_\+info pointer so in the case of DWARF4 and DW\+\_\+\+FORM\+\_\+ref\+\_\+sig8 it is not possible to determine which section the offset applies to! \Hypertarget{group__attrform_ga4a3ac920e1798e2fbfafe17964a4f9f2}\index{DIE Attribute and Attribute-\/Form Details@{DIE Attribute and Attribute-\/Form Details}!dwarf\_global\_formref\_b@{dwarf\_global\_formref\_b}}
\index{dwarf\_global\_formref\_b@{dwarf\_global\_formref\_b}!DIE Attribute and Attribute-\/Form Details@{DIE Attribute and Attribute-\/Form Details}}
\doxysubsubsection{\texorpdfstring{dwarf\_global\_formref\_b()}{dwarf\_global\_formref\_b()}}
{\footnotesize\ttfamily \label{group__attrform_ga4a3ac920e1798e2fbfafe17964a4f9f2} 
DW\+\_\+\+API int dwarf\+\_\+global\+\_\+formref\+\_\+b (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_ga3b8f8b4e43653647a2face222040a915}{Dwarf\+\_\+\+Attribute}}}]{dw\+\_\+attr}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga08c706887ae8c6e09e8f0fb5dd9a539e}{Dwarf\+\_\+\+Off}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+return\+\_\+offset}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga32afecc94a71aae2be36aa279f1dded8}{Dwarf\+\_\+\+Bool}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+offset\+\_\+is\+\_\+info}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+error}{}\end{DoxyParamCaption})}



Return the section-\/relative offset of a \doxylink{group__allstructs_ga3b8f8b4e43653647a2face222040a915}{Dwarf\+\_\+\+Attribute}. 

The target section of the returned offset can be in various sections depending on the FORM. Only a DW\+\_\+\+FORM\+\_\+ref\+\_\+sig8 can change the returned offset of a .debug\+\_\+info DIE via a lookup into .debug\+\_\+types by changing dw\+\_\+offset\+\_\+is\+\_\+info to FALSE (DWARF4).

The caller must determine the target section from the FORM.


\begin{DoxyParams}{Parameters}
{\em dw\+\_\+attr} & The \doxylink{group__allstructs_ga3b8f8b4e43653647a2face222040a915}{Dwarf\+\_\+\+Attribute} of interest. \\
\hline
{\em dw\+\_\+return\+\_\+offset} & Returns the CU-\/relative offset through the pointer. \\
\hline
{\em dw\+\_\+offset\+\_\+is\+\_\+info} & For references to DIEs this informs whether the target DIE (the target the offset refers to) is in .debug\+\_\+info or .debug\+\_\+types. For non-\/\+DIE targets this field is not meaningful. Refer to the attribute FORM to determine the target section of the offset. \\
\hline
{\em dw\+\_\+error} & A place to return error details. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Returns DW\+\_\+\+DLV\+\_\+\+OK and sets dw\+\_\+return\+\_\+offset and dw\+\_\+offset\+\_\+is\+\_\+info. If attribute is passed in NULL or the attribute is badly broken or the FORM of this attribute is not one of the many reference types the call returns DW\+\_\+\+DLV\+\_\+\+ERROR. Never returns DW\+\_\+\+DLV\+\_\+\+NO\+\_\+\+ENTRY; 
\end{DoxyReturn}
\Hypertarget{group__attrform_ga9bd87c807f8b52872344a8be5aa7d45a}\index{DIE Attribute and Attribute-\/Form Details@{DIE Attribute and Attribute-\/Form Details}!dwarf\_hasform@{dwarf\_hasform}}
\index{dwarf\_hasform@{dwarf\_hasform}!DIE Attribute and Attribute-\/Form Details@{DIE Attribute and Attribute-\/Form Details}}
\doxysubsubsection{\texorpdfstring{dwarf\_hasform()}{dwarf\_hasform()}}
{\footnotesize\ttfamily \label{group__attrform_ga9bd87c807f8b52872344a8be5aa7d45a} 
DW\+\_\+\+API int dwarf\+\_\+hasform (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_ga3b8f8b4e43653647a2face222040a915}{Dwarf\+\_\+\+Attribute}}}]{dw\+\_\+attr}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga4fb2b14ce7a6d27321fa7999b46b82bd}{Dwarf\+\_\+\+Half}}}]{dw\+\_\+form}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga32afecc94a71aae2be36aa279f1dded8}{Dwarf\+\_\+\+Bool}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+returned\+\_\+bool}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+error}{}\end{DoxyParamCaption})}



Sets TRUE if a \doxylink{group__allstructs_ga3b8f8b4e43653647a2face222040a915}{Dwarf\+\_\+\+Attribute} has the indicated FORM. 


\begin{DoxyParams}{Parameters}
{\em dw\+\_\+attr} & The \doxylink{group__allstructs_ga3b8f8b4e43653647a2face222040a915}{Dwarf\+\_\+\+Attribute} of interest. \\
\hline
{\em dw\+\_\+form} & The DW\+\_\+\+FORM you are asking about, DW\+\_\+\+FORM\+\_\+strp for example. \\
\hline
{\em dw\+\_\+returned\+\_\+bool} & The pointer passed in must be a valid non-\/null pointer to a \doxylink{group__basicdatatypes_ga32afecc94a71aae2be36aa279f1dded8}{Dwarf\+\_\+\+Bool}. On success, sets the value to TRUE or FALSE. \\
\hline
{\em dw\+\_\+error} & A place to return error details. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Returns DW\+\_\+\+DLV\+\_\+\+OK and sets dw\+\_\+returned\+\_\+bool. If attribute is passed in NULL or the attribute is badly broken the call returns DW\+\_\+\+DLV\+\_\+\+ERROR. Never returns DW\+\_\+\+DLV\+\_\+\+NO\+\_\+\+ENTRY; 
\end{DoxyReturn}
\Hypertarget{group__attrform_gac026718b7afde5450dcee6912ca08537}\index{DIE Attribute and Attribute-\/Form Details@{DIE Attribute and Attribute-\/Form Details}!dwarf\_uncompress\_integer\_block\_a@{dwarf\_uncompress\_integer\_block\_a}}
\index{dwarf\_uncompress\_integer\_block\_a@{dwarf\_uncompress\_integer\_block\_a}!DIE Attribute and Attribute-\/Form Details@{DIE Attribute and Attribute-\/Form Details}}
\doxysubsubsection{\texorpdfstring{dwarf\_uncompress\_integer\_block\_a()}{dwarf\_uncompress\_integer\_block\_a()}}
{\footnotesize\ttfamily \label{group__attrform_gac026718b7afde5450dcee6912ca08537} 
DW\+\_\+\+API int dwarf\+\_\+uncompress\+\_\+integer\+\_\+block\+\_\+a (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_gac2ba1e1c1b70a3191506b414195ca807}{Dwarf\+\_\+\+Debug}}}]{dw\+\_\+dbg}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}}}]{dw\+\_\+input\+\_\+length\+\_\+in\+\_\+bytes}{, }\item[{void \texorpdfstring{$\ast$}{*}}]{dw\+\_\+input\+\_\+block}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+value\+\_\+count}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_gac91d9490d58c8d86a4d5b63ca93ba6dd}{Dwarf\+\_\+\+Signed}} \texorpdfstring{$\ast$}{*}\texorpdfstring{$\ast$}{*}}]{dw\+\_\+value\+\_\+array}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+error}{}\end{DoxyParamCaption})}



Uncompress a block of sleb numbers It\textquotesingle{}s not much of a compression so not much of an uncompression. Developed by Sun Microsystems and it is unclear if it was ever used. 

\begin{DoxySeeAlso}{See also}
\doxylink{group__attrform_ga4d4498deca21469a922230365ae5fc93}{dwarf\+\_\+dealloc\+\_\+uncompressed\+\_\+block} 
\end{DoxySeeAlso}
\Hypertarget{group__attrform_ga0efa71ef6bb7dc4e36b218274287d953}\index{DIE Attribute and Attribute-\/Form Details@{DIE Attribute and Attribute-\/Form Details}!dwarf\_whatattr@{dwarf\_whatattr}}
\index{dwarf\_whatattr@{dwarf\_whatattr}!DIE Attribute and Attribute-\/Form Details@{DIE Attribute and Attribute-\/Form Details}}
\doxysubsubsection{\texorpdfstring{dwarf\_whatattr()}{dwarf\_whatattr()}}
{\footnotesize\ttfamily \label{group__attrform_ga0efa71ef6bb7dc4e36b218274287d953} 
DW\+\_\+\+API int dwarf\+\_\+whatattr (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_ga3b8f8b4e43653647a2face222040a915}{Dwarf\+\_\+\+Attribute}}}]{dw\+\_\+attr}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga4fb2b14ce7a6d27321fa7999b46b82bd}{Dwarf\+\_\+\+Half}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+returned\+\_\+attrnum}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+error}{}\end{DoxyParamCaption})}



Return the attribute number of the \doxylink{group__allstructs_ga3b8f8b4e43653647a2face222040a915}{Dwarf\+\_\+\+Attribute}. 


\begin{DoxyParams}{Parameters}
{\em dw\+\_\+attr} & The \doxylink{group__allstructs_ga3b8f8b4e43653647a2face222040a915}{Dwarf\+\_\+\+Attribute} of interest. \\
\hline
{\em dw\+\_\+returned\+\_\+attrnum} & The attribute number of the attribute is returned through the pointer. For example, DW\+\_\+\+AT\+\_\+name \\
\hline
{\em dw\+\_\+error} & A place to return error details. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Returns DW\+\_\+\+DLV\+\_\+\+OK and sets dw\+\_\+returned\+\_\+attrnum If attribute is passed in NULL or the attribute is badly broken the call returns DW\+\_\+\+DLV\+\_\+\+ERROR. Never returns DW\+\_\+\+DLV\+\_\+\+NO\+\_\+\+ENTRY; 
\end{DoxyReturn}
\Hypertarget{group__attrform_ga493e471ab639e3b57e053a00e49a0a14}\index{DIE Attribute and Attribute-\/Form Details@{DIE Attribute and Attribute-\/Form Details}!dwarf\_whatform@{dwarf\_whatform}}
\index{dwarf\_whatform@{dwarf\_whatform}!DIE Attribute and Attribute-\/Form Details@{DIE Attribute and Attribute-\/Form Details}}
\doxysubsubsection{\texorpdfstring{dwarf\_whatform()}{dwarf\_whatform()}}
{\footnotesize\ttfamily \label{group__attrform_ga493e471ab639e3b57e053a00e49a0a14} 
DW\+\_\+\+API int dwarf\+\_\+whatform (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_ga3b8f8b4e43653647a2face222040a915}{Dwarf\+\_\+\+Attribute}}}]{dw\+\_\+attr}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga4fb2b14ce7a6d27321fa7999b46b82bd}{Dwarf\+\_\+\+Half}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+returned\+\_\+final\+\_\+form}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+error}{}\end{DoxyParamCaption})}



Return the form of the \doxylink{group__allstructs_ga3b8f8b4e43653647a2face222040a915}{Dwarf\+\_\+\+Attribute}. 


\begin{DoxyParams}{Parameters}
{\em dw\+\_\+attr} & The \doxylink{group__allstructs_ga3b8f8b4e43653647a2face222040a915}{Dwarf\+\_\+\+Attribute} of interest. \\
\hline
{\em dw\+\_\+returned\+\_\+final\+\_\+form} & The form of the item is returned through the pointer. If the base form is DW\+\_\+\+FORM\+\_\+indirect the function resolves the final form and returns that final form. \\
\hline
{\em dw\+\_\+error} & A place to return error details. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Returns DW\+\_\+\+DLV\+\_\+\+OK and sets dw\+\_\+returned\+\_\+final\+\_\+form If attribute is passed in NULL or the attribute is badly broken the call returns DW\+\_\+\+DLV\+\_\+\+ERROR. Never returns DW\+\_\+\+DLV\+\_\+\+NO\+\_\+\+ENTRY; 
\end{DoxyReturn}
\Hypertarget{group__attrform_ga7d396fd2b1f82d461062a5596a418a40}\index{DIE Attribute and Attribute-\/Form Details@{DIE Attribute and Attribute-\/Form Details}!dwarf\_whatform\_direct@{dwarf\_whatform\_direct}}
\index{dwarf\_whatform\_direct@{dwarf\_whatform\_direct}!DIE Attribute and Attribute-\/Form Details@{DIE Attribute and Attribute-\/Form Details}}
\doxysubsubsection{\texorpdfstring{dwarf\_whatform\_direct()}{dwarf\_whatform\_direct()}}
{\footnotesize\ttfamily \label{group__attrform_ga7d396fd2b1f82d461062a5596a418a40} 
DW\+\_\+\+API int dwarf\+\_\+whatform\+\_\+direct (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_ga3b8f8b4e43653647a2face222040a915}{Dwarf\+\_\+\+Attribute}}}]{dw\+\_\+attr}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga4fb2b14ce7a6d27321fa7999b46b82bd}{Dwarf\+\_\+\+Half}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+returned\+\_\+initial\+\_\+form}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+error}{}\end{DoxyParamCaption})}



Return the initial form of the \doxylink{group__allstructs_ga3b8f8b4e43653647a2face222040a915}{Dwarf\+\_\+\+Attribute}. 


\begin{DoxyParams}{Parameters}
{\em dw\+\_\+attr} & The \doxylink{group__allstructs_ga3b8f8b4e43653647a2face222040a915}{Dwarf\+\_\+\+Attribute} of interest. \\
\hline
{\em dw\+\_\+returned\+\_\+initial\+\_\+form} & The form of the item is returned through the pointer. If the base form is DW\+\_\+\+FORM\+\_\+indirect the value set is DW\+\_\+\+FORM\+\_\+indirect. \\
\hline
{\em dw\+\_\+error} & A place to return error details. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Returns DW\+\_\+\+DLV\+\_\+\+OK and sets dw\+\_\+returned\+\_\+initial\+\_\+form. If attribute is passed in NULL or the attribute is badly broken the call returns DW\+\_\+\+DLV\+\_\+\+ERROR. Never returns DW\+\_\+\+DLV\+\_\+\+NO\+\_\+\+ENTRY; 
\end{DoxyReturn}
