\doxysection{Line Table For a CU }
\hypertarget{group__linetable}{}\label{group__linetable}\index{Line Table For a CU@{Line Table For a CU}}
\doxysubsubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
DW\+\_\+\+API int \doxymbox{\hyperlink{group__linetable_gadfe09c613514f536bfcfc62174a81ffd}{dwarf\+\_\+srcfiles}} (\doxymbox{\hyperlink{group__allstructs_ga3a3759c3047d78dba9f590d5e5893be5}{Dwarf\+\_\+\+Die}} dw\+\_\+cu\+\_\+die, char \texorpdfstring{$\ast$}{*}\texorpdfstring{$\ast$}{*}\texorpdfstring{$\ast$}{*}dw\+\_\+srcfiles, \doxymbox{\hyperlink{group__basicdatatypes_gac91d9490d58c8d86a4d5b63ca93ba6dd}{Dwarf\+\_\+\+Signed}} \texorpdfstring{$\ast$}{*}dw\+\_\+filecount, \doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}dw\+\_\+error)
\begin{DoxyCompactList}\small\item\em The list of source files from the line table header. \end{DoxyCompactList}\item 
DW\+\_\+\+API int \doxymbox{\hyperlink{group__linetable_ga5f1fb23700b5e73a10f677fe8fed8e87}{dwarf\+\_\+srclines\+\_\+b}} (\doxymbox{\hyperlink{group__allstructs_ga3a3759c3047d78dba9f590d5e5893be5}{Dwarf\+\_\+\+Die}} dw\+\_\+cudie, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}dw\+\_\+version\+\_\+out, \doxymbox{\hyperlink{group__basicdatatypes_ga52e439e652a1a30277679f64f83cc0fe}{Dwarf\+\_\+\+Small}} \texorpdfstring{$\ast$}{*}dw\+\_\+table\+\_\+count, \doxymbox{\hyperlink{group__allstructs_ga6d34d50e7383d139ecd28222ca46bfd9}{Dwarf\+\_\+\+Line\+\_\+\+Context}} \texorpdfstring{$\ast$}{*}dw\+\_\+linecontext, \doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}dw\+\_\+error)
\begin{DoxyCompactList}\small\item\em Initialize \doxylink{group__allstructs_ga6d34d50e7383d139ecd28222ca46bfd9}{Dwarf\+\_\+\+Line\+\_\+\+Context} for line table access. \end{DoxyCompactList}\item 
DW\+\_\+\+API int \doxymbox{\hyperlink{group__linetable_gae91613a2346bcf056798f91a93180632}{dwarf\+\_\+srclines\+\_\+from\+\_\+linecontext}} (\doxymbox{\hyperlink{group__allstructs_ga6d34d50e7383d139ecd28222ca46bfd9}{Dwarf\+\_\+\+Line\+\_\+\+Context}} dw\+\_\+linecontext, \doxymbox{\hyperlink{group__allstructs_gae4486812c6f1ec8cc2ec475149c256c0}{Dwarf\+\_\+\+Line}} \texorpdfstring{$\ast$}{*}\texorpdfstring{$\ast$}{*}dw\+\_\+linebuf, \doxymbox{\hyperlink{group__basicdatatypes_gac91d9490d58c8d86a4d5b63ca93ba6dd}{Dwarf\+\_\+\+Signed}} \texorpdfstring{$\ast$}{*}dw\+\_\+linecount, \doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}dw\+\_\+error)
\begin{DoxyCompactList}\small\item\em Access source lines from line context. \end{DoxyCompactList}\item 
DW\+\_\+\+API int \doxymbox{\hyperlink{group__linetable_gad3a16c030d01566bfcbdfe42dc0c3549}{dwarf\+\_\+srclines\+\_\+two\+\_\+level\+\_\+from\+\_\+linecontext}} (\doxymbox{\hyperlink{group__allstructs_ga6d34d50e7383d139ecd28222ca46bfd9}{Dwarf\+\_\+\+Line\+\_\+\+Context}} dw\+\_\+context, \doxymbox{\hyperlink{group__allstructs_gae4486812c6f1ec8cc2ec475149c256c0}{Dwarf\+\_\+\+Line}} \texorpdfstring{$\ast$}{*}\texorpdfstring{$\ast$}{*}dw\+\_\+linebuf, \doxymbox{\hyperlink{group__basicdatatypes_gac91d9490d58c8d86a4d5b63ca93ba6dd}{Dwarf\+\_\+\+Signed}} \texorpdfstring{$\ast$}{*}dw\+\_\+linecount, \doxymbox{\hyperlink{group__allstructs_gae4486812c6f1ec8cc2ec475149c256c0}{Dwarf\+\_\+\+Line}} \texorpdfstring{$\ast$}{*}\texorpdfstring{$\ast$}{*}dw\+\_\+linebuf\+\_\+actuals, \doxymbox{\hyperlink{group__basicdatatypes_gac91d9490d58c8d86a4d5b63ca93ba6dd}{Dwarf\+\_\+\+Signed}} \texorpdfstring{$\ast$}{*}dw\+\_\+linecount\+\_\+actuals, \doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}dw\+\_\+error)
\begin{DoxyCompactList}\small\item\em Returns line table counts and data. \end{DoxyCompactList}\item 
DW\+\_\+\+API void \doxymbox{\hyperlink{group__linetable_ga4231571b299fb4673ff17e4f35118fb1}{dwarf\+\_\+srclines\+\_\+dealloc\+\_\+b}} (\doxymbox{\hyperlink{group__allstructs_ga6d34d50e7383d139ecd28222ca46bfd9}{Dwarf\+\_\+\+Line\+\_\+\+Context}} dw\+\_\+context)
\begin{DoxyCompactList}\small\item\em Dealloc the memory allocated by dwarf\+\_\+srclines\+\_\+b. \end{DoxyCompactList}\item 
DW\+\_\+\+API int \doxymbox{\hyperlink{group__linetable_ga9e4e361885e4c4e00f3fa5445a60814e}{dwarf\+\_\+srclines\+\_\+table\+\_\+offset}} (\doxymbox{\hyperlink{group__allstructs_ga6d34d50e7383d139ecd28222ca46bfd9}{Dwarf\+\_\+\+Line\+\_\+\+Context}} dw\+\_\+context, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}dw\+\_\+offset, \doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}dw\+\_\+error)
\begin{DoxyCompactList}\small\item\em Return the srclines table offset. \end{DoxyCompactList}\item 
DW\+\_\+\+API int \doxymbox{\hyperlink{group__linetable_ga18ad0bf6c12c1d5a46aed93addd80016}{dwarf\+\_\+srclines\+\_\+comp\+\_\+dir}} (\doxymbox{\hyperlink{group__allstructs_ga6d34d50e7383d139ecd28222ca46bfd9}{Dwarf\+\_\+\+Line\+\_\+\+Context}} dw\+\_\+context, const char \texorpdfstring{$\ast$}{*}\texorpdfstring{$\ast$}{*}dw\+\_\+compilation\+\_\+directory, \doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}dw\+\_\+error)
\begin{DoxyCompactList}\small\item\em Compilation Directory name for the CU. \end{DoxyCompactList}\item 
DW\+\_\+\+API int \doxymbox{\hyperlink{group__linetable_ga4055c5135986582b00bf1e11b2c0da55}{dwarf\+\_\+srclines\+\_\+subprog\+\_\+count}} (\doxymbox{\hyperlink{group__allstructs_ga6d34d50e7383d139ecd28222ca46bfd9}{Dwarf\+\_\+\+Line\+\_\+\+Context}} dw\+\_\+context, \doxymbox{\hyperlink{group__basicdatatypes_gac91d9490d58c8d86a4d5b63ca93ba6dd}{Dwarf\+\_\+\+Signed}} \texorpdfstring{$\ast$}{*}dw\+\_\+count, \doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}dw\+\_\+error)
\begin{DoxyCompactList}\small\item\em Subprog count:\+ Part of the two-\/level line table extension. \end{DoxyCompactList}\item 
DW\+\_\+\+API int \doxymbox{\hyperlink{group__linetable_gac621dae3de131684bb343b14d5cece57}{dwarf\+\_\+srclines\+\_\+subprog\+\_\+data}} (\doxymbox{\hyperlink{group__allstructs_ga6d34d50e7383d139ecd28222ca46bfd9}{Dwarf\+\_\+\+Line\+\_\+\+Context}} dw\+\_\+context, \doxymbox{\hyperlink{group__basicdatatypes_gac91d9490d58c8d86a4d5b63ca93ba6dd}{Dwarf\+\_\+\+Signed}} dw\+\_\+index, const char \texorpdfstring{$\ast$}{*}\texorpdfstring{$\ast$}{*}dw\+\_\+name, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}dw\+\_\+decl\+\_\+file, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}dw\+\_\+decl\+\_\+line, \doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}dw\+\_\+error)
\begin{DoxyCompactList}\small\item\em Retrieve data from the line table subprog array. \end{DoxyCompactList}\item 
DW\+\_\+\+API int \doxymbox{\hyperlink{group__linetable_gad192d7ea31381d1954db4cad7b39a0fe}{dwarf\+\_\+srclines\+\_\+files\+\_\+indexes}} (\doxymbox{\hyperlink{group__allstructs_ga6d34d50e7383d139ecd28222ca46bfd9}{Dwarf\+\_\+\+Line\+\_\+\+Context}} dw\+\_\+context, \doxymbox{\hyperlink{group__basicdatatypes_gac91d9490d58c8d86a4d5b63ca93ba6dd}{Dwarf\+\_\+\+Signed}} \texorpdfstring{$\ast$}{*}dw\+\_\+baseindex, \doxymbox{\hyperlink{group__basicdatatypes_gac91d9490d58c8d86a4d5b63ca93ba6dd}{Dwarf\+\_\+\+Signed}} \texorpdfstring{$\ast$}{*}dw\+\_\+count, \doxymbox{\hyperlink{group__basicdatatypes_gac91d9490d58c8d86a4d5b63ca93ba6dd}{Dwarf\+\_\+\+Signed}} \texorpdfstring{$\ast$}{*}dw\+\_\+endindex, \doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}dw\+\_\+error)
\begin{DoxyCompactList}\small\item\em Return values easing indexing line table file numbers. Count is the real count of files array entries. Since DWARF 2,3,4 are zero origin indexes and DWARF5 and later are one origin, this function replaces dwarf\+\_\+srclines\+\_\+files\+\_\+count(). \end{DoxyCompactList}\item 
DW\+\_\+\+API int \doxymbox{\hyperlink{group__linetable_gadcd66ef43e1b3d6dd8f4104b056b56ec}{dwarf\+\_\+srclines\+\_\+files\+\_\+data\+\_\+b}} (\doxymbox{\hyperlink{group__allstructs_ga6d34d50e7383d139ecd28222ca46bfd9}{Dwarf\+\_\+\+Line\+\_\+\+Context}} dw\+\_\+context, \doxymbox{\hyperlink{group__basicdatatypes_gac91d9490d58c8d86a4d5b63ca93ba6dd}{Dwarf\+\_\+\+Signed}} dw\+\_\+index\+\_\+in, const char \texorpdfstring{$\ast$}{*}\texorpdfstring{$\ast$}{*}dw\+\_\+name, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}dw\+\_\+directory\+\_\+index, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}dw\+\_\+last\+\_\+mod\+\_\+time, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}dw\+\_\+file\+\_\+length, \doxymbox{\hyperlink{group__allstructs_ga60acd6fa13481d6f64fdd145660ccb03}{Dwarf\+\_\+\+Form\+\_\+\+Data16}} \texorpdfstring{$\ast$}{*}\texorpdfstring{$\ast$}{*}dw\+\_\+md5ptr, \doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}dw\+\_\+error)
\begin{DoxyCompactList}\small\item\em Access data for each line table file. \end{DoxyCompactList}\item 
DW\+\_\+\+API int \doxymbox{\hyperlink{group__linetable_ga5fb90b1b34f0bb99ddcbb50b2e1c7b95}{dwarf\+\_\+srclines\+\_\+include\+\_\+dir\+\_\+count}} (\doxymbox{\hyperlink{group__allstructs_ga6d34d50e7383d139ecd28222ca46bfd9}{Dwarf\+\_\+\+Line\+\_\+\+Context}} dw\+\_\+line\+\_\+context, \doxymbox{\hyperlink{group__basicdatatypes_gac91d9490d58c8d86a4d5b63ca93ba6dd}{Dwarf\+\_\+\+Signed}} \texorpdfstring{$\ast$}{*}dw\+\_\+count, \doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}dw\+\_\+error)
\begin{DoxyCompactList}\small\item\em Return the number of include directories in the Line Table. \end{DoxyCompactList}\item 
DW\+\_\+\+API int \doxymbox{\hyperlink{group__linetable_gae84423aaf40ba1a7538e18cab994c326}{dwarf\+\_\+srclines\+\_\+include\+\_\+dir\+\_\+data}} (\doxymbox{\hyperlink{group__allstructs_ga6d34d50e7383d139ecd28222ca46bfd9}{Dwarf\+\_\+\+Line\+\_\+\+Context}} dw\+\_\+line\+\_\+context, \doxymbox{\hyperlink{group__basicdatatypes_gac91d9490d58c8d86a4d5b63ca93ba6dd}{Dwarf\+\_\+\+Signed}} dw\+\_\+index, const char \texorpdfstring{$\ast$}{*}\texorpdfstring{$\ast$}{*}dw\+\_\+name, \doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}dw\+\_\+error)
\begin{DoxyCompactList}\small\item\em Return the include directories in the Line Table. \end{DoxyCompactList}\item 
DW\+\_\+\+API int \doxymbox{\hyperlink{group__linetable_ga78f5e36c68e379a418ecb005831d15c3}{dwarf\+\_\+srclines\+\_\+version}} (\doxymbox{\hyperlink{group__allstructs_ga6d34d50e7383d139ecd28222ca46bfd9}{Dwarf\+\_\+\+Line\+\_\+\+Context}} dw\+\_\+line\+\_\+context, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}dw\+\_\+version, \doxymbox{\hyperlink{group__basicdatatypes_ga52e439e652a1a30277679f64f83cc0fe}{Dwarf\+\_\+\+Small}} \texorpdfstring{$\ast$}{*}dw\+\_\+table\+\_\+count, \doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}dw\+\_\+error)
\begin{DoxyCompactList}\small\item\em The DWARF version number of this compile-\/unit. \end{DoxyCompactList}\item 
DW\+\_\+\+API int \doxymbox{\hyperlink{group__linetable_ga552cb45fed80ec80da73016dad35bba2}{dwarf\+\_\+linebeginstatement}} (\doxymbox{\hyperlink{group__allstructs_gae4486812c6f1ec8cc2ec475149c256c0}{Dwarf\+\_\+\+Line}} dw\+\_\+line, \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 Read Line beginstatement register. \end{DoxyCompactList}\item 
DW\+\_\+\+API int \doxymbox{\hyperlink{group__linetable_gaac2c511ff2af1a995b56de969afbd7c4}{dwarf\+\_\+lineendsequence}} (\doxymbox{\hyperlink{group__allstructs_gae4486812c6f1ec8cc2ec475149c256c0}{Dwarf\+\_\+\+Line}} dw\+\_\+line, \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 Read Line endsequence register flag. \end{DoxyCompactList}\item 
DW\+\_\+\+API int \doxymbox{\hyperlink{group__linetable_gace9a505f27096a11266c7cdedf41d5ec}{dwarf\+\_\+lineno}} (\doxymbox{\hyperlink{group__allstructs_gae4486812c6f1ec8cc2ec475149c256c0}{Dwarf\+\_\+\+Line}} dw\+\_\+line, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}dw\+\_\+returned\+\_\+linenum, \doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}dw\+\_\+error)
\begin{DoxyCompactList}\small\item\em Read Line line register. \end{DoxyCompactList}\item 
DW\+\_\+\+API int \doxymbox{\hyperlink{group__linetable_ga163a1cce1cd0b30ee8d7b7b20bc5b58a}{dwarf\+\_\+line\+\_\+srcfileno}} (\doxymbox{\hyperlink{group__allstructs_gae4486812c6f1ec8cc2ec475149c256c0}{Dwarf\+\_\+\+Line}} dw\+\_\+line, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}dw\+\_\+returned\+\_\+filenum, \doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}dw\+\_\+error)
\begin{DoxyCompactList}\small\item\em Read Line file register. \end{DoxyCompactList}\item 
DW\+\_\+\+API int \doxymbox{\hyperlink{group__linetable_ga1d0bdd5703f7ae5744ecd3347e3bceac}{dwarf\+\_\+line\+\_\+is\+\_\+addr\+\_\+set}} (\doxymbox{\hyperlink{group__allstructs_gae4486812c6f1ec8cc2ec475149c256c0}{Dwarf\+\_\+\+Line}} dw\+\_\+line, \doxymbox{\hyperlink{group__basicdatatypes_ga32afecc94a71aae2be36aa279f1dded8}{Dwarf\+\_\+\+Bool}} \texorpdfstring{$\ast$}{*}dw\+\_\+is\+\_\+addr\+\_\+set, \doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}dw\+\_\+error)
\begin{DoxyCompactList}\small\item\em Is the \doxylink{group__allstructs_gae4486812c6f1ec8cc2ec475149c256c0}{Dwarf\+\_\+\+Line} address from DW\+\_\+\+LNS\+\_\+set\+\_\+address? This is not a line register, but it is a flag set by the library in each \doxylink{group__allstructs_gae4486812c6f1ec8cc2ec475149c256c0}{Dwarf\+\_\+\+Line}, and it is derived from reading the line table. \end{DoxyCompactList}\item 
DW\+\_\+\+API int \doxymbox{\hyperlink{group__linetable_ga58d731070d473681f23d2097bdffd911}{dwarf\+\_\+lineaddr}} (\doxymbox{\hyperlink{group__allstructs_gae4486812c6f1ec8cc2ec475149c256c0}{Dwarf\+\_\+\+Line}} dw\+\_\+line, \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 of the \doxylink{group__allstructs_gae4486812c6f1ec8cc2ec475149c256c0}{Dwarf\+\_\+\+Line}. \end{DoxyCompactList}\item 
DW\+\_\+\+API int \doxymbox{\hyperlink{group__linetable_gac7d16d2f19527f747073e10681eeb452}{dwarf\+\_\+lineoff\+\_\+b}} (\doxymbox{\hyperlink{group__allstructs_gae4486812c6f1ec8cc2ec475149c256c0}{Dwarf\+\_\+\+Line}} dw\+\_\+line, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}dw\+\_\+returned\+\_\+lineoffset, \doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}dw\+\_\+error)
\begin{DoxyCompactList}\small\item\em Return a column number through the pointer. \end{DoxyCompactList}\item 
DW\+\_\+\+API int \doxymbox{\hyperlink{group__linetable_ga5769d3ef2d18c562d31c200b30f06e63}{dwarf\+\_\+linesrc}} (\doxymbox{\hyperlink{group__allstructs_gae4486812c6f1ec8cc2ec475149c256c0}{Dwarf\+\_\+\+Line}} dw\+\_\+line, char \texorpdfstring{$\ast$}{*}\texorpdfstring{$\ast$}{*}dw\+\_\+returned\+\_\+name, \doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}dw\+\_\+error)
\begin{DoxyCompactList}\small\item\em Return the file name applicable to the \doxylink{group__allstructs_gae4486812c6f1ec8cc2ec475149c256c0}{Dwarf\+\_\+\+Line}. \end{DoxyCompactList}\item 
DW\+\_\+\+API int \doxymbox{\hyperlink{group__linetable_ga3b15f2611173383c33f1e67ab172a3b4}{dwarf\+\_\+lineblock}} (\doxymbox{\hyperlink{group__allstructs_gae4486812c6f1ec8cc2ec475149c256c0}{Dwarf\+\_\+\+Line}} dw\+\_\+line, \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 basic\+\_\+block line register. \end{DoxyCompactList}\item 
DW\+\_\+\+API int \doxymbox{\hyperlink{group__linetable_ga9743700996c4254b09f6bbc078a28b9a}{dwarf\+\_\+prologue\+\_\+end\+\_\+etc}} (\doxymbox{\hyperlink{group__allstructs_gae4486812c6f1ec8cc2ec475149c256c0}{Dwarf\+\_\+\+Line}} dw\+\_\+line, \doxymbox{\hyperlink{group__basicdatatypes_ga32afecc94a71aae2be36aa279f1dded8}{Dwarf\+\_\+\+Bool}} \texorpdfstring{$\ast$}{*}dw\+\_\+prologue\+\_\+end, \doxymbox{\hyperlink{group__basicdatatypes_ga32afecc94a71aae2be36aa279f1dded8}{Dwarf\+\_\+\+Bool}} \texorpdfstring{$\ast$}{*}dw\+\_\+epilogue\+\_\+begin, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}dw\+\_\+isa, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}dw\+\_\+discriminator, \doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}dw\+\_\+error)
\begin{DoxyCompactList}\small\item\em Return various line table registers in one call. \end{DoxyCompactList}\item 
\Hypertarget{group__linetable_ga5f54c069c9bed27b6a5ed4a333234e18}\label{group__linetable_ga5f54c069c9bed27b6a5ed4a333234e18} 
DW\+\_\+\+API int {\bfseries dwarf\+\_\+linelogical} (\doxymbox{\hyperlink{group__allstructs_gae4486812c6f1ec8cc2ec475149c256c0}{Dwarf\+\_\+\+Line}} dw\+\_\+line, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}dw\+\_\+returned\+\_\+logical, \doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}dw\+\_\+error)
\begin{DoxyCompactList}\small\item\em Experimental Two-\/level logical Row Number Experimental two level line tables. Not explained here. When reading from an actuals table, dwarf\+\_\+line\+\_\+logical() returns the logical row number for the line. \end{DoxyCompactList}\item 
\Hypertarget{group__linetable_ga7aeab2067711477c9796a589403de8ad}\label{group__linetable_ga7aeab2067711477c9796a589403de8ad} 
DW\+\_\+\+API int {\bfseries dwarf\+\_\+linecontext} (\doxymbox{\hyperlink{group__allstructs_gae4486812c6f1ec8cc2ec475149c256c0}{Dwarf\+\_\+\+Line}} dw\+\_\+line, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}dw\+\_\+returned\+\_\+context, \doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}dw\+\_\+error)
\begin{DoxyCompactList}\small\item\em Experimental Two-\/level line tables call contexts Experimental two level line tables. Not explained here. When reading from a logicals table, \doxylink{group__linetable_ga7aeab2067711477c9796a589403de8ad}{dwarf\+\_\+linecontext()} returns the logical row number corresponding the the calling context for an inlined call. \end{DoxyCompactList}\item 
\Hypertarget{group__linetable_ga0d41c02e7bdf50bfa99d7f56501b8a2b}\label{group__linetable_ga0d41c02e7bdf50bfa99d7f56501b8a2b} 
DW\+\_\+\+API int {\bfseries dwarf\+\_\+line\+\_\+subprogno} (\doxymbox{\hyperlink{group__allstructs_gae4486812c6f1ec8cc2ec475149c256c0}{Dwarf\+\_\+\+Line}}, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}, \doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*})
\begin{DoxyCompactList}\small\item\em Two-\/level line tables get subprogram number Experimental two level line tables. Not explained here. When reading from a logicals table, \doxylink{group__linetable_ga0d41c02e7bdf50bfa99d7f56501b8a2b}{dwarf\+\_\+line\+\_\+subprogno()} returns the index in the subprograms table of the inlined subprogram. Currently this always returns zero through the pointer as the relevant field is never updated from the default of zero. \end{DoxyCompactList}\item 
\Hypertarget{group__linetable_ga0494c118869d851a54ed6ba2cff14c02}\label{group__linetable_ga0494c118869d851a54ed6ba2cff14c02} 
DW\+\_\+\+API int {\bfseries dwarf\+\_\+line\+\_\+subprog} (\doxymbox{\hyperlink{group__allstructs_gae4486812c6f1ec8cc2ec475149c256c0}{Dwarf\+\_\+\+Line}}, char \texorpdfstring{$\ast$}{*}\texorpdfstring{$\ast$}{*}, char \texorpdfstring{$\ast$}{*}\texorpdfstring{$\ast$}{*}, \doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}, \doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*})
\begin{DoxyCompactList}\small\item\em Two-\/level line tables get subprog, file, line Experimental two level line tables. Not explained here. When reading from a logicals table, \doxylink{group__linetable_ga0494c118869d851a54ed6ba2cff14c02}{dwarf\+\_\+line\+\_\+subprog()} returns the name of the inlined subprogram, its declaration filename, and its declaration line number, if available. \end{DoxyCompactList}\item 
DW\+\_\+\+API int \doxymbox{\hyperlink{group__linetable_ga364c3084264ba26a719a797ae7c3cbd6}{dwarf\+\_\+check\+\_\+lineheader\+\_\+b}} (\doxymbox{\hyperlink{group__allstructs_ga3a3759c3047d78dba9f590d5e5893be5}{Dwarf\+\_\+\+Die}} dw\+\_\+cu\+\_\+die, int \texorpdfstring{$\ast$}{*}dw\+\_\+errcount\+\_\+out, \doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}dw\+\_\+error)
\begin{DoxyCompactList}\small\item\em Access to detailed line table header issues. \end{DoxyCompactList}\item 
DW\+\_\+\+API int \doxymbox{\hyperlink{group__linetable_gab202c66779f1394dcef8cfbd8bbd3de1}{dwarf\+\_\+print\+\_\+lines}} (\doxymbox{\hyperlink{group__allstructs_ga3a3759c3047d78dba9f590d5e5893be5}{Dwarf\+\_\+\+Die}} dw\+\_\+cu\+\_\+die, \doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}dw\+\_\+error, int \texorpdfstring{$\ast$}{*}dw\+\_\+errorcount\+\_\+out)
\begin{DoxyCompactList}\small\item\em Print line information in great detail. \end{DoxyCompactList}\item 
DW\+\_\+\+API struct \doxymbox{\hyperlink{struct_dwarf___printf___callback___info__s}{Dwarf\+\_\+\+Printf\+\_\+\+Callback\+\_\+\+Info\+\_\+s}} \doxymbox{\hyperlink{group__linetable_gafe667c13df2d38f4aaffef4fad273744}{dwarf\+\_\+register\+\_\+printf\+\_\+callback}} (\doxymbox{\hyperlink{group__allstructs_gac2ba1e1c1b70a3191506b414195ca807}{Dwarf\+\_\+\+Debug}} dw\+\_\+dbg, struct \doxymbox{\hyperlink{struct_dwarf___printf___callback___info__s}{Dwarf\+\_\+\+Printf\+\_\+\+Callback\+\_\+\+Info\+\_\+s}} \texorpdfstring{$\ast$}{*}dw\+\_\+callbackinfo)
\begin{DoxyCompactList}\small\item\em For line details this records callback details. \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
Access to all the line table details. 

