\hypertarget{session__builder__internal_8h}{}\section{src/session\+\_\+builder\+\_\+internal.h File Reference}
\label{session__builder__internal_8h}\index{src/session\+\_\+builder\+\_\+internal.\+h@{src/session\+\_\+builder\+\_\+internal.\+h}}
{\ttfamily \#include $<$stdint.\+h$>$}\newline
{\ttfamily \#include \char`\"{}signal\+\_\+protocol\+\_\+types.\+h\char`\"{}}\newline
Include dependency graph for session\+\_\+builder\+\_\+internal.\+h\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=270pt]{session__builder__internal_8h__incl}
\end{center}
\end{figure}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
int \hyperlink{session__builder__internal_8h_a316181412ae88b322b1c2ceef1f71bee}{session\+\_\+builder\+\_\+process\+\_\+pre\+\_\+key\+\_\+signal\+\_\+message} (\hyperlink{signal__protocol__types_8h_aa997098aa1a29dee93a0e9836abe9e26}{session\+\_\+builder} $\ast$builder, \hyperlink{signal__protocol__types_8h_a727944115f7f956601279c81a821ba90}{session\+\_\+record} $\ast$record, \hyperlink{signal__protocol__types_8h_a8469b9f45a4e727fb35f36a053f0ffe5}{pre\+\_\+key\+\_\+signal\+\_\+message} $\ast$message, \hyperlink{uthash_8h_a435d1572bf3f880d55459d9805097f62}{uint32\+\_\+t} $\ast$unsigned\+\_\+pre\+\_\+key\+\_\+id)
\end{DoxyCompactItemize}


\subsection{Function Documentation}
\mbox{\Hypertarget{session__builder__internal_8h_a316181412ae88b322b1c2ceef1f71bee}\label{session__builder__internal_8h_a316181412ae88b322b1c2ceef1f71bee}} 
\index{session\+\_\+builder\+\_\+internal.\+h@{session\+\_\+builder\+\_\+internal.\+h}!session\+\_\+builder\+\_\+process\+\_\+pre\+\_\+key\+\_\+signal\+\_\+message@{session\+\_\+builder\+\_\+process\+\_\+pre\+\_\+key\+\_\+signal\+\_\+message}}
\index{session\+\_\+builder\+\_\+process\+\_\+pre\+\_\+key\+\_\+signal\+\_\+message@{session\+\_\+builder\+\_\+process\+\_\+pre\+\_\+key\+\_\+signal\+\_\+message}!session\+\_\+builder\+\_\+internal.\+h@{session\+\_\+builder\+\_\+internal.\+h}}
\subsubsection{\texorpdfstring{session\+\_\+builder\+\_\+process\+\_\+pre\+\_\+key\+\_\+signal\+\_\+message()}{session\_builder\_process\_pre\_key\_signal\_message()}}
{\footnotesize\ttfamily int session\+\_\+builder\+\_\+process\+\_\+pre\+\_\+key\+\_\+signal\+\_\+message (\begin{DoxyParamCaption}\item[{\hyperlink{signal__protocol__types_8h_aa997098aa1a29dee93a0e9836abe9e26}{session\+\_\+builder} $\ast$}]{builder,  }\item[{\hyperlink{signal__protocol__types_8h_a727944115f7f956601279c81a821ba90}{session\+\_\+record} $\ast$}]{record,  }\item[{\hyperlink{signal__protocol__types_8h_a8469b9f45a4e727fb35f36a053f0ffe5}{pre\+\_\+key\+\_\+signal\+\_\+message} $\ast$}]{message,  }\item[{\hyperlink{uthash_8h_a435d1572bf3f880d55459d9805097f62}{uint32\+\_\+t} $\ast$}]{unsigned\+\_\+pre\+\_\+key\+\_\+id }\end{DoxyParamCaption})}

Build a new session from a received pre\+\_\+key\+\_\+signal\+\_\+message.

After a session is constructed in this way, the embedded signal\+\_\+message can be decrypted.


\begin{DoxyParams}{Parameters}
{\em message} & The received pre\+\_\+key\+\_\+signal\+\_\+message. \\
\hline
{\em unsigned\+\_\+pre\+\_\+key\+\_\+id} & set to the unsigned pre key ID, if available. Return value indicates whether or not this value is available. \\
\hline
\end{DoxyParams}

\begin{DoxyRetVals}{Return values}
{\em 0} & Success, no unsigned pre key value available \\
\hline
{\em 1} & Success, an unsigned pre key is available \\
\hline
{\em S\+G\+\_\+\+E\+R\+R\+\_\+\+I\+N\+V\+A\+L\+I\+D\+\_\+\+K\+E\+Y\+\_\+\+ID} & when there is no local pre\+\_\+key\+\_\+record that corresponds to the Pre\+Key ID in the message. \\
\hline
{\em S\+G\+\_\+\+E\+R\+R\+\_\+\+I\+N\+V\+A\+L\+I\+D\+\_\+\+K\+EY} & when the message is formatted incorrectly. \\
\hline
{\em S\+G\+\_\+\+E\+R\+R\+\_\+\+U\+N\+T\+R\+U\+S\+T\+E\+D\+\_\+\+I\+D\+E\+N\+T\+I\+TY} & when the identity key of the sender is untrusted. \\
\hline
\end{DoxyRetVals}
