\hypertarget{sender__key_8h}{}\section{src/sender\+\_\+key.h File Reference}
\label{sender__key_8h}\index{src/sender\+\_\+key.\+h@{src/sender\+\_\+key.\+h}}
{\ttfamily \#include $<$stdint.\+h$>$}\newline
{\ttfamily \#include $<$stddef.\+h$>$}\newline
{\ttfamily \#include \char`\"{}signal\+\_\+protocol\+\_\+types.\+h\char`\"{}}\newline
Include dependency graph for sender\+\_\+key.\+h\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=290pt]{sender__key_8h__incl}
\end{center}
\end{figure}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
int \hyperlink{sender__key_8h_ab599f328bb77f3a49f59f71c572e8548}{sender\+\_\+message\+\_\+key\+\_\+create} (\hyperlink{signal__protocol__types_8h_a6fd6305189c8312563629acaefb2b24d}{sender\+\_\+message\+\_\+key} $\ast$$\ast$key, \hyperlink{uthash_8h_a435d1572bf3f880d55459d9805097f62}{uint32\+\_\+t} iteration, \hyperlink{structsignal__buffer}{signal\+\_\+buffer} $\ast$seed, \hyperlink{structsignal__context}{signal\+\_\+context} $\ast$global\+\_\+context)
\item 
\hyperlink{uthash_8h_a435d1572bf3f880d55459d9805097f62}{uint32\+\_\+t} \hyperlink{sender__key_8h_a6a3c6f0de1a899dbbe08be5dc3e2152a}{sender\+\_\+message\+\_\+key\+\_\+get\+\_\+iteration} (\hyperlink{signal__protocol__types_8h_a6fd6305189c8312563629acaefb2b24d}{sender\+\_\+message\+\_\+key} $\ast$key)
\item 
\hyperlink{structsignal__buffer}{signal\+\_\+buffer} $\ast$ \hyperlink{sender__key_8h_a10119005e24d2b1e2aa407dcb748f8b0}{sender\+\_\+message\+\_\+key\+\_\+get\+\_\+iv} (\hyperlink{signal__protocol__types_8h_a6fd6305189c8312563629acaefb2b24d}{sender\+\_\+message\+\_\+key} $\ast$key)
\item 
\hyperlink{structsignal__buffer}{signal\+\_\+buffer} $\ast$ \hyperlink{sender__key_8h_abc7bf7ce420d7e940c1d73675d418e8c}{sender\+\_\+message\+\_\+key\+\_\+get\+\_\+cipher\+\_\+key} (\hyperlink{signal__protocol__types_8h_a6fd6305189c8312563629acaefb2b24d}{sender\+\_\+message\+\_\+key} $\ast$key)
\item 
\hyperlink{structsignal__buffer}{signal\+\_\+buffer} $\ast$ \hyperlink{sender__key_8h_a506cdcf28338ab081b23fd7561ee5eb7}{sender\+\_\+message\+\_\+key\+\_\+get\+\_\+seed} (\hyperlink{signal__protocol__types_8h_a6fd6305189c8312563629acaefb2b24d}{sender\+\_\+message\+\_\+key} $\ast$key)
\item 
void \hyperlink{sender__key_8h_a4b0f29118770cfb0bbac2f77e187ab81}{sender\+\_\+message\+\_\+key\+\_\+destroy} (\hyperlink{structsignal__type__base}{signal\+\_\+type\+\_\+base} $\ast$type)
\item 
int \hyperlink{sender__key_8h_a85fe6f437beafc1d0b7f0455afefa554}{sender\+\_\+chain\+\_\+key\+\_\+create} (\hyperlink{signal__protocol__types_8h_a733314dddb4e6c4ed334d4a0e4ee6837}{sender\+\_\+chain\+\_\+key} $\ast$$\ast$key, \hyperlink{uthash_8h_a435d1572bf3f880d55459d9805097f62}{uint32\+\_\+t} iteration, \hyperlink{structsignal__buffer}{signal\+\_\+buffer} $\ast$chain\+\_\+key, \hyperlink{structsignal__context}{signal\+\_\+context} $\ast$global\+\_\+context)
\item 
\hyperlink{uthash_8h_a435d1572bf3f880d55459d9805097f62}{uint32\+\_\+t} \hyperlink{sender__key_8h_a99579d4d85e7cc47152a860fbf6a7fda}{sender\+\_\+chain\+\_\+key\+\_\+get\+\_\+iteration} (\hyperlink{signal__protocol__types_8h_a733314dddb4e6c4ed334d4a0e4ee6837}{sender\+\_\+chain\+\_\+key} $\ast$key)
\item 
int \hyperlink{sender__key_8h_a17450c17b4fce2d2ba3d563e02f77cd9}{sender\+\_\+chain\+\_\+key\+\_\+create\+\_\+message\+\_\+key} (\hyperlink{signal__protocol__types_8h_a733314dddb4e6c4ed334d4a0e4ee6837}{sender\+\_\+chain\+\_\+key} $\ast$key, \hyperlink{signal__protocol__types_8h_a6fd6305189c8312563629acaefb2b24d}{sender\+\_\+message\+\_\+key} $\ast$$\ast$message\+\_\+key)
\item 
int \hyperlink{sender__key_8h_a5eddb793a8e0b8aae4bd7ec9bf7a15b7}{sender\+\_\+chain\+\_\+key\+\_\+create\+\_\+next} (\hyperlink{signal__protocol__types_8h_a733314dddb4e6c4ed334d4a0e4ee6837}{sender\+\_\+chain\+\_\+key} $\ast$key, \hyperlink{signal__protocol__types_8h_a733314dddb4e6c4ed334d4a0e4ee6837}{sender\+\_\+chain\+\_\+key} $\ast$$\ast$next\+\_\+key)
\item 
\hyperlink{structsignal__buffer}{signal\+\_\+buffer} $\ast$ \hyperlink{sender__key_8h_a069dcab6efc4e89c2a3d1176d205fb7f}{sender\+\_\+chain\+\_\+key\+\_\+get\+\_\+seed} (\hyperlink{signal__protocol__types_8h_a733314dddb4e6c4ed334d4a0e4ee6837}{sender\+\_\+chain\+\_\+key} $\ast$key)
\item 
void \hyperlink{sender__key_8h_a28936e132ddd02d78b8a49d268f52f88}{sender\+\_\+chain\+\_\+key\+\_\+destroy} (\hyperlink{structsignal__type__base}{signal\+\_\+type\+\_\+base} $\ast$type)
\end{DoxyCompactItemize}


\subsection{Function Documentation}
\mbox{\Hypertarget{sender__key_8h_a85fe6f437beafc1d0b7f0455afefa554}\label{sender__key_8h_a85fe6f437beafc1d0b7f0455afefa554}} 
\index{sender\+\_\+key.\+h@{sender\+\_\+key.\+h}!sender\+\_\+chain\+\_\+key\+\_\+create@{sender\+\_\+chain\+\_\+key\+\_\+create}}
\index{sender\+\_\+chain\+\_\+key\+\_\+create@{sender\+\_\+chain\+\_\+key\+\_\+create}!sender\+\_\+key.\+h@{sender\+\_\+key.\+h}}
\subsubsection{\texorpdfstring{sender\+\_\+chain\+\_\+key\+\_\+create()}{sender\_chain\_key\_create()}}
{\footnotesize\ttfamily int sender\+\_\+chain\+\_\+key\+\_\+create (\begin{DoxyParamCaption}\item[{\hyperlink{signal__protocol__types_8h_a733314dddb4e6c4ed334d4a0e4ee6837}{sender\+\_\+chain\+\_\+key} $\ast$$\ast$}]{key,  }\item[{\hyperlink{uthash_8h_a435d1572bf3f880d55459d9805097f62}{uint32\+\_\+t}}]{iteration,  }\item[{\hyperlink{structsignal__buffer}{signal\+\_\+buffer} $\ast$}]{chain\+\_\+key,  }\item[{\hyperlink{structsignal__context}{signal\+\_\+context} $\ast$}]{global\+\_\+context }\end{DoxyParamCaption})}

\mbox{\Hypertarget{sender__key_8h_a17450c17b4fce2d2ba3d563e02f77cd9}\label{sender__key_8h_a17450c17b4fce2d2ba3d563e02f77cd9}} 
\index{sender\+\_\+key.\+h@{sender\+\_\+key.\+h}!sender\+\_\+chain\+\_\+key\+\_\+create\+\_\+message\+\_\+key@{sender\+\_\+chain\+\_\+key\+\_\+create\+\_\+message\+\_\+key}}
\index{sender\+\_\+chain\+\_\+key\+\_\+create\+\_\+message\+\_\+key@{sender\+\_\+chain\+\_\+key\+\_\+create\+\_\+message\+\_\+key}!sender\+\_\+key.\+h@{sender\+\_\+key.\+h}}
\subsubsection{\texorpdfstring{sender\+\_\+chain\+\_\+key\+\_\+create\+\_\+message\+\_\+key()}{sender\_chain\_key\_create\_message\_key()}}
{\footnotesize\ttfamily int sender\+\_\+chain\+\_\+key\+\_\+create\+\_\+message\+\_\+key (\begin{DoxyParamCaption}\item[{\hyperlink{signal__protocol__types_8h_a733314dddb4e6c4ed334d4a0e4ee6837}{sender\+\_\+chain\+\_\+key} $\ast$}]{key,  }\item[{\hyperlink{signal__protocol__types_8h_a6fd6305189c8312563629acaefb2b24d}{sender\+\_\+message\+\_\+key} $\ast$$\ast$}]{message\+\_\+key }\end{DoxyParamCaption})}

\mbox{\Hypertarget{sender__key_8h_a5eddb793a8e0b8aae4bd7ec9bf7a15b7}\label{sender__key_8h_a5eddb793a8e0b8aae4bd7ec9bf7a15b7}} 
\index{sender\+\_\+key.\+h@{sender\+\_\+key.\+h}!sender\+\_\+chain\+\_\+key\+\_\+create\+\_\+next@{sender\+\_\+chain\+\_\+key\+\_\+create\+\_\+next}}
\index{sender\+\_\+chain\+\_\+key\+\_\+create\+\_\+next@{sender\+\_\+chain\+\_\+key\+\_\+create\+\_\+next}!sender\+\_\+key.\+h@{sender\+\_\+key.\+h}}
\subsubsection{\texorpdfstring{sender\+\_\+chain\+\_\+key\+\_\+create\+\_\+next()}{sender\_chain\_key\_create\_next()}}
{\footnotesize\ttfamily int sender\+\_\+chain\+\_\+key\+\_\+create\+\_\+next (\begin{DoxyParamCaption}\item[{\hyperlink{signal__protocol__types_8h_a733314dddb4e6c4ed334d4a0e4ee6837}{sender\+\_\+chain\+\_\+key} $\ast$}]{key,  }\item[{\hyperlink{signal__protocol__types_8h_a733314dddb4e6c4ed334d4a0e4ee6837}{sender\+\_\+chain\+\_\+key} $\ast$$\ast$}]{next\+\_\+key }\end{DoxyParamCaption})}

\mbox{\Hypertarget{sender__key_8h_a28936e132ddd02d78b8a49d268f52f88}\label{sender__key_8h_a28936e132ddd02d78b8a49d268f52f88}} 
\index{sender\+\_\+key.\+h@{sender\+\_\+key.\+h}!sender\+\_\+chain\+\_\+key\+\_\+destroy@{sender\+\_\+chain\+\_\+key\+\_\+destroy}}
\index{sender\+\_\+chain\+\_\+key\+\_\+destroy@{sender\+\_\+chain\+\_\+key\+\_\+destroy}!sender\+\_\+key.\+h@{sender\+\_\+key.\+h}}
\subsubsection{\texorpdfstring{sender\+\_\+chain\+\_\+key\+\_\+destroy()}{sender\_chain\_key\_destroy()}}
{\footnotesize\ttfamily void sender\+\_\+chain\+\_\+key\+\_\+destroy (\begin{DoxyParamCaption}\item[{\hyperlink{structsignal__type__base}{signal\+\_\+type\+\_\+base} $\ast$}]{type }\end{DoxyParamCaption})}

\mbox{\Hypertarget{sender__key_8h_a99579d4d85e7cc47152a860fbf6a7fda}\label{sender__key_8h_a99579d4d85e7cc47152a860fbf6a7fda}} 
\index{sender\+\_\+key.\+h@{sender\+\_\+key.\+h}!sender\+\_\+chain\+\_\+key\+\_\+get\+\_\+iteration@{sender\+\_\+chain\+\_\+key\+\_\+get\+\_\+iteration}}
\index{sender\+\_\+chain\+\_\+key\+\_\+get\+\_\+iteration@{sender\+\_\+chain\+\_\+key\+\_\+get\+\_\+iteration}!sender\+\_\+key.\+h@{sender\+\_\+key.\+h}}
\subsubsection{\texorpdfstring{sender\+\_\+chain\+\_\+key\+\_\+get\+\_\+iteration()}{sender\_chain\_key\_get\_iteration()}}
{\footnotesize\ttfamily \hyperlink{uthash_8h_a435d1572bf3f880d55459d9805097f62}{uint32\+\_\+t} sender\+\_\+chain\+\_\+key\+\_\+get\+\_\+iteration (\begin{DoxyParamCaption}\item[{\hyperlink{signal__protocol__types_8h_a733314dddb4e6c4ed334d4a0e4ee6837}{sender\+\_\+chain\+\_\+key} $\ast$}]{key }\end{DoxyParamCaption})}

\mbox{\Hypertarget{sender__key_8h_a069dcab6efc4e89c2a3d1176d205fb7f}\label{sender__key_8h_a069dcab6efc4e89c2a3d1176d205fb7f}} 
\index{sender\+\_\+key.\+h@{sender\+\_\+key.\+h}!sender\+\_\+chain\+\_\+key\+\_\+get\+\_\+seed@{sender\+\_\+chain\+\_\+key\+\_\+get\+\_\+seed}}
\index{sender\+\_\+chain\+\_\+key\+\_\+get\+\_\+seed@{sender\+\_\+chain\+\_\+key\+\_\+get\+\_\+seed}!sender\+\_\+key.\+h@{sender\+\_\+key.\+h}}
\subsubsection{\texorpdfstring{sender\+\_\+chain\+\_\+key\+\_\+get\+\_\+seed()}{sender\_chain\_key\_get\_seed()}}
{\footnotesize\ttfamily \hyperlink{structsignal__buffer}{signal\+\_\+buffer}$\ast$ sender\+\_\+chain\+\_\+key\+\_\+get\+\_\+seed (\begin{DoxyParamCaption}\item[{\hyperlink{signal__protocol__types_8h_a733314dddb4e6c4ed334d4a0e4ee6837}{sender\+\_\+chain\+\_\+key} $\ast$}]{key }\end{DoxyParamCaption})}

\mbox{\Hypertarget{sender__key_8h_ab599f328bb77f3a49f59f71c572e8548}\label{sender__key_8h_ab599f328bb77f3a49f59f71c572e8548}} 
\index{sender\+\_\+key.\+h@{sender\+\_\+key.\+h}!sender\+\_\+message\+\_\+key\+\_\+create@{sender\+\_\+message\+\_\+key\+\_\+create}}
\index{sender\+\_\+message\+\_\+key\+\_\+create@{sender\+\_\+message\+\_\+key\+\_\+create}!sender\+\_\+key.\+h@{sender\+\_\+key.\+h}}
\subsubsection{\texorpdfstring{sender\+\_\+message\+\_\+key\+\_\+create()}{sender\_message\_key\_create()}}
{\footnotesize\ttfamily int sender\+\_\+message\+\_\+key\+\_\+create (\begin{DoxyParamCaption}\item[{\hyperlink{signal__protocol__types_8h_a6fd6305189c8312563629acaefb2b24d}{sender\+\_\+message\+\_\+key} $\ast$$\ast$}]{key,  }\item[{\hyperlink{uthash_8h_a435d1572bf3f880d55459d9805097f62}{uint32\+\_\+t}}]{iteration,  }\item[{\hyperlink{structsignal__buffer}{signal\+\_\+buffer} $\ast$}]{seed,  }\item[{\hyperlink{structsignal__context}{signal\+\_\+context} $\ast$}]{global\+\_\+context }\end{DoxyParamCaption})}

\mbox{\Hypertarget{sender__key_8h_a4b0f29118770cfb0bbac2f77e187ab81}\label{sender__key_8h_a4b0f29118770cfb0bbac2f77e187ab81}} 
\index{sender\+\_\+key.\+h@{sender\+\_\+key.\+h}!sender\+\_\+message\+\_\+key\+\_\+destroy@{sender\+\_\+message\+\_\+key\+\_\+destroy}}
\index{sender\+\_\+message\+\_\+key\+\_\+destroy@{sender\+\_\+message\+\_\+key\+\_\+destroy}!sender\+\_\+key.\+h@{sender\+\_\+key.\+h}}
\subsubsection{\texorpdfstring{sender\+\_\+message\+\_\+key\+\_\+destroy()}{sender\_message\_key\_destroy()}}
{\footnotesize\ttfamily void sender\+\_\+message\+\_\+key\+\_\+destroy (\begin{DoxyParamCaption}\item[{\hyperlink{structsignal__type__base}{signal\+\_\+type\+\_\+base} $\ast$}]{type }\end{DoxyParamCaption})}

\mbox{\Hypertarget{sender__key_8h_abc7bf7ce420d7e940c1d73675d418e8c}\label{sender__key_8h_abc7bf7ce420d7e940c1d73675d418e8c}} 
\index{sender\+\_\+key.\+h@{sender\+\_\+key.\+h}!sender\+\_\+message\+\_\+key\+\_\+get\+\_\+cipher\+\_\+key@{sender\+\_\+message\+\_\+key\+\_\+get\+\_\+cipher\+\_\+key}}
\index{sender\+\_\+message\+\_\+key\+\_\+get\+\_\+cipher\+\_\+key@{sender\+\_\+message\+\_\+key\+\_\+get\+\_\+cipher\+\_\+key}!sender\+\_\+key.\+h@{sender\+\_\+key.\+h}}
\subsubsection{\texorpdfstring{sender\+\_\+message\+\_\+key\+\_\+get\+\_\+cipher\+\_\+key()}{sender\_message\_key\_get\_cipher\_key()}}
{\footnotesize\ttfamily \hyperlink{structsignal__buffer}{signal\+\_\+buffer}$\ast$ sender\+\_\+message\+\_\+key\+\_\+get\+\_\+cipher\+\_\+key (\begin{DoxyParamCaption}\item[{\hyperlink{signal__protocol__types_8h_a6fd6305189c8312563629acaefb2b24d}{sender\+\_\+message\+\_\+key} $\ast$}]{key }\end{DoxyParamCaption})}

\mbox{\Hypertarget{sender__key_8h_a6a3c6f0de1a899dbbe08be5dc3e2152a}\label{sender__key_8h_a6a3c6f0de1a899dbbe08be5dc3e2152a}} 
\index{sender\+\_\+key.\+h@{sender\+\_\+key.\+h}!sender\+\_\+message\+\_\+key\+\_\+get\+\_\+iteration@{sender\+\_\+message\+\_\+key\+\_\+get\+\_\+iteration}}
\index{sender\+\_\+message\+\_\+key\+\_\+get\+\_\+iteration@{sender\+\_\+message\+\_\+key\+\_\+get\+\_\+iteration}!sender\+\_\+key.\+h@{sender\+\_\+key.\+h}}
\subsubsection{\texorpdfstring{sender\+\_\+message\+\_\+key\+\_\+get\+\_\+iteration()}{sender\_message\_key\_get\_iteration()}}
{\footnotesize\ttfamily \hyperlink{uthash_8h_a435d1572bf3f880d55459d9805097f62}{uint32\+\_\+t} sender\+\_\+message\+\_\+key\+\_\+get\+\_\+iteration (\begin{DoxyParamCaption}\item[{\hyperlink{signal__protocol__types_8h_a6fd6305189c8312563629acaefb2b24d}{sender\+\_\+message\+\_\+key} $\ast$}]{key }\end{DoxyParamCaption})}

\mbox{\Hypertarget{sender__key_8h_a10119005e24d2b1e2aa407dcb748f8b0}\label{sender__key_8h_a10119005e24d2b1e2aa407dcb748f8b0}} 
\index{sender\+\_\+key.\+h@{sender\+\_\+key.\+h}!sender\+\_\+message\+\_\+key\+\_\+get\+\_\+iv@{sender\+\_\+message\+\_\+key\+\_\+get\+\_\+iv}}
\index{sender\+\_\+message\+\_\+key\+\_\+get\+\_\+iv@{sender\+\_\+message\+\_\+key\+\_\+get\+\_\+iv}!sender\+\_\+key.\+h@{sender\+\_\+key.\+h}}
\subsubsection{\texorpdfstring{sender\+\_\+message\+\_\+key\+\_\+get\+\_\+iv()}{sender\_message\_key\_get\_iv()}}
{\footnotesize\ttfamily \hyperlink{structsignal__buffer}{signal\+\_\+buffer}$\ast$ sender\+\_\+message\+\_\+key\+\_\+get\+\_\+iv (\begin{DoxyParamCaption}\item[{\hyperlink{signal__protocol__types_8h_a6fd6305189c8312563629acaefb2b24d}{sender\+\_\+message\+\_\+key} $\ast$}]{key }\end{DoxyParamCaption})}

\mbox{\Hypertarget{sender__key_8h_a506cdcf28338ab081b23fd7561ee5eb7}\label{sender__key_8h_a506cdcf28338ab081b23fd7561ee5eb7}} 
\index{sender\+\_\+key.\+h@{sender\+\_\+key.\+h}!sender\+\_\+message\+\_\+key\+\_\+get\+\_\+seed@{sender\+\_\+message\+\_\+key\+\_\+get\+\_\+seed}}
\index{sender\+\_\+message\+\_\+key\+\_\+get\+\_\+seed@{sender\+\_\+message\+\_\+key\+\_\+get\+\_\+seed}!sender\+\_\+key.\+h@{sender\+\_\+key.\+h}}
\subsubsection{\texorpdfstring{sender\+\_\+message\+\_\+key\+\_\+get\+\_\+seed()}{sender\_message\_key\_get\_seed()}}
{\footnotesize\ttfamily \hyperlink{structsignal__buffer}{signal\+\_\+buffer}$\ast$ sender\+\_\+message\+\_\+key\+\_\+get\+\_\+seed (\begin{DoxyParamCaption}\item[{\hyperlink{signal__protocol__types_8h_a6fd6305189c8312563629acaefb2b24d}{sender\+\_\+message\+\_\+key} $\ast$}]{key }\end{DoxyParamCaption})}