\label{doc-func-members}
\Hypertarget{group__linetable_doc-func-members}
\doxysubsection{Function Documentation}
\Hypertarget{group__linetable_ga364c3084264ba26a719a797ae7c3cbd6}\index{Line Table For a CU@{Line Table For a CU}!dwarf\_check\_lineheader\_b@{dwarf\_check\_lineheader\_b}}
\index{dwarf\_check\_lineheader\_b@{dwarf\_check\_lineheader\_b}!Line Table For a CU@{Line Table For a CU}}
\doxysubsubsection{\texorpdfstring{dwarf\_check\_lineheader\_b()}{dwarf\_check\_lineheader\_b()}}
{\footnotesize\ttfamily \label{group__linetable_ga364c3084264ba26a719a797ae7c3cbd6} 
DW\+\_\+\+API int dwarf\+\_\+check\+\_\+lineheader\+\_\+b (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_ga3a3759c3047d78dba9f590d5e5893be5}{Dwarf\+\_\+\+Die}}}]{dw\+\_\+cu\+\_\+die}{, }\item[{int \texorpdfstring{$\ast$}{*}}]{dw\+\_\+errcount\+\_\+out}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+error}{}\end{DoxyParamCaption})}



Access to detailed line table header issues. 

Lets the caller get detailed messages about some compiler errors we detect. Calls back, the caller should do something with the messages (likely just print them). The lines passed back already have newlines.

