\hypertarget{ratchet_8h}{}\section{src/ratchet.h File Reference}
\label{ratchet_8h}\index{src/ratchet.\+h@{src/ratchet.\+h}}
{\ttfamily \#include $<$stdint.\+h$>$}\newline
{\ttfamily \#include $<$stddef.\+h$>$}\newline
{\ttfamily \#include \char`\"{}signal\+\_\+protocol\+\_\+types.\+h\char`\"{}}\newline
Include dependency graph for ratchet.\+h\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=280pt]{ratchet_8h__incl}
\end{center}
\end{figure}
This graph shows which files directly or indirectly include this file\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{ratchet_8h__dep__incl}
\end{center}
\end{figure}
\subsection*{Typedefs}
\begin{DoxyCompactItemize}
\item 
typedef struct \hyperlink{ratchet_8h_a2dab17c2b267b432d761c84a9304ab40}{symmetric\+\_\+signal\+\_\+protocol\+\_\+parameters} \hyperlink{ratchet_8h_a2dab17c2b267b432d761c84a9304ab40}{symmetric\+\_\+signal\+\_\+protocol\+\_\+parameters}
\item 
typedef struct \hyperlink{ratchet_8h_a3cfc983b69c08cbff3d1f3520ed8b013}{alice\+\_\+signal\+\_\+protocol\+\_\+parameters} \hyperlink{ratchet_8h_a3cfc983b69c08cbff3d1f3520ed8b013}{alice\+\_\+signal\+\_\+protocol\+\_\+parameters}
\item 
typedef struct \hyperlink{ratchet_8h_ae038988856f1c1798018fd7e71f4a388}{bob\+\_\+signal\+\_\+protocol\+\_\+parameters} \hyperlink{ratchet_8h_ae038988856f1c1798018fd7e71f4a388}{bob\+\_\+signal\+\_\+protocol\+\_\+parameters}
\end{DoxyCompactItemize}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
int \hyperlink{ratchet_8h_aa6efddc9a09317e6d26cfe7c938676e4}{ratchet\+\_\+chain\+\_\+key\+\_\+create} (\hyperlink{signal__protocol__types_8h_a7799abfd66deed541c14a329fd832afc}{ratchet\+\_\+chain\+\_\+key} $\ast$$\ast$chain\+\_\+key, \hyperlink{signal__protocol__types_8h_aafd621639411ad31ee233fb65c0a51f5}{hkdf\+\_\+context} $\ast$kdf, const \hyperlink{uthash_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t} $\ast$key, size\+\_\+t key\+\_\+len, \hyperlink{uthash_8h_a435d1572bf3f880d55459d9805097f62}{uint32\+\_\+t} index, \hyperlink{structsignal__context}{signal\+\_\+context} $\ast$global\+\_\+context)
\item 
int \hyperlink{ratchet_8h_a91361e03ad80e736409c0c6597b80c11}{ratchet\+\_\+chain\+\_\+key\+\_\+get\+\_\+key} (const \hyperlink{signal__protocol__types_8h_a7799abfd66deed541c14a329fd832afc}{ratchet\+\_\+chain\+\_\+key} $\ast$chain\+\_\+key, \hyperlink{structsignal__buffer}{signal\+\_\+buffer} $\ast$$\ast$buffer)
\item 
\hyperlink{uthash_8h_a435d1572bf3f880d55459d9805097f62}{uint32\+\_\+t} \hyperlink{ratchet_8h_ae1b4ffd94e5daef6e9eecb693698965a}{ratchet\+\_\+chain\+\_\+key\+\_\+get\+\_\+index} (const \hyperlink{signal__protocol__types_8h_a7799abfd66deed541c14a329fd832afc}{ratchet\+\_\+chain\+\_\+key} $\ast$chain\+\_\+key)
\item 
int \hyperlink{ratchet_8h_ad8424355e3cd84f37feddb71c769b894}{ratchet\+\_\+chain\+\_\+key\+\_\+get\+\_\+message\+\_\+keys} (\hyperlink{signal__protocol__types_8h_a7799abfd66deed541c14a329fd832afc}{ratchet\+\_\+chain\+\_\+key} $\ast$chain\+\_\+key, \hyperlink{structratchet__message__keys}{ratchet\+\_\+message\+\_\+keys} $\ast$message\+\_\+keys)
\item 
int \hyperlink{ratchet_8h_a55606d4143382ab25aeaadf09c1aa61d}{ratchet\+\_\+chain\+\_\+key\+\_\+create\+\_\+next} (const \hyperlink{signal__protocol__types_8h_a7799abfd66deed541c14a329fd832afc}{ratchet\+\_\+chain\+\_\+key} $\ast$chain\+\_\+key, \hyperlink{signal__protocol__types_8h_a7799abfd66deed541c14a329fd832afc}{ratchet\+\_\+chain\+\_\+key} $\ast$$\ast$next\+\_\+chain\+\_\+key)
\item 
void \hyperlink{ratchet_8h_ae18189bcdbd924a5a0db2d72fd8b772d}{ratchet\+\_\+chain\+\_\+key\+\_\+destroy} (\hyperlink{structsignal__type__base}{signal\+\_\+type\+\_\+base} $\ast$type)
\item 
int \hyperlink{ratchet_8h_a7616dfbfc41345b76db7699c0d3e1d6b}{ratchet\+\_\+root\+\_\+key\+\_\+create} (\hyperlink{signal__protocol__types_8h_a4a3febd70a6caf4ef99dfe1a87146372}{ratchet\+\_\+root\+\_\+key} $\ast$$\ast$root\+\_\+key, \hyperlink{signal__protocol__types_8h_aafd621639411ad31ee233fb65c0a51f5}{hkdf\+\_\+context} $\ast$kdf, const \hyperlink{uthash_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t} $\ast$key, size\+\_\+t key\+\_\+len, \hyperlink{structsignal__context}{signal\+\_\+context} $\ast$global\+\_\+context)
\item 
int \hyperlink{ratchet_8h_aead3fee745b8ea23f2925fd32c71f791}{ratchet\+\_\+root\+\_\+key\+\_\+create\+\_\+chain} (\hyperlink{signal__protocol__types_8h_a4a3febd70a6caf4ef99dfe1a87146372}{ratchet\+\_\+root\+\_\+key} $\ast$root\+\_\+key, \hyperlink{signal__protocol__types_8h_a4a3febd70a6caf4ef99dfe1a87146372}{ratchet\+\_\+root\+\_\+key} $\ast$$\ast$new\+\_\+root\+\_\+key, \hyperlink{signal__protocol__types_8h_a7799abfd66deed541c14a329fd832afc}{ratchet\+\_\+chain\+\_\+key} $\ast$$\ast$new\+\_\+chain\+\_\+key, \hyperlink{signal__protocol__types_8h_a73ea701c5087163bba608c4706df6176}{ec\+\_\+public\+\_\+key} $\ast$their\+\_\+ratchet\+\_\+key, \hyperlink{signal__protocol__types_8h_a06d963e532f25681dd462897f844205d}{ec\+\_\+private\+\_\+key} $\ast$our\+\_\+ratchet\+\_\+key\+\_\+private)
\item 
int \hyperlink{ratchet_8h_a92281d7fef6ef945d9bab81f4aaf546f}{ratchet\+\_\+root\+\_\+key\+\_\+get\+\_\+key} (\hyperlink{signal__protocol__types_8h_a4a3febd70a6caf4ef99dfe1a87146372}{ratchet\+\_\+root\+\_\+key} $\ast$root\+\_\+key, \hyperlink{structsignal__buffer}{signal\+\_\+buffer} $\ast$$\ast$buffer)
\item 
int \hyperlink{ratchet_8h_a469446c33b7ca02ccff2236edb01fca8}{ratchet\+\_\+root\+\_\+key\+\_\+compare} (const \hyperlink{signal__protocol__types_8h_a4a3febd70a6caf4ef99dfe1a87146372}{ratchet\+\_\+root\+\_\+key} $\ast$key1, const \hyperlink{signal__protocol__types_8h_a4a3febd70a6caf4ef99dfe1a87146372}{ratchet\+\_\+root\+\_\+key} $\ast$key2)
\item 
void \hyperlink{ratchet_8h_a5c4cec8e9804916ed4bc3dc11b321ceb}{ratchet\+\_\+root\+\_\+key\+\_\+destroy} (\hyperlink{structsignal__type__base}{signal\+\_\+type\+\_\+base} $\ast$type)
\item 
int \hyperlink{ratchet_8h_a1aa01af51fe929588b725818a772e5d0}{ratchet\+\_\+identity\+\_\+key\+\_\+pair\+\_\+create} (\hyperlink{signal__protocol__types_8h_a2b29fe6c645390a72526c774c35ad457}{ratchet\+\_\+identity\+\_\+key\+\_\+pair} $\ast$$\ast$key\+\_\+pair, \hyperlink{signal__protocol__types_8h_a73ea701c5087163bba608c4706df6176}{ec\+\_\+public\+\_\+key} $\ast$public\+\_\+key, \hyperlink{signal__protocol__types_8h_a06d963e532f25681dd462897f844205d}{ec\+\_\+private\+\_\+key} $\ast$private\+\_\+key)
\item 
int \hyperlink{ratchet_8h_a98227a7eeb7bcb0821e4b165a254d2af}{ratchet\+\_\+identity\+\_\+key\+\_\+pair\+\_\+serialize} (\hyperlink{structsignal__buffer}{signal\+\_\+buffer} $\ast$$\ast$buffer, const \hyperlink{signal__protocol__types_8h_a2b29fe6c645390a72526c774c35ad457}{ratchet\+\_\+identity\+\_\+key\+\_\+pair} $\ast$key\+\_\+pair)
\item 
int \hyperlink{ratchet_8h_aca69123215b937228d1c0b10c0cdab9b}{ratchet\+\_\+identity\+\_\+key\+\_\+pair\+\_\+deserialize} (\hyperlink{signal__protocol__types_8h_a2b29fe6c645390a72526c774c35ad457}{ratchet\+\_\+identity\+\_\+key\+\_\+pair} $\ast$$\ast$key\+\_\+pair, const \hyperlink{uthash_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t} $\ast$data, size\+\_\+t len, \hyperlink{structsignal__context}{signal\+\_\+context} $\ast$global\+\_\+context)
\item 
\hyperlink{signal__protocol__types_8h_a73ea701c5087163bba608c4706df6176}{ec\+\_\+public\+\_\+key} $\ast$ \hyperlink{ratchet_8h_a5e456cf1381b16e48df4f7405beeefa4}{ratchet\+\_\+identity\+\_\+key\+\_\+pair\+\_\+get\+\_\+public} (const \hyperlink{signal__protocol__types_8h_a2b29fe6c645390a72526c774c35ad457}{ratchet\+\_\+identity\+\_\+key\+\_\+pair} $\ast$key\+\_\+pair)
\item 
\hyperlink{signal__protocol__types_8h_a06d963e532f25681dd462897f844205d}{ec\+\_\+private\+\_\+key} $\ast$ \hyperlink{ratchet_8h_a89e3cac242368768ce06f39893bea613}{ratchet\+\_\+identity\+\_\+key\+\_\+pair\+\_\+get\+\_\+private} (const \hyperlink{signal__protocol__types_8h_a2b29fe6c645390a72526c774c35ad457}{ratchet\+\_\+identity\+\_\+key\+\_\+pair} $\ast$key\+\_\+pair)
\item 
void \hyperlink{ratchet_8h_aff35c3c9ef3415b5375fc8252b3cdb0b}{ratchet\+\_\+identity\+\_\+key\+\_\+pair\+\_\+destroy} (\hyperlink{structsignal__type__base}{signal\+\_\+type\+\_\+base} $\ast$type)
\item 
int \hyperlink{ratchet_8h_abece3d58ea786d9292e96ddcb8039fbb}{symmetric\+\_\+signal\+\_\+protocol\+\_\+parameters\+\_\+create} (\hyperlink{ratchet_8h_a2dab17c2b267b432d761c84a9304ab40}{symmetric\+\_\+signal\+\_\+protocol\+\_\+parameters} $\ast$$\ast$parameters, \hyperlink{signal__protocol__types_8h_a2b29fe6c645390a72526c774c35ad457}{ratchet\+\_\+identity\+\_\+key\+\_\+pair} $\ast$our\+\_\+identity\+\_\+key, \hyperlink{signal__protocol__types_8h_ae66f8b39deda7e0ce46f3ee15561472a}{ec\+\_\+key\+\_\+pair} $\ast$our\+\_\+base\+\_\+key, \hyperlink{signal__protocol__types_8h_ae66f8b39deda7e0ce46f3ee15561472a}{ec\+\_\+key\+\_\+pair} $\ast$our\+\_\+ratchet\+\_\+key, \hyperlink{signal__protocol__types_8h_a73ea701c5087163bba608c4706df6176}{ec\+\_\+public\+\_\+key} $\ast$their\+\_\+base\+\_\+key, \hyperlink{signal__protocol__types_8h_a73ea701c5087163bba608c4706df6176}{ec\+\_\+public\+\_\+key} $\ast$their\+\_\+ratchet\+\_\+key, \hyperlink{signal__protocol__types_8h_a73ea701c5087163bba608c4706df6176}{ec\+\_\+public\+\_\+key} $\ast$their\+\_\+identity\+\_\+key)
\item 
\hyperlink{signal__protocol__types_8h_a2b29fe6c645390a72526c774c35ad457}{ratchet\+\_\+identity\+\_\+key\+\_\+pair} $\ast$ \hyperlink{ratchet_8h_a5fea42bb5426a6610135ca4bb96e3226}{symmetric\+\_\+signal\+\_\+protocol\+\_\+parameters\+\_\+get\+\_\+our\+\_\+identity\+\_\+key} (const \hyperlink{ratchet_8h_a2dab17c2b267b432d761c84a9304ab40}{symmetric\+\_\+signal\+\_\+protocol\+\_\+parameters} $\ast$parameters)
\item 
\hyperlink{signal__protocol__types_8h_ae66f8b39deda7e0ce46f3ee15561472a}{ec\+\_\+key\+\_\+pair} $\ast$ \hyperlink{ratchet_8h_a8e5c0d8b39d39d063b692a403e651063}{symmetric\+\_\+signal\+\_\+protocol\+\_\+parameters\+\_\+get\+\_\+our\+\_\+base\+\_\+key} (const \hyperlink{ratchet_8h_a2dab17c2b267b432d761c84a9304ab40}{symmetric\+\_\+signal\+\_\+protocol\+\_\+parameters} $\ast$parameters)
\item 
\hyperlink{signal__protocol__types_8h_ae66f8b39deda7e0ce46f3ee15561472a}{ec\+\_\+key\+\_\+pair} $\ast$ \hyperlink{ratchet_8h_acd9b26bbbadfc3eea2ef885bfcb566dd}{symmetric\+\_\+signal\+\_\+protocol\+\_\+parameters\+\_\+get\+\_\+our\+\_\+ratchet\+\_\+key} (const \hyperlink{ratchet_8h_a2dab17c2b267b432d761c84a9304ab40}{symmetric\+\_\+signal\+\_\+protocol\+\_\+parameters} $\ast$parameters)
\item 
\hyperlink{signal__protocol__types_8h_a73ea701c5087163bba608c4706df6176}{ec\+\_\+public\+\_\+key} $\ast$ \hyperlink{ratchet_8h_aeec55846c9861786caf5ee46006d60d8}{symmetric\+\_\+signal\+\_\+protocol\+\_\+parameters\+\_\+get\+\_\+their\+\_\+base\+\_\+key} (const \hyperlink{ratchet_8h_a2dab17c2b267b432d761c84a9304ab40}{symmetric\+\_\+signal\+\_\+protocol\+\_\+parameters} $\ast$parameters)
\item 
\hyperlink{signal__protocol__types_8h_a73ea701c5087163bba608c4706df6176}{ec\+\_\+public\+\_\+key} $\ast$ \hyperlink{ratchet_8h_aed4d490614e3ea29c434051a41579af5}{symmetric\+\_\+signal\+\_\+protocol\+\_\+parameters\+\_\+get\+\_\+their\+\_\+ratchet\+\_\+key} (const \hyperlink{ratchet_8h_a2dab17c2b267b432d761c84a9304ab40}{symmetric\+\_\+signal\+\_\+protocol\+\_\+parameters} $\ast$parameters)
\item 
\hyperlink{signal__protocol__types_8h_a73ea701c5087163bba608c4706df6176}{ec\+\_\+public\+\_\+key} $\ast$ \hyperlink{ratchet_8h_ad86776ecf3fe4328e9fc318d7bf7e78a}{symmetric\+\_\+signal\+\_\+protocol\+\_\+parameters\+\_\+get\+\_\+their\+\_\+identity\+\_\+key} (const \hyperlink{ratchet_8h_a2dab17c2b267b432d761c84a9304ab40}{symmetric\+\_\+signal\+\_\+protocol\+\_\+parameters} $\ast$parameters)
\item 
void \hyperlink{ratchet_8h_ade2ca918a1ee3dfc844495c71a596b4a}{symmetric\+\_\+signal\+\_\+protocol\+\_\+parameters\+\_\+destroy} (\hyperlink{structsignal__type__base}{signal\+\_\+type\+\_\+base} $\ast$type)
\item 
int \hyperlink{ratchet_8h_ad03ead7b1822e7aa3f786c570b75aa41}{alice\+\_\+signal\+\_\+protocol\+\_\+parameters\+\_\+create} (\hyperlink{ratchet_8h_a3cfc983b69c08cbff3d1f3520ed8b013}{alice\+\_\+signal\+\_\+protocol\+\_\+parameters} $\ast$$\ast$parameters, \hyperlink{signal__protocol__types_8h_a2b29fe6c645390a72526c774c35ad457}{ratchet\+\_\+identity\+\_\+key\+\_\+pair} $\ast$our\+\_\+identity\+\_\+key, \hyperlink{signal__protocol__types_8h_ae66f8b39deda7e0ce46f3ee15561472a}{ec\+\_\+key\+\_\+pair} $\ast$our\+\_\+base\+\_\+key, \hyperlink{signal__protocol__types_8h_a73ea701c5087163bba608c4706df6176}{ec\+\_\+public\+\_\+key} $\ast$their\+\_\+identity\+\_\+key, \hyperlink{signal__protocol__types_8h_a73ea701c5087163bba608c4706df6176}{ec\+\_\+public\+\_\+key} $\ast$their\+\_\+signed\+\_\+pre\+\_\+key, \hyperlink{signal__protocol__types_8h_a73ea701c5087163bba608c4706df6176}{ec\+\_\+public\+\_\+key} $\ast$their\+\_\+one\+\_\+time\+\_\+pre\+\_\+key, \hyperlink{signal__protocol__types_8h_a73ea701c5087163bba608c4706df6176}{ec\+\_\+public\+\_\+key} $\ast$their\+\_\+ratchet\+\_\+key)
\item 
void \hyperlink{ratchet_8h_ad4bc8e7a8d603af77d894c7c650ddaa1}{alice\+\_\+signal\+\_\+protocol\+\_\+parameters\+\_\+destroy} (\hyperlink{structsignal__type__base}{signal\+\_\+type\+\_\+base} $\ast$type)
\item 
int \hyperlink{ratchet_8h_a9961f732ba974c9b2a39bda61c6f20a7}{bob\+\_\+signal\+\_\+protocol\+\_\+parameters\+\_\+create} (\hyperlink{ratchet_8h_ae038988856f1c1798018fd7e71f4a388}{bob\+\_\+signal\+\_\+protocol\+\_\+parameters} $\ast$$\ast$parameters, \hyperlink{signal__protocol__types_8h_a2b29fe6c645390a72526c774c35ad457}{ratchet\+\_\+identity\+\_\+key\+\_\+pair} $\ast$our\+\_\+identity\+\_\+key, \hyperlink{signal__protocol__types_8h_ae66f8b39deda7e0ce46f3ee15561472a}{ec\+\_\+key\+\_\+pair} $\ast$our\+\_\+signed\+\_\+pre\+\_\+key, \hyperlink{signal__protocol__types_8h_ae66f8b39deda7e0ce46f3ee15561472a}{ec\+\_\+key\+\_\+pair} $\ast$our\+\_\+one\+\_\+time\+\_\+pre\+\_\+key, \hyperlink{signal__protocol__types_8h_ae66f8b39deda7e0ce46f3ee15561472a}{ec\+\_\+key\+\_\+pair} $\ast$our\+\_\+ratchet\+\_\+key, \hyperlink{signal__protocol__types_8h_a73ea701c5087163bba608c4706df6176}{ec\+\_\+public\+\_\+key} $\ast$their\+\_\+identity\+\_\+key, \hyperlink{signal__protocol__types_8h_a73ea701c5087163bba608c4706df6176}{ec\+\_\+public\+\_\+key} $\ast$their\+\_\+base\+\_\+key)
\item 
void \hyperlink{ratchet_8h_ab5482742d52950d212460dcf5f25f413}{bob\+\_\+signal\+\_\+protocol\+\_\+parameters\+\_\+destroy} (\hyperlink{structsignal__type__base}{signal\+\_\+type\+\_\+base} $\ast$type)
\item 
int \hyperlink{ratchet_8h_a6c48261cc2787cb44beb9470b5d13b30}{ratcheting\+\_\+session\+\_\+symmetric\+\_\+initialize} (\hyperlink{signal__protocol__types_8h_a1a0fb11eb762bbf0da7e0b771c5a78c8}{session\+\_\+state} $\ast$state, \hyperlink{ratchet_8h_a2dab17c2b267b432d761c84a9304ab40}{symmetric\+\_\+signal\+\_\+protocol\+\_\+parameters} $\ast$parameters, \hyperlink{structsignal__context}{signal\+\_\+context} $\ast$global\+\_\+context)
\item 
int \hyperlink{ratchet_8h_a8dc434173dd312d215d1a2ebaefdb1eb}{ratcheting\+\_\+session\+\_\+alice\+\_\+initialize} (\hyperlink{signal__protocol__types_8h_a1a0fb11eb762bbf0da7e0b771c5a78c8}{session\+\_\+state} $\ast$state, \hyperlink{ratchet_8h_a3cfc983b69c08cbff3d1f3520ed8b013}{alice\+\_\+signal\+\_\+protocol\+\_\+parameters} $\ast$parameters, \hyperlink{structsignal__context}{signal\+\_\+context} $\ast$global\+\_\+context)
\item 
int \hyperlink{ratchet_8h_aa90507157934cf52b6afa1d5fb5fceca}{ratcheting\+\_\+session\+\_\+bob\+\_\+initialize} (\hyperlink{signal__protocol__types_8h_a1a0fb11eb762bbf0da7e0b771c5a78c8}{session\+\_\+state} $\ast$state, \hyperlink{ratchet_8h_ae038988856f1c1798018fd7e71f4a388}{bob\+\_\+signal\+\_\+protocol\+\_\+parameters} $\ast$parameters, \hyperlink{structsignal__context}{signal\+\_\+context} $\ast$global\+\_\+context)
\end{DoxyCompactItemize}


\subsection{Typedef Documentation}
\mbox{\Hypertarget{ratchet_8h_a3cfc983b69c08cbff3d1f3520ed8b013}\label{ratchet_8h_a3cfc983b69c08cbff3d1f3520ed8b013}} 
\index{ratchet.\+h@{ratchet.\+h}!alice\+\_\+signal\+\_\+protocol\+\_\+parameters@{alice\+\_\+signal\+\_\+protocol\+\_\+parameters}}
\index{alice\+\_\+signal\+\_\+protocol\+\_\+parameters@{alice\+\_\+signal\+\_\+protocol\+\_\+parameters}!ratchet.\+h@{ratchet.\+h}}
\subsubsection{\texorpdfstring{alice\+\_\+signal\+\_\+protocol\+\_\+parameters}{alice\_signal\_protocol\_parameters}}
{\footnotesize\ttfamily typedef struct \hyperlink{ratchet_8h_a3cfc983b69c08cbff3d1f3520ed8b013}{alice\+\_\+signal\+\_\+protocol\+\_\+parameters} \hyperlink{ratchet_8h_a3cfc983b69c08cbff3d1f3520ed8b013}{alice\+\_\+signal\+\_\+protocol\+\_\+parameters}}



Definition at line 43 of file ratchet.\+h.

\mbox{\Hypertarget{ratchet_8h_ae038988856f1c1798018fd7e71f4a388}\label{ratchet_8h_ae038988856f1c1798018fd7e71f4a388}} 
\index{ratchet.\+h@{ratchet.\+h}!bob\+\_\+signal\+\_\+protocol\+\_\+parameters@{bob\+\_\+signal\+\_\+protocol\+\_\+parameters}}
\index{bob\+\_\+signal\+\_\+protocol\+\_\+parameters@{bob\+\_\+signal\+\_\+protocol\+\_\+parameters}!ratchet.\+h@{ratchet.\+h}}
\subsubsection{\texorpdfstring{bob\+\_\+signal\+\_\+protocol\+\_\+parameters}{bob\_signal\_protocol\_parameters}}
{\footnotesize\ttfamily typedef struct \hyperlink{ratchet_8h_ae038988856f1c1798018fd7e71f4a388}{bob\+\_\+signal\+\_\+protocol\+\_\+parameters} \hyperlink{ratchet_8h_ae038988856f1c1798018fd7e71f4a388}{bob\+\_\+signal\+\_\+protocol\+\_\+parameters}}



Definition at line 44 of file ratchet.\+h.

\mbox{\Hypertarget{ratchet_8h_a2dab17c2b267b432d761c84a9304ab40}\label{ratchet_8h_a2dab17c2b267b432d761c84a9304ab40}} 
\index{ratchet.\+h@{ratchet.\+h}!symmetric\+\_\+signal\+\_\+protocol\+\_\+parameters@{symmetric\+\_\+signal\+\_\+protocol\+\_\+parameters}}
\index{symmetric\+\_\+signal\+\_\+protocol\+\_\+parameters@{symmetric\+\_\+signal\+\_\+protocol\+\_\+parameters}!ratchet.\+h@{ratchet.\+h}}
\subsubsection{\texorpdfstring{symmetric\+\_\+signal\+\_\+protocol\+\_\+parameters}{symmetric\_signal\_protocol\_parameters}}
{\footnotesize\ttfamily typedef struct \hyperlink{ratchet_8h_a2dab17c2b267b432d761c84a9304ab40}{symmetric\+\_\+signal\+\_\+protocol\+\_\+parameters} \hyperlink{ratchet_8h_a2dab17c2b267b432d761c84a9304ab40}{symmetric\+\_\+signal\+\_\+protocol\+\_\+parameters}}



Definition at line 42 of file ratchet.\+h.



\subsection{Function Documentation}
\mbox{\Hypertarget{ratchet_8h_ad03ead7b1822e7aa3f786c570b75aa41}\label{ratchet_8h_ad03ead7b1822e7aa3f786c570b75aa41}} 
\index{ratchet.\+h@{ratchet.\+h}!alice\+\_\+signal\+\_\+protocol\+\_\+parameters\+\_\+create@{alice\+\_\+signal\+\_\+protocol\+\_\+parameters\+\_\+create}}
\index{alice\+\_\+signal\+\_\+protocol\+\_\+parameters\+\_\+create@{alice\+\_\+signal\+\_\+protocol\+\_\+parameters\+\_\+create}!ratchet.\+h@{ratchet.\+h}}
\subsubsection{\texorpdfstring{alice\+\_\+signal\+\_\+protocol\+\_\+parameters\+\_\+create()}{alice\_signal\_protocol\_parameters\_create()}}
{\footnotesize\ttfamily int alice\+\_\+signal\+\_\+protocol\+\_\+parameters\+\_\+create (\begin{DoxyParamCaption}\item[{\hyperlink{ratchet_8h_a3cfc983b69c08cbff3d1f3520ed8b013}{alice\+\_\+signal\+\_\+protocol\+\_\+parameters} $\ast$$\ast$}]{parameters,  }\item[{\hyperlink{signal__protocol__types_8h_a2b29fe6c645390a72526c774c35ad457}{ratchet\+\_\+identity\+\_\+key\+\_\+pair} $\ast$}]{our\+\_\+identity\+\_\+key,  }\item[{\hyperlink{signal__protocol__types_8h_ae66f8b39deda7e0ce46f3ee15561472a}{ec\+\_\+key\+\_\+pair} $\ast$}]{our\+\_\+base\+\_\+key,  }\item[{\hyperlink{signal__protocol__types_8h_a73ea701c5087163bba608c4706df6176}{ec\+\_\+public\+\_\+key} $\ast$}]{their\+\_\+identity\+\_\+key,  }\item[{\hyperlink{signal__protocol__types_8h_a73ea701c5087163bba608c4706df6176}{ec\+\_\+public\+\_\+key} $\ast$}]{their\+\_\+signed\+\_\+pre\+\_\+key,  }\item[{\hyperlink{signal__protocol__types_8h_a73ea701c5087163bba608c4706df6176}{ec\+\_\+public\+\_\+key} $\ast$}]{their\+\_\+one\+\_\+time\+\_\+pre\+\_\+key,  }\item[{\hyperlink{signal__protocol__types_8h_a73ea701c5087163bba608c4706df6176}{ec\+\_\+public\+\_\+key} $\ast$}]{their\+\_\+ratchet\+\_\+key }\end{DoxyParamCaption})}

\mbox{\Hypertarget{ratchet_8h_ad4bc8e7a8d603af77d894c7c650ddaa1}\label{ratchet_8h_ad4bc8e7a8d603af77d894c7c650ddaa1}} 
\index{ratchet.\+h@{ratchet.\+h}!alice\+\_\+signal\+\_\+protocol\+\_\+parameters\+\_\+destroy@{alice\+\_\+signal\+\_\+protocol\+\_\+parameters\+\_\+destroy}}
\index{alice\+\_\+signal\+\_\+protocol\+\_\+parameters\+\_\+destroy@{alice\+\_\+signal\+\_\+protocol\+\_\+parameters\+\_\+destroy}!ratchet.\+h@{ratchet.\+h}}
\subsubsection{\texorpdfstring{alice\+\_\+signal\+\_\+protocol\+\_\+parameters\+\_\+destroy()}{alice\_signal\_protocol\_parameters\_destroy()}}
{\footnotesize\ttfamily void alice\+\_\+signal\+\_\+protocol\+\_\+parameters\+\_\+destroy (\begin{DoxyParamCaption}\item[{\hyperlink{structsignal__type__base}{signal\+\_\+type\+\_\+base} $\ast$}]{type }\end{DoxyParamCaption})}

\mbox{\Hypertarget{ratchet_8h_a9961f732ba974c9b2a39bda61c6f20a7}\label{ratchet_8h_a9961f732ba974c9b2a39bda61c6f20a7}} 
\index{ratchet.\+h@{ratchet.\+h}!bob\+\_\+signal\+\_\+protocol\+\_\+parameters\+\_\+create@{bob\+\_\+signal\+\_\+protocol\+\_\+parameters\+\_\+create}}
\index{bob\+\_\+signal\+\_\+protocol\+\_\+parameters\+\_\+create@{bob\+\_\+signal\+\_\+protocol\+\_\+parameters\+\_\+create}!ratchet.\+h@{ratchet.\+h}}
\subsubsection{\texorpdfstring{bob\+\_\+signal\+\_\+protocol\+\_\+parameters\+\_\+create()}{bob\_signal\_protocol\_parameters\_create()}}
{\footnotesize\ttfamily int bob\+\_\+signal\+\_\+protocol\+\_\+parameters\+\_\+create (\begin{DoxyParamCaption}\item[{\hyperlink{ratchet_8h_ae038988856f1c1798018fd7e71f4a388}{bob\+\_\+signal\+\_\+protocol\+\_\+parameters} $\ast$$\ast$}]{parameters,  }\item[{\hyperlink{signal__protocol__types_8h_a2b29fe6c645390a72526c774c35ad457}{ratchet\+\_\+identity\+\_\+key\+\_\+pair} $\ast$}]{our\+\_\+identity\+\_\+key,  }\item[{\hyperlink{signal__protocol__types_8h_ae66f8b39deda7e0ce46f3ee15561472a}{ec\+\_\+key\+\_\+pair} $\ast$}]{our\+\_\+signed\+\_\+pre\+\_\+key,  }\item[{\hyperlink{signal__protocol__types_8h_ae66f8b39deda7e0ce46f3ee15561472a}{ec\+\_\+key\+\_\+pair} $\ast$}]{our\+\_\+one\+\_\+time\+\_\+pre\+\_\+key,  }\item[{\hyperlink{signal__protocol__types_8h_ae66f8b39deda7e0ce46f3ee15561472a}{ec\+\_\+key\+\_\+pair} $\ast$}]{our\+\_\+ratchet\+\_\+key,  }\item[{\hyperlink{signal__protocol__types_8h_a73ea701c5087163bba608c4706df6176}{ec\+\_\+public\+\_\+key} $\ast$}]{their\+\_\+identity\+\_\+key,  }\item[{\hyperlink{signal__protocol__types_8h_a73ea701c5087163bba608c4706df6176}{ec\+\_\+public\+\_\+key} $\ast$}]{their\+\_\+base\+\_\+key }\end{DoxyParamCaption})}

\mbox{\Hypertarget{ratchet_8h_ab5482742d52950d212460dcf5f25f413}\label{ratchet_8h_ab5482742d52950d212460dcf5f25f413}} 
\index{ratchet.\+h@{ratchet.\+h}!bob\+\_\+signal\+\_\+protocol\+\_\+parameters\+\_\+destroy@{bob\+\_\+signal\+\_\+protocol\+\_\+parameters\+\_\+destroy}}
\index{bob\+\_\+signal\+\_\+protocol\+\_\+parameters\+\_\+destroy@{bob\+\_\+signal\+\_\+protocol\+\_\+parameters\+\_\+destroy}!ratchet.\+h@{ratchet.\+h}}
\subsubsection{\texorpdfstring{bob\+\_\+signal\+\_\+protocol\+\_\+parameters\+\_\+destroy()}{bob\_signal\_protocol\_parameters\_destroy()}}
{\footnotesize\ttfamily void bob\+\_\+signal\+\_\+protocol\+\_\+parameters\+\_\+destroy (\begin{DoxyParamCaption}\item[{\hyperlink{structsignal__type__base}{signal\+\_\+type\+\_\+base} $\ast$}]{type }\end{DoxyParamCaption})}

\mbox{\Hypertarget{ratchet_8h_aa6efddc9a09317e6d26cfe7c938676e4}\label{ratchet_8h_aa6efddc9a09317e6d26cfe7c938676e4}} 
\index{ratchet.\+h@{ratchet.\+h}!ratchet\+\_\+chain\+\_\+key\+\_\+create@{ratchet\+\_\+chain\+\_\+key\+\_\+create}}
\index{ratchet\+\_\+chain\+\_\+key\+\_\+create@{ratchet\+\_\+chain\+\_\+key\+\_\+create}!ratchet.\+h@{ratchet.\+h}}
\subsubsection{\texorpdfstring{ratchet\+\_\+chain\+\_\+key\+\_\+create()}{ratchet\_chain\_key\_create()}}
{\footnotesize\ttfamily int ratchet\+\_\+chain\+\_\+key\+\_\+create (\begin{DoxyParamCaption}\item[{\hyperlink{signal__protocol__types_8h_a7799abfd66deed541c14a329fd832afc}{ratchet\+\_\+chain\+\_\+key} $\ast$$\ast$}]{chain\+\_\+key,  }\item[{\hyperlink{signal__protocol__types_8h_aafd621639411ad31ee233fb65c0a51f5}{hkdf\+\_\+context} $\ast$}]{kdf,  }\item[{const \hyperlink{uthash_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t} $\ast$}]{key,  }\item[{size\+\_\+t}]{key\+\_\+len,  }\item[{\hyperlink{uthash_8h_a435d1572bf3f880d55459d9805097f62}{uint32\+\_\+t}}]{index,  }\item[{\hyperlink{structsignal__context}{signal\+\_\+context} $\ast$}]{global\+\_\+context }\end{DoxyParamCaption})}

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

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

\mbox{\Hypertarget{ratchet_8h_ae1b4ffd94e5daef6e9eecb693698965a}\label{ratchet_8h_ae1b4ffd94e5daef6e9eecb693698965a}} 
\index{ratchet.\+h@{ratchet.\+h}!ratchet\+\_\+chain\+\_\+key\+\_\+get\+\_\+index@{ratchet\+\_\+chain\+\_\+key\+\_\+get\+\_\+index}}
\index{ratchet\+\_\+chain\+\_\+key\+\_\+get\+\_\+index@{ratchet\+\_\+chain\+\_\+key\+\_\+get\+\_\+index}!ratchet.\+h@{ratchet.\+h}}
\subsubsection{\texorpdfstring{ratchet\+\_\+chain\+\_\+key\+\_\+get\+\_\+index()}{ratchet\_chain\_key\_get\_index()}}
{\footnotesize\ttfamily \hyperlink{uthash_8h_a435d1572bf3f880d55459d9805097f62}{uint32\+\_\+t} ratchet\+\_\+chain\+\_\+key\+\_\+get\+\_\+index (\begin{DoxyParamCaption}\item[{const \hyperlink{signal__protocol__types_8h_a7799abfd66deed541c14a329fd832afc}{ratchet\+\_\+chain\+\_\+key} $\ast$}]{chain\+\_\+key }\end{DoxyParamCaption})}

\mbox{\Hypertarget{ratchet_8h_a91361e03ad80e736409c0c6597b80c11}\label{ratchet_8h_a91361e03ad80e736409c0c6597b80c11}} 
\index{ratchet.\+h@{ratchet.\+h}!ratchet\+\_\+chain\+\_\+key\+\_\+get\+\_\+key@{ratchet\+\_\+chain\+\_\+key\+\_\+get\+\_\+key}}
\index{ratchet\+\_\+chain\+\_\+key\+\_\+get\+\_\+key@{ratchet\+\_\+chain\+\_\+key\+\_\+get\+\_\+key}!ratchet.\+h@{ratchet.\+h}}
\subsubsection{\texorpdfstring{ratchet\+\_\+chain\+\_\+key\+\_\+get\+\_\+key()}{ratchet\_chain\_key\_get\_key()}}
{\footnotesize\ttfamily int ratchet\+\_\+chain\+\_\+key\+\_\+get\+\_\+key (\begin{DoxyParamCaption}\item[{const \hyperlink{signal__protocol__types_8h_a7799abfd66deed541c14a329fd832afc}{ratchet\+\_\+chain\+\_\+key} $\ast$}]{chain\+\_\+key,  }\item[{\hyperlink{structsignal__buffer}{signal\+\_\+buffer} $\ast$$\ast$}]{buffer }\end{DoxyParamCaption})}

\mbox{\Hypertarget{ratchet_8h_ad8424355e3cd84f37feddb71c769b894}\label{ratchet_8h_ad8424355e3cd84f37feddb71c769b894}} 
\index{ratchet.\+h@{ratchet.\+h}!ratchet\+\_\+chain\+\_\+key\+\_\+get\+\_\+message\+\_\+keys@{ratchet\+\_\+chain\+\_\+key\+\_\+get\+\_\+message\+\_\+keys}}
\index{ratchet\+\_\+chain\+\_\+key\+\_\+get\+\_\+message\+\_\+keys@{ratchet\+\_\+chain\+\_\+key\+\_\+get\+\_\+message\+\_\+keys}!ratchet.\+h@{ratchet.\+h}}
\subsubsection{\texorpdfstring{ratchet\+\_\+chain\+\_\+key\+\_\+get\+\_\+message\+\_\+keys()}{ratchet\_chain\_key\_get\_message\_keys()}}
{\footnotesize\ttfamily int ratchet\+\_\+chain\+\_\+key\+\_\+get\+\_\+message\+\_\+keys (\begin{DoxyParamCaption}\item[{\hyperlink{signal__protocol__types_8h_a7799abfd66deed541c14a329fd832afc}{ratchet\+\_\+chain\+\_\+key} $\ast$}]{chain\+\_\+key,  }\item[{\hyperlink{structratchet__message__keys}{ratchet\+\_\+message\+\_\+keys} $\ast$}]{message\+\_\+keys }\end{DoxyParamCaption})}

\mbox{\Hypertarget{ratchet_8h_a1aa01af51fe929588b725818a772e5d0}\label{ratchet_8h_a1aa01af51fe929588b725818a772e5d0}} 
\index{ratchet.\+h@{ratchet.\+h}!ratchet\+\_\+identity\+\_\+key\+\_\+pair\+\_\+create@{ratchet\+\_\+identity\+\_\+key\+\_\+pair\+\_\+create}}
\index{ratchet\+\_\+identity\+\_\+key\+\_\+pair\+\_\+create@{ratchet\+\_\+identity\+\_\+key\+\_\+pair\+\_\+create}!ratchet.\+h@{ratchet.\+h}}
\subsubsection{\texorpdfstring{ratchet\+\_\+identity\+\_\+key\+\_\+pair\+\_\+create()}{ratchet\_identity\_key\_pair\_create()}}
{\footnotesize\ttfamily int ratchet\+\_\+identity\+\_\+key\+\_\+pair\+\_\+create (\begin{DoxyParamCaption}\item[{\hyperlink{signal__protocol__types_8h_a2b29fe6c645390a72526c774c35ad457}{ratchet\+\_\+identity\+\_\+key\+\_\+pair} $\ast$$\ast$}]{key\+\_\+pair,  }\item[{\hyperlink{signal__protocol__types_8h_a73ea701c5087163bba608c4706df6176}{ec\+\_\+public\+\_\+key} $\ast$}]{public\+\_\+key,  }\item[{\hyperlink{signal__protocol__types_8h_a06d963e532f25681dd462897f844205d}{ec\+\_\+private\+\_\+key} $\ast$}]{private\+\_\+key }\end{DoxyParamCaption})}

\mbox{\Hypertarget{ratchet_8h_aca69123215b937228d1c0b10c0cdab9b}\label{ratchet_8h_aca69123215b937228d1c0b10c0cdab9b}} 
\index{ratchet.\+h@{ratchet.\+h}!ratchet\+\_\+identity\+\_\+key\+\_\+pair\+\_\+deserialize@{ratchet\+\_\+identity\+\_\+key\+\_\+pair\+\_\+deserialize}}
\index{ratchet\+\_\+identity\+\_\+key\+\_\+pair\+\_\+deserialize@{ratchet\+\_\+identity\+\_\+key\+\_\+pair\+\_\+deserialize}!ratchet.\+h@{ratchet.\+h}}
\subsubsection{\texorpdfstring{ratchet\+\_\+identity\+\_\+key\+\_\+pair\+\_\+deserialize()}{ratchet\_identity\_key\_pair\_deserialize()}}
{\footnotesize\ttfamily int ratchet\+\_\+identity\+\_\+key\+\_\+pair\+\_\+deserialize (\begin{DoxyParamCaption}\item[{\hyperlink{signal__protocol__types_8h_a2b29fe6c645390a72526c774c35ad457}{ratchet\+\_\+identity\+\_\+key\+\_\+pair} $\ast$$\ast$}]{key\+\_\+pair,  }\item[{const \hyperlink{uthash_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t} $\ast$}]{data,  }\item[{size\+\_\+t}]{len,  }\item[{\hyperlink{structsignal__context}{signal\+\_\+context} $\ast$}]{global\+\_\+context }\end{DoxyParamCaption})}

\mbox{\Hypertarget{ratchet_8h_aff35c3c9ef3415b5375fc8252b3cdb0b}\label{ratchet_8h_aff35c3c9ef3415b5375fc8252b3cdb0b}} 
\index{ratchet.\+h@{ratchet.\+h}!ratchet\+\_\+identity\+\_\+key\+\_\+pair\+\_\+destroy@{ratchet\+\_\+identity\+\_\+key\+\_\+pair\+\_\+destroy}}
\index{ratchet\+\_\+identity\+\_\+key\+\_\+pair\+\_\+destroy@{ratchet\+\_\+identity\+\_\+key\+\_\+pair\+\_\+destroy}!ratchet.\+h@{ratchet.\+h}}
\subsubsection{\texorpdfstring{ratchet\+\_\+identity\+\_\+key\+\_\+pair\+\_\+destroy()}{ratchet\_identity\_key\_pair\_destroy()}}
{\footnotesize\ttfamily void ratchet\+\_\+identity\+\_\+key\+\_\+pair\+\_\+destroy (\begin{DoxyParamCaption}\item[{\hyperlink{structsignal__type__base}{signal\+\_\+type\+\_\+base} $\ast$}]{type }\end{DoxyParamCaption})}

\mbox{\Hypertarget{ratchet_8h_a89e3cac242368768ce06f39893bea613}\label{ratchet_8h_a89e3cac242368768ce06f39893bea613}} 
\index{ratchet.\+h@{ratchet.\+h}!ratchet\+\_\+identity\+\_\+key\+\_\+pair\+\_\+get\+\_\+private@{ratchet\+\_\+identity\+\_\+key\+\_\+pair\+\_\+get\+\_\+private}}
\index{ratchet\+\_\+identity\+\_\+key\+\_\+pair\+\_\+get\+\_\+private@{ratchet\+\_\+identity\+\_\+key\+\_\+pair\+\_\+get\+\_\+private}!ratchet.\+h@{ratchet.\+h}}
\subsubsection{\texorpdfstring{ratchet\+\_\+identity\+\_\+key\+\_\+pair\+\_\+get\+\_\+private()}{ratchet\_identity\_key\_pair\_get\_private()}}
{\footnotesize\ttfamily \hyperlink{signal__protocol__types_8h_a06d963e532f25681dd462897f844205d}{ec\+\_\+private\+\_\+key}$\ast$ ratchet\+\_\+identity\+\_\+key\+\_\+pair\+\_\+get\+\_\+private (\begin{DoxyParamCaption}\item[{const \hyperlink{signal__protocol__types_8h_a2b29fe6c645390a72526c774c35ad457}{ratchet\+\_\+identity\+\_\+key\+\_\+pair} $\ast$}]{key\+\_\+pair }\end{DoxyParamCaption})}

\mbox{\Hypertarget{ratchet_8h_a5e456cf1381b16e48df4f7405beeefa4}\label{ratchet_8h_a5e456cf1381b16e48df4f7405beeefa4}} 
\index{ratchet.\+h@{ratchet.\+h}!ratchet\+\_\+identity\+\_\+key\+\_\+pair\+\_\+get\+\_\+public@{ratchet\+\_\+identity\+\_\+key\+\_\+pair\+\_\+get\+\_\+public}}
\index{ratchet\+\_\+identity\+\_\+key\+\_\+pair\+\_\+get\+\_\+public@{ratchet\+\_\+identity\+\_\+key\+\_\+pair\+\_\+get\+\_\+public}!ratchet.\+h@{ratchet.\+h}}
\subsubsection{\texorpdfstring{ratchet\+\_\+identity\+\_\+key\+\_\+pair\+\_\+get\+\_\+public()}{ratchet\_identity\_key\_pair\_get\_public()}}
{\footnotesize\ttfamily \hyperlink{signal__protocol__types_8h_a73ea701c5087163bba608c4706df6176}{ec\+\_\+public\+\_\+key}$\ast$ ratchet\+\_\+identity\+\_\+key\+\_\+pair\+\_\+get\+\_\+public (\begin{DoxyParamCaption}\item[{const \hyperlink{signal__protocol__types_8h_a2b29fe6c645390a72526c774c35ad457}{ratchet\+\_\+identity\+\_\+key\+\_\+pair} $\ast$}]{key\+\_\+pair }\end{DoxyParamCaption})}

\mbox{\Hypertarget{ratchet_8h_a98227a7eeb7bcb0821e4b165a254d2af}\label{ratchet_8h_a98227a7eeb7bcb0821e4b165a254d2af}} 
\index{ratchet.\+h@{ratchet.\+h}!ratchet\+\_\+identity\+\_\+key\+\_\+pair\+\_\+serialize@{ratchet\+\_\+identity\+\_\+key\+\_\+pair\+\_\+serialize}}
\index{ratchet\+\_\+identity\+\_\+key\+\_\+pair\+\_\+serialize@{ratchet\+\_\+identity\+\_\+key\+\_\+pair\+\_\+serialize}!ratchet.\+h@{ratchet.\+h}}
\subsubsection{\texorpdfstring{ratchet\+\_\+identity\+\_\+key\+\_\+pair\+\_\+serialize()}{ratchet\_identity\_key\_pair\_serialize()}}
{\footnotesize\ttfamily int ratchet\+\_\+identity\+\_\+key\+\_\+pair\+\_\+serialize (\begin{DoxyParamCaption}\item[{\hyperlink{structsignal__buffer}{signal\+\_\+buffer} $\ast$$\ast$}]{buffer,  }\item[{const \hyperlink{signal__protocol__types_8h_a2b29fe6c645390a72526c774c35ad457}{ratchet\+\_\+identity\+\_\+key\+\_\+pair} $\ast$}]{key\+\_\+pair }\end{DoxyParamCaption})}

\mbox{\Hypertarget{ratchet_8h_a469446c33b7ca02ccff2236edb01fca8}\label{ratchet_8h_a469446c33b7ca02ccff2236edb01fca8}} 
\index{ratchet.\+h@{ratchet.\+h}!ratchet\+\_\+root\+\_\+key\+\_\+compare@{ratchet\+\_\+root\+\_\+key\+\_\+compare}}
\index{ratchet\+\_\+root\+\_\+key\+\_\+compare@{ratchet\+\_\+root\+\_\+key\+\_\+compare}!ratchet.\+h@{ratchet.\+h}}
\subsubsection{\texorpdfstring{ratchet\+\_\+root\+\_\+key\+\_\+compare()}{ratchet\_root\_key\_compare()}}
{\footnotesize\ttfamily int ratchet\+\_\+root\+\_\+key\+\_\+compare (\begin{DoxyParamCaption}\item[{const \hyperlink{signal__protocol__types_8h_a4a3febd70a6caf4ef99dfe1a87146372}{ratchet\+\_\+root\+\_\+key} $\ast$}]{key1,  }\item[{const \hyperlink{signal__protocol__types_8h_a4a3febd70a6caf4ef99dfe1a87146372}{ratchet\+\_\+root\+\_\+key} $\ast$}]{key2 }\end{DoxyParamCaption})}

\mbox{\Hypertarget{ratchet_8h_a7616dfbfc41345b76db7699c0d3e1d6b}\label{ratchet_8h_a7616dfbfc41345b76db7699c0d3e1d6b}} 
\index{ratchet.\+h@{ratchet.\+h}!ratchet\+\_\+root\+\_\+key\+\_\+create@{ratchet\+\_\+root\+\_\+key\+\_\+create}}
\index{ratchet\+\_\+root\+\_\+key\+\_\+create@{ratchet\+\_\+root\+\_\+key\+\_\+create}!ratchet.\+h@{ratchet.\+h}}
\subsubsection{\texorpdfstring{ratchet\+\_\+root\+\_\+key\+\_\+create()}{ratchet\_root\_key\_create()}}
{\footnotesize\ttfamily int ratchet\+\_\+root\+\_\+key\+\_\+create (\begin{DoxyParamCaption}\item[{\hyperlink{signal__protocol__types_8h_a4a3febd70a6caf4ef99dfe1a87146372}{ratchet\+\_\+root\+\_\+key} $\ast$$\ast$}]{root\+\_\+key,  }\item[{\hyperlink{signal__protocol__types_8h_aafd621639411ad31ee233fb65c0a51f5}{hkdf\+\_\+context} $\ast$}]{kdf,  }\item[{const \hyperlink{uthash_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t} $\ast$}]{key,  }\item[{size\+\_\+t}]{key\+\_\+len,  }\item[{\hyperlink{structsignal__context}{signal\+\_\+context} $\ast$}]{global\+\_\+context }\end{DoxyParamCaption})}

\mbox{\Hypertarget{ratchet_8h_aead3fee745b8ea23f2925fd32c71f791}\label{ratchet_8h_aead3fee745b8ea23f2925fd32c71f791}} 
\index{ratchet.\+h@{ratchet.\+h}!ratchet\+\_\+root\+\_\+key\+\_\+create\+\_\+chain@{ratchet\+\_\+root\+\_\+key\+\_\+create\+\_\+chain}}
\index{ratchet\+\_\+root\+\_\+key\+\_\+create\+\_\+chain@{ratchet\+\_\+root\+\_\+key\+\_\+create\+\_\+chain}!ratchet.\+h@{ratchet.\+h}}
\subsubsection{\texorpdfstring{ratchet\+\_\+root\+\_\+key\+\_\+create\+\_\+chain()}{ratchet\_root\_key\_create\_chain()}}
{\footnotesize\ttfamily int ratchet\+\_\+root\+\_\+key\+\_\+create\+\_\+chain (\begin{DoxyParamCaption}\item[{\hyperlink{signal__protocol__types_8h_a4a3febd70a6caf4ef99dfe1a87146372}{ratchet\+\_\+root\+\_\+key} $\ast$}]{root\+\_\+key,  }\item[{\hyperlink{signal__protocol__types_8h_a4a3febd70a6caf4ef99dfe1a87146372}{ratchet\+\_\+root\+\_\+key} $\ast$$\ast$}]{new\+\_\+root\+\_\+key,  }\item[{\hyperlink{signal__protocol__types_8h_a7799abfd66deed541c14a329fd832afc}{ratchet\+\_\+chain\+\_\+key} $\ast$$\ast$}]{new\+\_\+chain\+\_\+key,  }\item[{\hyperlink{signal__protocol__types_8h_a73ea701c5087163bba608c4706df6176}{ec\+\_\+public\+\_\+key} $\ast$}]{their\+\_\+ratchet\+\_\+key,  }\item[{\hyperlink{signal__protocol__types_8h_a06d963e532f25681dd462897f844205d}{ec\+\_\+private\+\_\+key} $\ast$}]{our\+\_\+ratchet\+\_\+key\+\_\+private }\end{DoxyParamCaption})}

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

\mbox{\Hypertarget{ratchet_8h_a92281d7fef6ef945d9bab81f4aaf546f}\label{ratchet_8h_a92281d7fef6ef945d9bab81f4aaf546f}} 
\index{ratchet.\+h@{ratchet.\+h}!ratchet\+\_\+root\+\_\+key\+\_\+get\+\_\+key@{ratchet\+\_\+root\+\_\+key\+\_\+get\+\_\+key}}
\index{ratchet\+\_\+root\+\_\+key\+\_\+get\+\_\+key@{ratchet\+\_\+root\+\_\+key\+\_\+get\+\_\+key}!ratchet.\+h@{ratchet.\+h}}
\subsubsection{\texorpdfstring{ratchet\+\_\+root\+\_\+key\+\_\+get\+\_\+key()}{ratchet\_root\_key\_get\_key()}}
{\footnotesize\ttfamily int ratchet\+\_\+root\+\_\+key\+\_\+get\+\_\+key (\begin{DoxyParamCaption}\item[{\hyperlink{signal__protocol__types_8h_a4a3febd70a6caf4ef99dfe1a87146372}{ratchet\+\_\+root\+\_\+key} $\ast$}]{root\+\_\+key,  }\item[{\hyperlink{structsignal__buffer}{signal\+\_\+buffer} $\ast$$\ast$}]{buffer }\end{DoxyParamCaption})}

\mbox{\Hypertarget{ratchet_8h_a8dc434173dd312d215d1a2ebaefdb1eb}\label{ratchet_8h_a8dc434173dd312d215d1a2ebaefdb1eb}} 
\index{ratchet.\+h@{ratchet.\+h}!ratcheting\+\_\+session\+\_\+alice\+\_\+initialize@{ratcheting\+\_\+session\+\_\+alice\+\_\+initialize}}
\index{ratcheting\+\_\+session\+\_\+alice\+\_\+initialize@{ratcheting\+\_\+session\+\_\+alice\+\_\+initialize}!ratchet.\+h@{ratchet.\+h}}
\subsubsection{\texorpdfstring{ratcheting\+\_\+session\+\_\+alice\+\_\+initialize()}{ratcheting\_session\_alice\_initialize()}}
{\footnotesize\ttfamily int ratcheting\+\_\+session\+\_\+alice\+\_\+initialize (\begin{DoxyParamCaption}\item[{\hyperlink{signal__protocol__types_8h_a1a0fb11eb762bbf0da7e0b771c5a78c8}{session\+\_\+state} $\ast$}]{state,  }\item[{\hyperlink{ratchet_8h_a3cfc983b69c08cbff3d1f3520ed8b013}{alice\+\_\+signal\+\_\+protocol\+\_\+parameters} $\ast$}]{parameters,  }\item[{\hyperlink{structsignal__context}{signal\+\_\+context} $\ast$}]{global\+\_\+context }\end{DoxyParamCaption})}

\mbox{\Hypertarget{ratchet_8h_aa90507157934cf52b6afa1d5fb5fceca}\label{ratchet_8h_aa90507157934cf52b6afa1d5fb5fceca}} 
\index{ratchet.\+h@{ratchet.\+h}!ratcheting\+\_\+session\+\_\+bob\+\_\+initialize@{ratcheting\+\_\+session\+\_\+bob\+\_\+initialize}}
\index{ratcheting\+\_\+session\+\_\+bob\+\_\+initialize@{ratcheting\+\_\+session\+\_\+bob\+\_\+initialize}!ratchet.\+h@{ratchet.\+h}}
\subsubsection{\texorpdfstring{ratcheting\+\_\+session\+\_\+bob\+\_\+initialize()}{ratcheting\_session\_bob\_initialize()}}
{\footnotesize\ttfamily int ratcheting\+\_\+session\+\_\+bob\+\_\+initialize (\begin{DoxyParamCaption}\item[{\hyperlink{signal__protocol__types_8h_a1a0fb11eb762bbf0da7e0b771c5a78c8}{session\+\_\+state} $\ast$}]{state,  }\item[{\hyperlink{ratchet_8h_ae038988856f1c1798018fd7e71f4a388}{bob\+\_\+signal\+\_\+protocol\+\_\+parameters} $\ast$}]{parameters,  }\item[{\hyperlink{structsignal__context}{signal\+\_\+context} $\ast$}]{global\+\_\+context }\end{DoxyParamCaption})}

\mbox{\Hypertarget{ratchet_8h_a6c48261cc2787cb44beb9470b5d13b30}\label{ratchet_8h_a6c48261cc2787cb44beb9470b5d13b30}} 
\index{ratchet.\+h@{ratchet.\+h}!ratcheting\+\_\+session\+\_\+symmetric\+\_\+initialize@{ratcheting\+\_\+session\+\_\+symmetric\+\_\+initialize}}
\index{ratcheting\+\_\+session\+\_\+symmetric\+\_\+initialize@{ratcheting\+\_\+session\+\_\+symmetric\+\_\+initialize}!ratchet.\+h@{ratchet.\+h}}
\subsubsection{\texorpdfstring{ratcheting\+\_\+session\+\_\+symmetric\+\_\+initialize()}{ratcheting\_session\_symmetric\_initialize()}}
{\footnotesize\ttfamily int ratcheting\+\_\+session\+\_\+symmetric\+\_\+initialize (\begin{DoxyParamCaption}\item[{\hyperlink{signal__protocol__types_8h_a1a0fb11eb762bbf0da7e0b771c5a78c8}{session\+\_\+state} $\ast$}]{state,  }\item[{\hyperlink{ratchet_8h_a2dab17c2b267b432d761c84a9304ab40}{symmetric\+\_\+signal\+\_\+protocol\+\_\+parameters} $\ast$}]{parameters,  }\item[{\hyperlink{structsignal__context}{signal\+\_\+context} $\ast$}]{global\+\_\+context }\end{DoxyParamCaption})}

\mbox{\Hypertarget{ratchet_8h_abece3d58ea786d9292e96ddcb8039fbb}\label{ratchet_8h_abece3d58ea786d9292e96ddcb8039fbb}} 
\index{ratchet.\+h@{ratchet.\+h}!symmetric\+\_\+signal\+\_\+protocol\+\_\+parameters\+\_\+create@{symmetric\+\_\+signal\+\_\+protocol\+\_\+parameters\+\_\+create}}
\index{symmetric\+\_\+signal\+\_\+protocol\+\_\+parameters\+\_\+create@{symmetric\+\_\+signal\+\_\+protocol\+\_\+parameters\+\_\+create}!ratchet.\+h@{ratchet.\+h}}
\subsubsection{\texorpdfstring{symmetric\+\_\+signal\+\_\+protocol\+\_\+parameters\+\_\+create()}{symmetric\_signal\_protocol\_parameters\_create()}}
{\footnotesize\ttfamily int symmetric\+\_\+signal\+\_\+protocol\+\_\+parameters\+\_\+create (\begin{DoxyParamCaption}\item[{\hyperlink{ratchet_8h_a2dab17c2b267b432d761c84a9304ab40}{symmetric\+\_\+signal\+\_\+protocol\+\_\+parameters} $\ast$$\ast$}]{parameters,  }\item[{\hyperlink{signal__protocol__types_8h_a2b29fe6c645390a72526c774c35ad457}{ratchet\+\_\+identity\+\_\+key\+\_\+pair} $\ast$}]{our\+\_\+identity\+\_\+key,  }\item[{\hyperlink{signal__protocol__types_8h_ae66f8b39deda7e0ce46f3ee15561472a}{ec\+\_\+key\+\_\+pair} $\ast$}]{our\+\_\+base\+\_\+key,  }\item[{\hyperlink{signal__protocol__types_8h_ae66f8b39deda7e0ce46f3ee15561472a}{ec\+\_\+key\+\_\+pair} $\ast$}]{our\+\_\+ratchet\+\_\+key,  }\item[{\hyperlink{signal__protocol__types_8h_a73ea701c5087163bba608c4706df6176}{ec\+\_\+public\+\_\+key} $\ast$}]{their\+\_\+base\+\_\+key,  }\item[{\hyperlink{signal__protocol__types_8h_a73ea701c5087163bba608c4706df6176}{ec\+\_\+public\+\_\+key} $\ast$}]{their\+\_\+ratchet\+\_\+key,  }\item[{\hyperlink{signal__protocol__types_8h_a73ea701c5087163bba608c4706df6176}{ec\+\_\+public\+\_\+key} $\ast$}]{their\+\_\+identity\+\_\+key }\end{DoxyParamCaption})}

\mbox{\Hypertarget{ratchet_8h_ade2ca918a1ee3dfc844495c71a596b4a}\label{ratchet_8h_ade2ca918a1ee3dfc844495c71a596b4a}} 
\index{ratchet.\+h@{ratchet.\+h}!symmetric\+\_\+signal\+\_\+protocol\+\_\+parameters\+\_\+destroy@{symmetric\+\_\+signal\+\_\+protocol\+\_\+parameters\+\_\+destroy}}
\index{symmetric\+\_\+signal\+\_\+protocol\+\_\+parameters\+\_\+destroy@{symmetric\+\_\+signal\+\_\+protocol\+\_\+parameters\+\_\+destroy}!ratchet.\+h@{ratchet.\+h}}
\subsubsection{\texorpdfstring{symmetric\+\_\+signal\+\_\+protocol\+\_\+parameters\+\_\+destroy()}{symmetric\_signal\_protocol\_parameters\_destroy()}}
{\footnotesize\ttfamily void symmetric\+\_\+signal\+\_\+protocol\+\_\+parameters\+\_\+destroy (\begin{DoxyParamCaption}\item[{\hyperlink{structsignal__type__base}{signal\+\_\+type\+\_\+base} $\ast$}]{type }\end{DoxyParamCaption})}

\mbox{\Hypertarget{ratchet_8h_a8e5c0d8b39d39d063b692a403e651063}\label{ratchet_8h_a8e5c0d8b39d39d063b692a403e651063}} 
\index{ratchet.\+h@{ratchet.\+h}!symmetric\+\_\+signal\+\_\+protocol\+\_\+parameters\+\_\+get\+\_\+our\+\_\+base\+\_\+key@{symmetric\+\_\+signal\+\_\+protocol\+\_\+parameters\+\_\+get\+\_\+our\+\_\+base\+\_\+key}}
\index{symmetric\+\_\+signal\+\_\+protocol\+\_\+parameters\+\_\+get\+\_\+our\+\_\+base\+\_\+key@{symmetric\+\_\+signal\+\_\+protocol\+\_\+parameters\+\_\+get\+\_\+our\+\_\+base\+\_\+key}!ratchet.\+h@{ratchet.\+h}}
\subsubsection{\texorpdfstring{symmetric\+\_\+signal\+\_\+protocol\+\_\+parameters\+\_\+get\+\_\+our\+\_\+base\+\_\+key()}{symmetric\_signal\_protocol\_parameters\_get\_our\_base\_key()}}
{\footnotesize\ttfamily \hyperlink{signal__protocol__types_8h_ae66f8b39deda7e0ce46f3ee15561472a}{ec\+\_\+key\+\_\+pair}$\ast$ symmetric\+\_\+signal\+\_\+protocol\+\_\+parameters\+\_\+get\+\_\+our\+\_\+base\+\_\+key (\begin{DoxyParamCaption}\item[{const \hyperlink{ratchet_8h_a2dab17c2b267b432d761c84a9304ab40}{symmetric\+\_\+signal\+\_\+protocol\+\_\+parameters} $\ast$}]{parameters }\end{DoxyParamCaption})}

\mbox{\Hypertarget{ratchet_8h_a5fea42bb5426a6610135ca4bb96e3226}\label{ratchet_8h_a5fea42bb5426a6610135ca4bb96e3226}} 
\index{ratchet.\+h@{ratchet.\+h}!symmetric\+\_\+signal\+\_\+protocol\+\_\+parameters\+\_\+get\+\_\+our\+\_\+identity\+\_\+key@{symmetric\+\_\+signal\+\_\+protocol\+\_\+parameters\+\_\+get\+\_\+our\+\_\+identity\+\_\+key}}
\index{symmetric\+\_\+signal\+\_\+protocol\+\_\+parameters\+\_\+get\+\_\+our\+\_\+identity\+\_\+key@{symmetric\+\_\+signal\+\_\+protocol\+\_\+parameters\+\_\+get\+\_\+our\+\_\+identity\+\_\+key}!ratchet.\+h@{ratchet.\+h}}
\subsubsection{\texorpdfstring{symmetric\+\_\+signal\+\_\+protocol\+\_\+parameters\+\_\+get\+\_\+our\+\_\+identity\+\_\+key()}{symmetric\_signal\_protocol\_parameters\_get\_our\_identity\_key()}}
{\footnotesize\ttfamily \hyperlink{signal__protocol__types_8h_a2b29fe6c645390a72526c774c35ad457}{ratchet\+\_\+identity\+\_\+key\+\_\+pair}$\ast$ symmetric\+\_\+signal\+\_\+protocol\+\_\+parameters\+\_\+get\+\_\+our\+\_\+identity\+\_\+key (\begin{DoxyParamCaption}\item[{const \hyperlink{ratchet_8h_a2dab17c2b267b432d761c84a9304ab40}{symmetric\+\_\+signal\+\_\+protocol\+\_\+parameters} $\ast$}]{parameters }\end{DoxyParamCaption})}

\mbox{\Hypertarget{ratchet_8h_acd9b26bbbadfc3eea2ef885bfcb566dd}\label{ratchet_8h_acd9b26bbbadfc3eea2ef885bfcb566dd}} 
\index{ratchet.\+h@{ratchet.\+h}!symmetric\+\_\+signal\+\_\+protocol\+\_\+parameters\+\_\+get\+\_\+our\+\_\+ratchet\+\_\+key@{symmetric\+\_\+signal\+\_\+protocol\+\_\+parameters\+\_\+get\+\_\+our\+\_\+ratchet\+\_\+key}}
\index{symmetric\+\_\+signal\+\_\+protocol\+\_\+parameters\+\_\+get\+\_\+our\+\_\+ratchet\+\_\+key@{symmetric\+\_\+signal\+\_\+protocol\+\_\+parameters\+\_\+get\+\_\+our\+\_\+ratchet\+\_\+key}!ratchet.\+h@{ratchet.\+h}}
\subsubsection{\texorpdfstring{symmetric\+\_\+signal\+\_\+protocol\+\_\+parameters\+\_\+get\+\_\+our\+\_\+ratchet\+\_\+key()}{symmetric\_signal\_protocol\_parameters\_get\_our\_ratchet\_key()}}
{\footnotesize\ttfamily \hyperlink{signal__protocol__types_8h_ae66f8b39deda7e0ce46f3ee15561472a}{ec\+\_\+key\+\_\+pair}$\ast$ symmetric\+\_\+signal\+\_\+protocol\+\_\+parameters\+\_\+get\+\_\+our\+\_\+ratchet\+\_\+key (\begin{DoxyParamCaption}\item[{const \hyperlink{ratchet_8h_a2dab17c2b267b432d761c84a9304ab40}{symmetric\+\_\+signal\+\_\+protocol\+\_\+parameters} $\ast$}]{parameters }\end{DoxyParamCaption})}

\mbox{\Hypertarget{ratchet_8h_aeec55846c9861786caf5ee46006d60d8}\label{ratchet_8h_aeec55846c9861786caf5ee46006d60d8}} 
\index{ratchet.\+h@{ratchet.\+h}!symmetric\+\_\+signal\+\_\+protocol\+\_\+parameters\+\_\+get\+\_\+their\+\_\+base\+\_\+key@{symmetric\+\_\+signal\+\_\+protocol\+\_\+parameters\+\_\+get\+\_\+their\+\_\+base\+\_\+key}}
\index{symmetric\+\_\+signal\+\_\+protocol\+\_\+parameters\+\_\+get\+\_\+their\+\_\+base\+\_\+key@{symmetric\+\_\+signal\+\_\+protocol\+\_\+parameters\+\_\+get\+\_\+their\+\_\+base\+\_\+key}!ratchet.\+h@{ratchet.\+h}}
\subsubsection{\texorpdfstring{symmetric\+\_\+signal\+\_\+protocol\+\_\+parameters\+\_\+get\+\_\+their\+\_\+base\+\_\+key()}{symmetric\_signal\_protocol\_parameters\_get\_their\_base\_key()}}
{\footnotesize\ttfamily \hyperlink{signal__protocol__types_8h_a73ea701c5087163bba608c4706df6176}{ec\+\_\+public\+\_\+key}$\ast$ symmetric\+\_\+signal\+\_\+protocol\+\_\+parameters\+\_\+get\+\_\+their\+\_\+base\+\_\+key (\begin{DoxyParamCaption}\item[{const \hyperlink{ratchet_8h_a2dab17c2b267b432d761c84a9304ab40}{symmetric\+\_\+signal\+\_\+protocol\+\_\+parameters} $\ast$}]{parameters }\end{DoxyParamCaption})}

\mbox{\Hypertarget{ratchet_8h_ad86776ecf3fe4328e9fc318d7bf7e78a}\label{ratchet_8h_ad86776ecf3fe4328e9fc318d7bf7e78a}} 
\index{ratchet.\+h@{ratchet.\+h}!symmetric\+\_\+signal\+\_\+protocol\+\_\+parameters\+\_\+get\+\_\+their\+\_\+identity\+\_\+key@{symmetric\+\_\+signal\+\_\+protocol\+\_\+parameters\+\_\+get\+\_\+their\+\_\+identity\+\_\+key}}
\index{symmetric\+\_\+signal\+\_\+protocol\+\_\+parameters\+\_\+get\+\_\+their\+\_\+identity\+\_\+key@{symmetric\+\_\+signal\+\_\+protocol\+\_\+parameters\+\_\+get\+\_\+their\+\_\+identity\+\_\+key}!ratchet.\+h@{ratchet.\+h}}
\subsubsection{\texorpdfstring{symmetric\+\_\+signal\+\_\+protocol\+\_\+parameters\+\_\+get\+\_\+their\+\_\+identity\+\_\+key()}{symmetric\_signal\_protocol\_parameters\_get\_their\_identity\_key()}}
{\footnotesize\ttfamily \hyperlink{signal__protocol__types_8h_a73ea701c5087163bba608c4706df6176}{ec\+\_\+public\+\_\+key}$\ast$ symmetric\+\_\+signal\+\_\+protocol\+\_\+parameters\+\_\+get\+\_\+their\+\_\+identity\+\_\+key (\begin{DoxyParamCaption}\item[{const \hyperlink{ratchet_8h_a2dab17c2b267b432d761c84a9304ab40}{symmetric\+\_\+signal\+\_\+protocol\+\_\+parameters} $\ast$}]{parameters }\end{DoxyParamCaption})}

\mbox{\Hypertarget{ratchet_8h_aed4d490614e3ea29c434051a41579af5}\label{ratchet_8h_aed4d490614e3ea29c434051a41579af5}} 
\index{ratchet.\+h@{ratchet.\+h}!symmetric\+\_\+signal\+\_\+protocol\+\_\+parameters\+\_\+get\+\_\+their\+\_\+ratchet\+\_\+key@{symmetric\+\_\+signal\+\_\+protocol\+\_\+parameters\+\_\+get\+\_\+their\+\_\+ratchet\+\_\+key}}
\index{symmetric\+\_\+signal\+\_\+protocol\+\_\+parameters\+\_\+get\+\_\+their\+\_\+ratchet\+\_\+key@{symmetric\+\_\+signal\+\_\+protocol\+\_\+parameters\+\_\+get\+\_\+their\+\_\+ratchet\+\_\+key}!ratchet.\+h@{ratchet.\+h}}
\subsubsection{\texorpdfstring{symmetric\+\_\+signal\+\_\+protocol\+\_\+parameters\+\_\+get\+\_\+their\+\_\+ratchet\+\_\+key()}{symmetric\_signal\_protocol\_parameters\_get\_their\_ratchet\_key()}}
{\footnotesize\ttfamily \hyperlink{signal__protocol__types_8h_a73ea701c5087163bba608c4706df6176}{ec\+\_\+public\+\_\+key}$\ast$ symmetric\+\_\+signal\+\_\+protocol\+\_\+parameters\+\_\+get\+\_\+their\+\_\+ratchet\+\_\+key (\begin{DoxyParamCaption}\item[{const \hyperlink{ratchet_8h_a2dab17c2b267b432d761c84a9304ab40}{symmetric\+\_\+signal\+\_\+protocol\+\_\+parameters} $\ast$}]{parameters }\end{DoxyParamCaption})}

