\hypertarget{test__common_8h}{}\section{tests/test\+\_\+common.h File Reference}
\label{test__common_8h}\index{tests/test\+\_\+common.\+h@{tests/test\+\_\+common.\+h}}
{\ttfamily \#include $<$stdint.\+h$>$}\newline
{\ttfamily \#include $<$stddef.\+h$>$}\newline
{\ttfamily \#include \char`\"{}../src/signal\+\_\+protocol.\+h\char`\"{}}\newline
Include dependency graph for test\+\_\+common.\+h\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{test__common_8h__incl}
\end{center}
\end{figure}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
void \hyperlink{test__common_8h_aee0b6bd7082795ee0ee94eb092d2fe1e}{print\+\_\+public\+\_\+key} (const char $\ast$prefix, \hyperlink{signal__protocol__types_8h_a73ea701c5087163bba608c4706df6176}{ec\+\_\+public\+\_\+key} $\ast$key)
\item 
void \hyperlink{test__common_8h_a0ac1ad2cd6a6170f32cb75d209eecfe3}{print\+\_\+buffer} (const char $\ast$prefix, \hyperlink{structsignal__buffer}{signal\+\_\+buffer} $\ast$buffer)
\item 
void \hyperlink{test__common_8h_a344478198bce1bd273b813d88d573b99}{shuffle\+\_\+buffers} (\hyperlink{structsignal__buffer}{signal\+\_\+buffer} $\ast$$\ast$array, size\+\_\+t n)
\item 
void \hyperlink{test__common_8h_a1f6f143d7b0f8ae00097a7a6687d064a}{shuffle\+\_\+ec\+\_\+public\+\_\+keys} (\hyperlink{signal__protocol__types_8h_a73ea701c5087163bba608c4706df6176}{ec\+\_\+public\+\_\+key} $\ast$$\ast$array, size\+\_\+t n)
\item 
\hyperlink{signal__protocol__types_8h_a73ea701c5087163bba608c4706df6176}{ec\+\_\+public\+\_\+key} $\ast$ \hyperlink{test__common_8h_ae31da49813d7ce445a2c01dcbdefa766}{create\+\_\+test\+\_\+ec\+\_\+public\+\_\+key} (\hyperlink{structsignal__context}{signal\+\_\+context} $\ast$context)
\item 
\hyperlink{signal__protocol__types_8h_a06d963e532f25681dd462897f844205d}{ec\+\_\+private\+\_\+key} $\ast$ \hyperlink{test__common_8h_a9e85adf2ca5c0f4732112d93a90efbe5}{create\+\_\+test\+\_\+ec\+\_\+private\+\_\+key} (\hyperlink{structsignal__context}{signal\+\_\+context} $\ast$context)
\item 
void \hyperlink{test__common_8h_a1aea68b8162cdd90f04c6c59d0539cc9}{test\+\_\+log} (int level, const char $\ast$message, size\+\_\+t len, void $\ast$user\+\_\+data)
\item 
int \hyperlink{test__common_8h_a164ca952aeb3f2ab17a0836cc86af275}{test\+\_\+random\+\_\+generator} (\hyperlink{uthash_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t} $\ast$data, size\+\_\+t len, void $\ast$user\+\_\+data)
\item 
int \hyperlink{test__common_8h_af2b91f547b82278ceeb36d33ae964a8b}{test\+\_\+hmac\+\_\+sha256\+\_\+init} (void $\ast$$\ast$hmac\+\_\+context, const \hyperlink{uthash_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t} $\ast$key, size\+\_\+t key\+\_\+len, void $\ast$user\+\_\+data)
\item 
int \hyperlink{test__common_8h_a604207591087a2c64508a1824e01ab43}{test\+\_\+hmac\+\_\+sha256\+\_\+update} (void $\ast$hmac\+\_\+context, const \hyperlink{uthash_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t} $\ast$data, size\+\_\+t data\+\_\+len, void $\ast$user\+\_\+data)
\item 
int \hyperlink{test__common_8h_a8e78933223734026f634310bf25e4945}{test\+\_\+hmac\+\_\+sha256\+\_\+final} (void $\ast$hmac\+\_\+context, \hyperlink{structsignal__buffer}{signal\+\_\+buffer} $\ast$$\ast$output, void $\ast$user\+\_\+data)
\item 
void \hyperlink{test__common_8h_a62b79fc78e245c51bf6f5c141351d33d}{test\+\_\+hmac\+\_\+sha256\+\_\+cleanup} (void $\ast$hmac\+\_\+context, void $\ast$user\+\_\+data)
\item 
int \hyperlink{test__common_8h_a86e6265e24ee7d2c7d4a62f78895ad62}{test\+\_\+sha512\+\_\+digest\+\_\+init} (void $\ast$$\ast$digest\+\_\+context, void $\ast$user\+\_\+data)
\item 
int \hyperlink{test__common_8h_a035ea072004c1340f55caa3b14c3274f}{test\+\_\+sha512\+\_\+digest\+\_\+update} (void $\ast$digest\+\_\+context, const \hyperlink{uthash_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t} $\ast$data, size\+\_\+t data\+\_\+len, void $\ast$user\+\_\+data)
\item 
int \hyperlink{test__common_8h_a29be2abb99dfe87cd48ec1f6f14d3c83}{test\+\_\+sha512\+\_\+digest\+\_\+final} (void $\ast$digest\+\_\+context, \hyperlink{structsignal__buffer}{signal\+\_\+buffer} $\ast$$\ast$output, void $\ast$user\+\_\+data)
\item 
void \hyperlink{test__common_8h_a53f09e7071f04f085fc9e536b1da3a6a}{test\+\_\+sha512\+\_\+digest\+\_\+cleanup} (void $\ast$digest\+\_\+context, void $\ast$user\+\_\+data)
\item 
int \hyperlink{test__common_8h_a2f785e223ba520a2394cef4210373697}{test\+\_\+encrypt} (\hyperlink{structsignal__buffer}{signal\+\_\+buffer} $\ast$$\ast$output, int cipher, const \hyperlink{uthash_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t} $\ast$key, size\+\_\+t key\+\_\+len, const \hyperlink{uthash_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t} $\ast$iv, size\+\_\+t iv\+\_\+len, const \hyperlink{uthash_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t} $\ast$plaintext, size\+\_\+t plaintext\+\_\+len, void $\ast$user\+\_\+data)
\item 
int \hyperlink{test__common_8h_a82415c04a83f3e45a565f5ce800d77d0}{test\+\_\+decrypt} (\hyperlink{structsignal__buffer}{signal\+\_\+buffer} $\ast$$\ast$output, int cipher, const \hyperlink{uthash_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t} $\ast$key, size\+\_\+t key\+\_\+len, const \hyperlink{uthash_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t} $\ast$iv, size\+\_\+t iv\+\_\+len, const \hyperlink{uthash_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t} $\ast$ciphertext, size\+\_\+t ciphertext\+\_\+len, void $\ast$user\+\_\+data)
\item 
void \hyperlink{test__common_8h_acf00173e560aeab6364d4153fc4f9134}{setup\+\_\+test\+\_\+crypto\+\_\+provider} (\hyperlink{structsignal__context}{signal\+\_\+context} $\ast$context)
\item 
void \hyperlink{test__common_8h_a772fd0f3c00d50cf26d2e32372ea0068}{setup\+\_\+test\+\_\+store\+\_\+context} (\hyperlink{signal__protocol__types_8h_a407899f11766a172ae880601b8c3b4df}{signal\+\_\+protocol\+\_\+store\+\_\+context} $\ast$$\ast$context, \hyperlink{structsignal__context}{signal\+\_\+context} $\ast$global\+\_\+context)
\item 
int \hyperlink{test__common_8h_ae95cd2744e352039aba4c8b7932cdb0e}{test\+\_\+session\+\_\+store\+\_\+load\+\_\+session} (\hyperlink{structsignal__buffer}{signal\+\_\+buffer} $\ast$$\ast$record, \hyperlink{structsignal__buffer}{signal\+\_\+buffer} $\ast$$\ast$user\+\_\+record, const \hyperlink{structsignal__protocol__address}{signal\+\_\+protocol\+\_\+address} $\ast$address, void $\ast$user\+\_\+data)
\item 
int \hyperlink{test__common_8h_a36363bc30f0b687a78feea4161ddcb70}{test\+\_\+session\+\_\+store\+\_\+get\+\_\+sub\+\_\+device\+\_\+sessions} (\hyperlink{signal__protocol__types_8h_ad9b54e10dfdafa3f52ef80a00acd5d1d}{signal\+\_\+int\+\_\+list} $\ast$$\ast$sessions, const char $\ast$name, size\+\_\+t name\+\_\+len, void $\ast$user\+\_\+data)
\item 
int \hyperlink{test__common_8h_a960377fabecd2fe66126ebe080b7bf37}{test\+\_\+session\+\_\+store\+\_\+store\+\_\+session} (const \hyperlink{structsignal__protocol__address}{signal\+\_\+protocol\+\_\+address} $\ast$address, \hyperlink{uthash_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t} $\ast$record, size\+\_\+t record\+\_\+len, \hyperlink{uthash_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t} $\ast$user\+\_\+record\+\_\+data, size\+\_\+t user\+\_\+record\+\_\+len, void $\ast$user\+\_\+data)
\item 
int \hyperlink{test__common_8h_a116f947c43839162161545b34c5ed0f4}{test\+\_\+session\+\_\+store\+\_\+contains\+\_\+session} (const \hyperlink{structsignal__protocol__address}{signal\+\_\+protocol\+\_\+address} $\ast$address, void $\ast$user\+\_\+data)
\item 
int \hyperlink{test__common_8h_a128d4f7d38684a2eec1638f7fedaf433}{test\+\_\+session\+\_\+store\+\_\+delete\+\_\+session} (const \hyperlink{structsignal__protocol__address}{signal\+\_\+protocol\+\_\+address} $\ast$address, void $\ast$user\+\_\+data)
\item 
int \hyperlink{test__common_8h_aed09dff34a448dff126bb5a8900af806}{test\+\_\+session\+\_\+store\+\_\+delete\+\_\+all\+\_\+sessions} (const char $\ast$name, size\+\_\+t name\+\_\+len, void $\ast$user\+\_\+data)
\item 
void \hyperlink{test__common_8h_a7036d874a86e4159bac6e447584181ef}{test\+\_\+session\+\_\+store\+\_\+destroy} (void $\ast$user\+\_\+data)
\item 
void \hyperlink{test__common_8h_a38829903d762983e28db12554afe700d}{setup\+\_\+test\+\_\+session\+\_\+store} (\hyperlink{signal__protocol__types_8h_a407899f11766a172ae880601b8c3b4df}{signal\+\_\+protocol\+\_\+store\+\_\+context} $\ast$context)
\item 
int \hyperlink{test__common_8h_a1c8517cbe645e7f1c1fc0462f3a8d7e2}{test\+\_\+pre\+\_\+key\+\_\+store\+\_\+load\+\_\+pre\+\_\+key} (\hyperlink{structsignal__buffer}{signal\+\_\+buffer} $\ast$$\ast$record, \hyperlink{uthash_8h_a435d1572bf3f880d55459d9805097f62}{uint32\+\_\+t} pre\+\_\+key\+\_\+id, void $\ast$user\+\_\+data)
\item 
int \hyperlink{test__common_8h_a8fbaa683c6ca814eed376eace4f80222}{test\+\_\+pre\+\_\+key\+\_\+store\+\_\+store\+\_\+pre\+\_\+key} (\hyperlink{uthash_8h_a435d1572bf3f880d55459d9805097f62}{uint32\+\_\+t} pre\+\_\+key\+\_\+id, \hyperlink{uthash_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t} $\ast$record, size\+\_\+t record\+\_\+len, void $\ast$user\+\_\+data)
\item 
int \hyperlink{test__common_8h_a139e27e738ac9d0c613db387c9537505}{test\+\_\+pre\+\_\+key\+\_\+store\+\_\+contains\+\_\+pre\+\_\+key} (\hyperlink{uthash_8h_a435d1572bf3f880d55459d9805097f62}{uint32\+\_\+t} pre\+\_\+key\+\_\+id, void $\ast$user\+\_\+data)
\item 
int \hyperlink{test__common_8h_a803714b2a9db2b64056f15c23fc63d38}{test\+\_\+pre\+\_\+key\+\_\+store\+\_\+remove\+\_\+pre\+\_\+key} (\hyperlink{uthash_8h_a435d1572bf3f880d55459d9805097f62}{uint32\+\_\+t} pre\+\_\+key\+\_\+id, void $\ast$user\+\_\+data)
\item 
void \hyperlink{test__common_8h_ac9aafd89119afec9ca8667cd0a37f054}{test\+\_\+pre\+\_\+key\+\_\+store\+\_\+destroy} (void $\ast$user\+\_\+data)
\item 
void \hyperlink{test__common_8h_a4a3bb6a0a13b57b817756e08a12e1a03}{setup\+\_\+test\+\_\+pre\+\_\+key\+\_\+store} (\hyperlink{signal__protocol__types_8h_a407899f11766a172ae880601b8c3b4df}{signal\+\_\+protocol\+\_\+store\+\_\+context} $\ast$context)
\item 
int \hyperlink{test__common_8h_a6dbf41f3f20ca9302d2f7afa1a498c52}{test\+\_\+signed\+\_\+pre\+\_\+key\+\_\+store\+\_\+load\+\_\+signed\+\_\+pre\+\_\+key} (\hyperlink{structsignal__buffer}{signal\+\_\+buffer} $\ast$$\ast$record, \hyperlink{uthash_8h_a435d1572bf3f880d55459d9805097f62}{uint32\+\_\+t} signed\+\_\+pre\+\_\+key\+\_\+id, void $\ast$user\+\_\+data)
\item 
int \hyperlink{test__common_8h_a0919af073920e125b166a5e07cb0030e}{test\+\_\+signed\+\_\+pre\+\_\+key\+\_\+store\+\_\+store\+\_\+signed\+\_\+pre\+\_\+key} (\hyperlink{uthash_8h_a435d1572bf3f880d55459d9805097f62}{uint32\+\_\+t} signed\+\_\+pre\+\_\+key\+\_\+id, \hyperlink{uthash_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t} $\ast$record, size\+\_\+t record\+\_\+len, void $\ast$user\+\_\+data)
\item 
int \hyperlink{test__common_8h_a20529b56e688d09f1840e59ee0459f82}{test\+\_\+signed\+\_\+pre\+\_\+key\+\_\+store\+\_\+contains\+\_\+signed\+\_\+pre\+\_\+key} (\hyperlink{uthash_8h_a435d1572bf3f880d55459d9805097f62}{uint32\+\_\+t} signed\+\_\+pre\+\_\+key\+\_\+id, void $\ast$user\+\_\+data)
\item 
int \hyperlink{test__common_8h_a1bc6b1206e4a780d79aa487fbc5081b5}{test\+\_\+signed\+\_\+pre\+\_\+key\+\_\+store\+\_\+remove\+\_\+signed\+\_\+pre\+\_\+key} (\hyperlink{uthash_8h_a435d1572bf3f880d55459d9805097f62}{uint32\+\_\+t} signed\+\_\+pre\+\_\+key\+\_\+id, void $\ast$user\+\_\+data)
\item 
void \hyperlink{test__common_8h_a0e28d31a25bfd0fa6b9917a8e4ca31db}{test\+\_\+signed\+\_\+pre\+\_\+key\+\_\+store\+\_\+destroy} (void $\ast$user\+\_\+data)
\item 
void \hyperlink{test__common_8h_a055d702df1a75994f3e414f30996409d}{setup\+\_\+test\+\_\+signed\+\_\+pre\+\_\+key\+\_\+store} (\hyperlink{signal__protocol__types_8h_a407899f11766a172ae880601b8c3b4df}{signal\+\_\+protocol\+\_\+store\+\_\+context} $\ast$context)
\item 
int \hyperlink{test__common_8h_afbc25cae2bb9a5394eaea66b83de179b}{test\+\_\+identity\+\_\+key\+\_\+store\+\_\+get\+\_\+identity\+\_\+key\+\_\+pair} (\hyperlink{structsignal__buffer}{signal\+\_\+buffer} $\ast$$\ast$public\+\_\+data, \hyperlink{structsignal__buffer}{signal\+\_\+buffer} $\ast$$\ast$private\+\_\+data, void $\ast$user\+\_\+data)
\item 
int \hyperlink{test__common_8h_a4422455bdd24a2413e2fa76931528932}{test\+\_\+identity\+\_\+key\+\_\+store\+\_\+get\+\_\+local\+\_\+registration\+\_\+id} (void $\ast$user\+\_\+data, \hyperlink{uthash_8h_a435d1572bf3f880d55459d9805097f62}{uint32\+\_\+t} $\ast$registration\+\_\+id)
\item 
int \hyperlink{test__common_8h_a08416ab77f80d6a7e673c0dbdb163c85}{test\+\_\+identity\+\_\+key\+\_\+store\+\_\+save\+\_\+identity} (const \hyperlink{structsignal__protocol__address}{signal\+\_\+protocol\+\_\+address} $\ast$address, \hyperlink{uthash_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t} $\ast$key\+\_\+data, size\+\_\+t key\+\_\+len, void $\ast$user\+\_\+data)
\item 
int \hyperlink{test__common_8h_ab8eea7d6622c0a5c7d288ca2d1e24972}{test\+\_\+identity\+\_\+key\+\_\+store\+\_\+is\+\_\+trusted\+\_\+identity} (const \hyperlink{structsignal__protocol__address}{signal\+\_\+protocol\+\_\+address} $\ast$address, \hyperlink{uthash_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t} $\ast$key\+\_\+data, size\+\_\+t key\+\_\+len, void $\ast$user\+\_\+data)
\item 
void \hyperlink{test__common_8h_a9e33d4d296a6df20e94890dae4297baa}{test\+\_\+identity\+\_\+key\+\_\+store\+\_\+destroy} (void $\ast$user\+\_\+data)
\item 
void \hyperlink{test__common_8h_ace02553778334e6365f8d7199bedecd8}{setup\+\_\+test\+\_\+identity\+\_\+key\+\_\+store} (\hyperlink{signal__protocol__types_8h_a407899f11766a172ae880601b8c3b4df}{signal\+\_\+protocol\+\_\+store\+\_\+context} $\ast$context, \hyperlink{structsignal__context}{signal\+\_\+context} $\ast$global\+\_\+context)
\item 
int \hyperlink{test__common_8h_a48fc50f6182bda696ebd9d224126cfe1}{test\+\_\+sender\+\_\+key\+\_\+store\+\_\+store\+\_\+sender\+\_\+key} (const \hyperlink{structsignal__protocol__sender__key__name}{signal\+\_\+protocol\+\_\+sender\+\_\+key\+\_\+name} $\ast$sender\+\_\+key\+\_\+name, \hyperlink{uthash_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t} $\ast$record, size\+\_\+t record\+\_\+len, \hyperlink{uthash_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t} $\ast$user\+\_\+record\+\_\+data, size\+\_\+t user\+\_\+record\+\_\+len, void $\ast$user\+\_\+data)
\item 
int \hyperlink{test__common_8h_a0f55b2483a31e21d700ca969ec55c538}{test\+\_\+sender\+\_\+key\+\_\+store\+\_\+load\+\_\+sender\+\_\+key} (\hyperlink{structsignal__buffer}{signal\+\_\+buffer} $\ast$$\ast$record, \hyperlink{structsignal__buffer}{signal\+\_\+buffer} $\ast$$\ast$user\+\_\+record, const \hyperlink{structsignal__protocol__sender__key__name}{signal\+\_\+protocol\+\_\+sender\+\_\+key\+\_\+name} $\ast$sender\+\_\+key\+\_\+name, void $\ast$user\+\_\+data)
\item 
void \hyperlink{test__common_8h_a3ad025b2f5e7370e2adfcafbed80facb}{test\+\_\+sender\+\_\+key\+\_\+store\+\_\+destroy} (void $\ast$user\+\_\+data)
\item 
void \hyperlink{test__common_8h_ad855946599f370a5ce4bf17965d2ece0}{setup\+\_\+test\+\_\+sender\+\_\+key\+\_\+store} (\hyperlink{signal__protocol__types_8h_a407899f11766a172ae880601b8c3b4df}{signal\+\_\+protocol\+\_\+store\+\_\+context} $\ast$context, \hyperlink{structsignal__context}{signal\+\_\+context} $\ast$global\+\_\+context)
\item 
void \hyperlink{test__common_8h_a29d89563dd22965072ebb26a0be4f9c7}{srand\+\_\+deterministic} (unsigned int seed)
\end{DoxyCompactItemize}


\subsection{Function Documentation}
\mbox{\Hypertarget{test__common_8h_a9e85adf2ca5c0f4732112d93a90efbe5}\label{test__common_8h_a9e85adf2ca5c0f4732112d93a90efbe5}} 
\index{test\+\_\+common.\+h@{test\+\_\+common.\+h}!create\+\_\+test\+\_\+ec\+\_\+private\+\_\+key@{create\+\_\+test\+\_\+ec\+\_\+private\+\_\+key}}
\index{create\+\_\+test\+\_\+ec\+\_\+private\+\_\+key@{create\+\_\+test\+\_\+ec\+\_\+private\+\_\+key}!test\+\_\+common.\+h@{test\+\_\+common.\+h}}
\subsubsection{\texorpdfstring{create\+\_\+test\+\_\+ec\+\_\+private\+\_\+key()}{create\_test\_ec\_private\_key()}}
{\footnotesize\ttfamily \hyperlink{signal__protocol__types_8h_a06d963e532f25681dd462897f844205d}{ec\+\_\+private\+\_\+key}$\ast$ create\+\_\+test\+\_\+ec\+\_\+private\+\_\+key (\begin{DoxyParamCaption}\item[{\hyperlink{structsignal__context}{signal\+\_\+context} $\ast$}]{context }\end{DoxyParamCaption})}

\mbox{\Hypertarget{test__common_8h_ae31da49813d7ce445a2c01dcbdefa766}\label{test__common_8h_ae31da49813d7ce445a2c01dcbdefa766}} 
\index{test\+\_\+common.\+h@{test\+\_\+common.\+h}!create\+\_\+test\+\_\+ec\+\_\+public\+\_\+key@{create\+\_\+test\+\_\+ec\+\_\+public\+\_\+key}}
\index{create\+\_\+test\+\_\+ec\+\_\+public\+\_\+key@{create\+\_\+test\+\_\+ec\+\_\+public\+\_\+key}!test\+\_\+common.\+h@{test\+\_\+common.\+h}}
\subsubsection{\texorpdfstring{create\+\_\+test\+\_\+ec\+\_\+public\+\_\+key()}{create\_test\_ec\_public\_key()}}
{\footnotesize\ttfamily \hyperlink{signal__protocol__types_8h_a73ea701c5087163bba608c4706df6176}{ec\+\_\+public\+\_\+key}$\ast$ create\+\_\+test\+\_\+ec\+\_\+public\+\_\+key (\begin{DoxyParamCaption}\item[{\hyperlink{structsignal__context}{signal\+\_\+context} $\ast$}]{context }\end{DoxyParamCaption})}

\mbox{\Hypertarget{test__common_8h_a0ac1ad2cd6a6170f32cb75d209eecfe3}\label{test__common_8h_a0ac1ad2cd6a6170f32cb75d209eecfe3}} 
\index{test\+\_\+common.\+h@{test\+\_\+common.\+h}!print\+\_\+buffer@{print\+\_\+buffer}}
\index{print\+\_\+buffer@{print\+\_\+buffer}!test\+\_\+common.\+h@{test\+\_\+common.\+h}}
\subsubsection{\texorpdfstring{print\+\_\+buffer()}{print\_buffer()}}
{\footnotesize\ttfamily void print\+\_\+buffer (\begin{DoxyParamCaption}\item[{const char $\ast$}]{prefix,  }\item[{\hyperlink{structsignal__buffer}{signal\+\_\+buffer} $\ast$}]{buffer }\end{DoxyParamCaption})}

\mbox{\Hypertarget{test__common_8h_aee0b6bd7082795ee0ee94eb092d2fe1e}\label{test__common_8h_aee0b6bd7082795ee0ee94eb092d2fe1e}} 
\index{test\+\_\+common.\+h@{test\+\_\+common.\+h}!print\+\_\+public\+\_\+key@{print\+\_\+public\+\_\+key}}
\index{print\+\_\+public\+\_\+key@{print\+\_\+public\+\_\+key}!test\+\_\+common.\+h@{test\+\_\+common.\+h}}
\subsubsection{\texorpdfstring{print\+\_\+public\+\_\+key()}{print\_public\_key()}}
{\footnotesize\ttfamily void print\+\_\+public\+\_\+key (\begin{DoxyParamCaption}\item[{const char $\ast$}]{prefix,  }\item[{\hyperlink{signal__protocol__types_8h_a73ea701c5087163bba608c4706df6176}{ec\+\_\+public\+\_\+key} $\ast$}]{key }\end{DoxyParamCaption})}

\mbox{\Hypertarget{test__common_8h_acf00173e560aeab6364d4153fc4f9134}\label{test__common_8h_acf00173e560aeab6364d4153fc4f9134}} 
\index{test\+\_\+common.\+h@{test\+\_\+common.\+h}!setup\+\_\+test\+\_\+crypto\+\_\+provider@{setup\+\_\+test\+\_\+crypto\+\_\+provider}}
\index{setup\+\_\+test\+\_\+crypto\+\_\+provider@{setup\+\_\+test\+\_\+crypto\+\_\+provider}!test\+\_\+common.\+h@{test\+\_\+common.\+h}}
\subsubsection{\texorpdfstring{setup\+\_\+test\+\_\+crypto\+\_\+provider()}{setup\_test\_crypto\_provider()}}
{\footnotesize\ttfamily void setup\+\_\+test\+\_\+crypto\+\_\+provider (\begin{DoxyParamCaption}\item[{\hyperlink{structsignal__context}{signal\+\_\+context} $\ast$}]{context }\end{DoxyParamCaption})}

\mbox{\Hypertarget{test__common_8h_ace02553778334e6365f8d7199bedecd8}\label{test__common_8h_ace02553778334e6365f8d7199bedecd8}} 
\index{test\+\_\+common.\+h@{test\+\_\+common.\+h}!setup\+\_\+test\+\_\+identity\+\_\+key\+\_\+store@{setup\+\_\+test\+\_\+identity\+\_\+key\+\_\+store}}
\index{setup\+\_\+test\+\_\+identity\+\_\+key\+\_\+store@{setup\+\_\+test\+\_\+identity\+\_\+key\+\_\+store}!test\+\_\+common.\+h@{test\+\_\+common.\+h}}
\subsubsection{\texorpdfstring{setup\+\_\+test\+\_\+identity\+\_\+key\+\_\+store()}{setup\_test\_identity\_key\_store()}}
{\footnotesize\ttfamily void setup\+\_\+test\+\_\+identity\+\_\+key\+\_\+store (\begin{DoxyParamCaption}\item[{\hyperlink{signal__protocol__types_8h_a407899f11766a172ae880601b8c3b4df}{signal\+\_\+protocol\+\_\+store\+\_\+context} $\ast$}]{context,  }\item[{\hyperlink{structsignal__context}{signal\+\_\+context} $\ast$}]{global\+\_\+context }\end{DoxyParamCaption})}

\mbox{\Hypertarget{test__common_8h_a4a3bb6a0a13b57b817756e08a12e1a03}\label{test__common_8h_a4a3bb6a0a13b57b817756e08a12e1a03}} 
\index{test\+\_\+common.\+h@{test\+\_\+common.\+h}!setup\+\_\+test\+\_\+pre\+\_\+key\+\_\+store@{setup\+\_\+test\+\_\+pre\+\_\+key\+\_\+store}}
\index{setup\+\_\+test\+\_\+pre\+\_\+key\+\_\+store@{setup\+\_\+test\+\_\+pre\+\_\+key\+\_\+store}!test\+\_\+common.\+h@{test\+\_\+common.\+h}}
\subsubsection{\texorpdfstring{setup\+\_\+test\+\_\+pre\+\_\+key\+\_\+store()}{setup\_test\_pre\_key\_store()}}
{\footnotesize\ttfamily void setup\+\_\+test\+\_\+pre\+\_\+key\+\_\+store (\begin{DoxyParamCaption}\item[{\hyperlink{signal__protocol__types_8h_a407899f11766a172ae880601b8c3b4df}{signal\+\_\+protocol\+\_\+store\+\_\+context} $\ast$}]{context }\end{DoxyParamCaption})}

\mbox{\Hypertarget{test__common_8h_ad855946599f370a5ce4bf17965d2ece0}\label{test__common_8h_ad855946599f370a5ce4bf17965d2ece0}} 
\index{test\+\_\+common.\+h@{test\+\_\+common.\+h}!setup\+\_\+test\+\_\+sender\+\_\+key\+\_\+store@{setup\+\_\+test\+\_\+sender\+\_\+key\+\_\+store}}
\index{setup\+\_\+test\+\_\+sender\+\_\+key\+\_\+store@{setup\+\_\+test\+\_\+sender\+\_\+key\+\_\+store}!test\+\_\+common.\+h@{test\+\_\+common.\+h}}
\subsubsection{\texorpdfstring{setup\+\_\+test\+\_\+sender\+\_\+key\+\_\+store()}{setup\_test\_sender\_key\_store()}}
{\footnotesize\ttfamily void setup\+\_\+test\+\_\+sender\+\_\+key\+\_\+store (\begin{DoxyParamCaption}\item[{\hyperlink{signal__protocol__types_8h_a407899f11766a172ae880601b8c3b4df}{signal\+\_\+protocol\+\_\+store\+\_\+context} $\ast$}]{context,  }\item[{\hyperlink{structsignal__context}{signal\+\_\+context} $\ast$}]{global\+\_\+context }\end{DoxyParamCaption})}

\mbox{\Hypertarget{test__common_8h_a38829903d762983e28db12554afe700d}\label{test__common_8h_a38829903d762983e28db12554afe700d}} 
\index{test\+\_\+common.\+h@{test\+\_\+common.\+h}!setup\+\_\+test\+\_\+session\+\_\+store@{setup\+\_\+test\+\_\+session\+\_\+store}}
\index{setup\+\_\+test\+\_\+session\+\_\+store@{setup\+\_\+test\+\_\+session\+\_\+store}!test\+\_\+common.\+h@{test\+\_\+common.\+h}}
\subsubsection{\texorpdfstring{setup\+\_\+test\+\_\+session\+\_\+store()}{setup\_test\_session\_store()}}
{\footnotesize\ttfamily void setup\+\_\+test\+\_\+session\+\_\+store (\begin{DoxyParamCaption}\item[{\hyperlink{signal__protocol__types_8h_a407899f11766a172ae880601b8c3b4df}{signal\+\_\+protocol\+\_\+store\+\_\+context} $\ast$}]{context }\end{DoxyParamCaption})}

\mbox{\Hypertarget{test__common_8h_a055d702df1a75994f3e414f30996409d}\label{test__common_8h_a055d702df1a75994f3e414f30996409d}} 
\index{test\+\_\+common.\+h@{test\+\_\+common.\+h}!setup\+\_\+test\+\_\+signed\+\_\+pre\+\_\+key\+\_\+store@{setup\+\_\+test\+\_\+signed\+\_\+pre\+\_\+key\+\_\+store}}
\index{setup\+\_\+test\+\_\+signed\+\_\+pre\+\_\+key\+\_\+store@{setup\+\_\+test\+\_\+signed\+\_\+pre\+\_\+key\+\_\+store}!test\+\_\+common.\+h@{test\+\_\+common.\+h}}
\subsubsection{\texorpdfstring{setup\+\_\+test\+\_\+signed\+\_\+pre\+\_\+key\+\_\+store()}{setup\_test\_signed\_pre\_key\_store()}}
{\footnotesize\ttfamily void setup\+\_\+test\+\_\+signed\+\_\+pre\+\_\+key\+\_\+store (\begin{DoxyParamCaption}\item[{\hyperlink{signal__protocol__types_8h_a407899f11766a172ae880601b8c3b4df}{signal\+\_\+protocol\+\_\+store\+\_\+context} $\ast$}]{context }\end{DoxyParamCaption})}

\mbox{\Hypertarget{test__common_8h_a772fd0f3c00d50cf26d2e32372ea0068}\label{test__common_8h_a772fd0f3c00d50cf26d2e32372ea0068}} 
\index{test\+\_\+common.\+h@{test\+\_\+common.\+h}!setup\+\_\+test\+\_\+store\+\_\+context@{setup\+\_\+test\+\_\+store\+\_\+context}}
\index{setup\+\_\+test\+\_\+store\+\_\+context@{setup\+\_\+test\+\_\+store\+\_\+context}!test\+\_\+common.\+h@{test\+\_\+common.\+h}}
\subsubsection{\texorpdfstring{setup\+\_\+test\+\_\+store\+\_\+context()}{setup\_test\_store\_context()}}
{\footnotesize\ttfamily void setup\+\_\+test\+\_\+store\+\_\+context (\begin{DoxyParamCaption}\item[{\hyperlink{signal__protocol__types_8h_a407899f11766a172ae880601b8c3b4df}{signal\+\_\+protocol\+\_\+store\+\_\+context} $\ast$$\ast$}]{context,  }\item[{\hyperlink{structsignal__context}{signal\+\_\+context} $\ast$}]{global\+\_\+context }\end{DoxyParamCaption})}

\mbox{\Hypertarget{test__common_8h_a344478198bce1bd273b813d88d573b99}\label{test__common_8h_a344478198bce1bd273b813d88d573b99}} 
\index{test\+\_\+common.\+h@{test\+\_\+common.\+h}!shuffle\+\_\+buffers@{shuffle\+\_\+buffers}}
\index{shuffle\+\_\+buffers@{shuffle\+\_\+buffers}!test\+\_\+common.\+h@{test\+\_\+common.\+h}}
\subsubsection{\texorpdfstring{shuffle\+\_\+buffers()}{shuffle\_buffers()}}
{\footnotesize\ttfamily void shuffle\+\_\+buffers (\begin{DoxyParamCaption}\item[{\hyperlink{structsignal__buffer}{signal\+\_\+buffer} $\ast$$\ast$}]{array,  }\item[{size\+\_\+t}]{n }\end{DoxyParamCaption})}

\mbox{\Hypertarget{test__common_8h_a1f6f143d7b0f8ae00097a7a6687d064a}\label{test__common_8h_a1f6f143d7b0f8ae00097a7a6687d064a}} 
\index{test\+\_\+common.\+h@{test\+\_\+common.\+h}!shuffle\+\_\+ec\+\_\+public\+\_\+keys@{shuffle\+\_\+ec\+\_\+public\+\_\+keys}}
\index{shuffle\+\_\+ec\+\_\+public\+\_\+keys@{shuffle\+\_\+ec\+\_\+public\+\_\+keys}!test\+\_\+common.\+h@{test\+\_\+common.\+h}}
\subsubsection{\texorpdfstring{shuffle\+\_\+ec\+\_\+public\+\_\+keys()}{shuffle\_ec\_public\_keys()}}
{\footnotesize\ttfamily void shuffle\+\_\+ec\+\_\+public\+\_\+keys (\begin{DoxyParamCaption}\item[{\hyperlink{signal__protocol__types_8h_a73ea701c5087163bba608c4706df6176}{ec\+\_\+public\+\_\+key} $\ast$$\ast$}]{array,  }\item[{size\+\_\+t}]{n }\end{DoxyParamCaption})}

\mbox{\Hypertarget{test__common_8h_a29d89563dd22965072ebb26a0be4f9c7}\label{test__common_8h_a29d89563dd22965072ebb26a0be4f9c7}} 
\index{test\+\_\+common.\+h@{test\+\_\+common.\+h}!srand\+\_\+deterministic@{srand\+\_\+deterministic}}
\index{srand\+\_\+deterministic@{srand\+\_\+deterministic}!test\+\_\+common.\+h@{test\+\_\+common.\+h}}
\subsubsection{\texorpdfstring{srand\+\_\+deterministic()}{srand\_deterministic()}}
{\footnotesize\ttfamily void srand\+\_\+deterministic (\begin{DoxyParamCaption}\item[{unsigned int}]{seed }\end{DoxyParamCaption})}

\mbox{\Hypertarget{test__common_8h_a82415c04a83f3e45a565f5ce800d77d0}\label{test__common_8h_a82415c04a83f3e45a565f5ce800d77d0}} 
\index{test\+\_\+common.\+h@{test\+\_\+common.\+h}!test\+\_\+decrypt@{test\+\_\+decrypt}}
\index{test\+\_\+decrypt@{test\+\_\+decrypt}!test\+\_\+common.\+h@{test\+\_\+common.\+h}}
\subsubsection{\texorpdfstring{test\+\_\+decrypt()}{test\_decrypt()}}
{\footnotesize\ttfamily int test\+\_\+decrypt (\begin{DoxyParamCaption}\item[{\hyperlink{structsignal__buffer}{signal\+\_\+buffer} $\ast$$\ast$}]{output,  }\item[{int}]{cipher,  }\item[{const \hyperlink{uthash_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t} $\ast$}]{key,  }\item[{size\+\_\+t}]{key\+\_\+len,  }\item[{const \hyperlink{uthash_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t} $\ast$}]{iv,  }\item[{size\+\_\+t}]{iv\+\_\+len,  }\item[{const \hyperlink{uthash_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t} $\ast$}]{ciphertext,  }\item[{size\+\_\+t}]{ciphertext\+\_\+len,  }\item[{void $\ast$}]{user\+\_\+data }\end{DoxyParamCaption})}

\mbox{\Hypertarget{test__common_8h_a2f785e223ba520a2394cef4210373697}\label{test__common_8h_a2f785e223ba520a2394cef4210373697}} 
\index{test\+\_\+common.\+h@{test\+\_\+common.\+h}!test\+\_\+encrypt@{test\+\_\+encrypt}}
\index{test\+\_\+encrypt@{test\+\_\+encrypt}!test\+\_\+common.\+h@{test\+\_\+common.\+h}}
\subsubsection{\texorpdfstring{test\+\_\+encrypt()}{test\_encrypt()}}
{\footnotesize\ttfamily int test\+\_\+encrypt (\begin{DoxyParamCaption}\item[{\hyperlink{structsignal__buffer}{signal\+\_\+buffer} $\ast$$\ast$}]{output,  }\item[{int}]{cipher,  }\item[{const \hyperlink{uthash_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t} $\ast$}]{key,  }\item[{size\+\_\+t}]{key\+\_\+len,  }\item[{const \hyperlink{uthash_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t} $\ast$}]{iv,  }\item[{size\+\_\+t}]{iv\+\_\+len,  }\item[{const \hyperlink{uthash_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t} $\ast$}]{plaintext,  }\item[{size\+\_\+t}]{plaintext\+\_\+len,  }\item[{void $\ast$}]{user\+\_\+data }\end{DoxyParamCaption})}

\mbox{\Hypertarget{test__common_8h_a62b79fc78e245c51bf6f5c141351d33d}\label{test__common_8h_a62b79fc78e245c51bf6f5c141351d33d}} 
\index{test\+\_\+common.\+h@{test\+\_\+common.\+h}!test\+\_\+hmac\+\_\+sha256\+\_\+cleanup@{test\+\_\+hmac\+\_\+sha256\+\_\+cleanup}}
\index{test\+\_\+hmac\+\_\+sha256\+\_\+cleanup@{test\+\_\+hmac\+\_\+sha256\+\_\+cleanup}!test\+\_\+common.\+h@{test\+\_\+common.\+h}}
\subsubsection{\texorpdfstring{test\+\_\+hmac\+\_\+sha256\+\_\+cleanup()}{test\_hmac\_sha256\_cleanup()}}
{\footnotesize\ttfamily void test\+\_\+hmac\+\_\+sha256\+\_\+cleanup (\begin{DoxyParamCaption}\item[{void $\ast$}]{hmac\+\_\+context,  }\item[{void $\ast$}]{user\+\_\+data }\end{DoxyParamCaption})}

\mbox{\Hypertarget{test__common_8h_a8e78933223734026f634310bf25e4945}\label{test__common_8h_a8e78933223734026f634310bf25e4945}} 
\index{test\+\_\+common.\+h@{test\+\_\+common.\+h}!test\+\_\+hmac\+\_\+sha256\+\_\+final@{test\+\_\+hmac\+\_\+sha256\+\_\+final}}
\index{test\+\_\+hmac\+\_\+sha256\+\_\+final@{test\+\_\+hmac\+\_\+sha256\+\_\+final}!test\+\_\+common.\+h@{test\+\_\+common.\+h}}
\subsubsection{\texorpdfstring{test\+\_\+hmac\+\_\+sha256\+\_\+final()}{test\_hmac\_sha256\_final()}}
{\footnotesize\ttfamily int test\+\_\+hmac\+\_\+sha256\+\_\+final (\begin{DoxyParamCaption}\item[{void $\ast$}]{hmac\+\_\+context,  }\item[{\hyperlink{structsignal__buffer}{signal\+\_\+buffer} $\ast$$\ast$}]{output,  }\item[{void $\ast$}]{user\+\_\+data }\end{DoxyParamCaption})}

\mbox{\Hypertarget{test__common_8h_af2b91f547b82278ceeb36d33ae964a8b}\label{test__common_8h_af2b91f547b82278ceeb36d33ae964a8b}} 
\index{test\+\_\+common.\+h@{test\+\_\+common.\+h}!test\+\_\+hmac\+\_\+sha256\+\_\+init@{test\+\_\+hmac\+\_\+sha256\+\_\+init}}
\index{test\+\_\+hmac\+\_\+sha256\+\_\+init@{test\+\_\+hmac\+\_\+sha256\+\_\+init}!test\+\_\+common.\+h@{test\+\_\+common.\+h}}
\subsubsection{\texorpdfstring{test\+\_\+hmac\+\_\+sha256\+\_\+init()}{test\_hmac\_sha256\_init()}}
{\footnotesize\ttfamily int test\+\_\+hmac\+\_\+sha256\+\_\+init (\begin{DoxyParamCaption}\item[{void $\ast$$\ast$}]{hmac\+\_\+context,  }\item[{const \hyperlink{uthash_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t} $\ast$}]{key,  }\item[{size\+\_\+t}]{key\+\_\+len,  }\item[{void $\ast$}]{user\+\_\+data }\end{DoxyParamCaption})}

\mbox{\Hypertarget{test__common_8h_a604207591087a2c64508a1824e01ab43}\label{test__common_8h_a604207591087a2c64508a1824e01ab43}} 
\index{test\+\_\+common.\+h@{test\+\_\+common.\+h}!test\+\_\+hmac\+\_\+sha256\+\_\+update@{test\+\_\+hmac\+\_\+sha256\+\_\+update}}
\index{test\+\_\+hmac\+\_\+sha256\+\_\+update@{test\+\_\+hmac\+\_\+sha256\+\_\+update}!test\+\_\+common.\+h@{test\+\_\+common.\+h}}
\subsubsection{\texorpdfstring{test\+\_\+hmac\+\_\+sha256\+\_\+update()}{test\_hmac\_sha256\_update()}}
{\footnotesize\ttfamily int test\+\_\+hmac\+\_\+sha256\+\_\+update (\begin{DoxyParamCaption}\item[{void $\ast$}]{hmac\+\_\+context,  }\item[{const \hyperlink{uthash_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t} $\ast$}]{data,  }\item[{size\+\_\+t}]{data\+\_\+len,  }\item[{void $\ast$}]{user\+\_\+data }\end{DoxyParamCaption})}

\mbox{\Hypertarget{test__common_8h_a9e33d4d296a6df20e94890dae4297baa}\label{test__common_8h_a9e33d4d296a6df20e94890dae4297baa}} 
\index{test\+\_\+common.\+h@{test\+\_\+common.\+h}!test\+\_\+identity\+\_\+key\+\_\+store\+\_\+destroy@{test\+\_\+identity\+\_\+key\+\_\+store\+\_\+destroy}}
\index{test\+\_\+identity\+\_\+key\+\_\+store\+\_\+destroy@{test\+\_\+identity\+\_\+key\+\_\+store\+\_\+destroy}!test\+\_\+common.\+h@{test\+\_\+common.\+h}}
\subsubsection{\texorpdfstring{test\+\_\+identity\+\_\+key\+\_\+store\+\_\+destroy()}{test\_identity\_key\_store\_destroy()}}
{\footnotesize\ttfamily void test\+\_\+identity\+\_\+key\+\_\+store\+\_\+destroy (\begin{DoxyParamCaption}\item[{void $\ast$}]{user\+\_\+data }\end{DoxyParamCaption})}

\mbox{\Hypertarget{test__common_8h_afbc25cae2bb9a5394eaea66b83de179b}\label{test__common_8h_afbc25cae2bb9a5394eaea66b83de179b}} 
\index{test\+\_\+common.\+h@{test\+\_\+common.\+h}!test\+\_\+identity\+\_\+key\+\_\+store\+\_\+get\+\_\+identity\+\_\+key\+\_\+pair@{test\+\_\+identity\+\_\+key\+\_\+store\+\_\+get\+\_\+identity\+\_\+key\+\_\+pair}}
\index{test\+\_\+identity\+\_\+key\+\_\+store\+\_\+get\+\_\+identity\+\_\+key\+\_\+pair@{test\+\_\+identity\+\_\+key\+\_\+store\+\_\+get\+\_\+identity\+\_\+key\+\_\+pair}!test\+\_\+common.\+h@{test\+\_\+common.\+h}}
\subsubsection{\texorpdfstring{test\+\_\+identity\+\_\+key\+\_\+store\+\_\+get\+\_\+identity\+\_\+key\+\_\+pair()}{test\_identity\_key\_store\_get\_identity\_key\_pair()}}
{\footnotesize\ttfamily int test\+\_\+identity\+\_\+key\+\_\+store\+\_\+get\+\_\+identity\+\_\+key\+\_\+pair (\begin{DoxyParamCaption}\item[{\hyperlink{structsignal__buffer}{signal\+\_\+buffer} $\ast$$\ast$}]{public\+\_\+data,  }\item[{\hyperlink{structsignal__buffer}{signal\+\_\+buffer} $\ast$$\ast$}]{private\+\_\+data,  }\item[{void $\ast$}]{user\+\_\+data }\end{DoxyParamCaption})}

\mbox{\Hypertarget{test__common_8h_a4422455bdd24a2413e2fa76931528932}\label{test__common_8h_a4422455bdd24a2413e2fa76931528932}} 
\index{test\+\_\+common.\+h@{test\+\_\+common.\+h}!test\+\_\+identity\+\_\+key\+\_\+store\+\_\+get\+\_\+local\+\_\+registration\+\_\+id@{test\+\_\+identity\+\_\+key\+\_\+store\+\_\+get\+\_\+local\+\_\+registration\+\_\+id}}
\index{test\+\_\+identity\+\_\+key\+\_\+store\+\_\+get\+\_\+local\+\_\+registration\+\_\+id@{test\+\_\+identity\+\_\+key\+\_\+store\+\_\+get\+\_\+local\+\_\+registration\+\_\+id}!test\+\_\+common.\+h@{test\+\_\+common.\+h}}
\subsubsection{\texorpdfstring{test\+\_\+identity\+\_\+key\+\_\+store\+\_\+get\+\_\+local\+\_\+registration\+\_\+id()}{test\_identity\_key\_store\_get\_local\_registration\_id()}}
{\footnotesize\ttfamily int test\+\_\+identity\+\_\+key\+\_\+store\+\_\+get\+\_\+local\+\_\+registration\+\_\+id (\begin{DoxyParamCaption}\item[{void $\ast$}]{user\+\_\+data,  }\item[{\hyperlink{uthash_8h_a435d1572bf3f880d55459d9805097f62}{uint32\+\_\+t} $\ast$}]{registration\+\_\+id }\end{DoxyParamCaption})}

\mbox{\Hypertarget{test__common_8h_ab8eea7d6622c0a5c7d288ca2d1e24972}\label{test__common_8h_ab8eea7d6622c0a5c7d288ca2d1e24972}} 
\index{test\+\_\+common.\+h@{test\+\_\+common.\+h}!test\+\_\+identity\+\_\+key\+\_\+store\+\_\+is\+\_\+trusted\+\_\+identity@{test\+\_\+identity\+\_\+key\+\_\+store\+\_\+is\+\_\+trusted\+\_\+identity}}
\index{test\+\_\+identity\+\_\+key\+\_\+store\+\_\+is\+\_\+trusted\+\_\+identity@{test\+\_\+identity\+\_\+key\+\_\+store\+\_\+is\+\_\+trusted\+\_\+identity}!test\+\_\+common.\+h@{test\+\_\+common.\+h}}
\subsubsection{\texorpdfstring{test\+\_\+identity\+\_\+key\+\_\+store\+\_\+is\+\_\+trusted\+\_\+identity()}{test\_identity\_key\_store\_is\_trusted\_identity()}}
{\footnotesize\ttfamily int test\+\_\+identity\+\_\+key\+\_\+store\+\_\+is\+\_\+trusted\+\_\+identity (\begin{DoxyParamCaption}\item[{const \hyperlink{structsignal__protocol__address}{signal\+\_\+protocol\+\_\+address} $\ast$}]{address,  }\item[{\hyperlink{uthash_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t} $\ast$}]{key\+\_\+data,  }\item[{size\+\_\+t}]{key\+\_\+len,  }\item[{void $\ast$}]{user\+\_\+data }\end{DoxyParamCaption})}

\mbox{\Hypertarget{test__common_8h_a08416ab77f80d6a7e673c0dbdb163c85}\label{test__common_8h_a08416ab77f80d6a7e673c0dbdb163c85}} 
\index{test\+\_\+common.\+h@{test\+\_\+common.\+h}!test\+\_\+identity\+\_\+key\+\_\+store\+\_\+save\+\_\+identity@{test\+\_\+identity\+\_\+key\+\_\+store\+\_\+save\+\_\+identity}}
\index{test\+\_\+identity\+\_\+key\+\_\+store\+\_\+save\+\_\+identity@{test\+\_\+identity\+\_\+key\+\_\+store\+\_\+save\+\_\+identity}!test\+\_\+common.\+h@{test\+\_\+common.\+h}}
\subsubsection{\texorpdfstring{test\+\_\+identity\+\_\+key\+\_\+store\+\_\+save\+\_\+identity()}{test\_identity\_key\_store\_save\_identity()}}
{\footnotesize\ttfamily int test\+\_\+identity\+\_\+key\+\_\+store\+\_\+save\+\_\+identity (\begin{DoxyParamCaption}\item[{const \hyperlink{structsignal__protocol__address}{signal\+\_\+protocol\+\_\+address} $\ast$}]{address,  }\item[{\hyperlink{uthash_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t} $\ast$}]{key\+\_\+data,  }\item[{size\+\_\+t}]{key\+\_\+len,  }\item[{void $\ast$}]{user\+\_\+data }\end{DoxyParamCaption})}

\mbox{\Hypertarget{test__common_8h_a1aea68b8162cdd90f04c6c59d0539cc9}\label{test__common_8h_a1aea68b8162cdd90f04c6c59d0539cc9}} 
\index{test\+\_\+common.\+h@{test\+\_\+common.\+h}!test\+\_\+log@{test\+\_\+log}}
\index{test\+\_\+log@{test\+\_\+log}!test\+\_\+common.\+h@{test\+\_\+common.\+h}}
\subsubsection{\texorpdfstring{test\+\_\+log()}{test\_log()}}
{\footnotesize\ttfamily void test\+\_\+log (\begin{DoxyParamCaption}\item[{int}]{level,  }\item[{const char $\ast$}]{message,  }\item[{size\+\_\+t}]{len,  }\item[{void $\ast$}]{user\+\_\+data }\end{DoxyParamCaption})}

\mbox{\Hypertarget{test__common_8h_a139e27e738ac9d0c613db387c9537505}\label{test__common_8h_a139e27e738ac9d0c613db387c9537505}} 
\index{test\+\_\+common.\+h@{test\+\_\+common.\+h}!test\+\_\+pre\+\_\+key\+\_\+store\+\_\+contains\+\_\+pre\+\_\+key@{test\+\_\+pre\+\_\+key\+\_\+store\+\_\+contains\+\_\+pre\+\_\+key}}
\index{test\+\_\+pre\+\_\+key\+\_\+store\+\_\+contains\+\_\+pre\+\_\+key@{test\+\_\+pre\+\_\+key\+\_\+store\+\_\+contains\+\_\+pre\+\_\+key}!test\+\_\+common.\+h@{test\+\_\+common.\+h}}
\subsubsection{\texorpdfstring{test\+\_\+pre\+\_\+key\+\_\+store\+\_\+contains\+\_\+pre\+\_\+key()}{test\_pre\_key\_store\_contains\_pre\_key()}}
{\footnotesize\ttfamily int test\+\_\+pre\+\_\+key\+\_\+store\+\_\+contains\+\_\+pre\+\_\+key (\begin{DoxyParamCaption}\item[{\hyperlink{uthash_8h_a435d1572bf3f880d55459d9805097f62}{uint32\+\_\+t}}]{pre\+\_\+key\+\_\+id,  }\item[{void $\ast$}]{user\+\_\+data }\end{DoxyParamCaption})}

\mbox{\Hypertarget{test__common_8h_ac9aafd89119afec9ca8667cd0a37f054}\label{test__common_8h_ac9aafd89119afec9ca8667cd0a37f054}} 
\index{test\+\_\+common.\+h@{test\+\_\+common.\+h}!test\+\_\+pre\+\_\+key\+\_\+store\+\_\+destroy@{test\+\_\+pre\+\_\+key\+\_\+store\+\_\+destroy}}
\index{test\+\_\+pre\+\_\+key\+\_\+store\+\_\+destroy@{test\+\_\+pre\+\_\+key\+\_\+store\+\_\+destroy}!test\+\_\+common.\+h@{test\+\_\+common.\+h}}
\subsubsection{\texorpdfstring{test\+\_\+pre\+\_\+key\+\_\+store\+\_\+destroy()}{test\_pre\_key\_store\_destroy()}}
{\footnotesize\ttfamily void test\+\_\+pre\+\_\+key\+\_\+store\+\_\+destroy (\begin{DoxyParamCaption}\item[{void $\ast$}]{user\+\_\+data }\end{DoxyParamCaption})}

\mbox{\Hypertarget{test__common_8h_a1c8517cbe645e7f1c1fc0462f3a8d7e2}\label{test__common_8h_a1c8517cbe645e7f1c1fc0462f3a8d7e2}} 
\index{test\+\_\+common.\+h@{test\+\_\+common.\+h}!test\+\_\+pre\+\_\+key\+\_\+store\+\_\+load\+\_\+pre\+\_\+key@{test\+\_\+pre\+\_\+key\+\_\+store\+\_\+load\+\_\+pre\+\_\+key}}
\index{test\+\_\+pre\+\_\+key\+\_\+store\+\_\+load\+\_\+pre\+\_\+key@{test\+\_\+pre\+\_\+key\+\_\+store\+\_\+load\+\_\+pre\+\_\+key}!test\+\_\+common.\+h@{test\+\_\+common.\+h}}
\subsubsection{\texorpdfstring{test\+\_\+pre\+\_\+key\+\_\+store\+\_\+load\+\_\+pre\+\_\+key()}{test\_pre\_key\_store\_load\_pre\_key()}}
{\footnotesize\ttfamily int test\+\_\+pre\+\_\+key\+\_\+store\+\_\+load\+\_\+pre\+\_\+key (\begin{DoxyParamCaption}\item[{\hyperlink{structsignal__buffer}{signal\+\_\+buffer} $\ast$$\ast$}]{record,  }\item[{\hyperlink{uthash_8h_a435d1572bf3f880d55459d9805097f62}{uint32\+\_\+t}}]{pre\+\_\+key\+\_\+id,  }\item[{void $\ast$}]{user\+\_\+data }\end{DoxyParamCaption})}

\mbox{\Hypertarget{test__common_8h_a803714b2a9db2b64056f15c23fc63d38}\label{test__common_8h_a803714b2a9db2b64056f15c23fc63d38}} 
\index{test\+\_\+common.\+h@{test\+\_\+common.\+h}!test\+\_\+pre\+\_\+key\+\_\+store\+\_\+remove\+\_\+pre\+\_\+key@{test\+\_\+pre\+\_\+key\+\_\+store\+\_\+remove\+\_\+pre\+\_\+key}}
\index{test\+\_\+pre\+\_\+key\+\_\+store\+\_\+remove\+\_\+pre\+\_\+key@{test\+\_\+pre\+\_\+key\+\_\+store\+\_\+remove\+\_\+pre\+\_\+key}!test\+\_\+common.\+h@{test\+\_\+common.\+h}}
\subsubsection{\texorpdfstring{test\+\_\+pre\+\_\+key\+\_\+store\+\_\+remove\+\_\+pre\+\_\+key()}{test\_pre\_key\_store\_remove\_pre\_key()}}
{\footnotesize\ttfamily int test\+\_\+pre\+\_\+key\+\_\+store\+\_\+remove\+\_\+pre\+\_\+key (\begin{DoxyParamCaption}\item[{\hyperlink{uthash_8h_a435d1572bf3f880d55459d9805097f62}{uint32\+\_\+t}}]{pre\+\_\+key\+\_\+id,  }\item[{void $\ast$}]{user\+\_\+data }\end{DoxyParamCaption})}

\mbox{\Hypertarget{test__common_8h_a8fbaa683c6ca814eed376eace4f80222}\label{test__common_8h_a8fbaa683c6ca814eed376eace4f80222}} 
\index{test\+\_\+common.\+h@{test\+\_\+common.\+h}!test\+\_\+pre\+\_\+key\+\_\+store\+\_\+store\+\_\+pre\+\_\+key@{test\+\_\+pre\+\_\+key\+\_\+store\+\_\+store\+\_\+pre\+\_\+key}}
\index{test\+\_\+pre\+\_\+key\+\_\+store\+\_\+store\+\_\+pre\+\_\+key@{test\+\_\+pre\+\_\+key\+\_\+store\+\_\+store\+\_\+pre\+\_\+key}!test\+\_\+common.\+h@{test\+\_\+common.\+h}}
\subsubsection{\texorpdfstring{test\+\_\+pre\+\_\+key\+\_\+store\+\_\+store\+\_\+pre\+\_\+key()}{test\_pre\_key\_store\_store\_pre\_key()}}
{\footnotesize\ttfamily int test\+\_\+pre\+\_\+key\+\_\+store\+\_\+store\+\_\+pre\+\_\+key (\begin{DoxyParamCaption}\item[{\hyperlink{uthash_8h_a435d1572bf3f880d55459d9805097f62}{uint32\+\_\+t}}]{pre\+\_\+key\+\_\+id,  }\item[{\hyperlink{uthash_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t} $\ast$}]{record,  }\item[{size\+\_\+t}]{record\+\_\+len,  }\item[{void $\ast$}]{user\+\_\+data }\end{DoxyParamCaption})}

\mbox{\Hypertarget{test__common_8h_a164ca952aeb3f2ab17a0836cc86af275}\label{test__common_8h_a164ca952aeb3f2ab17a0836cc86af275}} 
\index{test\+\_\+common.\+h@{test\+\_\+common.\+h}!test\+\_\+random\+\_\+generator@{test\+\_\+random\+\_\+generator}}
\index{test\+\_\+random\+\_\+generator@{test\+\_\+random\+\_\+generator}!test\+\_\+common.\+h@{test\+\_\+common.\+h}}
\subsubsection{\texorpdfstring{test\+\_\+random\+\_\+generator()}{test\_random\_generator()}}
{\footnotesize\ttfamily int test\+\_\+random\+\_\+generator (\begin{DoxyParamCaption}\item[{\hyperlink{uthash_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t} $\ast$}]{data,  }\item[{size\+\_\+t}]{len,  }\item[{void $\ast$}]{user\+\_\+data }\end{DoxyParamCaption})}

\mbox{\Hypertarget{test__common_8h_a3ad025b2f5e7370e2adfcafbed80facb}\label{test__common_8h_a3ad025b2f5e7370e2adfcafbed80facb}} 
\index{test\+\_\+common.\+h@{test\+\_\+common.\+h}!test\+\_\+sender\+\_\+key\+\_\+store\+\_\+destroy@{test\+\_\+sender\+\_\+key\+\_\+store\+\_\+destroy}}
\index{test\+\_\+sender\+\_\+key\+\_\+store\+\_\+destroy@{test\+\_\+sender\+\_\+key\+\_\+store\+\_\+destroy}!test\+\_\+common.\+h@{test\+\_\+common.\+h}}
\subsubsection{\texorpdfstring{test\+\_\+sender\+\_\+key\+\_\+store\+\_\+destroy()}{test\_sender\_key\_store\_destroy()}}
{\footnotesize\ttfamily void test\+\_\+sender\+\_\+key\+\_\+store\+\_\+destroy (\begin{DoxyParamCaption}\item[{void $\ast$}]{user\+\_\+data }\end{DoxyParamCaption})}

\mbox{\Hypertarget{test__common_8h_a0f55b2483a31e21d700ca969ec55c538}\label{test__common_8h_a0f55b2483a31e21d700ca969ec55c538}} 
\index{test\+\_\+common.\+h@{test\+\_\+common.\+h}!test\+\_\+sender\+\_\+key\+\_\+store\+\_\+load\+\_\+sender\+\_\+key@{test\+\_\+sender\+\_\+key\+\_\+store\+\_\+load\+\_\+sender\+\_\+key}}
\index{test\+\_\+sender\+\_\+key\+\_\+store\+\_\+load\+\_\+sender\+\_\+key@{test\+\_\+sender\+\_\+key\+\_\+store\+\_\+load\+\_\+sender\+\_\+key}!test\+\_\+common.\+h@{test\+\_\+common.\+h}}
\subsubsection{\texorpdfstring{test\+\_\+sender\+\_\+key\+\_\+store\+\_\+load\+\_\+sender\+\_\+key()}{test\_sender\_key\_store\_load\_sender\_key()}}
{\footnotesize\ttfamily int test\+\_\+sender\+\_\+key\+\_\+store\+\_\+load\+\_\+sender\+\_\+key (\begin{DoxyParamCaption}\item[{\hyperlink{structsignal__buffer}{signal\+\_\+buffer} $\ast$$\ast$}]{record,  }\item[{\hyperlink{structsignal__buffer}{signal\+\_\+buffer} $\ast$$\ast$}]{user\+\_\+record,  }\item[{const \hyperlink{structsignal__protocol__sender__key__name}{signal\+\_\+protocol\+\_\+sender\+\_\+key\+\_\+name} $\ast$}]{sender\+\_\+key\+\_\+name,  }\item[{void $\ast$}]{user\+\_\+data }\end{DoxyParamCaption})}

\mbox{\Hypertarget{test__common_8h_a48fc50f6182bda696ebd9d224126cfe1}\label{test__common_8h_a48fc50f6182bda696ebd9d224126cfe1}} 
\index{test\+\_\+common.\+h@{test\+\_\+common.\+h}!test\+\_\+sender\+\_\+key\+\_\+store\+\_\+store\+\_\+sender\+\_\+key@{test\+\_\+sender\+\_\+key\+\_\+store\+\_\+store\+\_\+sender\+\_\+key}}
\index{test\+\_\+sender\+\_\+key\+\_\+store\+\_\+store\+\_\+sender\+\_\+key@{test\+\_\+sender\+\_\+key\+\_\+store\+\_\+store\+\_\+sender\+\_\+key}!test\+\_\+common.\+h@{test\+\_\+common.\+h}}
\subsubsection{\texorpdfstring{test\+\_\+sender\+\_\+key\+\_\+store\+\_\+store\+\_\+sender\+\_\+key()}{test\_sender\_key\_store\_store\_sender\_key()}}
{\footnotesize\ttfamily int test\+\_\+sender\+\_\+key\+\_\+store\+\_\+store\+\_\+sender\+\_\+key (\begin{DoxyParamCaption}\item[{const \hyperlink{structsignal__protocol__sender__key__name}{signal\+\_\+protocol\+\_\+sender\+\_\+key\+\_\+name} $\ast$}]{sender\+\_\+key\+\_\+name,  }\item[{\hyperlink{uthash_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t} $\ast$}]{record,  }\item[{size\+\_\+t}]{record\+\_\+len,  }\item[{\hyperlink{uthash_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t} $\ast$}]{user\+\_\+record\+\_\+data,  }\item[{size\+\_\+t}]{user\+\_\+record\+\_\+len,  }\item[{void $\ast$}]{user\+\_\+data }\end{DoxyParamCaption})}

\mbox{\Hypertarget{test__common_8h_a116f947c43839162161545b34c5ed0f4}\label{test__common_8h_a116f947c43839162161545b34c5ed0f4}} 
\index{test\+\_\+common.\+h@{test\+\_\+common.\+h}!test\+\_\+session\+\_\+store\+\_\+contains\+\_\+session@{test\+\_\+session\+\_\+store\+\_\+contains\+\_\+session}}
\index{test\+\_\+session\+\_\+store\+\_\+contains\+\_\+session@{test\+\_\+session\+\_\+store\+\_\+contains\+\_\+session}!test\+\_\+common.\+h@{test\+\_\+common.\+h}}
\subsubsection{\texorpdfstring{test\+\_\+session\+\_\+store\+\_\+contains\+\_\+session()}{test\_session\_store\_contains\_session()}}
{\footnotesize\ttfamily int test\+\_\+session\+\_\+store\+\_\+contains\+\_\+session (\begin{DoxyParamCaption}\item[{const \hyperlink{structsignal__protocol__address}{signal\+\_\+protocol\+\_\+address} $\ast$}]{address,  }\item[{void $\ast$}]{user\+\_\+data }\end{DoxyParamCaption})}

\mbox{\Hypertarget{test__common_8h_aed09dff34a448dff126bb5a8900af806}\label{test__common_8h_aed09dff34a448dff126bb5a8900af806}} 
\index{test\+\_\+common.\+h@{test\+\_\+common.\+h}!test\+\_\+session\+\_\+store\+\_\+delete\+\_\+all\+\_\+sessions@{test\+\_\+session\+\_\+store\+\_\+delete\+\_\+all\+\_\+sessions}}
\index{test\+\_\+session\+\_\+store\+\_\+delete\+\_\+all\+\_\+sessions@{test\+\_\+session\+\_\+store\+\_\+delete\+\_\+all\+\_\+sessions}!test\+\_\+common.\+h@{test\+\_\+common.\+h}}
\subsubsection{\texorpdfstring{test\+\_\+session\+\_\+store\+\_\+delete\+\_\+all\+\_\+sessions()}{test\_session\_store\_delete\_all\_sessions()}}
{\footnotesize\ttfamily int test\+\_\+session\+\_\+store\+\_\+delete\+\_\+all\+\_\+sessions (\begin{DoxyParamCaption}\item[{const char $\ast$}]{name,  }\item[{size\+\_\+t}]{name\+\_\+len,  }\item[{void $\ast$}]{user\+\_\+data }\end{DoxyParamCaption})}

\mbox{\Hypertarget{test__common_8h_a128d4f7d38684a2eec1638f7fedaf433}\label{test__common_8h_a128d4f7d38684a2eec1638f7fedaf433}} 
\index{test\+\_\+common.\+h@{test\+\_\+common.\+h}!test\+\_\+session\+\_\+store\+\_\+delete\+\_\+session@{test\+\_\+session\+\_\+store\+\_\+delete\+\_\+session}}
\index{test\+\_\+session\+\_\+store\+\_\+delete\+\_\+session@{test\+\_\+session\+\_\+store\+\_\+delete\+\_\+session}!test\+\_\+common.\+h@{test\+\_\+common.\+h}}
\subsubsection{\texorpdfstring{test\+\_\+session\+\_\+store\+\_\+delete\+\_\+session()}{test\_session\_store\_delete\_session()}}
{\footnotesize\ttfamily int test\+\_\+session\+\_\+store\+\_\+delete\+\_\+session (\begin{DoxyParamCaption}\item[{const \hyperlink{structsignal__protocol__address}{signal\+\_\+protocol\+\_\+address} $\ast$}]{address,  }\item[{void $\ast$}]{user\+\_\+data }\end{DoxyParamCaption})}

\mbox{\Hypertarget{test__common_8h_a7036d874a86e4159bac6e447584181ef}\label{test__common_8h_a7036d874a86e4159bac6e447584181ef}} 
\index{test\+\_\+common.\+h@{test\+\_\+common.\+h}!test\+\_\+session\+\_\+store\+\_\+destroy@{test\+\_\+session\+\_\+store\+\_\+destroy}}
\index{test\+\_\+session\+\_\+store\+\_\+destroy@{test\+\_\+session\+\_\+store\+\_\+destroy}!test\+\_\+common.\+h@{test\+\_\+common.\+h}}
\subsubsection{\texorpdfstring{test\+\_\+session\+\_\+store\+\_\+destroy()}{test\_session\_store\_destroy()}}
{\footnotesize\ttfamily void test\+\_\+session\+\_\+store\+\_\+destroy (\begin{DoxyParamCaption}\item[{void $\ast$}]{user\+\_\+data }\end{DoxyParamCaption})}

\mbox{\Hypertarget{test__common_8h_a36363bc30f0b687a78feea4161ddcb70}\label{test__common_8h_a36363bc30f0b687a78feea4161ddcb70}} 
\index{test\+\_\+common.\+h@{test\+\_\+common.\+h}!test\+\_\+session\+\_\+store\+\_\+get\+\_\+sub\+\_\+device\+\_\+sessions@{test\+\_\+session\+\_\+store\+\_\+get\+\_\+sub\+\_\+device\+\_\+sessions}}
\index{test\+\_\+session\+\_\+store\+\_\+get\+\_\+sub\+\_\+device\+\_\+sessions@{test\+\_\+session\+\_\+store\+\_\+get\+\_\+sub\+\_\+device\+\_\+sessions}!test\+\_\+common.\+h@{test\+\_\+common.\+h}}
\subsubsection{\texorpdfstring{test\+\_\+session\+\_\+store\+\_\+get\+\_\+sub\+\_\+device\+\_\+sessions()}{test\_session\_store\_get\_sub\_device\_sessions()}}
{\footnotesize\ttfamily int test\+\_\+session\+\_\+store\+\_\+get\+\_\+sub\+\_\+device\+\_\+sessions (\begin{DoxyParamCaption}\item[{\hyperlink{signal__protocol__types_8h_ad9b54e10dfdafa3f52ef80a00acd5d1d}{signal\+\_\+int\+\_\+list} $\ast$$\ast$}]{sessions,  }\item[{const char $\ast$}]{name,  }\item[{size\+\_\+t}]{name\+\_\+len,  }\item[{void $\ast$}]{user\+\_\+data }\end{DoxyParamCaption})}

\mbox{\Hypertarget{test__common_8h_ae95cd2744e352039aba4c8b7932cdb0e}\label{test__common_8h_ae95cd2744e352039aba4c8b7932cdb0e}} 
\index{test\+\_\+common.\+h@{test\+\_\+common.\+h}!test\+\_\+session\+\_\+store\+\_\+load\+\_\+session@{test\+\_\+session\+\_\+store\+\_\+load\+\_\+session}}
\index{test\+\_\+session\+\_\+store\+\_\+load\+\_\+session@{test\+\_\+session\+\_\+store\+\_\+load\+\_\+session}!test\+\_\+common.\+h@{test\+\_\+common.\+h}}
\subsubsection{\texorpdfstring{test\+\_\+session\+\_\+store\+\_\+load\+\_\+session()}{test\_session\_store\_load\_session()}}
{\footnotesize\ttfamily int test\+\_\+session\+\_\+store\+\_\+load\+\_\+session (\begin{DoxyParamCaption}\item[{\hyperlink{structsignal__buffer}{signal\+\_\+buffer} $\ast$$\ast$}]{record,  }\item[{\hyperlink{structsignal__buffer}{signal\+\_\+buffer} $\ast$$\ast$}]{user\+\_\+record,  }\item[{const \hyperlink{structsignal__protocol__address}{signal\+\_\+protocol\+\_\+address} $\ast$}]{address,  }\item[{void $\ast$}]{user\+\_\+data }\end{DoxyParamCaption})}

\mbox{\Hypertarget{test__common_8h_a960377fabecd2fe66126ebe080b7bf37}\label{test__common_8h_a960377fabecd2fe66126ebe080b7bf37}} 
\index{test\+\_\+common.\+h@{test\+\_\+common.\+h}!test\+\_\+session\+\_\+store\+\_\+store\+\_\+session@{test\+\_\+session\+\_\+store\+\_\+store\+\_\+session}}
\index{test\+\_\+session\+\_\+store\+\_\+store\+\_\+session@{test\+\_\+session\+\_\+store\+\_\+store\+\_\+session}!test\+\_\+common.\+h@{test\+\_\+common.\+h}}
\subsubsection{\texorpdfstring{test\+\_\+session\+\_\+store\+\_\+store\+\_\+session()}{test\_session\_store\_store\_session()}}
{\footnotesize\ttfamily int test\+\_\+session\+\_\+store\+\_\+store\+\_\+session (\begin{DoxyParamCaption}\item[{const \hyperlink{structsignal__protocol__address}{signal\+\_\+protocol\+\_\+address} $\ast$}]{address,  }\item[{\hyperlink{uthash_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t} $\ast$}]{record,  }\item[{size\+\_\+t}]{record\+\_\+len,  }\item[{\hyperlink{uthash_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t} $\ast$}]{user\+\_\+record\+\_\+data,  }\item[{size\+\_\+t}]{user\+\_\+record\+\_\+len,  }\item[{void $\ast$}]{user\+\_\+data }\end{DoxyParamCaption})}

\mbox{\Hypertarget{test__common_8h_a53f09e7071f04f085fc9e536b1da3a6a}\label{test__common_8h_a53f09e7071f04f085fc9e536b1da3a6a}} 
\index{test\+\_\+common.\+h@{test\+\_\+common.\+h}!test\+\_\+sha512\+\_\+digest\+\_\+cleanup@{test\+\_\+sha512\+\_\+digest\+\_\+cleanup}}
\index{test\+\_\+sha512\+\_\+digest\+\_\+cleanup@{test\+\_\+sha512\+\_\+digest\+\_\+cleanup}!test\+\_\+common.\+h@{test\+\_\+common.\+h}}
\subsubsection{\texorpdfstring{test\+\_\+sha512\+\_\+digest\+\_\+cleanup()}{test\_sha512\_digest\_cleanup()}}
{\footnotesize\ttfamily void test\+\_\+sha512\+\_\+digest\+\_\+cleanup (\begin{DoxyParamCaption}\item[{void $\ast$}]{digest\+\_\+context,  }\item[{void $\ast$}]{user\+\_\+data }\end{DoxyParamCaption})}

\mbox{\Hypertarget{test__common_8h_a29be2abb99dfe87cd48ec1f6f14d3c83}\label{test__common_8h_a29be2abb99dfe87cd48ec1f6f14d3c83}} 
\index{test\+\_\+common.\+h@{test\+\_\+common.\+h}!test\+\_\+sha512\+\_\+digest\+\_\+final@{test\+\_\+sha512\+\_\+digest\+\_\+final}}
\index{test\+\_\+sha512\+\_\+digest\+\_\+final@{test\+\_\+sha512\+\_\+digest\+\_\+final}!test\+\_\+common.\+h@{test\+\_\+common.\+h}}
\subsubsection{\texorpdfstring{test\+\_\+sha512\+\_\+digest\+\_\+final()}{test\_sha512\_digest\_final()}}
{\footnotesize\ttfamily int test\+\_\+sha512\+\_\+digest\+\_\+final (\begin{DoxyParamCaption}\item[{void $\ast$}]{digest\+\_\+context,  }\item[{\hyperlink{structsignal__buffer}{signal\+\_\+buffer} $\ast$$\ast$}]{output,  }\item[{void $\ast$}]{user\+\_\+data }\end{DoxyParamCaption})}

\mbox{\Hypertarget{test__common_8h_a86e6265e24ee7d2c7d4a62f78895ad62}\label{test__common_8h_a86e6265e24ee7d2c7d4a62f78895ad62}} 
\index{test\+\_\+common.\+h@{test\+\_\+common.\+h}!test\+\_\+sha512\+\_\+digest\+\_\+init@{test\+\_\+sha512\+\_\+digest\+\_\+init}}
\index{test\+\_\+sha512\+\_\+digest\+\_\+init@{test\+\_\+sha512\+\_\+digest\+\_\+init}!test\+\_\+common.\+h@{test\+\_\+common.\+h}}
\subsubsection{\texorpdfstring{test\+\_\+sha512\+\_\+digest\+\_\+init()}{test\_sha512\_digest\_init()}}
{\footnotesize\ttfamily int test\+\_\+sha512\+\_\+digest\+\_\+init (\begin{DoxyParamCaption}\item[{void $\ast$$\ast$}]{digest\+\_\+context,  }\item[{void $\ast$}]{user\+\_\+data }\end{DoxyParamCaption})}

\mbox{\Hypertarget{test__common_8h_a035ea072004c1340f55caa3b14c3274f}\label{test__common_8h_a035ea072004c1340f55caa3b14c3274f}} 
\index{test\+\_\+common.\+h@{test\+\_\+common.\+h}!test\+\_\+sha512\+\_\+digest\+\_\+update@{test\+\_\+sha512\+\_\+digest\+\_\+update}}
\index{test\+\_\+sha512\+\_\+digest\+\_\+update@{test\+\_\+sha512\+\_\+digest\+\_\+update}!test\+\_\+common.\+h@{test\+\_\+common.\+h}}
\subsubsection{\texorpdfstring{test\+\_\+sha512\+\_\+digest\+\_\+update()}{test\_sha512\_digest\_update()}}
{\footnotesize\ttfamily int test\+\_\+sha512\+\_\+digest\+\_\+update (\begin{DoxyParamCaption}\item[{void $\ast$}]{digest\+\_\+context,  }\item[{const \hyperlink{uthash_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t} $\ast$}]{data,  }\item[{size\+\_\+t}]{data\+\_\+len,  }\item[{void $\ast$}]{user\+\_\+data }\end{DoxyParamCaption})}

\mbox{\Hypertarget{test__common_8h_a20529b56e688d09f1840e59ee0459f82}\label{test__common_8h_a20529b56e688d09f1840e59ee0459f82}} 
\index{test\+\_\+common.\+h@{test\+\_\+common.\+h}!test\+\_\+signed\+\_\+pre\+\_\+key\+\_\+store\+\_\+contains\+\_\+signed\+\_\+pre\+\_\+key@{test\+\_\+signed\+\_\+pre\+\_\+key\+\_\+store\+\_\+contains\+\_\+signed\+\_\+pre\+\_\+key}}
\index{test\+\_\+signed\+\_\+pre\+\_\+key\+\_\+store\+\_\+contains\+\_\+signed\+\_\+pre\+\_\+key@{test\+\_\+signed\+\_\+pre\+\_\+key\+\_\+store\+\_\+contains\+\_\+signed\+\_\+pre\+\_\+key}!test\+\_\+common.\+h@{test\+\_\+common.\+h}}
\subsubsection{\texorpdfstring{test\+\_\+signed\+\_\+pre\+\_\+key\+\_\+store\+\_\+contains\+\_\+signed\+\_\+pre\+\_\+key()}{test\_signed\_pre\_key\_store\_contains\_signed\_pre\_key()}}
{\footnotesize\ttfamily int test\+\_\+signed\+\_\+pre\+\_\+key\+\_\+store\+\_\+contains\+\_\+signed\+\_\+pre\+\_\+key (\begin{DoxyParamCaption}\item[{\hyperlink{uthash_8h_a435d1572bf3f880d55459d9805097f62}{uint32\+\_\+t}}]{signed\+\_\+pre\+\_\+key\+\_\+id,  }\item[{void $\ast$}]{user\+\_\+data }\end{DoxyParamCaption})}

\mbox{\Hypertarget{test__common_8h_a0e28d31a25bfd0fa6b9917a8e4ca31db}\label{test__common_8h_a0e28d31a25bfd0fa6b9917a8e4ca31db}} 
\index{test\+\_\+common.\+h@{test\+\_\+common.\+h}!test\+\_\+signed\+\_\+pre\+\_\+key\+\_\+store\+\_\+destroy@{test\+\_\+signed\+\_\+pre\+\_\+key\+\_\+store\+\_\+destroy}}
\index{test\+\_\+signed\+\_\+pre\+\_\+key\+\_\+store\+\_\+destroy@{test\+\_\+signed\+\_\+pre\+\_\+key\+\_\+store\+\_\+destroy}!test\+\_\+common.\+h@{test\+\_\+common.\+h}}
\subsubsection{\texorpdfstring{test\+\_\+signed\+\_\+pre\+\_\+key\+\_\+store\+\_\+destroy()}{test\_signed\_pre\_key\_store\_destroy()}}
{\footnotesize\ttfamily void test\+\_\+signed\+\_\+pre\+\_\+key\+\_\+store\+\_\+destroy (\begin{DoxyParamCaption}\item[{void $\ast$}]{user\+\_\+data }\end{DoxyParamCaption})}

\mbox{\Hypertarget{test__common_8h_a6dbf41f3f20ca9302d2f7afa1a498c52}\label{test__common_8h_a6dbf41f3f20ca9302d2f7afa1a498c52}} 
\index{test\+\_\+common.\+h@{test\+\_\+common.\+h}!test\+\_\+signed\+\_\+pre\+\_\+key\+\_\+store\+\_\+load\+\_\+signed\+\_\+pre\+\_\+key@{test\+\_\+signed\+\_\+pre\+\_\+key\+\_\+store\+\_\+load\+\_\+signed\+\_\+pre\+\_\+key}}
\index{test\+\_\+signed\+\_\+pre\+\_\+key\+\_\+store\+\_\+load\+\_\+signed\+\_\+pre\+\_\+key@{test\+\_\+signed\+\_\+pre\+\_\+key\+\_\+store\+\_\+load\+\_\+signed\+\_\+pre\+\_\+key}!test\+\_\+common.\+h@{test\+\_\+common.\+h}}
\subsubsection{\texorpdfstring{test\+\_\+signed\+\_\+pre\+\_\+key\+\_\+store\+\_\+load\+\_\+signed\+\_\+pre\+\_\+key()}{test\_signed\_pre\_key\_store\_load\_signed\_pre\_key()}}
{\footnotesize\ttfamily int test\+\_\+signed\+\_\+pre\+\_\+key\+\_\+store\+\_\+load\+\_\+signed\+\_\+pre\+\_\+key (\begin{DoxyParamCaption}\item[{\hyperlink{structsignal__buffer}{signal\+\_\+buffer} $\ast$$\ast$}]{record,  }\item[{\hyperlink{uthash_8h_a435d1572bf3f880d55459d9805097f62}{uint32\+\_\+t}}]{signed\+\_\+pre\+\_\+key\+\_\+id,  }\item[{void $\ast$}]{user\+\_\+data }\end{DoxyParamCaption})}

\mbox{\Hypertarget{test__common_8h_a1bc6b1206e4a780d79aa487fbc5081b5}\label{test__common_8h_a1bc6b1206e4a780d79aa487fbc5081b5}} 
\index{test\+\_\+common.\+h@{test\+\_\+common.\+h}!test\+\_\+signed\+\_\+pre\+\_\+key\+\_\+store\+\_\+remove\+\_\+signed\+\_\+pre\+\_\+key@{test\+\_\+signed\+\_\+pre\+\_\+key\+\_\+store\+\_\+remove\+\_\+signed\+\_\+pre\+\_\+key}}
\index{test\+\_\+signed\+\_\+pre\+\_\+key\+\_\+store\+\_\+remove\+\_\+signed\+\_\+pre\+\_\+key@{test\+\_\+signed\+\_\+pre\+\_\+key\+\_\+store\+\_\+remove\+\_\+signed\+\_\+pre\+\_\+key}!test\+\_\+common.\+h@{test\+\_\+common.\+h}}
\subsubsection{\texorpdfstring{test\+\_\+signed\+\_\+pre\+\_\+key\+\_\+store\+\_\+remove\+\_\+signed\+\_\+pre\+\_\+key()}{test\_signed\_pre\_key\_store\_remove\_signed\_pre\_key()}}
{\footnotesize\ttfamily int test\+\_\+signed\+\_\+pre\+\_\+key\+\_\+store\+\_\+remove\+\_\+signed\+\_\+pre\+\_\+key (\begin{DoxyParamCaption}\item[{\hyperlink{uthash_8h_a435d1572bf3f880d55459d9805097f62}{uint32\+\_\+t}}]{signed\+\_\+pre\+\_\+key\+\_\+id,  }\item[{void $\ast$}]{user\+\_\+data }\end{DoxyParamCaption})}

\mbox{\Hypertarget{test__common_8h_a0919af073920e125b166a5e07cb0030e}\label{test__common_8h_a0919af073920e125b166a5e07cb0030e}} 
\index{test\+\_\+common.\+h@{test\+\_\+common.\+h}!test\+\_\+signed\+\_\+pre\+\_\+key\+\_\+store\+\_\+store\+\_\+signed\+\_\+pre\+\_\+key@{test\+\_\+signed\+\_\+pre\+\_\+key\+\_\+store\+\_\+store\+\_\+signed\+\_\+pre\+\_\+key}}
\index{test\+\_\+signed\+\_\+pre\+\_\+key\+\_\+store\+\_\+store\+\_\+signed\+\_\+pre\+\_\+key@{test\+\_\+signed\+\_\+pre\+\_\+key\+\_\+store\+\_\+store\+\_\+signed\+\_\+pre\+\_\+key}!test\+\_\+common.\+h@{test\+\_\+common.\+h}}
\subsubsection{\texorpdfstring{test\+\_\+signed\+\_\+pre\+\_\+key\+\_\+store\+\_\+store\+\_\+signed\+\_\+pre\+\_\+key()}{test\_signed\_pre\_key\_store\_store\_signed\_pre\_key()}}
{\footnotesize\ttfamily int test\+\_\+signed\+\_\+pre\+\_\+key\+\_\+store\+\_\+store\+\_\+signed\+\_\+pre\+\_\+key (\begin{DoxyParamCaption}\item[{\hyperlink{uthash_8h_a435d1572bf3f880d55459d9805097f62}{uint32\+\_\+t}}]{signed\+\_\+pre\+\_\+key\+\_\+id,  }\item[{\hyperlink{uthash_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t} $\ast$}]{record,  }\item[{size\+\_\+t}]{record\+\_\+len,  }\item[{void $\ast$}]{user\+\_\+data }\end{DoxyParamCaption})}