\begin{DoxySeeAlso}{See also}
dwarf\+\_\+check\+\_\+lineheader(b) 

\doxylink{struct_dwarf___printf___callback___info__s}{Dwarf\+\_\+\+Printf\+\_\+\+Callback\+\_\+\+Info\+\_\+s}
\end{DoxySeeAlso}

\begin{DoxyParams}{Parameters}
{\em dw\+\_\+cu\+\_\+die} & The CU DIE of interest \\
\hline
{\em dw\+\_\+error} & If DW\+\_\+\+DLV\+\_\+\+ERROR this shows one error encountered. \\
\hline
{\em dw\+\_\+errcount\+\_\+out} & Returns the count of detected errors through the pointer. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
DW\+\_\+\+DLV\+\_\+\+OK etc. 
\end{DoxyReturn}
\Hypertarget{group__linetable_ga1d0bdd5703f7ae5744ecd3347e3bceac}\index{Line Table For a CU@{Line Table For a CU}!dwarf\_line\_is\_addr\_set@{dwarf\_line\_is\_addr\_set}}
\index{dwarf\_line\_is\_addr\_set@{dwarf\_line\_is\_addr\_set}!Line Table For a CU@{Line Table For a CU}}
\doxysubsubsection{\texorpdfstring{dwarf\_line\_is\_addr\_set()}{dwarf\_line\_is\_addr\_set()}}
{\footnotesize\ttfamily \label{group__linetable_ga1d0bdd5703f7ae5744ecd3347e3bceac} 
DW\+\_\+\+API int dwarf\+\_\+line\+\_\+is\+\_\+addr\+\_\+set (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_gae4486812c6f1ec8cc2ec475149c256c0}{Dwarf\+\_\+\+Line}}}]{dw\+\_\+line}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga32afecc94a71aae2be36aa279f1dded8}{Dwarf\+\_\+\+Bool}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+is\+\_\+addr\+\_\+set}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+error}{}\end{DoxyParamCaption})}



Is the \doxylink{group__allstructs_gae4486812c6f1ec8cc2ec475149c256c0}{Dwarf\+\_\+\+Line} address from DW\+\_\+\+LNS\+\_\+set\+\_\+address? This is not a line register, but it is a flag set by the library in each \doxylink{group__allstructs_gae4486812c6f1ec8cc2ec475149c256c0}{Dwarf\+\_\+\+Line}, and it is derived from reading the line table. 


\begin{DoxyParams}{Parameters}
{\em dw\+\_\+line} & The \doxylink{group__allstructs_gae4486812c6f1ec8cc2ec475149c256c0}{Dwarf\+\_\+\+Line} of interest. \\
\hline
{\em dw\+\_\+is\+\_\+addr\+\_\+set} & On success it sets the flag to TRUE or FALSE. \\
\hline
{\em dw\+\_\+error} & The usual error pointer. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
DW\+\_\+\+DLV\+\_\+\+OK if it succeeds. 
\end{DoxyReturn}
\Hypertarget{group__linetable_ga163a1cce1cd0b30ee8d7b7b20bc5b58a}\index{Line Table For a CU@{Line Table For a CU}!dwarf\_line\_srcfileno@{dwarf\_line\_srcfileno}}
\index{dwarf\_line\_srcfileno@{dwarf\_line\_srcfileno}!Line Table For a CU@{Line Table For a CU}}
\doxysubsubsection{\texorpdfstring{dwarf\_line\_srcfileno()}{dwarf\_line\_srcfileno()}}
{\footnotesize\ttfamily \label{group__linetable_ga163a1cce1cd0b30ee8d7b7b20bc5b58a} 
DW\+\_\+\+API int dwarf\+\_\+line\+\_\+srcfileno (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_gae4486812c6f1ec8cc2ec475149c256c0}{Dwarf\+\_\+\+Line}}}]{dw\+\_\+line}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+returned\+\_\+filenum}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+error}{}\end{DoxyParamCaption})}



