You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Theodosius/doxygen/latex/d6/d0e/classtheo_1_1decomp_1_1deco...

146 lines
8.9 KiB

\hypertarget{classtheo_1_1decomp_1_1decomp__t}{}\doxysection{theo\+::decomp\+::decomp\+\_\+t Class Reference}
\label{classtheo_1_1decomp_1_1decomp__t}\index{theo::decomp::decomp\_t@{theo::decomp::decomp\_t}}
the main decomposition class which is responsible for breaking down lib file into coff files, and extracted used symbols from the coff files.
{\ttfamily \#include $<$decomp.\+hpp$>$}
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item
\mbox{\hyperlink{classtheo_1_1decomp_1_1decomp__t_a35cfac16bd918d576b29e04388690d68}{decomp\+\_\+t}} (std\+::vector$<$ std\+::uint8\+\_\+t $>$ \&\mbox{\hyperlink{classtheo_1_1decomp_1_1decomp__t_aa728bde8ec1c5c28ec09f86adf427ae2}{lib}}, \mbox{\hyperlink{classtheo_1_1recomp_1_1symbol__table__t}{recomp\+::symbol\+\_\+table\+\_\+t}} $\ast$\mbox{\hyperlink{classtheo_1_1decomp_1_1decomp__t_a8630f2ee0f4fb9516f5b20014e4c6120}{syms}})
\begin{DoxyCompactList}\small\item\em the explicit constructor for \mbox{\hyperlink{classtheo_1_1decomp_1_1decomp__t}{decomp\+\_\+t}} \end{DoxyCompactList}\item
std\+::vector$<$ \mbox{\hyperlink{classtheo_1_1decomp_1_1routine__t}{routine\+\_\+t}} $>$ \mbox{\hyperlink{classtheo_1_1decomp_1_1decomp__t_a79c965ec0a996a936faae7f54b0e055e}{rtns}} ()
\begin{DoxyCompactList}\small\item\em gets all of the routine objects. \end{DoxyCompactList}\item
std\+::vector$<$ std\+::uint8\+\_\+t $>$ \mbox{\hyperlink{classtheo_1_1decomp_1_1decomp__t_aa728bde8ec1c5c28ec09f86adf427ae2}{lib}} ()
\begin{DoxyCompactList}\small\item\em gets a vector of bytes consisting of the lib file. \end{DoxyCompactList}\item
std\+::vector$<$ std\+::vector$<$ std\+::uint8\+\_\+t $>$ $>$ \mbox{\hyperlink{classtheo_1_1decomp_1_1decomp__t_a81ae70b313a9ef24ea5d8f404699baef}{objs}} ()
\begin{DoxyCompactList}\small\item\em gets all the obj files as a vector of a vector of bytes. \end{DoxyCompactList}\item
\mbox{\hyperlink{classtheo_1_1recomp_1_1symbol__table__t}{recomp\+::symbol\+\_\+table\+\_\+t}} $\ast$ \mbox{\hyperlink{classtheo_1_1decomp_1_1decomp__t_a8630f2ee0f4fb9516f5b20014e4c6120}{syms}} ()
\begin{DoxyCompactList}\small\item\em gets the symbol table. \end{DoxyCompactList}\item
std\+::map$<$ coff\+::section\+\_\+header\+\_\+t $\ast$, std\+::size\+\_\+t $>$ \& \mbox{\hyperlink{classtheo_1_1decomp_1_1decomp__t_a860dddc3a5d12231b685dbaa12a0db06}{scn\+\_\+hash\+\_\+tbl}} ()
\begin{DoxyCompactList}\small\item\em gets the section hash table section header -\/-\/$>$ hash of the section header ptr. \end{DoxyCompactList}\item
std\+::optional$<$ \mbox{\hyperlink{classtheo_1_1recomp_1_1symbol__table__t}{recomp\+::symbol\+\_\+table\+\_\+t}} $\ast$ $>$ \mbox{\hyperlink{classtheo_1_1decomp_1_1decomp__t_ae23353a4293aa30969b6d3fa37359469}{decompose}} (std\+::string \&entry\+\_\+sym)
\begin{DoxyCompactList}\small\item\em decomposes (extracts) the symbols used. this function determines all used symbols given the entry point. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection{Detailed Description}
the main decomposition class which is responsible for breaking down lib file into coff files, and extracted used symbols from the coff files.
\doxysubsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{classtheo_1_1decomp_1_1decomp__t_a35cfac16bd918d576b29e04388690d68}\label{classtheo_1_1decomp_1_1decomp__t_a35cfac16bd918d576b29e04388690d68}}
\index{theo::decomp::decomp\_t@{theo::decomp::decomp\_t}!decomp\_t@{decomp\_t}}
\index{decomp\_t@{decomp\_t}!theo::decomp::decomp\_t@{theo::decomp::decomp\_t}}
\doxysubsubsection{\texorpdfstring{decomp\_t()}{decomp\_t()}}
{\footnotesize\ttfamily theo\+::decomp\+::decomp\+\_\+t\+::decomp\+\_\+t (\begin{DoxyParamCaption}\item[{std\+::vector$<$ std\+::uint8\+\_\+t $>$ \&}]{lib, }\item[{\mbox{\hyperlink{classtheo_1_1recomp_1_1symbol__table__t}{recomp\+::symbol\+\_\+table\+\_\+t}} $\ast$}]{syms }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [explicit]}}
the explicit constructor for \mbox{\hyperlink{classtheo_1_1decomp_1_1decomp__t}{decomp\+\_\+t}}
\begin{DoxyParams}{Parameters}
{\em lib} & vector of bytes containing the lib file.\\
\hline
{\em syms} & symbol table that gets populated and managed by this class.\\
\hline
\end{DoxyParams}
\doxysubsection{Member Function Documentation}
\mbox{\Hypertarget{classtheo_1_1decomp_1_1decomp__t_ae23353a4293aa30969b6d3fa37359469}\label{classtheo_1_1decomp_1_1decomp__t_ae23353a4293aa30969b6d3fa37359469}}
\index{theo::decomp::decomp\_t@{theo::decomp::decomp\_t}!decompose@{decompose}}
\index{decompose@{decompose}!theo::decomp::decomp\_t@{theo::decomp::decomp\_t}}
\doxysubsubsection{\texorpdfstring{decompose()}{decompose()}}
{\footnotesize\ttfamily std\+::optional$<$ \mbox{\hyperlink{classtheo_1_1recomp_1_1symbol__table__t}{recomp\+::symbol\+\_\+table\+\_\+t}} $\ast$ $>$ theo\+::decomp\+::decomp\+\_\+t\+::decompose (\begin{DoxyParamCaption}\item[{std\+::string \&}]{entry\+\_\+sym }\end{DoxyParamCaption})}
decomposes (extracts) the symbols used. this function determines all used symbols given the entry point.
\begin{DoxyParams}{Parameters}
{\em entry\+\_\+sym} & the entry point symbol name.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
returns an optional pointer to the symbol table. no value in the optional object on failure.
\end{DoxyReturn}
\mbox{\Hypertarget{classtheo_1_1decomp_1_1decomp__t_aa728bde8ec1c5c28ec09f86adf427ae2}\label{classtheo_1_1decomp_1_1decomp__t_aa728bde8ec1c5c28ec09f86adf427ae2}}
\index{theo::decomp::decomp\_t@{theo::decomp::decomp\_t}!lib@{lib}}
\index{lib@{lib}!theo::decomp::decomp\_t@{theo::decomp::decomp\_t}}
\doxysubsubsection{\texorpdfstring{lib()}{lib()}}
{\footnotesize\ttfamily std\+::vector$<$ std\+::uint8\+\_\+t $>$ theo\+::decomp\+::decomp\+\_\+t\+::lib (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
gets a vector of bytes consisting of the lib file.
\begin{DoxyReturn}{Returns}
a vector of bytes consisting of the lib file.
\end{DoxyReturn}
\mbox{\Hypertarget{classtheo_1_1decomp_1_1decomp__t_a81ae70b313a9ef24ea5d8f404699baef}\label{classtheo_1_1decomp_1_1decomp__t_a81ae70b313a9ef24ea5d8f404699baef}}
\index{theo::decomp::decomp\_t@{theo::decomp::decomp\_t}!objs@{objs}}
\index{objs@{objs}!theo::decomp::decomp\_t@{theo::decomp::decomp\_t}}
\doxysubsubsection{\texorpdfstring{objs()}{objs()}}
{\footnotesize\ttfamily std\+::vector$<$ std\+::vector$<$ std\+::uint8\+\_\+t $>$ $>$ theo\+::decomp\+::decomp\+\_\+t\+::objs (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
gets all the obj files as a vector of a vector of bytes.
\begin{DoxyReturn}{Returns}
all the obj files as a vector of a vector of bytes.
\end{DoxyReturn}
\mbox{\Hypertarget{classtheo_1_1decomp_1_1decomp__t_a79c965ec0a996a936faae7f54b0e055e}\label{classtheo_1_1decomp_1_1decomp__t_a79c965ec0a996a936faae7f54b0e055e}}
\index{theo::decomp::decomp\_t@{theo::decomp::decomp\_t}!rtns@{rtns}}
\index{rtns@{rtns}!theo::decomp::decomp\_t@{theo::decomp::decomp\_t}}
\doxysubsubsection{\texorpdfstring{rtns()}{rtns()}}
{\footnotesize\ttfamily std\+::vector$<$ \mbox{\hyperlink{classtheo_1_1decomp_1_1routine__t}{routine\+\_\+t}} $>$ theo\+::decomp\+::decomp\+\_\+t\+::rtns (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
gets all of the routine objects.
\begin{DoxyReturn}{Returns}
vector of routine objects.
\end{DoxyReturn}
\mbox{\Hypertarget{classtheo_1_1decomp_1_1decomp__t_a860dddc3a5d12231b685dbaa12a0db06}\label{classtheo_1_1decomp_1_1decomp__t_a860dddc3a5d12231b685dbaa12a0db06}}
\index{theo::decomp::decomp\_t@{theo::decomp::decomp\_t}!scn\_hash\_tbl@{scn\_hash\_tbl}}
\index{scn\_hash\_tbl@{scn\_hash\_tbl}!theo::decomp::decomp\_t@{theo::decomp::decomp\_t}}
\doxysubsubsection{\texorpdfstring{scn\_hash\_tbl()}{scn\_hash\_tbl()}}
{\footnotesize\ttfamily std\+::map$<$ coff\+::section\+\_\+header\+\_\+t $\ast$, std\+::size\+\_\+t $>$ \& theo\+::decomp\+::decomp\+\_\+t\+::scn\+\_\+hash\+\_\+tbl (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
gets the section hash table section header -\/-\/$>$ hash of the section header ptr.
\begin{DoxyReturn}{Returns}
the section hash table section header -\/-\/$>$ hash of the section header ptr.
\end{DoxyReturn}
\mbox{\Hypertarget{classtheo_1_1decomp_1_1decomp__t_a8630f2ee0f4fb9516f5b20014e4c6120}\label{classtheo_1_1decomp_1_1decomp__t_a8630f2ee0f4fb9516f5b20014e4c6120}}
\index{theo::decomp::decomp\_t@{theo::decomp::decomp\_t}!syms@{syms}}
\index{syms@{syms}!theo::decomp::decomp\_t@{theo::decomp::decomp\_t}}
\doxysubsubsection{\texorpdfstring{syms()}{syms()}}
{\footnotesize\ttfamily \mbox{\hyperlink{classtheo_1_1recomp_1_1symbol__table__t}{recomp\+::symbol\+\_\+table\+\_\+t}} $\ast$ theo\+::decomp\+::decomp\+\_\+t\+::syms (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
gets the symbol table.
\begin{DoxyReturn}{Returns}
the symbol table.
\end{DoxyReturn}
The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
\item
include/decomp/\mbox{\hyperlink{decomp_8hpp}{decomp.\+hpp}}\item
src/decomp/\mbox{\hyperlink{decomp_8cpp}{decomp.\+cpp}}\end{DoxyCompactItemize}