\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 \char `\" { } reloc.\+ hpp\char `\" { } }
\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_ af8abfa7a4f1052308a233629faf39a78} { 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 \mbox { \hyperlink { reloc_ 8hpp_ source_ l00041} { 41} } of file \mbox { \hyperlink { reloc_ 8hpp_ source} { 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 \mbox { \hyperlink { reloc_ 8hpp_ source_ l00052} { 52} } of file \mbox { \hyperlink { reloc_ 8hpp_ source} { reloc.\+ hpp} } .
\begin { DoxyCode} { 0}
\DoxyCodeLine { 00055 : m\_ offset(\mbox { \hyperlink { classtheo_ 1_ 1recomp_ 1_ 1reloc_ _ t_ a537836fcea3326e4269375a1486f0323} { offset} } ), m\_ hash(\mbox { \hyperlink { classtheo_ 1_ 1recomp_ 1_ 1reloc_ _ t_ aa340b2c2d5d1ac7f96a1dbee39f25461} { hash} } ), m\_ sym\_ name(sym\_ name) \{ \} }
\end { DoxyCode}
\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 \mbox { \hyperlink { reloc_ 8hpp_ source_ l00091} { 91} } of file \mbox { \hyperlink { reloc_ 8hpp_ source} { reloc.\+ hpp} } .
\begin { DoxyCode} { 0}
\DoxyCodeLine { 00092 \{ }
\DoxyCodeLine { 00093 m\_ transforms.push\_ back(entry);}
\DoxyCodeLine { 00094 \} }
\end { DoxyCode}
Referenced by \mbox { \hyperlink { gen_ 8hpp_ source_ l00045} { theo\+ ::obf\+ ::transform\+ ::generate()} } .
\mbox { \Hypertarget { classtheo_ 1_ 1recomp_ 1_ 1reloc_ _ t_ af8abfa7a4f1052308a233629faf39a78} \label { classtheo_ 1_ 1recomp_ 1_ 1reloc_ _ t_ af8abfa7a4f1052308a233629faf39a78} }
\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 \mbox { \hyperlink { reloc_ 8hpp_ source_ l00101} { 101} } of file \mbox { \hyperlink { reloc_ 8hpp_ source} { reloc.\+ hpp} } .
\begin { DoxyCode} { 0}
\DoxyCodeLine { 00101 \{ }
\DoxyCodeLine { 00102 \textcolor { keywordflow} { return} m\_ transforms;}
\DoxyCodeLine { 00103 \} }
\end { DoxyCode}
Referenced by \mbox { \hyperlink { gen_ 8hpp_ source_ l00045} { theo\+ ::obf\+ ::transform\+ ::generate()} } , and \mbox { \hyperlink { recomp_ 8cpp_ source_ l00092} { theo\+ ::recomp\+ ::recomp\+ \_ \+ t\+ ::resolve()} } .
\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 \mbox { \hyperlink { reloc_ 8hpp_ source_ l00061} { 61} } of file \mbox { \hyperlink { reloc_ 8hpp_ source} { reloc.\+ hpp} } .
\begin { DoxyCode} { 0}
\DoxyCodeLine { 00061 \{ \textcolor { keywordflow} { return} m\_ hash; \} }
\end { DoxyCode}
Referenced by \mbox { \hyperlink { recomp_ 8cpp_ source_ l00092} { theo\+ ::recomp\+ ::recomp\+ \_ \+ t\+ ::resolve()} } .
\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 \mbox { \hyperlink { reloc_ 8hpp_ source_ l00067} { 67} } of file \mbox { \hyperlink { reloc_ 8hpp_ source} { reloc.\+ hpp} } .
\begin { DoxyCode} { 0}
\DoxyCodeLine { 00067 \{ \textcolor { keywordflow} { return} m\_ sym\_ name; \} }
\end { DoxyCode}
Referenced by \mbox { \hyperlink { recomp_ 8cpp_ source_ l00092} { theo\+ ::recomp\+ ::recomp\+ \_ \+ t\+ ::resolve()} } .
\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 \mbox { \hyperlink { reloc_ 8hpp_ source_ l00075} { 75} } of file \mbox { \hyperlink { reloc_ 8hpp_ source} { reloc.\+ hpp} } .
\begin { DoxyCode} { 0}
\DoxyCodeLine { 00075 \{ \textcolor { keywordflow} { return} m\_ offset; \} }
\end { DoxyCode}
Referenced by \mbox { \hyperlink { recomp_ 8cpp_ source_ l00092} { theo\+ ::recomp\+ ::recomp\+ \_ \+ t\+ ::resolve()} } .
\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 \mbox { \hyperlink { reloc_ 8hpp_ source_ l00082} { 82} } of file \mbox { \hyperlink { reloc_ 8hpp_ source} { reloc.\+ hpp} } .
\begin { DoxyCode} { 0}
\DoxyCodeLine { 00082 \{ m\_ offset = \mbox { \hyperlink { classtheo_ 1_ 1recomp_ 1_ 1reloc_ _ t_ a537836fcea3326e4269375a1486f0323} { offset} } ; \} }
\end { DoxyCode}
References \mbox { \hyperlink { reloc_ 8hpp_ source_ l00082} { offset()} } .
Referenced by \mbox { \hyperlink { reloc_ 8hpp_ source_ l00082} { offset()} } .
The documentation for this class was generated from the following file\+ :\begin { DoxyCompactItemize}
\item
include/recomp/\mbox { \hyperlink { reloc_ 8hpp} { reloc.\+ hpp} } \end { DoxyCompactItemize}