Read Line file register. 

\doxylink{index_dwsec_linetabreg}{Line Table Registers }


\begin{DoxyParams}{Parameters}
{\em dw\+\_\+line} & The \doxylink{group__allstructs_gae4486812c6f1ec8cc2ec475149c256c0}{Dwarf\+\_\+\+Line} of interest. \\
\hline
{\em dw\+\_\+returned\+\_\+filenum} & On success it sets the value to the file number from the \doxylink{group__allstructs_gae4486812c6f1ec8cc2ec475149c256c0}{Dwarf\+\_\+\+Line} file register \\
\hline
{\em dw\+\_\+error} & The usual error pointer. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
DW\+\_\+\+DLV\+\_\+\+OK if it succeeds. 
\end{DoxyReturn}
\Hypertarget{group__linetable_ga58d731070d473681f23d2097bdffd911}\index{Line Table For a CU@{Line Table For a CU}!dwarf\_lineaddr@{dwarf\_lineaddr}}
\index{dwarf\_lineaddr@{dwarf\_lineaddr}!Line Table For a CU@{Line Table For a CU}}
\doxysubsubsection{\texorpdfstring{dwarf\_lineaddr()}{dwarf\_lineaddr()}}
{\footnotesize\ttfamily \label{group__linetable_ga58d731070d473681f23d2097bdffd911} 
DW\+\_\+\+API int dwarf\+\_\+lineaddr (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_gae4486812c6f1ec8cc2ec475149c256c0}{Dwarf\+\_\+\+Line}}}]{dw\+\_\+line}{, }\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 of the \doxylink{group__allstructs_gae4486812c6f1ec8cc2ec475149c256c0}{Dwarf\+\_\+\+Line}. 

\doxylink{index_dwsec_linetabreg}{Line Table Registers }


\begin{DoxyParams}{Parameters}
{\em dw\+\_\+line} & The \doxylink{group__allstructs_gae4486812c6f1ec8cc2ec475149c256c0}{Dwarf\+\_\+\+Line} of interest. \\
\hline
{\em dw\+\_\+returned\+\_\+addr} & On success it sets the value to the value of the address register in the \doxylink{group__allstructs_gae4486812c6f1ec8cc2ec475149c256c0}{Dwarf\+\_\+\+Line}. \\
\hline
{\em dw\+\_\+error} & The usual error pointer. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
DW\+\_\+\+DLV\+\_\+\+OK if it succeeds. 
\end{DoxyReturn}
\Hypertarget{group__linetable_ga552cb45fed80ec80da73016dad35bba2}\index{Line Table For a CU@{Line Table For a CU}!dwarf\_linebeginstatement@{dwarf\_linebeginstatement}}
\index{dwarf\_linebeginstatement@{dwarf\_linebeginstatement}!Line Table For a CU@{Line Table For a CU}}
\doxysubsubsection{\texorpdfstring{dwarf\_linebeginstatement()}{dwarf\_linebeginstatement()}}
{\footnotesize\ttfamily \label{group__linetable_ga552cb45fed80ec80da73016dad35bba2} 
DW\+\_\+\+API int dwarf\+\_\+linebeginstatement (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_gae4486812c6f1ec8cc2ec475149c256c0}{Dwarf\+\_\+\+Line}}}]{dw\+\_\+line}{, }\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})}



Read Line beginstatement register. 

\doxylink{index_dwsec_linetabreg}{Line Table Registers }


\begin{DoxyParams}{Parameters}
{\em dw\+\_\+line} & The \doxylink{group__allstructs_gae4486812c6f1ec8cc2ec475149c256c0}{Dwarf\+\_\+\+Line} of interest. \\
\hline
{\em dw\+\_\+returned\+\_\+bool} & On success it sets the value TRUE (if the dw\+\_\+line has the is\+\_\+stmt register set) and FALSE if is\+\_\+stmt is not set. \\
\hline
{\em dw\+\_\+error} & The usual error pointer. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
DW\+\_\+\+DLV\+\_\+\+OK if it succeeds. 
\end{DoxyReturn}
\Hypertarget{group__linetable_ga3b15f2611173383c33f1e67ab172a3b4}\index{Line Table For a CU@{Line Table For a CU}!dwarf\_lineblock@{dwarf\_lineblock}}
\index{dwarf\_lineblock@{dwarf\_lineblock}!Line Table For a CU@{Line Table For a CU}}
\doxysubsubsection{\texorpdfstring{dwarf\_lineblock()}{dwarf\_lineblock()}}
{\footnotesize\ttfamily \label{group__linetable_ga3b15f2611173383c33f1e67ab172a3b4} 
DW\+\_\+\+API int dwarf\+\_\+lineblock (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_gae4486812c6f1ec8cc2ec475149c256c0}{Dwarf\+\_\+\+Line}}}]{dw\+\_\+line}{, }\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 basic\+\_\+block line register. 

\doxylink{index_dwsec_linetabreg}{Line Table Registers }


\begin{DoxyParams}{Parameters}
{\em dw\+\_\+line} & The \doxylink{group__allstructs_gae4486812c6f1ec8cc2ec475149c256c0}{Dwarf\+\_\+\+Line} of interest. \\
\hline
{\em dw\+\_\+returned\+\_\+bool} & On success it sets the flag to TRUE or FALSE from the basic\+\_\+block register in the line table. \\
\hline
{\em dw\+\_\+error} & The usual error pointer. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
DW\+\_\+\+DLV\+\_\+\+OK if it succeeds. 
\end{DoxyReturn}
\Hypertarget{group__linetable_gaac2c511ff2af1a995b56de969afbd7c4}\index{Line Table For a CU@{Line Table For a CU}!dwarf\_lineendsequence@{dwarf\_lineendsequence}}
\index{dwarf\_lineendsequence@{dwarf\_lineendsequence}!Line Table For a CU@{Line Table For a CU}}
\doxysubsubsection{\texorpdfstring{dwarf\_lineendsequence()}{dwarf\_lineendsequence()}}
{\footnotesize\ttfamily \label{group__linetable_gaac2c511ff2af1a995b56de969afbd7c4} 
DW\+\_\+\+API int dwarf\+\_\+lineendsequence (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_gae4486812c6f1ec8cc2ec475149c256c0}{Dwarf\+\_\+\+Line}}}]{dw\+\_\+line}{, }\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})}



Read Line endsequence register flag. 

\doxylink{index_dwsec_linetabreg}{Line Table Registers }


\begin{DoxyParams}{Parameters}
{\em dw\+\_\+line} & The \doxylink{group__allstructs_gae4486812c6f1ec8cc2ec475149c256c0}{Dwarf\+\_\+\+Line} of interest. \\
\hline
{\em dw\+\_\+returned\+\_\+bool} & On success it sets the value TRUE (if the dw\+\_\+line has the end\+\_\+sequence register set) and FALSE if end\+\_\+sequence is not set. \\
\hline
{\em dw\+\_\+error} & The usual error pointer. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
DW\+\_\+\+DLV\+\_\+\+OK if it succeeds. 
\end{DoxyReturn}
\Hypertarget{group__linetable_gace9a505f27096a11266c7cdedf41d5ec}\index{Line Table For a CU@{Line Table For a CU}!dwarf\_lineno@{dwarf\_lineno}}
\index{dwarf\_lineno@{dwarf\_lineno}!Line Table For a CU@{Line Table For a CU}}
\doxysubsubsection{\texorpdfstring{dwarf\_lineno()}{dwarf\_lineno()}}
{\footnotesize\ttfamily \label{group__linetable_gace9a505f27096a11266c7cdedf41d5ec} 
DW\+\_\+\+API int dwarf\+\_\+lineno (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_gae4486812c6f1ec8cc2ec475149c256c0}{Dwarf\+\_\+\+Line}}}]{dw\+\_\+line}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+returned\+\_\+linenum}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+error}{}\end{DoxyParamCaption})}



Read Line line register. 

\doxylink{index_dwsec_linetabreg}{Line Table Registers }


\begin{DoxyParams}{Parameters}
{\em dw\+\_\+line} & The \doxylink{group__allstructs_gae4486812c6f1ec8cc2ec475149c256c0}{Dwarf\+\_\+\+Line} of interest. \\
\hline
{\em dw\+\_\+returned\+\_\+linenum} & On success it sets the value to the line number from the \doxylink{group__allstructs_gae4486812c6f1ec8cc2ec475149c256c0}{Dwarf\+\_\+\+Line} line register \\
\hline
{\em dw\+\_\+error} & The usual error pointer. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
DW\+\_\+\+DLV\+\_\+\+OK if it succeeds. 
\end{DoxyReturn}
\Hypertarget{group__linetable_gac7d16d2f19527f747073e10681eeb452}\index{Line Table For a CU@{Line Table For a CU}!dwarf\_lineoff\_b@{dwarf\_lineoff\_b}}
\index{dwarf\_lineoff\_b@{dwarf\_lineoff\_b}!Line Table For a CU@{Line Table For a CU}}
\doxysubsubsection{\texorpdfstring{dwarf\_lineoff\_b()}{dwarf\_lineoff\_b()}}
{\footnotesize\ttfamily \label{group__linetable_gac7d16d2f19527f747073e10681eeb452} 
DW\+\_\+\+API int dwarf\+\_\+lineoff\+\_\+b (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_gae4486812c6f1ec8cc2ec475149c256c0}{Dwarf\+\_\+\+Line}}}]{dw\+\_\+line}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+returned\+\_\+lineoffset}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+error}{}\end{DoxyParamCaption})}



Return a column number through the pointer. 

\doxylink{index_dwsec_linetabreg}{Line Table Registers }


\begin{DoxyParams}{Parameters}
{\em dw\+\_\+line} & The \doxylink{group__allstructs_gae4486812c6f1ec8cc2ec475149c256c0}{Dwarf\+\_\+\+Line} of interest. \\
\hline
{\em dw\+\_\+returned\+\_\+lineoffset} & On success it sets the value to the column register from the \doxylink{group__allstructs_gae4486812c6f1ec8cc2ec475149c256c0}{Dwarf\+\_\+\+Line}. \\
\hline
{\em dw\+\_\+error} & The usual error pointer. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
DW\+\_\+\+DLV\+\_\+\+OK if it succeeds. 
\end{DoxyReturn}
\Hypertarget{group__linetable_ga5769d3ef2d18c562d31c200b30f06e63}\index{Line Table For a CU@{Line Table For a CU}!dwarf\_linesrc@{dwarf\_linesrc}}
\index{dwarf\_linesrc@{dwarf\_linesrc}!Line Table For a CU@{Line Table For a CU}}
\doxysubsubsection{\texorpdfstring{dwarf\_linesrc()}{dwarf\_linesrc()}}
{\footnotesize\ttfamily \label{group__linetable_ga5769d3ef2d18c562d31c200b30f06e63} 
DW\+\_\+\+API int dwarf\+\_\+linesrc (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_gae4486812c6f1ec8cc2ec475149c256c0}{Dwarf\+\_\+\+Line}}}]{dw\+\_\+line}{, }\item[{char \texorpdfstring{$\ast$}{*}\texorpdfstring{$\ast$}{*}}]{dw\+\_\+returned\+\_\+name}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+error}{}\end{DoxyParamCaption})}



