\hypertarget{classtheo_1_1recomp_1_1reloc__t}{}\doxysection{theo\+::recomp\+::reloc\+\_\+t Class Reference} \label{classtheo_1_1recomp_1_1reloc__t}\index{theo::recomp::reloc\_t@{theo::recomp::reloc\_t}} meta data about a relocation for a symbol {\ttfamily \#include $<$reloc.\+hpp$>$} \doxysubsection*{Public Member Functions} \begin{DoxyCompactItemize} \item \mbox{\hyperlink{classtheo_1_1recomp_1_1reloc__t_a7cb1cf1c58a6f3cdf7ae326d65948548}{reloc\+\_\+t}} (std\+::uint32\+\_\+t \mbox{\hyperlink{classtheo_1_1recomp_1_1reloc__t_a537836fcea3326e4269375a1486f0323}{offset}}, std\+::size\+\_\+t \mbox{\hyperlink{classtheo_1_1recomp_1_1reloc__t_aa340b2c2d5d1ac7f96a1dbee39f25461}{hash}}, const std\+::string \&\&sym\+\_\+name) \begin{DoxyCompactList}\small\item\em explicit constructor for this class. \end{DoxyCompactList}\item std\+::size\+\_\+t \mbox{\hyperlink{classtheo_1_1recomp_1_1reloc__t_aa340b2c2d5d1ac7f96a1dbee39f25461}{hash}} () \begin{DoxyCompactList}\small\item\em returns the hash of the relocation symbol. \end{DoxyCompactList}\item std\+::string \mbox{\hyperlink{classtheo_1_1recomp_1_1reloc__t_aa181755df50bc566b164072b21788fec}{name}} () \begin{DoxyCompactList}\small\item\em returns the name of the relocation symbol. \end{DoxyCompactList}\item std\+::uint32\+\_\+t \mbox{\hyperlink{classtheo_1_1recomp_1_1reloc__t_a537836fcea3326e4269375a1486f0323}{offset}} () \begin{DoxyCompactList}\small\item\em returns the offset into the symbol to which the relocation will be applied. the offset is in bytes. zero based. \end{DoxyCompactList}\item void \mbox{\hyperlink{classtheo_1_1recomp_1_1reloc__t_a99e65270ace1ff4f080bd4040c8a43dd}{offset}} (std\+::uint32\+\_\+t offset) \begin{DoxyCompactList}\small\item\em sets the offset to which the relocation gets applied too. \end{DoxyCompactList}\item void \mbox{\hyperlink{classtheo_1_1recomp_1_1reloc__t_ab5214a9ff9135672e25f40406c37fb10}{add\+\_\+transform}} (std\+::pair$<$ \mbox{\hyperlink{namespacetheo_1_1obf_1_1transform_a875984c1ce09aa998fe48cca55270ecc}{obf\+::transform\+::transform\+\_\+t}} $\ast$, std\+::uint32\+\_\+t $>$ entry) \begin{DoxyCompactList}\small\item\em adds a transformation to be applied to the relocation prior to writing it into the symbol. \end{DoxyCompactList}\item std\+::vector$<$ std\+::pair$<$ \mbox{\hyperlink{namespacetheo_1_1obf_1_1transform_a875984c1ce09aa998fe48cca55270ecc}{obf\+::transform\+::transform\+\_\+t}} $\ast$, std\+::uint32\+\_\+t $>$ $>$ \& \mbox{\hyperlink{classtheo_1_1recomp_1_1reloc__t_ad49901bf8b6b0e3963e64d17d4b51aec}{get\+\_\+transforms}} () \begin{DoxyCompactList}\small\item\em gets the vector of transformation. \end{DoxyCompactList}\end{DoxyCompactItemize} \doxysubsection{Detailed Description} meta data about a relocation for a symbol Definition at line 41 of file reloc.\+hpp. \doxysubsection{Constructor \& Destructor Documentation} \mbox{\Hypertarget{classtheo_1_1recomp_1_1reloc__t_a7cb1cf1c58a6f3cdf7ae326d65948548}\label{classtheo_1_1recomp_1_1reloc__t_a7cb1cf1c58a6f3cdf7ae326d65948548}} \index{theo::recomp::reloc\_t@{theo::recomp::reloc\_t}!reloc\_t@{reloc\_t}} \index{reloc\_t@{reloc\_t}!theo::recomp::reloc\_t@{theo::recomp::reloc\_t}} \doxysubsubsection{\texorpdfstring{reloc\_t()}{reloc\_t()}} {\footnotesize\ttfamily theo\+::recomp\+::reloc\+\_\+t\+::reloc\+\_\+t (\begin{DoxyParamCaption}\item[{std\+::uint32\+\_\+t}]{offset, }\item[{std\+::size\+\_\+t}]{hash, }\item[{const std\+::string \&\&}]{sym\+\_\+name }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [explicit]}} explicit constructor for this class. \begin{DoxyParams}{Parameters} {\em offset} & offset into the symbol data where the relocation is at. all relocations are assumed to be linear virtual addresses of the symbol.\\ \hline {\em hash} & hash of the symbol to which the relocation is of.\\ \hline {\em sym\+\_\+name} & the name of the symbol to which the relocation is of.\\ \hline \end{DoxyParams} Definition at line 52 of file reloc.\+hpp. \doxysubsection{Member Function Documentation} \mbox{\Hypertarget{classtheo_1_1recomp_1_1reloc__t_ab5214a9ff9135672e25f40406c37fb10}\label{classtheo_1_1recomp_1_1reloc__t_ab5214a9ff9135672e25f40406c37fb10}} \index{theo::recomp::reloc\_t@{theo::recomp::reloc\_t}!add\_transform@{add\_transform}} \index{add\_transform@{add\_transform}!theo::recomp::reloc\_t@{theo::recomp::reloc\_t}} \doxysubsubsection{\texorpdfstring{add\_transform()}{add\_transform()}} {\footnotesize\ttfamily void theo\+::recomp\+::reloc\+\_\+t\+::add\+\_\+transform (\begin{DoxyParamCaption}\item[{std\+::pair$<$ \mbox{\hyperlink{namespacetheo_1_1obf_1_1transform_a875984c1ce09aa998fe48cca55270ecc}{obf\+::transform\+::transform\+\_\+t}} $\ast$, std\+::uint32\+\_\+t $>$}]{entry }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} adds a transformation to be applied to the relocation prior to writing it into the symbol. \begin{DoxyParams}{Parameters} {\em entry} & a pair containing a lambda function that when executed transforms a relocation. the second value in the pair is a random value which is passed to the lambda.\\ \hline \end{DoxyParams} Definition at line 91 of file reloc.\+hpp. Here is the caller graph for this function\+: % FIG 0 \mbox{\Hypertarget{classtheo_1_1recomp_1_1reloc__t_ad49901bf8b6b0e3963e64d17d4b51aec}\label{classtheo_1_1recomp_1_1reloc__t_ad49901bf8b6b0e3963e64d17d4b51aec}} \index{theo::recomp::reloc\_t@{theo::recomp::reloc\_t}!get\_transforms@{get\_transforms}} \index{get\_transforms@{get\_transforms}!theo::recomp::reloc\_t@{theo::recomp::reloc\_t}} \doxysubsubsection{\texorpdfstring{get\_transforms()}{get\_transforms()}} {\footnotesize\ttfamily std\+::vector$<$std\+::pair$<$\mbox{\hyperlink{namespacetheo_1_1obf_1_1transform_a875984c1ce09aa998fe48cca55270ecc}{obf\+::transform\+::transform\+\_\+t}}$\ast$, std\+::uint32\+\_\+t$>$ $>$\& theo\+::recomp\+::reloc\+\_\+t\+::get\+\_\+transforms (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} gets the vector of transformation. \begin{DoxyReturn}{Returns} returns the vector of transformations. \end{DoxyReturn} Definition at line 101 of file reloc.\+hpp. Here is the caller graph for this function\+: % FIG 1 \mbox{\Hypertarget{classtheo_1_1recomp_1_1reloc__t_aa340b2c2d5d1ac7f96a1dbee39f25461}\label{classtheo_1_1recomp_1_1reloc__t_aa340b2c2d5d1ac7f96a1dbee39f25461}} \index{theo::recomp::reloc\_t@{theo::recomp::reloc\_t}!hash@{hash}} \index{hash@{hash}!theo::recomp::reloc\_t@{theo::recomp::reloc\_t}} \doxysubsubsection{\texorpdfstring{hash()}{hash()}} {\footnotesize\ttfamily std\+::size\+\_\+t theo\+::recomp\+::reloc\+\_\+t\+::hash (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} returns the hash of the relocation symbol. \begin{DoxyReturn}{Returns} hash of the relocation symbol \end{DoxyReturn} Definition at line 61 of file reloc.\+hpp. \mbox{\Hypertarget{classtheo_1_1recomp_1_1reloc__t_aa181755df50bc566b164072b21788fec}\label{classtheo_1_1recomp_1_1reloc__t_aa181755df50bc566b164072b21788fec}} \index{theo::recomp::reloc\_t@{theo::recomp::reloc\_t}!name@{name}} \index{name@{name}!theo::recomp::reloc\_t@{theo::recomp::reloc\_t}} \doxysubsubsection{\texorpdfstring{name()}{name()}} {\footnotesize\ttfamily std\+::string theo\+::recomp\+::reloc\+\_\+t\+::name (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} returns the name of the relocation symbol. \begin{DoxyReturn}{Returns} returns the name of the relocation symbol. \end{DoxyReturn} Definition at line 67 of file reloc.\+hpp. \mbox{\Hypertarget{classtheo_1_1recomp_1_1reloc__t_a537836fcea3326e4269375a1486f0323}\label{classtheo_1_1recomp_1_1reloc__t_a537836fcea3326e4269375a1486f0323}} \index{theo::recomp::reloc\_t@{theo::recomp::reloc\_t}!offset@{offset}} \index{offset@{offset}!theo::recomp::reloc\_t@{theo::recomp::reloc\_t}} \doxysubsubsection{\texorpdfstring{offset()}{offset()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}} {\footnotesize\ttfamily std\+::uint32\+\_\+t theo\+::recomp\+::reloc\+\_\+t\+::offset (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} returns the offset into the symbol to which the relocation will be applied. the offset is in bytes. zero based. \begin{DoxyReturn}{Returns} returns the offset into the symbol to which the relocation will be applied. the offset is in bytes. zero based. \end{DoxyReturn} Definition at line 75 of file reloc.\+hpp. \mbox{\Hypertarget{classtheo_1_1recomp_1_1reloc__t_a99e65270ace1ff4f080bd4040c8a43dd}\label{classtheo_1_1recomp_1_1reloc__t_a99e65270ace1ff4f080bd4040c8a43dd}} \index{theo::recomp::reloc\_t@{theo::recomp::reloc\_t}!offset@{offset}} \index{offset@{offset}!theo::recomp::reloc\_t@{theo::recomp::reloc\_t}} \doxysubsubsection{\texorpdfstring{offset()}{offset()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}} {\footnotesize\ttfamily void theo\+::recomp\+::reloc\+\_\+t\+::offset (\begin{DoxyParamCaption}\item[{std\+::uint32\+\_\+t}]{offset }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} sets the offset to which the relocation gets applied too. \begin{DoxyParams}{Parameters} {\em offset} & offset to which the relocation gets applied too.\\ \hline \end{DoxyParams} Definition at line 82 of file reloc.\+hpp. Here is the call graph for this function\+: % FIG 2 Here is the caller graph for this function\+: % FIG 3 The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize} \item include/recomp/\mbox{\hyperlink{reloc_8hpp}{reloc.\+hpp}}\end{DoxyCompactItemize}