Return the file name applicable to the \doxylink{group__allstructs_gae4486812c6f1ec8cc2ec475149c256c0}{Dwarf\+\_\+\+Line}. 

\doxylink{index_dwsec_linetabreg}{Line Table Registers }


\begin{DoxyParams}{Parameters}
{\em dw\+\_\+line} & The \doxylink{group__allstructs_gae4486812c6f1ec8cc2ec475149c256c0}{Dwarf\+\_\+\+Line} of interest. \\
\hline
{\em dw\+\_\+returned\+\_\+name} & On success it reads the file register and finds constructs a file name from a directory and filename there and and returns a pointer to that string through the pointer. It is necessary to deallocthe returned string with {\ttfamily dwarf\+\_\+dealloc(dbg, lsrc\+\_\+filename, DW\+\_\+\+DLA\+\_\+\+STRING);} ( Older versions of this function incorrectly said not to free() or \doxylink{group__dwarfdealloc_gae16282e9709d62dd0cb6b61b11ce36eb}{dwarf\+\_\+dealloc()}. ) \\
\hline
{\em dw\+\_\+error} & The usual error pointer. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
DW\+\_\+\+DLV\+\_\+\+OK if it succeeds.
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\doxylink{group__exampled}{Using dwarf\+\_\+srclines\+\_\+b() and linecontext} 
\end{DoxySeeAlso}
\Hypertarget{group__linetable_gab202c66779f1394dcef8cfbd8bbd3de1}\index{Line Table For a CU@{Line Table For a CU}!dwarf\_print\_lines@{dwarf\_print\_lines}}
\index{dwarf\_print\_lines@{dwarf\_print\_lines}!Line Table For a CU@{Line Table For a CU}}
\doxysubsubsection{\texorpdfstring{dwarf\_print\_lines()}{dwarf\_print\_lines()}}
{\footnotesize\ttfamily \label{group__linetable_gab202c66779f1394dcef8cfbd8bbd3de1} 
DW\+\_\+\+API int dwarf\+\_\+print\+\_\+lines (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_ga3a3759c3047d78dba9f590d5e5893be5}{Dwarf\+\_\+\+Die}}}]{dw\+\_\+cu\+\_\+die}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+error}{, }\item[{int \texorpdfstring{$\ast$}{*}}]{dw\+\_\+errorcount\+\_\+out}{}\end{DoxyParamCaption})}



Print line information in great detail. 

dwarf\+\_\+print\+\_\+lines lets the caller prints line information for a CU in great detail. Does not use printf. Instead it calls back to the application using a function pointer once per line-\/to-\/print. The lines passed back already have any needed newlines.

dwarfdump uses this function for verbose printing of line table data.

Failing to call the \doxylink{group__linetable_gafe667c13df2d38f4aaffef4fad273744}{dwarf\+\_\+register\+\_\+printf\+\_\+callback()} function will prevent the lines from being passed back but such omission is not an error. The same function, but focused on checking for errors is \doxylink{group__linetable_ga364c3084264ba26a719a797ae7c3cbd6}{dwarf\+\_\+check\+\_\+lineheader\+\_\+b()}.

\begin{DoxySeeAlso}{See also}
\doxylink{struct_dwarf___printf___callback___info__s}{Dwarf\+\_\+\+Printf\+\_\+\+Callback\+\_\+\+Info\+\_\+s}
\end{DoxySeeAlso}

\begin{DoxyParams}{Parameters}
{\em dw\+\_\+cu\+\_\+die} & The CU DIE of interest \\
\hline
{\em dw\+\_\+error} & \\
\hline
{\em dw\+\_\+errorcount\+\_\+out} & \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
DW\+\_\+\+DLV\+\_\+\+OK etc. 
\end{DoxyReturn}
\Hypertarget{group__linetable_ga9743700996c4254b09f6bbc078a28b9a}\index{Line Table For a CU@{Line Table For a CU}!dwarf\_prologue\_end\_etc@{dwarf\_prologue\_end\_etc}}
\index{dwarf\_prologue\_end\_etc@{dwarf\_prologue\_end\_etc}!Line Table For a CU@{Line Table For a CU}}
\doxysubsubsection{\texorpdfstring{dwarf\_prologue\_end\_etc()}{dwarf\_prologue\_end\_etc()}}
{\footnotesize\ttfamily \label{group__linetable_ga9743700996c4254b09f6bbc078a28b9a} 
DW\+\_\+\+API int dwarf\+\_\+prologue\+\_\+end\+\_\+etc (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_gae4486812c6f1ec8cc2ec475149c256c0}{Dwarf\+\_\+\+Line}}}]{dw\+\_\+line}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga32afecc94a71aae2be36aa279f1dded8}{Dwarf\+\_\+\+Bool}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+prologue\+\_\+end}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga32afecc94a71aae2be36aa279f1dded8}{Dwarf\+\_\+\+Bool}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+epilogue\+\_\+begin}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+isa}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+discriminator}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+error}{}\end{DoxyParamCaption})}



Return various line table registers in one call. 

\doxylink{index_dwsec_linetabreg}{Line Table Registers }


\begin{DoxyParams}{Parameters}
{\em dw\+\_\+line} & The \doxylink{group__allstructs_gae4486812c6f1ec8cc2ec475149c256c0}{Dwarf\+\_\+\+Line} of interest. \\
\hline
{\em dw\+\_\+prologue\+\_\+end} & On success it sets the flag to TRUE or FALSE from the prologue\+\_\+end register in the line table. \\
\hline
{\em dw\+\_\+epilogue\+\_\+begin} & On success it sets the flag to TRUE or FALSE from the epilogue\+\_\+begin register in the line table. \\
\hline
{\em dw\+\_\+isa} & On success it sets the value to the value of from the isa register in the line table. \\
\hline
{\em dw\+\_\+discriminator} & On success it sets the value to the value of from the discriminator register in the line table. \\
\hline
{\em dw\+\_\+error} & The usual error pointer. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
DW\+\_\+\+DLV\+\_\+\+OK if it succeeds. 
\end{DoxyReturn}
\Hypertarget{group__linetable_gafe667c13df2d38f4aaffef4fad273744}\index{Line Table For a CU@{Line Table For a CU}!dwarf\_register\_printf\_callback@{dwarf\_register\_printf\_callback}}
\index{dwarf\_register\_printf\_callback@{dwarf\_register\_printf\_callback}!Line Table For a CU@{Line Table For a CU}}
\doxysubsubsection{\texorpdfstring{dwarf\_register\_printf\_callback()}{dwarf\_register\_printf\_callback()}}
{\footnotesize\ttfamily \label{group__linetable_gafe667c13df2d38f4aaffef4fad273744} 
DW\+\_\+\+API struct \doxymbox{\hyperlink{struct_dwarf___printf___callback___info__s}{Dwarf\+\_\+\+Printf\+\_\+\+Callback\+\_\+\+Info\+\_\+s}} dwarf\+\_\+register\+\_\+printf\+\_\+callback (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_gac2ba1e1c1b70a3191506b414195ca807}{Dwarf\+\_\+\+Debug}}}]{dw\+\_\+dbg}{, }\item[{struct \doxymbox{\hyperlink{struct_dwarf___printf___callback___info__s}{Dwarf\+\_\+\+Printf\+\_\+\+Callback\+\_\+\+Info\+\_\+s}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+callbackinfo}{}\end{DoxyParamCaption})}



For line details this records callback details. 

Not usually needed. It is a way to check (while using the library) what callback data is in use or to update that callback data.

\begin{DoxySeeAlso}{See also}
\doxylink{struct_dwarf___printf___callback___info__s}{Dwarf\+\_\+\+Printf\+\_\+\+Callback\+\_\+\+Info\+\_\+s}
\end{DoxySeeAlso}

\begin{DoxyParams}{Parameters}
{\em dw\+\_\+dbg} & The \doxylink{group__allstructs_gac2ba1e1c1b70a3191506b414195ca807}{Dwarf\+\_\+\+Debug} of interest. \\
\hline
{\em dw\+\_\+callbackinfo} & If non-\/\+NULL pass in a pointer to your instance of struct \doxylink{struct_dwarf___printf___callback___info__s}{Dwarf\+\_\+\+Printf\+\_\+\+Callback\+\_\+\+Info\+\_\+s} with all the fields filled in. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
If dw\+\_\+callbackinfo NULL it returns a copy of the current \doxylink{struct_dwarf___printf___callback___info__s}{Dwarf\+\_\+\+Printf\+\_\+\+Callback\+\_\+\+Info\+\_\+s} for dw\+\_\+dbg. Otherwise it returns the previous contents of the struct. 
\end{DoxyReturn}
\Hypertarget{group__linetable_gadfe09c613514f536bfcfc62174a81ffd}\index{Line Table For a CU@{Line Table For a CU}!dwarf\_srcfiles@{dwarf\_srcfiles}}
\index{dwarf\_srcfiles@{dwarf\_srcfiles}!Line Table For a CU@{Line Table For a CU}}
\doxysubsubsection{\texorpdfstring{dwarf\_srcfiles()}{dwarf\_srcfiles()}}
{\footnotesize\ttfamily \label{group__linetable_gadfe09c613514f536bfcfc62174a81ffd} 
DW\+\_\+\+API int dwarf\+\_\+srcfiles (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_ga3a3759c3047d78dba9f590d5e5893be5}{Dwarf\+\_\+\+Die}}}]{dw\+\_\+cu\+\_\+die}{, }\item[{char \texorpdfstring{$\ast$}{*}\texorpdfstring{$\ast$}{*}\texorpdfstring{$\ast$}{*}}]{dw\+\_\+srcfiles}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_gac91d9490d58c8d86a4d5b63ca93ba6dd}{Dwarf\+\_\+\+Signed}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+filecount}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+error}{}\end{DoxyParamCaption})}



The list of source files from the line table header. 

The array returned by this function applies to a single compilation unit (CU).

The returned array is indexed from 0 (zero) to dw\+\_\+filecount-\/1 when the function returns DW\+\_\+\+DLV\+\_\+\+OK.

In referencing the array via a file-\/number from a {\bfseries{DW\+\_\+\+AT\+\_\+decl\+\_\+file}} or {\bfseries{DW\+\_\+\+AT\+\_\+call\+\_\+file}} attribute one needs to know if the CU is DWARF5 or not.

Line Table Version numbers match compilation unit version numbers except that an experimental line table with line table version 0xfe06 has sometimes been used with DWARF4.

For DWARF5:\+

The file-\/number from a {\bfseries{DW\+\_\+\+AT\+\_\+decl\+\_\+file}} or {\bfseries{DW\+\_\+\+AT\+\_\+call\+\_\+file}} is the proper index into the array of string pointers.

For DWARF2,3,4, including experimental line table version 0xfe06 and a file-\/number from a {\bfseries{DW\+\_\+\+AT\+\_\+decl\+\_\+file}} or {\bfseries{DW\+\_\+\+AT\+\_\+call\+\_\+file}}:\+


\begin{DoxyEnumerate}
\item If the file-\/number is zero there is no file name to find.
\item Otherwise subtract one(1) from the file-\/number and use the new value as the index into the array of string pointers.
\end{DoxyEnumerate}

The name strings returned are each assembled in the following way by \doxylink{group__linetable_gadfe09c613514f536bfcfc62174a81ffd}{dwarf\+\_\+srcfiles()}:\+


\begin{DoxyEnumerate}
\item The file number denotes a name in the line table header.
\item If the name is not a full path (i.\+e. not starting with /\+ in posix/\+linux/\+\+Macos) then prepend the appropriate directory string from the line table header.
\item If the name is still not a full path then prepend the content of the DW\+\_\+\+AT\+\_\+comp\+\_\+dir attribute of the CU DIE.
\end{DoxyEnumerate}

To retrieve the line table version call \doxylink{group__linetable_ga5f1fb23700b5e73a10f677fe8fed8e87}{dwarf\+\_\+srclines\+\_\+b()} and \doxylink{group__linetable_ga78f5e36c68e379a418ecb005831d15c3}{dwarf\+\_\+srclines\+\_\+version()}.

\begin{DoxySeeAlso}{See also}
\doxylink{group__examplec}{Using dwarf\+\_\+srclines\+\_\+b()}
\end{DoxySeeAlso}

\begin{DoxyParams}{Parameters}
{\em dw\+\_\+cu\+\_\+die} & The CU DIE in this CU. \\
\hline
{\em dw\+\_\+srcfiles} & On success allocates an array of pointers to strings and for each such, computes the fullest path possible given the CU DIE data for each file name listed in the line table header. \\
\hline
{\em dw\+\_\+filecount} & On success returns the number of entries in the array of pointers to strings. The number returned is non-\/negative. \\
\hline
{\em dw\+\_\+error} & The usual error pointer. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
DW\+\_\+\+DLV\+\_\+\+OK if it succeeds. If there is no .debug\+\_\+line\+[.dwo]\+ returns DW\+\_\+\+DLV\+\_\+\+NO\+\_\+\+ENTRY.
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\doxylink{group__examplee}{Using dwarf\+\_\+srcfiles()} 
\end{DoxySeeAlso}
\Hypertarget{group__linetable_ga5f1fb23700b5e73a10f677fe8fed8e87}\index{Line Table For a CU@{Line Table For a CU}!dwarf\_srclines\_b@{dwarf\_srclines\_b}}
\index{dwarf\_srclines\_b@{dwarf\_srclines\_b}!Line Table For a CU@{Line Table For a CU}}
\doxysubsubsection{\texorpdfstring{dwarf\_srclines\_b()}{dwarf\_srclines\_b()}}
{\footnotesize\ttfamily \label{group__linetable_ga5f1fb23700b5e73a10f677fe8fed8e87} 
DW\+\_\+\+API int dwarf\+\_\+srclines\+\_\+b (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_ga3a3759c3047d78dba9f590d5e5893be5}{Dwarf\+\_\+\+Die}}}]{dw\+\_\+cudie}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+version\+\_\+out}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga52e439e652a1a30277679f64f83cc0fe}{Dwarf\+\_\+\+Small}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+table\+\_\+count}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga6d34d50e7383d139ecd28222ca46bfd9}{Dwarf\+\_\+\+Line\+\_\+\+Context}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+linecontext}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+error}{}\end{DoxyParamCaption})}



Initialize \doxylink{group__allstructs_ga6d34d50e7383d139ecd28222ca46bfd9}{Dwarf\+\_\+\+Line\+\_\+\+Context} for line table access. 

Returns \doxylink{group__allstructs_ga6d34d50e7383d139ecd28222ca46bfd9}{Dwarf\+\_\+\+Line\+\_\+\+Context} pointer, needed for access to line table data. Returns the line table version number (needed to use \doxylink{group__linetable_gadfe09c613514f536bfcfc62174a81ffd}{dwarf\+\_\+srcfiles()} properly).

\begin{DoxySeeAlso}{See also}
\doxylink{group__examplec}{Using dwarf\+\_\+srclines\+\_\+b()} 

\doxylink{group__exampled}{Using dwarf\+\_\+srclines\+\_\+b() and linecontext}
\end{DoxySeeAlso}

\begin{DoxyParams}{Parameters}
{\em dw\+\_\+cudie} & The Compilation Unit (CU) DIE of interest. \\
\hline
{\em dw\+\_\+version\+\_\+out} & The DWARF Line Table version number (Standard:\+ 2,3,4, or 5) Version 0xf006 is an experimental (two-\/level) line table. \\
\hline
{\em dw\+\_\+table\+\_\+count} & Zero or one means this is a normal DWARF line table. Two means this is an experimental two-\/level line table. \\
\hline
{\em dw\+\_\+linecontext} & On success sets the pointer to point to an opaque structure usable for further queries. \\
\hline
{\em dw\+\_\+error} & The usual error pointer. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
DW\+\_\+\+DLV\+\_\+\+OK if it succeeds. 
\end{DoxyReturn}
\Hypertarget{group__linetable_ga18ad0bf6c12c1d5a46aed93addd80016}\index{Line Table For a CU@{Line Table For a CU}!dwarf\_srclines\_comp\_dir@{dwarf\_srclines\_comp\_dir}}
\index{dwarf\_srclines\_comp\_dir@{dwarf\_srclines\_comp\_dir}!Line Table For a CU@{Line Table For a CU}}
\doxysubsubsection{\texorpdfstring{dwarf\_srclines\_comp\_dir()}{dwarf\_srclines\_comp\_dir()}}
{\footnotesize\ttfamily \label{group__linetable_ga18ad0bf6c12c1d5a46aed93addd80016} 
DW\+\_\+\+API int dwarf\+\_\+srclines\+\_\+comp\+\_\+dir (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_ga6d34d50e7383d139ecd28222ca46bfd9}{Dwarf\+\_\+\+Line\+\_\+\+Context}}}]{dw\+\_\+context}{, }\item[{const char \texorpdfstring{$\ast$}{*}\texorpdfstring{$\ast$}{*}}]{dw\+\_\+compilation\+\_\+directory}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+error}{}\end{DoxyParamCaption})}



Compilation Directory name for the CU. 

Do not free() or dealloc the string, it is in a dwarf section.


\begin{DoxyParams}{Parameters}
{\em dw\+\_\+context} & The Line Context of interest. \\
\hline
{\em dw\+\_\+compilation\+\_\+directory} & On success returns a pointer to a string identifying the compilation directory of the CU. \\
\hline
{\em dw\+\_\+error} & The usual error pointer. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
DW\+\_\+\+DLV\+\_\+\+OK if it succeeds. 
\end{DoxyReturn}
\Hypertarget{group__linetable_ga4231571b299fb4673ff17e4f35118fb1}\index{Line Table For a CU@{Line Table For a CU}!dwarf\_srclines\_dealloc\_b@{dwarf\_srclines\_dealloc\_b}}
\index{dwarf\_srclines\_dealloc\_b@{dwarf\_srclines\_dealloc\_b}!Line Table For a CU@{Line Table For a CU}}
\doxysubsubsection{\texorpdfstring{dwarf\_srclines\_dealloc\_b()}{dwarf\_srclines\_dealloc\_b()}}
{\footnotesize\ttfamily \label{group__linetable_ga4231571b299fb4673ff17e4f35118fb1} 
DW\+\_\+\+API void dwarf\+\_\+srclines\+\_\+dealloc\+\_\+b (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_ga6d34d50e7383d139ecd28222ca46bfd9}{Dwarf\+\_\+\+Line\+\_\+\+Context}}}]{dw\+\_\+context}{}\end{DoxyParamCaption})}



Dealloc the memory allocated by dwarf\+\_\+srclines\+\_\+b. 

The way to deallocate (free) a \doxylink{group__allstructs_ga6d34d50e7383d139ecd28222ca46bfd9}{Dwarf\+\_\+\+Line\+\_\+\+Context}


\begin{DoxyParams}{Parameters}
{\em dw\+\_\+context} & The context to be dealloced (freed). On return the pointer passed in is stale and calling applications should zero the pointer. \\
\hline
\end{DoxyParams}
\Hypertarget{group__linetable_gadcd66ef43e1b3d6dd8f4104b056b56ec}\index{Line Table For a CU@{Line Table For a CU}!dwarf\_srclines\_files\_data\_b@{dwarf\_srclines\_files\_data\_b}}
\index{dwarf\_srclines\_files\_data\_b@{dwarf\_srclines\_files\_data\_b}!Line Table For a CU@{Line Table For a CU}}
\doxysubsubsection{\texorpdfstring{dwarf\_srclines\_files\_data\_b()}{dwarf\_srclines\_files\_data\_b()}}
{\footnotesize\ttfamily \label{group__linetable_gadcd66ef43e1b3d6dd8f4104b056b56ec} 
DW\+\_\+\+API int dwarf\+\_\+srclines\+\_\+files\+\_\+data\+\_\+b (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_ga6d34d50e7383d139ecd28222ca46bfd9}{Dwarf\+\_\+\+Line\+\_\+\+Context}}}]{dw\+\_\+context}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_gac91d9490d58c8d86a4d5b63ca93ba6dd}{Dwarf\+\_\+\+Signed}}}]{dw\+\_\+index\+\_\+in}{, }\item[{const char \texorpdfstring{$\ast$}{*}\texorpdfstring{$\ast$}{*}}]{dw\+\_\+name}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+directory\+\_\+index}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+last\+\_\+mod\+\_\+time}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+file\+\_\+length}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga60acd6fa13481d6f64fdd145660ccb03}{Dwarf\+\_\+\+Form\+\_\+\+Data16}} \texorpdfstring{$\ast$}{*}\texorpdfstring{$\ast$}{*}}]{dw\+\_\+md5ptr}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+error}{}\end{DoxyParamCaption})}



Access data for each line table file. 

Has the md5ptr field so cases where DW\+\_\+\+LNCT\+\_\+\+MD5 is present can return pointer to the MD5 value. With DWARF 5 index starts with 0. \doxylink{group__linetable_gad192d7ea31381d1954db4cad7b39a0fe}{dwarf\+\_\+srclines\+\_\+files\+\_\+indexes()} makes indexing through the files easy.

\begin{DoxySeeAlso}{See also}
\doxylink{group__linetable_gad192d7ea31381d1954db4cad7b39a0fe}{dwarf\+\_\+srclines\+\_\+files\+\_\+indexes} 

\doxylink{group__examplec}{Using dwarf\+\_\+srclines\+\_\+b()}
\end{DoxySeeAlso}

\begin{DoxyParams}{Parameters}
{\em dw\+\_\+context} & The line context of interest. \\
\hline
{\em dw\+\_\+index\+\_\+in} & The entry of interest. Callers should index as dw\+\_\+baseindex through dw\+\_\+endindex-\/1. \\
\hline
{\em dw\+\_\+name} & If dw\+\_\+name non-\/null on success returns The file name in the line table header through the pointer. \\
\hline
{\em dw\+\_\+directory\+\_\+index} & If dw\+\_\+directory\+\_\+index non-\/null on success returns the directory number in the line table header through the pointer. \\
\hline
{\em dw\+\_\+last\+\_\+mod\+\_\+time} & If dw\+\_\+last\+\_\+mod\+\_\+time non-\/null on success returns the directory last modification date/\+time through the pointer. \\
\hline
{\em dw\+\_\+file\+\_\+length} & If dw\+\_\+file\+\_\+length non-\/null on success returns the file length recorded in the line table through the pointer. \\
\hline
{\em dw\+\_\+md5ptr} & If dw\+\_\+md5ptr non-\/null on success returns a pointer to the 16byte MD5 hash of the file through the pointer. If there is no md5 value present it returns 0 through the pointer. \\
\hline
{\em dw\+\_\+error} & The usual error pointer. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
DW\+\_\+\+DLV\+\_\+\+OK if it succeeds. 
\end{DoxyReturn}
\Hypertarget{group__linetable_gad192d7ea31381d1954db4cad7b39a0fe}\index{Line Table For a CU@{Line Table For a CU}!dwarf\_srclines\_files\_indexes@{dwarf\_srclines\_files\_indexes}}
\index{dwarf\_srclines\_files\_indexes@{dwarf\_srclines\_files\_indexes}!Line Table For a CU@{Line Table For a CU}}
\doxysubsubsection{\texorpdfstring{dwarf\_srclines\_files\_indexes()}{dwarf\_srclines\_files\_indexes()}}
{\footnotesize\ttfamily \label{group__linetable_gad192d7ea31381d1954db4cad7b39a0fe} 
DW\+\_\+\+API int dwarf\+\_\+srclines\+\_\+files\+\_\+indexes (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_ga6d34d50e7383d139ecd28222ca46bfd9}{Dwarf\+\_\+\+Line\+\_\+\+Context}}}]{dw\+\_\+context}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_gac91d9490d58c8d86a4d5b63ca93ba6dd}{Dwarf\+\_\+\+Signed}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+baseindex}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_gac91d9490d58c8d86a4d5b63ca93ba6dd}{Dwarf\+\_\+\+Signed}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+count}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_gac91d9490d58c8d86a4d5b63ca93ba6dd}{Dwarf\+\_\+\+Signed}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+endindex}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+error}{}\end{DoxyParamCaption})}



Return values easing indexing line table file numbers. Count is the real count of files array entries. Since DWARF 2,3,4 are zero origin indexes and DWARF5 and later are one origin, this function replaces dwarf\+\_\+srclines\+\_\+files\+\_\+count(). 


\begin{DoxyParams}{Parameters}
{\em dw\+\_\+context} & The line context of interest. \\
\hline
{\em dw\+\_\+baseindex} & On success returns the base index of valid file indexes. With DWARF2,3,4 the value is 1. With DWARF5 the value is 0. \\
\hline
{\em dw\+\_\+count} & On success returns the real count of entries. \\
\hline
{\em dw\+\_\+endindex} & On success returns value such that callers should index as dw\+\_\+baseindex through dw\+\_\+endindex-\/1. \\
\hline
{\em dw\+\_\+error} & The usual error pointer. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
DW\+\_\+\+DLV\+\_\+\+OK if it succeeds.
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\doxylink{group__examplec}{Using dwarf\+\_\+srclines\+\_\+b()} 
\end{DoxySeeAlso}
\Hypertarget{group__linetable_gae91613a2346bcf056798f91a93180632}\index{Line Table For a CU@{Line Table For a CU}!dwarf\_srclines\_from\_linecontext@{dwarf\_srclines\_from\_linecontext}}
\index{dwarf\_srclines\_from\_linecontext@{dwarf\_srclines\_from\_linecontext}!Line Table For a CU@{Line Table For a CU}}
\doxysubsubsection{\texorpdfstring{dwarf\_srclines\_from\_linecontext()}{dwarf\_srclines\_from\_linecontext()}}
{\footnotesize\ttfamily \label{group__linetable_gae91613a2346bcf056798f91a93180632} 
DW\+\_\+\+API int dwarf\+\_\+srclines\+\_\+from\+\_\+linecontext (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_ga6d34d50e7383d139ecd28222ca46bfd9}{Dwarf\+\_\+\+Line\+\_\+\+Context}}}]{dw\+\_\+linecontext}{, }\item[{\doxymbox{\hyperlink{group__allstructs_gae4486812c6f1ec8cc2ec475149c256c0}{Dwarf\+\_\+\+Line}} \texorpdfstring{$\ast$}{*}\texorpdfstring{$\ast$}{*}}]{dw\+\_\+linebuf}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_gac91d9490d58c8d86a4d5b63ca93ba6dd}{Dwarf\+\_\+\+Signed}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+linecount}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+error}{}\end{DoxyParamCaption})}



Access source lines from line context. 

Provides access to \doxylink{group__allstructs_gae4486812c6f1ec8cc2ec475149c256c0}{Dwarf\+\_\+\+Line} data from a \doxylink{group__allstructs_ga6d34d50e7383d139ecd28222ca46bfd9}{Dwarf\+\_\+\+Line\+\_\+\+Context} on a standard line table.


\begin{DoxyParams}{Parameters}
{\em dw\+\_\+linecontext} & The line context of interest. \\
\hline
{\em dw\+\_\+linebuf} & On success returns an array of pointers to \doxylink{group__allstructs_gae4486812c6f1ec8cc2ec475149c256c0}{Dwarf\+\_\+\+Line}. \\
\hline
{\em dw\+\_\+linecount} & On success returns the count of entries in dw\+\_\+linebuf. If dw\+\_\+linecount is returned as zero this is a line table with no lines. \\
\hline
{\em dw\+\_\+error} & The usual error pointer. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
DW\+\_\+\+DLV\+\_\+\+OK if it succeeds. 
\end{DoxyReturn}
\Hypertarget{group__linetable_ga5fb90b1b34f0bb99ddcbb50b2e1c7b95}\index{Line Table For a CU@{Line Table For a CU}!dwarf\_srclines\_include\_dir\_count@{dwarf\_srclines\_include\_dir\_count}}
\index{dwarf\_srclines\_include\_dir\_count@{dwarf\_srclines\_include\_dir\_count}!Line Table For a CU@{Line Table For a CU}}
\doxysubsubsection{\texorpdfstring{dwarf\_srclines\_include\_dir\_count()}{dwarf\_srclines\_include\_dir\_count()}}
{\footnotesize\ttfamily \label{group__linetable_ga5fb90b1b34f0bb99ddcbb50b2e1c7b95} 
DW\+\_\+\+API int dwarf\+\_\+srclines\+\_\+include\+\_\+dir\+\_\+count (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_ga6d34d50e7383d139ecd28222ca46bfd9}{Dwarf\+\_\+\+Line\+\_\+\+Context}}}]{dw\+\_\+line\+\_\+context}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_gac91d9490d58c8d86a4d5b63ca93ba6dd}{Dwarf\+\_\+\+Signed}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+count}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+error}{}\end{DoxyParamCaption})}



Return the number of include directories in the Line Table. 


\begin{DoxyParams}{Parameters}
{\em dw\+\_\+line\+\_\+context} & The line context of interest. \\
\hline
{\em dw\+\_\+count} & On success returns the count of directories. How to use this depends on the line table version number. \\
\hline
{\em dw\+\_\+error} & The usual error pointer. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
DW\+\_\+\+DLV\+\_\+\+OK if it succeeds.
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\doxylink{group__linetable_gae84423aaf40ba1a7538e18cab994c326}{dwarf\+\_\+srclines\+\_\+include\+\_\+dir\+\_\+data} 
\end{DoxySeeAlso}
\Hypertarget{group__linetable_gae84423aaf40ba1a7538e18cab994c326}\index{Line Table For a CU@{Line Table For a CU}!dwarf\_srclines\_include\_dir\_data@{dwarf\_srclines\_include\_dir\_data}}
\index{dwarf\_srclines\_include\_dir\_data@{dwarf\_srclines\_include\_dir\_data}!Line Table For a CU@{Line Table For a CU}}
\doxysubsubsection{\texorpdfstring{dwarf\_srclines\_include\_dir\_data()}{dwarf\_srclines\_include\_dir\_data()}}
{\footnotesize\ttfamily \label{group__linetable_gae84423aaf40ba1a7538e18cab994c326} 
DW\+\_\+\+API int dwarf\+\_\+srclines\+\_\+include\+\_\+dir\+\_\+data (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_ga6d34d50e7383d139ecd28222ca46bfd9}{Dwarf\+\_\+\+Line\+\_\+\+Context}}}]{dw\+\_\+line\+\_\+context}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_gac91d9490d58c8d86a4d5b63ca93ba6dd}{Dwarf\+\_\+\+Signed}}}]{dw\+\_\+index}{, }\item[{const char \texorpdfstring{$\ast$}{*}\texorpdfstring{$\ast$}{*}}]{dw\+\_\+name}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+error}{}\end{DoxyParamCaption})}



Return the include directories in the Line Table. 


\begin{DoxyParams}{Parameters}
{\em dw\+\_\+line\+\_\+context} & The line context of interest. \\
\hline
{\em dw\+\_\+index} & Pass in an index to the line context list of include directories. If the line table is version 2,3, or 4, the valid indexes are 1 through dw\+\_\+count. If the line table is version 5 the valid indexes are 0 through dw\+\_\+count-\/1. \\
\hline
{\em dw\+\_\+name} & On success it returns a pointer to a directory name. Do not free/\+deallocate the string. \\
\hline
{\em dw\+\_\+error} & The usual error pointer. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
DW\+\_\+\+DLV\+\_\+\+OK if it succeeds.
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\doxylink{group__linetable_ga5fb90b1b34f0bb99ddcbb50b2e1c7b95}{dwarf\+\_\+srclines\+\_\+include\+\_\+dir\+\_\+count} 
\end{DoxySeeAlso}
\Hypertarget{group__linetable_ga4055c5135986582b00bf1e11b2c0da55}\index{Line Table For a CU@{Line Table For a CU}!dwarf\_srclines\_subprog\_count@{dwarf\_srclines\_subprog\_count}}
\index{dwarf\_srclines\_subprog\_count@{dwarf\_srclines\_subprog\_count}!Line Table For a CU@{Line Table For a CU}}
\doxysubsubsection{\texorpdfstring{dwarf\_srclines\_subprog\_count()}{dwarf\_srclines\_subprog\_count()}}
{\footnotesize\ttfamily \label{group__linetable_ga4055c5135986582b00bf1e11b2c0da55} 
DW\+\_\+\+API int dwarf\+\_\+srclines\+\_\+subprog\+\_\+count (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_ga6d34d50e7383d139ecd28222ca46bfd9}{Dwarf\+\_\+\+Line\+\_\+\+Context}}}]{dw\+\_\+context}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_gac91d9490d58c8d86a4d5b63ca93ba6dd}{Dwarf\+\_\+\+Signed}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+count}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+error}{}\end{DoxyParamCaption})}



Subprog count:\+ Part of the two-\/level line table extension. 

A non-\/standard table. The actual meaning of subprog count left undefined here.


\begin{DoxyParams}{Parameters}
{\em dw\+\_\+context} & The \doxylink{group__allstructs_ga6d34d50e7383d139ecd28222ca46bfd9}{Dwarf\+\_\+\+Line\+\_\+\+Context} of interest. \\
\hline
{\em dw\+\_\+count} & On success returns the two-\/level line table subprogram array size in this line context. \\
\hline
{\em dw\+\_\+error} & The usual error pointer. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
DW\+\_\+\+DLV\+\_\+\+OK if it succeeds. 
\end{DoxyReturn}
\Hypertarget{group__linetable_gac621dae3de131684bb343b14d5cece57}\index{Line Table For a CU@{Line Table For a CU}!dwarf\_srclines\_subprog\_data@{dwarf\_srclines\_subprog\_data}}
\index{dwarf\_srclines\_subprog\_data@{dwarf\_srclines\_subprog\_data}!Line Table For a CU@{Line Table For a CU}}
\doxysubsubsection{\texorpdfstring{dwarf\_srclines\_subprog\_data()}{dwarf\_srclines\_subprog\_data()}}
{\footnotesize\ttfamily \label{group__linetable_gac621dae3de131684bb343b14d5cece57} 
DW\+\_\+\+API int dwarf\+\_\+srclines\+\_\+subprog\+\_\+data (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_ga6d34d50e7383d139ecd28222ca46bfd9}{Dwarf\+\_\+\+Line\+\_\+\+Context}}}]{dw\+\_\+context}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_gac91d9490d58c8d86a4d5b63ca93ba6dd}{Dwarf\+\_\+\+Signed}}}]{dw\+\_\+index}{, }\item[{const char \texorpdfstring{$\ast$}{*}\texorpdfstring{$\ast$}{*}}]{dw\+\_\+name}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+decl\+\_\+file}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+decl\+\_\+line}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+error}{}\end{DoxyParamCaption})}



Retrieve data from the line table subprog array. 

A non-\/standard table. Not defined here. 
\begin{DoxyParams}{Parameters}
{\em dw\+\_\+context} & The \doxylink{group__allstructs_ga6d34d50e7383d139ecd28222ca46bfd9}{Dwarf\+\_\+\+Line\+\_\+\+Context} of interest. \\
\hline
{\em dw\+\_\+index} & The item to retrieve. Valid indexes are 1 through dw\+\_\+count. \\
\hline
{\em dw\+\_\+name} & On success returns a pointer to the subprog name. \\
\hline
{\em dw\+\_\+decl\+\_\+file} & On success returns a file number through the pointer. \\
\hline
{\em dw\+\_\+decl\+\_\+line} & On success returns a line number through the pointer. \\
\hline
{\em dw\+\_\+error} & The usual error pointer. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
DW\+\_\+\+DLV\+\_\+\+OK if it succeeds. 
\end{DoxyReturn}
\Hypertarget{group__linetable_ga9e4e361885e4c4e00f3fa5445a60814e}\index{Line Table For a CU@{Line Table For a CU}!dwarf\_srclines\_table\_offset@{dwarf\_srclines\_table\_offset}}
\index{dwarf\_srclines\_table\_offset@{dwarf\_srclines\_table\_offset}!Line Table For a CU@{Line Table For a CU}}
\doxysubsubsection{\texorpdfstring{dwarf\_srclines\_table\_offset()}{dwarf\_srclines\_table\_offset()}}
{\footnotesize\ttfamily \label{group__linetable_ga9e4e361885e4c4e00f3fa5445a60814e} 
DW\+\_\+\+API int dwarf\+\_\+srclines\+\_\+table\+\_\+offset (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_ga6d34d50e7383d139ecd28222ca46bfd9}{Dwarf\+\_\+\+Line\+\_\+\+Context}}}]{dw\+\_\+context}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+offset}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+error}{}\end{DoxyParamCaption})}



Return the srclines table offset. 

The offset is in the relevant .debug\+\_\+line or .debug\+\_\+line.\+dwo section (and in a split dwarf package file includes the base line table offset).


\begin{DoxyParams}{Parameters}
{\em dw\+\_\+context} & \\
\hline
{\em dw\+\_\+offset} & On success returns the section offset of the dw\+\_\+context. \\
\hline
{\em dw\+\_\+error} & The usual error pointer. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
DW\+\_\+\+DLV\+\_\+\+OK if it succeeds. 
\end{DoxyReturn}
\Hypertarget{group__linetable_gad3a16c030d01566bfcbdfe42dc0c3549}\index{Line Table For a CU@{Line Table For a CU}!dwarf\_srclines\_two\_level\_from\_linecontext@{dwarf\_srclines\_two\_level\_from\_linecontext}}
\index{dwarf\_srclines\_two\_level\_from\_linecontext@{dwarf\_srclines\_two\_level\_from\_linecontext}!Line Table For a CU@{Line Table For a CU}}
\doxysubsubsection{\texorpdfstring{dwarf\_srclines\_two\_level\_from\_linecontext()}{dwarf\_srclines\_two\_level\_from\_linecontext()}}
{\footnotesize\ttfamily \label{group__linetable_gad3a16c030d01566bfcbdfe42dc0c3549} 
DW\+\_\+\+API int dwarf\+\_\+srclines\+\_\+two\+\_\+level\+\_\+from\+\_\+linecontext (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_ga6d34d50e7383d139ecd28222ca46bfd9}{Dwarf\+\_\+\+Line\+\_\+\+Context}}}]{dw\+\_\+context}{, }\item[{\doxymbox{\hyperlink{group__allstructs_gae4486812c6f1ec8cc2ec475149c256c0}{Dwarf\+\_\+\+Line}} \texorpdfstring{$\ast$}{*}\texorpdfstring{$\ast$}{*}}]{dw\+\_\+linebuf}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_gac91d9490d58c8d86a4d5b63ca93ba6dd}{Dwarf\+\_\+\+Signed}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+linecount}{, }\item[{\doxymbox{\hyperlink{group__allstructs_gae4486812c6f1ec8cc2ec475149c256c0}{Dwarf\+\_\+\+Line}} \texorpdfstring{$\ast$}{*}\texorpdfstring{$\ast$}{*}}]{dw\+\_\+linebuf\+\_\+actuals}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_gac91d9490d58c8d86a4d5b63ca93ba6dd}{Dwarf\+\_\+\+Signed}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+linecount\+\_\+actuals}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+error}{}\end{DoxyParamCaption})}



Returns line table counts and data. 

Works for DWARF2,3,4,5 and for experimental two-\/level line tables. A single level table will have \texorpdfstring{$\ast$}{*}linebuf\+\_\+actuals and \texorpdfstring{$\ast$}{*}linecount\+\_\+actuals set to 0.

Two-\/level line tables are non-\/standard and not documented further. For standard (one-\/level) tables, it will return the single table through dw\+\_\+linebuf, and the value returned through dw\+\_\+linecount\+\_\+actuals will be 0.

People not using these two-\/level tables should dwarf\+\_\+srclines\+\_\+from\+\_\+linecontext instead. \Hypertarget{group__linetable_ga78f5e36c68e379a418ecb005831d15c3}\index{Line Table For a CU@{Line Table For a CU}!dwarf\_srclines\_version@{dwarf\_srclines\_version}}
\index{dwarf\_srclines\_version@{dwarf\_srclines\_version}!Line Table For a CU@{Line Table For a CU}}
\doxysubsubsection{\texorpdfstring{dwarf\_srclines\_version()}{dwarf\_srclines\_version()}}
{\footnotesize\ttfamily \label{group__linetable_ga78f5e36c68e379a418ecb005831d15c3} 
DW\+\_\+\+API int dwarf\+\_\+srclines\+\_\+version (\begin{DoxyParamCaption}\item[{\doxymbox{\hyperlink{group__allstructs_ga6d34d50e7383d139ecd28222ca46bfd9}{Dwarf\+\_\+\+Line\+\_\+\+Context}}}]{dw\+\_\+line\+\_\+context}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga5de64bb9627534a24dcbccc327916265}{Dwarf\+\_\+\+Unsigned}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+version}{, }\item[{\doxymbox{\hyperlink{group__basicdatatypes_ga52e439e652a1a30277679f64f83cc0fe}{Dwarf\+\_\+\+Small}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+table\+\_\+count}{, }\item[{\doxymbox{\hyperlink{group__allstructs_ga8d4fac0e48040b6ca91e06ffda09766a}{Dwarf\+\_\+\+Error}} \texorpdfstring{$\ast$}{*}}]{dw\+\_\+error}{}\end{DoxyParamCaption})}



The DWARF version number of this compile-\/unit. 

The .debug\+\_\+lines\+[.dwo]\+ table count informs about the line table version and the type of line table involved.

Meaning of the value returned via dw\+\_\+table\+\_\+count:\+
\begin{DoxyItemize}
\item 0 The table is a header with no lines.
\item 1 The table is a standard line table.
\item 2 The table is an experimental line table.
\end{DoxyItemize}


\begin{DoxyParams}{Parameters}
{\em dw\+\_\+line\+\_\+context} & The Line Context of interest. \\
\hline
{\em dw\+\_\+version} & On success, returns the line table version through the pointer. \\
\hline
{\em dw\+\_\+table\+\_\+count} & On success, returns the tablecount through the pointer. If the table count is zero the line table is a header with no lines. If the table count is 1 this is a standard line table. If the table count is this is an experimental two-\/level line table. \\
\hline
{\em dw\+\_\+error} & The usual error pointer. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
DW\+\_\+\+DLV\+\_\+\+OK if it succeeds. 
\end{DoxyReturn}
