\hypertarget{session__state_8h}{}\section{src/session\+\_\+state.h File Reference}
\label{session__state_8h}\index{src/session\+\_\+state.\+h@{src/session\+\_\+state.\+h}}
{\ttfamily \#include $<$stdint.\+h$>$}\newline
{\ttfamily \#include $<$stddef.\+h$>$}\newline
{\ttfamily \#include \char`\"{}signal\+\_\+protocol\+\_\+types.\+h\char`\"{}}\newline
Include dependency graph for session\+\_\+state.\+h\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=295pt]{session__state_8h__incl}
\end{center}
\end{figure}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
int \hyperlink{session__state_8h_aaf00bfe700dbeb39475a5ae39bf410ea}{session\+\_\+state\+\_\+create} (\hyperlink{signal__protocol__types_8h_a1a0fb11eb762bbf0da7e0b771c5a78c8}{session\+\_\+state} $\ast$$\ast$state, \hyperlink{structsignal__context}{signal\+\_\+context} $\ast$global\+\_\+context)
\item 
int \hyperlink{session__state_8h_a904d0ab526697afc763269b9191b078f}{session\+\_\+state\+\_\+serialize} (\hyperlink{structsignal__buffer}{signal\+\_\+buffer} $\ast$$\ast$buffer, \hyperlink{signal__protocol__types_8h_a1a0fb11eb762bbf0da7e0b771c5a78c8}{session\+\_\+state} $\ast$state)
\item 
int \hyperlink{session__state_8h_a8d3f9b284388c9df339b19a111b148a9}{session\+\_\+state\+\_\+deserialize} (\hyperlink{signal__protocol__types_8h_a1a0fb11eb762bbf0da7e0b771c5a78c8}{session\+\_\+state} $\ast$$\ast$state, const \hyperlink{uthash_8h_aba7bc1797add20fe3efdf37ced1182c5}{uint8\+\_\+t} $\ast$data, size\+\_\+t len, \hyperlink{structsignal__context}{signal\+\_\+context} $\ast$global\+\_\+context)
\item 
int \hyperlink{session__state_8h_a01f000301480cd30a5897d633cd61044}{session\+\_\+state\+\_\+copy} (\hyperlink{signal__protocol__types_8h_a1a0fb11eb762bbf0da7e0b771c5a78c8}{session\+\_\+state} $\ast$$\ast$state, \hyperlink{signal__protocol__types_8h_a1a0fb11eb762bbf0da7e0b771c5a78c8}{session\+\_\+state} $\ast$other\+\_\+state, \hyperlink{structsignal__context}{signal\+\_\+context} $\ast$global\+\_\+context)
\item 
void \hyperlink{session__state_8h_aa19b83db1171cd0c07fbc44acc833f61}{session\+\_\+state\+\_\+set\+\_\+session\+\_\+version} (\hyperlink{signal__protocol__types_8h_a1a0fb11eb762bbf0da7e0b771c5a78c8}{session\+\_\+state} $\ast$state, \hyperlink{uthash_8h_a435d1572bf3f880d55459d9805097f62}{uint32\+\_\+t} version)
\item 
\hyperlink{uthash_8h_a435d1572bf3f880d55459d9805097f62}{uint32\+\_\+t} \hyperlink{session__state_8h_a2038912e225fc69c95b8c460e5e99eb6}{session\+\_\+state\+\_\+get\+\_\+session\+\_\+version} (const \hyperlink{signal__protocol__types_8h_a1a0fb11eb762bbf0da7e0b771c5a78c8}{session\+\_\+state} $\ast$state)
\item 
void \hyperlink{session__state_8h_a138b064be378926a3b0275c81a69ef6d}{session\+\_\+state\+\_\+set\+\_\+local\+\_\+identity\+\_\+key} (\hyperlink{signal__protocol__types_8h_a1a0fb11eb762bbf0da7e0b771c5a78c8}{session\+\_\+state} $\ast$state, \hyperlink{signal__protocol__types_8h_a73ea701c5087163bba608c4706df6176}{ec\+\_\+public\+\_\+key} $\ast$identity\+\_\+key)
\item 
\hyperlink{signal__protocol__types_8h_a73ea701c5087163bba608c4706df6176}{ec\+\_\+public\+\_\+key} $\ast$ \hyperlink{session__state_8h_a54398ae055e1c17db06c055baa29a173}{session\+\_\+state\+\_\+get\+\_\+local\+\_\+identity\+\_\+key} (const \hyperlink{signal__protocol__types_8h_a1a0fb11eb762bbf0da7e0b771c5a78c8}{session\+\_\+state} $\ast$state)
\item 
void \hyperlink{session__state_8h_a7b287d65b64b4e30cc8d62d91bcdd457}{session\+\_\+state\+\_\+set\+\_\+remote\+\_\+identity\+\_\+key} (\hyperlink{signal__protocol__types_8h_a1a0fb11eb762bbf0da7e0b771c5a78c8}{session\+\_\+state} $\ast$state, \hyperlink{signal__protocol__types_8h_a73ea701c5087163bba608c4706df6176}{ec\+\_\+public\+\_\+key} $\ast$identity\+\_\+key)
\item 
\hyperlink{signal__protocol__types_8h_a73ea701c5087163bba608c4706df6176}{ec\+\_\+public\+\_\+key} $\ast$ \hyperlink{session__state_8h_af9c717d95ae9f4e705d0626a319b4e35}{session\+\_\+state\+\_\+get\+\_\+remote\+\_\+identity\+\_\+key} (const \hyperlink{signal__protocol__types_8h_a1a0fb11eb762bbf0da7e0b771c5a78c8}{session\+\_\+state} $\ast$state)
\item 
void \hyperlink{session__state_8h_a1f8fe839d3cd881654d103536bf34e5e}{session\+\_\+state\+\_\+set\+\_\+root\+\_\+key} (\hyperlink{signal__protocol__types_8h_a1a0fb11eb762bbf0da7e0b771c5a78c8}{session\+\_\+state} $\ast$state, \hyperlink{signal__protocol__types_8h_a4a3febd70a6caf4ef99dfe1a87146372}{ratchet\+\_\+root\+\_\+key} $\ast$root\+\_\+key)
\item 
\hyperlink{signal__protocol__types_8h_a4a3febd70a6caf4ef99dfe1a87146372}{ratchet\+\_\+root\+\_\+key} $\ast$ \hyperlink{session__state_8h_aeea0094765135da1dc6275692748886c}{session\+\_\+state\+\_\+get\+\_\+root\+\_\+key} (const \hyperlink{signal__protocol__types_8h_a1a0fb11eb762bbf0da7e0b771c5a78c8}{session\+\_\+state} $\ast$state)
\item 
void \hyperlink{session__state_8h_a549d1dd61d0fb4e46f9e354ee08684f1}{session\+\_\+state\+\_\+set\+\_\+previous\+\_\+counter} (\hyperlink{signal__protocol__types_8h_a1a0fb11eb762bbf0da7e0b771c5a78c8}{session\+\_\+state} $\ast$state, \hyperlink{uthash_8h_a435d1572bf3f880d55459d9805097f62}{uint32\+\_\+t} counter)
\item 
\hyperlink{uthash_8h_a435d1572bf3f880d55459d9805097f62}{uint32\+\_\+t} \hyperlink{session__state_8h_ade34b4e659ee367a6db061dc641f0bf7}{session\+\_\+state\+\_\+get\+\_\+previous\+\_\+counter} (const \hyperlink{signal__protocol__types_8h_a1a0fb11eb762bbf0da7e0b771c5a78c8}{session\+\_\+state} $\ast$state)
\item 
void \hyperlink{session__state_8h_ad50648e4f8e97d8004230ae47e73aa84}{session\+\_\+state\+\_\+set\+\_\+sender\+\_\+chain} (\hyperlink{signal__protocol__types_8h_a1a0fb11eb762bbf0da7e0b771c5a78c8}{session\+\_\+state} $\ast$state, \hyperlink{signal__protocol__types_8h_ae66f8b39deda7e0ce46f3ee15561472a}{ec\+\_\+key\+\_\+pair} $\ast$sender\+\_\+ratchet\+\_\+key\+\_\+pair, \hyperlink{signal__protocol__types_8h_a7799abfd66deed541c14a329fd832afc}{ratchet\+\_\+chain\+\_\+key} $\ast$chain\+\_\+key)
\item 
\hyperlink{signal__protocol__types_8h_a73ea701c5087163bba608c4706df6176}{ec\+\_\+public\+\_\+key} $\ast$ \hyperlink{session__state_8h_a79c5acc87615570d54ee1cb634be8b35}{session\+\_\+state\+\_\+get\+\_\+sender\+\_\+ratchet\+\_\+key} (const \hyperlink{signal__protocol__types_8h_a1a0fb11eb762bbf0da7e0b771c5a78c8}{session\+\_\+state} $\ast$state)
\item 
\hyperlink{signal__protocol__types_8h_ae66f8b39deda7e0ce46f3ee15561472a}{ec\+\_\+key\+\_\+pair} $\ast$ \hyperlink{session__state_8h_a7afae4a750e8cb6c82e9aaa721e952c3}{session\+\_\+state\+\_\+get\+\_\+sender\+\_\+ratchet\+\_\+key\+\_\+pair} (const \hyperlink{signal__protocol__types_8h_a1a0fb11eb762bbf0da7e0b771c5a78c8}{session\+\_\+state} $\ast$state)
\item 
\hyperlink{signal__protocol__types_8h_a7799abfd66deed541c14a329fd832afc}{ratchet\+\_\+chain\+\_\+key} $\ast$ \hyperlink{session__state_8h_ac1d1a2a0155e607572bd128027e4ca8e}{session\+\_\+state\+\_\+get\+\_\+sender\+\_\+chain\+\_\+key} (const \hyperlink{signal__protocol__types_8h_a1a0fb11eb762bbf0da7e0b771c5a78c8}{session\+\_\+state} $\ast$state)
\item 
int \hyperlink{session__state_8h_a4824580998ef89b0553a2f6ea9411d8d}{session\+\_\+state\+\_\+set\+\_\+sender\+\_\+chain\+\_\+key} (\hyperlink{signal__protocol__types_8h_a1a0fb11eb762bbf0da7e0b771c5a78c8}{session\+\_\+state} $\ast$state, \hyperlink{signal__protocol__types_8h_a7799abfd66deed541c14a329fd832afc}{ratchet\+\_\+chain\+\_\+key} $\ast$chain\+\_\+key)
\item 
int \hyperlink{session__state_8h_a191bc4380349bc113532a44358975efa}{session\+\_\+state\+\_\+has\+\_\+sender\+\_\+chain} (const \hyperlink{signal__protocol__types_8h_a1a0fb11eb762bbf0da7e0b771c5a78c8}{session\+\_\+state} $\ast$state)
\item 
int \hyperlink{session__state_8h_a9f5424fcc8c3a9a5986f290c2a9d2e81}{session\+\_\+state\+\_\+has\+\_\+message\+\_\+keys} (\hyperlink{signal__protocol__types_8h_a1a0fb11eb762bbf0da7e0b771c5a78c8}{session\+\_\+state} $\ast$state, \hyperlink{signal__protocol__types_8h_a73ea701c5087163bba608c4706df6176}{ec\+\_\+public\+\_\+key} $\ast$sender\+\_\+ephemeral, \hyperlink{uthash_8h_a435d1572bf3f880d55459d9805097f62}{uint32\+\_\+t} counter)
\item 
int \hyperlink{session__state_8h_ac3be0485fadbe15919c677d363b1d9f5}{session\+\_\+state\+\_\+remove\+\_\+message\+\_\+keys} (\hyperlink{signal__protocol__types_8h_a1a0fb11eb762bbf0da7e0b771c5a78c8}{session\+\_\+state} $\ast$state, \hyperlink{structratchet__message__keys}{ratchet\+\_\+message\+\_\+keys} $\ast$message\+\_\+keys\+\_\+result, \hyperlink{signal__protocol__types_8h_a73ea701c5087163bba608c4706df6176}{ec\+\_\+public\+\_\+key} $\ast$sender\+\_\+ephemeral, \hyperlink{uthash_8h_a435d1572bf3f880d55459d9805097f62}{uint32\+\_\+t} counter)
\item 
int \hyperlink{session__state_8h_a90b52ce5e84c2d2e890ff6c2db35b31d}{session\+\_\+state\+\_\+set\+\_\+message\+\_\+keys} (\hyperlink{signal__protocol__types_8h_a1a0fb11eb762bbf0da7e0b771c5a78c8}{session\+\_\+state} $\ast$state, \hyperlink{signal__protocol__types_8h_a73ea701c5087163bba608c4706df6176}{ec\+\_\+public\+\_\+key} $\ast$sender\+\_\+ephemeral, \hyperlink{structratchet__message__keys}{ratchet\+\_\+message\+\_\+keys} $\ast$message\+\_\+keys)
\item 
int \hyperlink{session__state_8h_aacb3a1e54e1cf8d66b61d2a6a950aea4}{session\+\_\+state\+\_\+add\+\_\+receiver\+\_\+chain} (\hyperlink{signal__protocol__types_8h_a1a0fb11eb762bbf0da7e0b771c5a78c8}{session\+\_\+state} $\ast$state, \hyperlink{signal__protocol__types_8h_a73ea701c5087163bba608c4706df6176}{ec\+\_\+public\+\_\+key} $\ast$sender\+\_\+ratchet\+\_\+key, \hyperlink{signal__protocol__types_8h_a7799abfd66deed541c14a329fd832afc}{ratchet\+\_\+chain\+\_\+key} $\ast$chain\+\_\+key)
\item 
int \hyperlink{session__state_8h_a38fbf4ac81f64ea71fa64420b514c7d3}{session\+\_\+state\+\_\+set\+\_\+receiver\+\_\+chain\+\_\+key} (\hyperlink{signal__protocol__types_8h_a1a0fb11eb762bbf0da7e0b771c5a78c8}{session\+\_\+state} $\ast$state, \hyperlink{signal__protocol__types_8h_a73ea701c5087163bba608c4706df6176}{ec\+\_\+public\+\_\+key} $\ast$sender\+\_\+ephemeral, \hyperlink{signal__protocol__types_8h_a7799abfd66deed541c14a329fd832afc}{ratchet\+\_\+chain\+\_\+key} $\ast$chain\+\_\+key)
\item 
\hyperlink{signal__protocol__types_8h_a7799abfd66deed541c14a329fd832afc}{ratchet\+\_\+chain\+\_\+key} $\ast$ \hyperlink{session__state_8h_a8af4097426893a28a42ebd480fc2caa8}{session\+\_\+state\+\_\+get\+\_\+receiver\+\_\+chain\+\_\+key} (\hyperlink{signal__protocol__types_8h_a1a0fb11eb762bbf0da7e0b771c5a78c8}{session\+\_\+state} $\ast$state, \hyperlink{signal__protocol__types_8h_a73ea701c5087163bba608c4706df6176}{ec\+\_\+public\+\_\+key} $\ast$sender\+\_\+ephemeral)
\item 
void \hyperlink{session__state_8h_adbceacfef66fefd23dd400ed4717b25c}{session\+\_\+state\+\_\+set\+\_\+pending\+\_\+key\+\_\+exchange} (\hyperlink{signal__protocol__types_8h_a1a0fb11eb762bbf0da7e0b771c5a78c8}{session\+\_\+state} $\ast$state, \hyperlink{uthash_8h_a435d1572bf3f880d55459d9805097f62}{uint32\+\_\+t} sequence, \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_a2b29fe6c645390a72526c774c35ad457}{ratchet\+\_\+identity\+\_\+key\+\_\+pair} $\ast$our\+\_\+identity\+\_\+key)
\item 
\hyperlink{uthash_8h_a435d1572bf3f880d55459d9805097f62}{uint32\+\_\+t} \hyperlink{session__state_8h_a3984b6372bf00d93c2d850902cc25eee}{session\+\_\+state\+\_\+get\+\_\+pending\+\_\+key\+\_\+exchange\+\_\+sequence} (\hyperlink{signal__protocol__types_8h_a1a0fb11eb762bbf0da7e0b771c5a78c8}{session\+\_\+state} $\ast$state)
\item 
\hyperlink{signal__protocol__types_8h_ae66f8b39deda7e0ce46f3ee15561472a}{ec\+\_\+key\+\_\+pair} $\ast$ \hyperlink{session__state_8h_acac3d4d9118edb1b7696b035f8fac419}{session\+\_\+state\+\_\+get\+\_\+pending\+\_\+key\+\_\+exchange\+\_\+base\+\_\+key} (const \hyperlink{signal__protocol__types_8h_a1a0fb11eb762bbf0da7e0b771c5a78c8}{session\+\_\+state} $\ast$state)
\item 
\hyperlink{signal__protocol__types_8h_ae66f8b39deda7e0ce46f3ee15561472a}{ec\+\_\+key\+\_\+pair} $\ast$ \hyperlink{session__state_8h_aae23207809584ab5753e868a040a64ae}{session\+\_\+state\+\_\+get\+\_\+pending\+\_\+key\+\_\+exchange\+\_\+ratchet\+\_\+key} (const \hyperlink{signal__protocol__types_8h_a1a0fb11eb762bbf0da7e0b771c5a78c8}{session\+\_\+state} $\ast$state)
\item 
\hyperlink{signal__protocol__types_8h_a2b29fe6c645390a72526c774c35ad457}{ratchet\+\_\+identity\+\_\+key\+\_\+pair} $\ast$ \hyperlink{session__state_8h_a246a101f83a8698aa4bca35e1537337e}{session\+\_\+state\+\_\+get\+\_\+pending\+\_\+key\+\_\+exchange\+\_\+identity\+\_\+key} (const \hyperlink{signal__protocol__types_8h_a1a0fb11eb762bbf0da7e0b771c5a78c8}{session\+\_\+state} $\ast$state)
\item 
int \hyperlink{session__state_8h_a54c63c708c80e717055ad5ef6e57254d}{session\+\_\+state\+\_\+has\+\_\+pending\+\_\+key\+\_\+exchange} (const \hyperlink{signal__protocol__types_8h_a1a0fb11eb762bbf0da7e0b771c5a78c8}{session\+\_\+state} $\ast$state)
\item 
void \hyperlink{session__state_8h_a6f1e7a3ef0c11b7d4103d27a8fbeeeb9}{session\+\_\+state\+\_\+set\+\_\+unacknowledged\+\_\+pre\+\_\+key\+\_\+message} (\hyperlink{signal__protocol__types_8h_a1a0fb11eb762bbf0da7e0b771c5a78c8}{session\+\_\+state} $\ast$state, const \hyperlink{uthash_8h_a435d1572bf3f880d55459d9805097f62}{uint32\+\_\+t} $\ast$pre\+\_\+key\+\_\+id, \hyperlink{uthash_8h_a435d1572bf3f880d55459d9805097f62}{uint32\+\_\+t} signed\+\_\+pre\+\_\+key\+\_\+id, \hyperlink{signal__protocol__types_8h_a73ea701c5087163bba608c4706df6176}{ec\+\_\+public\+\_\+key} $\ast$base\+\_\+key)
\item 
int \hyperlink{session__state_8h_acfbb239a3dc3d593bb6ac277b7be0f99}{session\+\_\+state\+\_\+unacknowledged\+\_\+pre\+\_\+key\+\_\+message\+\_\+has\+\_\+pre\+\_\+key\+\_\+id} (const \hyperlink{signal__protocol__types_8h_a1a0fb11eb762bbf0da7e0b771c5a78c8}{session\+\_\+state} $\ast$state)
\item 
\hyperlink{uthash_8h_a435d1572bf3f880d55459d9805097f62}{uint32\+\_\+t} \hyperlink{session__state_8h_a0f2c99658922162a7bb7d71f5b8f1c91}{session\+\_\+state\+\_\+unacknowledged\+\_\+pre\+\_\+key\+\_\+message\+\_\+get\+\_\+pre\+\_\+key\+\_\+id} (const \hyperlink{signal__protocol__types_8h_a1a0fb11eb762bbf0da7e0b771c5a78c8}{session\+\_\+state} $\ast$state)
\item 
\hyperlink{uthash_8h_a435d1572bf3f880d55459d9805097f62}{uint32\+\_\+t} \hyperlink{session__state_8h_a0506dc8dd413e7a75da509f744da5876}{session\+\_\+state\+\_\+unacknowledged\+\_\+pre\+\_\+key\+\_\+message\+\_\+get\+\_\+signed\+\_\+pre\+\_\+key\+\_\+id} (const \hyperlink{signal__protocol__types_8h_a1a0fb11eb762bbf0da7e0b771c5a78c8}{session\+\_\+state} $\ast$state)
\item 
\hyperlink{signal__protocol__types_8h_a73ea701c5087163bba608c4706df6176}{ec\+\_\+public\+\_\+key} $\ast$ \hyperlink{session__state_8h_af7e88bbd299f0b3e17d2e30f056a463e}{session\+\_\+state\+\_\+unacknowledged\+\_\+pre\+\_\+key\+\_\+message\+\_\+get\+\_\+base\+\_\+key} (const \hyperlink{signal__protocol__types_8h_a1a0fb11eb762bbf0da7e0b771c5a78c8}{session\+\_\+state} $\ast$state)
\item 
int \hyperlink{session__state_8h_a454285419336fe090d698fba0d5e7efe}{session\+\_\+state\+\_\+has\+\_\+unacknowledged\+\_\+pre\+\_\+key\+\_\+message} (const \hyperlink{signal__protocol__types_8h_a1a0fb11eb762bbf0da7e0b771c5a78c8}{session\+\_\+state} $\ast$state)
\item 
void \hyperlink{session__state_8h_a49c91f15edd8d4bedad0ab577d86fbb6}{session\+\_\+state\+\_\+clear\+\_\+unacknowledged\+\_\+pre\+\_\+key\+\_\+message} (\hyperlink{signal__protocol__types_8h_a1a0fb11eb762bbf0da7e0b771c5a78c8}{session\+\_\+state} $\ast$state)
\item 
void \hyperlink{session__state_8h_aeff377ebe36af88edf4f1ec8b6d6fe7e}{session\+\_\+state\+\_\+set\+\_\+remote\+\_\+registration\+\_\+id} (\hyperlink{signal__protocol__types_8h_a1a0fb11eb762bbf0da7e0b771c5a78c8}{session\+\_\+state} $\ast$state, \hyperlink{uthash_8h_a435d1572bf3f880d55459d9805097f62}{uint32\+\_\+t} id)
\item 
\hyperlink{uthash_8h_a435d1572bf3f880d55459d9805097f62}{uint32\+\_\+t} \hyperlink{session__state_8h_af569233a41a74739a5acd60f7fedc760}{session\+\_\+state\+\_\+get\+\_\+remote\+\_\+registration\+\_\+id} (const \hyperlink{signal__protocol__types_8h_a1a0fb11eb762bbf0da7e0b771c5a78c8}{session\+\_\+state} $\ast$state)
\item 
void \hyperlink{session__state_8h_a9039bdb2935b25c725008f3d4391d2d2}{session\+\_\+state\+\_\+set\+\_\+local\+\_\+registration\+\_\+id} (\hyperlink{signal__protocol__types_8h_a1a0fb11eb762bbf0da7e0b771c5a78c8}{session\+\_\+state} $\ast$state, \hyperlink{uthash_8h_a435d1572bf3f880d55459d9805097f62}{uint32\+\_\+t} id)
\item 
\hyperlink{uthash_8h_a435d1572bf3f880d55459d9805097f62}{uint32\+\_\+t} \hyperlink{session__state_8h_a2bf33152693d0fba1c7b2ceeb6233636}{session\+\_\+state\+\_\+get\+\_\+local\+\_\+registration\+\_\+id} (const \hyperlink{signal__protocol__types_8h_a1a0fb11eb762bbf0da7e0b771c5a78c8}{session\+\_\+state} $\ast$state)
\item 
void \hyperlink{session__state_8h_a9264461201341b16c88ff4aa46d3d2ce}{session\+\_\+state\+\_\+set\+\_\+needs\+\_\+refresh} (\hyperlink{signal__protocol__types_8h_a1a0fb11eb762bbf0da7e0b771c5a78c8}{session\+\_\+state} $\ast$state, int value)
\item 
int \hyperlink{session__state_8h_a50b45db41130acc7209c37cacb70063c}{session\+\_\+state\+\_\+get\+\_\+needs\+\_\+refresh} (const \hyperlink{signal__protocol__types_8h_a1a0fb11eb762bbf0da7e0b771c5a78c8}{session\+\_\+state} $\ast$state)
\item 
void \hyperlink{session__state_8h_a8c7588404a4244d0a8f030be8ba9ce84}{session\+\_\+state\+\_\+set\+\_\+alice\+\_\+base\+\_\+key} (\hyperlink{signal__protocol__types_8h_a1a0fb11eb762bbf0da7e0b771c5a78c8}{session\+\_\+state} $\ast$state, \hyperlink{signal__protocol__types_8h_a73ea701c5087163bba608c4706df6176}{ec\+\_\+public\+\_\+key} $\ast$key)
\item 
\hyperlink{signal__protocol__types_8h_a73ea701c5087163bba608c4706df6176}{ec\+\_\+public\+\_\+key} $\ast$ \hyperlink{session__state_8h_a94f1a8cd5e9ee455ad33274bce537b9c}{session\+\_\+state\+\_\+get\+\_\+alice\+\_\+base\+\_\+key} (const \hyperlink{signal__protocol__types_8h_a1a0fb11eb762bbf0da7e0b771c5a78c8}{session\+\_\+state} $\ast$state)
\item 
void \hyperlink{session__state_8h_a219413596229a4dd2c37631fda09368f}{session\+\_\+state\+\_\+destroy} (\hyperlink{structsignal__type__base}{signal\+\_\+type\+\_\+base} $\ast$type)
\end{DoxyCompactItemize}


\subsection{Function Documentation}
\mbox{\Hypertarget{session__state_8h_aacb3a1e54e1cf8d66b61d2a6a950aea4}\label{session__state_8h_aacb3a1e54e1cf8d66b61d2a6a950aea4}} 
\index{session\+\_\+state.\+h@{session\+\_\+state.\+h}!session\+\_\+state\+\_\+add\+\_\+receiver\+\_\+chain@{session\+\_\+state\+\_\+add\+\_\+receiver\+\_\+chain}}
\index{session\+\_\+state\+\_\+add\+\_\+receiver\+\_\+chain@{session\+\_\+state\+\_\+add\+\_\+receiver\+\_\+chain}!session\+\_\+state.\+h@{session\+\_\+state.\+h}}
\subsubsection{\texorpdfstring{session\+\_\+state\+\_\+add\+\_\+receiver\+\_\+chain()}{session\_state\_add\_receiver\_chain()}}
{\footnotesize\ttfamily int session\+\_\+state\+\_\+add\+\_\+receiver\+\_\+chain (\begin{DoxyParamCaption}\item[{\hyperlink{signal__protocol__types_8h_a1a0fb11eb762bbf0da7e0b771c5a78c8}{session\+\_\+state} $\ast$}]{state,  }\item[{\hyperlink{signal__protocol__types_8h_a73ea701c5087163bba608c4706df6176}{ec\+\_\+public\+\_\+key} $\ast$}]{sender\+\_\+ratchet\+\_\+key,  }\item[{\hyperlink{signal__protocol__types_8h_a7799abfd66deed541c14a329fd832afc}{ratchet\+\_\+chain\+\_\+key} $\ast$}]{chain\+\_\+key }\end{DoxyParamCaption})}

\mbox{\Hypertarget{session__state_8h_a49c91f15edd8d4bedad0ab577d86fbb6}\label{session__state_8h_a49c91f15edd8d4bedad0ab577d86fbb6}} 
\index{session\+\_\+state.\+h@{session\+\_\+state.\+h}!session\+\_\+state\+\_\+clear\+\_\+unacknowledged\+\_\+pre\+\_\+key\+\_\+message@{session\+\_\+state\+\_\+clear\+\_\+unacknowledged\+\_\+pre\+\_\+key\+\_\+message}}
\index{session\+\_\+state\+\_\+clear\+\_\+unacknowledged\+\_\+pre\+\_\+key\+\_\+message@{session\+\_\+state\+\_\+clear\+\_\+unacknowledged\+\_\+pre\+\_\+key\+\_\+message}!session\+\_\+state.\+h@{session\+\_\+state.\+h}}
\subsubsection{\texorpdfstring{session\+\_\+state\+\_\+clear\+\_\+unacknowledged\+\_\+pre\+\_\+key\+\_\+message()}{session\_state\_clear\_unacknowledged\_pre\_key\_message()}}
{\footnotesize\ttfamily void session\+\_\+state\+\_\+clear\+\_\+unacknowledged\+\_\+pre\+\_\+key\+\_\+message (\begin{DoxyParamCaption}\item[{\hyperlink{signal__protocol__types_8h_a1a0fb11eb762bbf0da7e0b771c5a78c8}{session\+\_\+state} $\ast$}]{state }\end{DoxyParamCaption})}

\mbox{\Hypertarget{session__state_8h_a01f000301480cd30a5897d633cd61044}\label{session__state_8h_a01f000301480cd30a5897d633cd61044}} 
\index{session\+\_\+state.\+h@{session\+\_\+state.\+h}!session\+\_\+state\+\_\+copy@{session\+\_\+state\+\_\+copy}}
\index{session\+\_\+state\+\_\+copy@{session\+\_\+state\+\_\+copy}!session\+\_\+state.\+h@{session\+\_\+state.\+h}}
\subsubsection{\texorpdfstring{session\+\_\+state\+\_\+copy()}{session\_state\_copy()}}
{\footnotesize\ttfamily int session\+\_\+state\+\_\+copy (\begin{DoxyParamCaption}\item[{\hyperlink{signal__protocol__types_8h_a1a0fb11eb762bbf0da7e0b771c5a78c8}{session\+\_\+state} $\ast$$\ast$}]{state,  }\item[{\hyperlink{signal__protocol__types_8h_a1a0fb11eb762bbf0da7e0b771c5a78c8}{session\+\_\+state} $\ast$}]{other\+\_\+state,  }\item[{\hyperlink{structsignal__context}{signal\+\_\+context} $\ast$}]{global\+\_\+context }\end{DoxyParamCaption})}

\mbox{\Hypertarget{session__state_8h_aaf00bfe700dbeb39475a5ae39bf410ea}\label{session__state_8h_aaf00bfe700dbeb39475a5ae39bf410ea}} 
\index{session\+\_\+state.\+h@{session\+\_\+state.\+h}!session\+\_\+state\+\_\+create@{session\+\_\+state\+\_\+create}}
\index{session\+\_\+state\+\_\+create@{session\+\_\+state\+\_\+create}!session\+\_\+state.\+h@{session\+\_\+state.\+h}}
\subsubsection{\texorpdfstring{session\+\_\+state\+\_\+create()}{session\_state\_create()}}
{\footnotesize\ttfamily int session\+\_\+state\+\_\+create (\begin{DoxyParamCaption}\item[{\hyperlink{signal__protocol__types_8h_a1a0fb11eb762bbf0da7e0b771c5a78c8}{session\+\_\+state} $\ast$$\ast$}]{state,  }\item[{\hyperlink{structsignal__context}{signal\+\_\+context} $\ast$}]{global\+\_\+context }\end{DoxyParamCaption})}

\mbox{\Hypertarget{session__state_8h_a8d3f9b284388c9df339b19a111b148a9}\label{session__state_8h_a8d3f9b284388c9df339b19a111b148a9}} 
\index{session\+\_\+state.\+h@{session\+\_\+state.\+h}!session\+\_\+state\+\_\+deserialize@{session\+\_\+state\+\_\+deserialize}}
\index{session\+\_\+state\+\_\+deserialize@{session\+\_\+state\+\_\+deserialize}!session\+\_\+state.\+h@{session\+\_\+state.\+h}}
\subsubsection{\texorpdfstring{session\+\_\+state\+\_\+deserialize()}{session\_state\_deserialize()}}
{\footnotesize\ttfamily int session\+\_\+state\+\_\+deserialize (\begin{DoxyParamCaption}\item[{\hyperlink{signal__protocol__types_8h_a1a0fb11eb762bbf0da7e0b771c5a78c8}{session\+\_\+state} $\ast$$\ast$}]{state,  }\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{session__state_8h_a219413596229a4dd2c37631fda09368f}\label{session__state_8h_a219413596229a4dd2c37631fda09368f}} 
\index{session\+\_\+state.\+h@{session\+\_\+state.\+h}!session\+\_\+state\+\_\+destroy@{session\+\_\+state\+\_\+destroy}}
\index{session\+\_\+state\+\_\+destroy@{session\+\_\+state\+\_\+destroy}!session\+\_\+state.\+h@{session\+\_\+state.\+h}}
\subsubsection{\texorpdfstring{session\+\_\+state\+\_\+destroy()}{session\_state\_destroy()}}
{\footnotesize\ttfamily void session\+\_\+state\+\_\+destroy (\begin{DoxyParamCaption}\item[{\hyperlink{structsignal__type__base}{signal\+\_\+type\+\_\+base} $\ast$}]{type }\end{DoxyParamCaption})}

\mbox{\Hypertarget{session__state_8h_a94f1a8cd5e9ee455ad33274bce537b9c}\label{session__state_8h_a94f1a8cd5e9ee455ad33274bce537b9c}} 
\index{session\+\_\+state.\+h@{session\+\_\+state.\+h}!session\+\_\+state\+\_\+get\+\_\+alice\+\_\+base\+\_\+key@{session\+\_\+state\+\_\+get\+\_\+alice\+\_\+base\+\_\+key}}
\index{session\+\_\+state\+\_\+get\+\_\+alice\+\_\+base\+\_\+key@{session\+\_\+state\+\_\+get\+\_\+alice\+\_\+base\+\_\+key}!session\+\_\+state.\+h@{session\+\_\+state.\+h}}
\subsubsection{\texorpdfstring{session\+\_\+state\+\_\+get\+\_\+alice\+\_\+base\+\_\+key()}{session\_state\_get\_alice\_base\_key()}}
{\footnotesize\ttfamily \hyperlink{signal__protocol__types_8h_a73ea701c5087163bba608c4706df6176}{ec\+\_\+public\+\_\+key}$\ast$ session\+\_\+state\+\_\+get\+\_\+alice\+\_\+base\+\_\+key (\begin{DoxyParamCaption}\item[{const \hyperlink{signal__protocol__types_8h_a1a0fb11eb762bbf0da7e0b771c5a78c8}{session\+\_\+state} $\ast$}]{state }\end{DoxyParamCaption})}

\mbox{\Hypertarget{session__state_8h_a54398ae055e1c17db06c055baa29a173}\label{session__state_8h_a54398ae055e1c17db06c055baa29a173}} 
\index{session\+\_\+state.\+h@{session\+\_\+state.\+h}!session\+\_\+state\+\_\+get\+\_\+local\+\_\+identity\+\_\+key@{session\+\_\+state\+\_\+get\+\_\+local\+\_\+identity\+\_\+key}}
\index{session\+\_\+state\+\_\+get\+\_\+local\+\_\+identity\+\_\+key@{session\+\_\+state\+\_\+get\+\_\+local\+\_\+identity\+\_\+key}!session\+\_\+state.\+h@{session\+\_\+state.\+h}}
\subsubsection{\texorpdfstring{session\+\_\+state\+\_\+get\+\_\+local\+\_\+identity\+\_\+key()}{session\_state\_get\_local\_identity\_key()}}
{\footnotesize\ttfamily \hyperlink{signal__protocol__types_8h_a73ea701c5087163bba608c4706df6176}{ec\+\_\+public\+\_\+key}$\ast$ session\+\_\+state\+\_\+get\+\_\+local\+\_\+identity\+\_\+key (\begin{DoxyParamCaption}\item[{const \hyperlink{signal__protocol__types_8h_a1a0fb11eb762bbf0da7e0b771c5a78c8}{session\+\_\+state} $\ast$}]{state }\end{DoxyParamCaption})}

\mbox{\Hypertarget{session__state_8h_a2bf33152693d0fba1c7b2ceeb6233636}\label{session__state_8h_a2bf33152693d0fba1c7b2ceeb6233636}} 
\index{session\+\_\+state.\+h@{session\+\_\+state.\+h}!session\+\_\+state\+\_\+get\+\_\+local\+\_\+registration\+\_\+id@{session\+\_\+state\+\_\+get\+\_\+local\+\_\+registration\+\_\+id}}
\index{session\+\_\+state\+\_\+get\+\_\+local\+\_\+registration\+\_\+id@{session\+\_\+state\+\_\+get\+\_\+local\+\_\+registration\+\_\+id}!session\+\_\+state.\+h@{session\+\_\+state.\+h}}
\subsubsection{\texorpdfstring{session\+\_\+state\+\_\+get\+\_\+local\+\_\+registration\+\_\+id()}{session\_state\_get\_local\_registration\_id()}}
{\footnotesize\ttfamily \hyperlink{uthash_8h_a435d1572bf3f880d55459d9805097f62}{uint32\+\_\+t} session\+\_\+state\+\_\+get\+\_\+local\+\_\+registration\+\_\+id (\begin{DoxyParamCaption}\item[{const \hyperlink{signal__protocol__types_8h_a1a0fb11eb762bbf0da7e0b771c5a78c8}{session\+\_\+state} $\ast$}]{state }\end{DoxyParamCaption})}

\mbox{\Hypertarget{session__state_8h_a50b45db41130acc7209c37cacb70063c}\label{session__state_8h_a50b45db41130acc7209c37cacb70063c}} 
\index{session\+\_\+state.\+h@{session\+\_\+state.\+h}!session\+\_\+state\+\_\+get\+\_\+needs\+\_\+refresh@{session\+\_\+state\+\_\+get\+\_\+needs\+\_\+refresh}}
\index{session\+\_\+state\+\_\+get\+\_\+needs\+\_\+refresh@{session\+\_\+state\+\_\+get\+\_\+needs\+\_\+refresh}!session\+\_\+state.\+h@{session\+\_\+state.\+h}}
\subsubsection{\texorpdfstring{session\+\_\+state\+\_\+get\+\_\+needs\+\_\+refresh()}{session\_state\_get\_needs\_refresh()}}
{\footnotesize\ttfamily int session\+\_\+state\+\_\+get\+\_\+needs\+\_\+refresh (\begin{DoxyParamCaption}\item[{const \hyperlink{signal__protocol__types_8h_a1a0fb11eb762bbf0da7e0b771c5a78c8}{session\+\_\+state} $\ast$}]{state }\end{DoxyParamCaption})}

\mbox{\Hypertarget{session__state_8h_acac3d4d9118edb1b7696b035f8fac419}\label{session__state_8h_acac3d4d9118edb1b7696b035f8fac419}} 
\index{session\+\_\+state.\+h@{session\+\_\+state.\+h}!session\+\_\+state\+\_\+get\+\_\+pending\+\_\+key\+\_\+exchange\+\_\+base\+\_\+key@{session\+\_\+state\+\_\+get\+\_\+pending\+\_\+key\+\_\+exchange\+\_\+base\+\_\+key}}
\index{session\+\_\+state\+\_\+get\+\_\+pending\+\_\+key\+\_\+exchange\+\_\+base\+\_\+key@{session\+\_\+state\+\_\+get\+\_\+pending\+\_\+key\+\_\+exchange\+\_\+base\+\_\+key}!session\+\_\+state.\+h@{session\+\_\+state.\+h}}
\subsubsection{\texorpdfstring{session\+\_\+state\+\_\+get\+\_\+pending\+\_\+key\+\_\+exchange\+\_\+base\+\_\+key()}{session\_state\_get\_pending\_key\_exchange\_base\_key()}}
{\footnotesize\ttfamily \hyperlink{signal__protocol__types_8h_ae66f8b39deda7e0ce46f3ee15561472a}{ec\+\_\+key\+\_\+pair}$\ast$ session\+\_\+state\+\_\+get\+\_\+pending\+\_\+key\+\_\+exchange\+\_\+base\+\_\+key (\begin{DoxyParamCaption}\item[{const \hyperlink{signal__protocol__types_8h_a1a0fb11eb762bbf0da7e0b771c5a78c8}{session\+\_\+state} $\ast$}]{state }\end{DoxyParamCaption})}

\mbox{\Hypertarget{session__state_8h_a246a101f83a8698aa4bca35e1537337e}\label{session__state_8h_a246a101f83a8698aa4bca35e1537337e}} 
\index{session\+\_\+state.\+h@{session\+\_\+state.\+h}!session\+\_\+state\+\_\+get\+\_\+pending\+\_\+key\+\_\+exchange\+\_\+identity\+\_\+key@{session\+\_\+state\+\_\+get\+\_\+pending\+\_\+key\+\_\+exchange\+\_\+identity\+\_\+key}}
\index{session\+\_\+state\+\_\+get\+\_\+pending\+\_\+key\+\_\+exchange\+\_\+identity\+\_\+key@{session\+\_\+state\+\_\+get\+\_\+pending\+\_\+key\+\_\+exchange\+\_\+identity\+\_\+key}!session\+\_\+state.\+h@{session\+\_\+state.\+h}}
\subsubsection{\texorpdfstring{session\+\_\+state\+\_\+get\+\_\+pending\+\_\+key\+\_\+exchange\+\_\+identity\+\_\+key()}{session\_state\_get\_pending\_key\_exchange\_identity\_key()}}
{\footnotesize\ttfamily \hyperlink{signal__protocol__types_8h_a2b29fe6c645390a72526c774c35ad457}{ratchet\+\_\+identity\+\_\+key\+\_\+pair}$\ast$ session\+\_\+state\+\_\+get\+\_\+pending\+\_\+key\+\_\+exchange\+\_\+identity\+\_\+key (\begin{DoxyParamCaption}\item[{const \hyperlink{signal__protocol__types_8h_a1a0fb11eb762bbf0da7e0b771c5a78c8}{session\+\_\+state} $\ast$}]{state }\end{DoxyParamCaption})}

\mbox{\Hypertarget{session__state_8h_aae23207809584ab5753e868a040a64ae}\label{session__state_8h_aae23207809584ab5753e868a040a64ae}} 
\index{session\+\_\+state.\+h@{session\+\_\+state.\+h}!session\+\_\+state\+\_\+get\+\_\+pending\+\_\+key\+\_\+exchange\+\_\+ratchet\+\_\+key@{session\+\_\+state\+\_\+get\+\_\+pending\+\_\+key\+\_\+exchange\+\_\+ratchet\+\_\+key}}
\index{session\+\_\+state\+\_\+get\+\_\+pending\+\_\+key\+\_\+exchange\+\_\+ratchet\+\_\+key@{session\+\_\+state\+\_\+get\+\_\+pending\+\_\+key\+\_\+exchange\+\_\+ratchet\+\_\+key}!session\+\_\+state.\+h@{session\+\_\+state.\+h}}
\subsubsection{\texorpdfstring{session\+\_\+state\+\_\+get\+\_\+pending\+\_\+key\+\_\+exchange\+\_\+ratchet\+\_\+key()}{session\_state\_get\_pending\_key\_exchange\_ratchet\_key()}}
{\footnotesize\ttfamily \hyperlink{signal__protocol__types_8h_ae66f8b39deda7e0ce46f3ee15561472a}{ec\+\_\+key\+\_\+pair}$\ast$ session\+\_\+state\+\_\+get\+\_\+pending\+\_\+key\+\_\+exchange\+\_\+ratchet\+\_\+key (\begin{DoxyParamCaption}\item[{const \hyperlink{signal__protocol__types_8h_a1a0fb11eb762bbf0da7e0b771c5a78c8}{session\+\_\+state} $\ast$}]{state }\end{DoxyParamCaption})}

\mbox{\Hypertarget{session__state_8h_a3984b6372bf00d93c2d850902cc25eee}\label{session__state_8h_a3984b6372bf00d93c2d850902cc25eee}} 
\index{session\+\_\+state.\+h@{session\+\_\+state.\+h}!session\+\_\+state\+\_\+get\+\_\+pending\+\_\+key\+\_\+exchange\+\_\+sequence@{session\+\_\+state\+\_\+get\+\_\+pending\+\_\+key\+\_\+exchange\+\_\+sequence}}
\index{session\+\_\+state\+\_\+get\+\_\+pending\+\_\+key\+\_\+exchange\+\_\+sequence@{session\+\_\+state\+\_\+get\+\_\+pending\+\_\+key\+\_\+exchange\+\_\+sequence}!session\+\_\+state.\+h@{session\+\_\+state.\+h}}
\subsubsection{\texorpdfstring{session\+\_\+state\+\_\+get\+\_\+pending\+\_\+key\+\_\+exchange\+\_\+sequence()}{session\_state\_get\_pending\_key\_exchange\_sequence()}}
{\footnotesize\ttfamily \hyperlink{uthash_8h_a435d1572bf3f880d55459d9805097f62}{uint32\+\_\+t} session\+\_\+state\+\_\+get\+\_\+pending\+\_\+key\+\_\+exchange\+\_\+sequence (\begin{DoxyParamCaption}\item[{\hyperlink{signal__protocol__types_8h_a1a0fb11eb762bbf0da7e0b771c5a78c8}{session\+\_\+state} $\ast$}]{state }\end{DoxyParamCaption})}

\mbox{\Hypertarget{session__state_8h_ade34b4e659ee367a6db061dc641f0bf7}\label{session__state_8h_ade34b4e659ee367a6db061dc641f0bf7}} 
\index{session\+\_\+state.\+h@{session\+\_\+state.\+h}!session\+\_\+state\+\_\+get\+\_\+previous\+\_\+counter@{session\+\_\+state\+\_\+get\+\_\+previous\+\_\+counter}}
\index{session\+\_\+state\+\_\+get\+\_\+previous\+\_\+counter@{session\+\_\+state\+\_\+get\+\_\+previous\+\_\+counter}!session\+\_\+state.\+h@{session\+\_\+state.\+h}}
\subsubsection{\texorpdfstring{session\+\_\+state\+\_\+get\+\_\+previous\+\_\+counter()}{session\_state\_get\_previous\_counter()}}
{\footnotesize\ttfamily \hyperlink{uthash_8h_a435d1572bf3f880d55459d9805097f62}{uint32\+\_\+t} session\+\_\+state\+\_\+get\+\_\+previous\+\_\+counter (\begin{DoxyParamCaption}\item[{const \hyperlink{signal__protocol__types_8h_a1a0fb11eb762bbf0da7e0b771c5a78c8}{session\+\_\+state} $\ast$}]{state }\end{DoxyParamCaption})}

\mbox{\Hypertarget{session__state_8h_a8af4097426893a28a42ebd480fc2caa8}\label{session__state_8h_a8af4097426893a28a42ebd480fc2caa8}} 
\index{session\+\_\+state.\+h@{session\+\_\+state.\+h}!session\+\_\+state\+\_\+get\+\_\+receiver\+\_\+chain\+\_\+key@{session\+\_\+state\+\_\+get\+\_\+receiver\+\_\+chain\+\_\+key}}
\index{session\+\_\+state\+\_\+get\+\_\+receiver\+\_\+chain\+\_\+key@{session\+\_\+state\+\_\+get\+\_\+receiver\+\_\+chain\+\_\+key}!session\+\_\+state.\+h@{session\+\_\+state.\+h}}
\subsubsection{\texorpdfstring{session\+\_\+state\+\_\+get\+\_\+receiver\+\_\+chain\+\_\+key()}{session\_state\_get\_receiver\_chain\_key()}}
{\footnotesize\ttfamily \hyperlink{signal__protocol__types_8h_a7799abfd66deed541c14a329fd832afc}{ratchet\+\_\+chain\+\_\+key}$\ast$ session\+\_\+state\+\_\+get\+\_\+receiver\+\_\+chain\+\_\+key (\begin{DoxyParamCaption}\item[{\hyperlink{signal__protocol__types_8h_a1a0fb11eb762bbf0da7e0b771c5a78c8}{session\+\_\+state} $\ast$}]{state,  }\item[{\hyperlink{signal__protocol__types_8h_a73ea701c5087163bba608c4706df6176}{ec\+\_\+public\+\_\+key} $\ast$}]{sender\+\_\+ephemeral }\end{DoxyParamCaption})}

\mbox{\Hypertarget{session__state_8h_af9c717d95ae9f4e705d0626a319b4e35}\label{session__state_8h_af9c717d95ae9f4e705d0626a319b4e35}} 
\index{session\+\_\+state.\+h@{session\+\_\+state.\+h}!session\+\_\+state\+\_\+get\+\_\+remote\+\_\+identity\+\_\+key@{session\+\_\+state\+\_\+get\+\_\+remote\+\_\+identity\+\_\+key}}
\index{session\+\_\+state\+\_\+get\+\_\+remote\+\_\+identity\+\_\+key@{session\+\_\+state\+\_\+get\+\_\+remote\+\_\+identity\+\_\+key}!session\+\_\+state.\+h@{session\+\_\+state.\+h}}
\subsubsection{\texorpdfstring{session\+\_\+state\+\_\+get\+\_\+remote\+\_\+identity\+\_\+key()}{session\_state\_get\_remote\_identity\_key()}}
{\footnotesize\ttfamily \hyperlink{signal__protocol__types_8h_a73ea701c5087163bba608c4706df6176}{ec\+\_\+public\+\_\+key}$\ast$ session\+\_\+state\+\_\+get\+\_\+remote\+\_\+identity\+\_\+key (\begin{DoxyParamCaption}\item[{const \hyperlink{signal__protocol__types_8h_a1a0fb11eb762bbf0da7e0b771c5a78c8}{session\+\_\+state} $\ast$}]{state }\end{DoxyParamCaption})}

\mbox{\Hypertarget{session__state_8h_af569233a41a74739a5acd60f7fedc760}\label{session__state_8h_af569233a41a74739a5acd60f7fedc760}} 
\index{session\+\_\+state.\+h@{session\+\_\+state.\+h}!session\+\_\+state\+\_\+get\+\_\+remote\+\_\+registration\+\_\+id@{session\+\_\+state\+\_\+get\+\_\+remote\+\_\+registration\+\_\+id}}
\index{session\+\_\+state\+\_\+get\+\_\+remote\+\_\+registration\+\_\+id@{session\+\_\+state\+\_\+get\+\_\+remote\+\_\+registration\+\_\+id}!session\+\_\+state.\+h@{session\+\_\+state.\+h}}
\subsubsection{\texorpdfstring{session\+\_\+state\+\_\+get\+\_\+remote\+\_\+registration\+\_\+id()}{session\_state\_get\_remote\_registration\_id()}}
{\footnotesize\ttfamily \hyperlink{uthash_8h_a435d1572bf3f880d55459d9805097f62}{uint32\+\_\+t} session\+\_\+state\+\_\+get\+\_\+remote\+\_\+registration\+\_\+id (\begin{DoxyParamCaption}\item[{const \hyperlink{signal__protocol__types_8h_a1a0fb11eb762bbf0da7e0b771c5a78c8}{session\+\_\+state} $\ast$}]{state }\end{DoxyParamCaption})}

\mbox{\Hypertarget{session__state_8h_aeea0094765135da1dc6275692748886c}\label{session__state_8h_aeea0094765135da1dc6275692748886c}} 
\index{session\+\_\+state.\+h@{session\+\_\+state.\+h}!session\+\_\+state\+\_\+get\+\_\+root\+\_\+key@{session\+\_\+state\+\_\+get\+\_\+root\+\_\+key}}
\index{session\+\_\+state\+\_\+get\+\_\+root\+\_\+key@{session\+\_\+state\+\_\+get\+\_\+root\+\_\+key}!session\+\_\+state.\+h@{session\+\_\+state.\+h}}
\subsubsection{\texorpdfstring{session\+\_\+state\+\_\+get\+\_\+root\+\_\+key()}{session\_state\_get\_root\_key()}}
{\footnotesize\ttfamily \hyperlink{signal__protocol__types_8h_a4a3febd70a6caf4ef99dfe1a87146372}{ratchet\+\_\+root\+\_\+key}$\ast$ session\+\_\+state\+\_\+get\+\_\+root\+\_\+key (\begin{DoxyParamCaption}\item[{const \hyperlink{signal__protocol__types_8h_a1a0fb11eb762bbf0da7e0b771c5a78c8}{session\+\_\+state} $\ast$}]{state }\end{DoxyParamCaption})}

\mbox{\Hypertarget{session__state_8h_ac1d1a2a0155e607572bd128027e4ca8e}\label{session__state_8h_ac1d1a2a0155e607572bd128027e4ca8e}} 
\index{session\+\_\+state.\+h@{session\+\_\+state.\+h}!session\+\_\+state\+\_\+get\+\_\+sender\+\_\+chain\+\_\+key@{session\+\_\+state\+\_\+get\+\_\+sender\+\_\+chain\+\_\+key}}
\index{session\+\_\+state\+\_\+get\+\_\+sender\+\_\+chain\+\_\+key@{session\+\_\+state\+\_\+get\+\_\+sender\+\_\+chain\+\_\+key}!session\+\_\+state.\+h@{session\+\_\+state.\+h}}
\subsubsection{\texorpdfstring{session\+\_\+state\+\_\+get\+\_\+sender\+\_\+chain\+\_\+key()}{session\_state\_get\_sender\_chain\_key()}}
{\footnotesize\ttfamily \hyperlink{signal__protocol__types_8h_a7799abfd66deed541c14a329fd832afc}{ratchet\+\_\+chain\+\_\+key}$\ast$ session\+\_\+state\+\_\+get\+\_\+sender\+\_\+chain\+\_\+key (\begin{DoxyParamCaption}\item[{const \hyperlink{signal__protocol__types_8h_a1a0fb11eb762bbf0da7e0b771c5a78c8}{session\+\_\+state} $\ast$}]{state }\end{DoxyParamCaption})}

\mbox{\Hypertarget{session__state_8h_a79c5acc87615570d54ee1cb634be8b35}\label{session__state_8h_a79c5acc87615570d54ee1cb634be8b35}} 
\index{session\+\_\+state.\+h@{session\+\_\+state.\+h}!session\+\_\+state\+\_\+get\+\_\+sender\+\_\+ratchet\+\_\+key@{session\+\_\+state\+\_\+get\+\_\+sender\+\_\+ratchet\+\_\+key}}
\index{session\+\_\+state\+\_\+get\+\_\+sender\+\_\+ratchet\+\_\+key@{session\+\_\+state\+\_\+get\+\_\+sender\+\_\+ratchet\+\_\+key}!session\+\_\+state.\+h@{session\+\_\+state.\+h}}
\subsubsection{\texorpdfstring{session\+\_\+state\+\_\+get\+\_\+sender\+\_\+ratchet\+\_\+key()}{session\_state\_get\_sender\_ratchet\_key()}}
{\footnotesize\ttfamily \hyperlink{signal__protocol__types_8h_a73ea701c5087163bba608c4706df6176}{ec\+\_\+public\+\_\+key}$\ast$ session\+\_\+state\+\_\+get\+\_\+sender\+\_\+ratchet\+\_\+key (\begin{DoxyParamCaption}\item[{const \hyperlink{signal__protocol__types_8h_a1a0fb11eb762bbf0da7e0b771c5a78c8}{session\+\_\+state} $\ast$}]{state }\end{DoxyParamCaption})}

\mbox{\Hypertarget{session__state_8h_a7afae4a750e8cb6c82e9aaa721e952c3}\label{session__state_8h_a7afae4a750e8cb6c82e9aaa721e952c3}} 
\index{session\+\_\+state.\+h@{session\+\_\+state.\+h}!session\+\_\+state\+\_\+get\+\_\+sender\+\_\+ratchet\+\_\+key\+\_\+pair@{session\+\_\+state\+\_\+get\+\_\+sender\+\_\+ratchet\+\_\+key\+\_\+pair}}
\index{session\+\_\+state\+\_\+get\+\_\+sender\+\_\+ratchet\+\_\+key\+\_\+pair@{session\+\_\+state\+\_\+get\+\_\+sender\+\_\+ratchet\+\_\+key\+\_\+pair}!session\+\_\+state.\+h@{session\+\_\+state.\+h}}
\subsubsection{\texorpdfstring{session\+\_\+state\+\_\+get\+\_\+sender\+\_\+ratchet\+\_\+key\+\_\+pair()}{session\_state\_get\_sender\_ratchet\_key\_pair()}}
{\footnotesize\ttfamily \hyperlink{signal__protocol__types_8h_ae66f8b39deda7e0ce46f3ee15561472a}{ec\+\_\+key\+\_\+pair}$\ast$ session\+\_\+state\+\_\+get\+\_\+sender\+\_\+ratchet\+\_\+key\+\_\+pair (\begin{DoxyParamCaption}\item[{const \hyperlink{signal__protocol__types_8h_a1a0fb11eb762bbf0da7e0b771c5a78c8}{session\+\_\+state} $\ast$}]{state }\end{DoxyParamCaption})}

\mbox{\Hypertarget{session__state_8h_a2038912e225fc69c95b8c460e5e99eb6}\label{session__state_8h_a2038912e225fc69c95b8c460e5e99eb6}} 
\index{session\+\_\+state.\+h@{session\+\_\+state.\+h}!session\+\_\+state\+\_\+get\+\_\+session\+\_\+version@{session\+\_\+state\+\_\+get\+\_\+session\+\_\+version}}
\index{session\+\_\+state\+\_\+get\+\_\+session\+\_\+version@{session\+\_\+state\+\_\+get\+\_\+session\+\_\+version}!session\+\_\+state.\+h@{session\+\_\+state.\+h}}
\subsubsection{\texorpdfstring{session\+\_\+state\+\_\+get\+\_\+session\+\_\+version()}{session\_state\_get\_session\_version()}}
{\footnotesize\ttfamily \hyperlink{uthash_8h_a435d1572bf3f880d55459d9805097f62}{uint32\+\_\+t} session\+\_\+state\+\_\+get\+\_\+session\+\_\+version (\begin{DoxyParamCaption}\item[{const \hyperlink{signal__protocol__types_8h_a1a0fb11eb762bbf0da7e0b771c5a78c8}{session\+\_\+state} $\ast$}]{state }\end{DoxyParamCaption})}

\mbox{\Hypertarget{session__state_8h_a9f5424fcc8c3a9a5986f290c2a9d2e81}\label{session__state_8h_a9f5424fcc8c3a9a5986f290c2a9d2e81}} 
\index{session\+\_\+state.\+h@{session\+\_\+state.\+h}!session\+\_\+state\+\_\+has\+\_\+message\+\_\+keys@{session\+\_\+state\+\_\+has\+\_\+message\+\_\+keys}}
\index{session\+\_\+state\+\_\+has\+\_\+message\+\_\+keys@{session\+\_\+state\+\_\+has\+\_\+message\+\_\+keys}!session\+\_\+state.\+h@{session\+\_\+state.\+h}}
\subsubsection{\texorpdfstring{session\+\_\+state\+\_\+has\+\_\+message\+\_\+keys()}{session\_state\_has\_message\_keys()}}
{\footnotesize\ttfamily int session\+\_\+state\+\_\+has\+\_\+message\+\_\+keys (\begin{DoxyParamCaption}\item[{\hyperlink{signal__protocol__types_8h_a1a0fb11eb762bbf0da7e0b771c5a78c8}{session\+\_\+state} $\ast$}]{state,  }\item[{\hyperlink{signal__protocol__types_8h_a73ea701c5087163bba608c4706df6176}{ec\+\_\+public\+\_\+key} $\ast$}]{sender\+\_\+ephemeral,  }\item[{\hyperlink{uthash_8h_a435d1572bf3f880d55459d9805097f62}{uint32\+\_\+t}}]{counter }\end{DoxyParamCaption})}

\mbox{\Hypertarget{session__state_8h_a54c63c708c80e717055ad5ef6e57254d}\label{session__state_8h_a54c63c708c80e717055ad5ef6e57254d}} 
\index{session\+\_\+state.\+h@{session\+\_\+state.\+h}!session\+\_\+state\+\_\+has\+\_\+pending\+\_\+key\+\_\+exchange@{session\+\_\+state\+\_\+has\+\_\+pending\+\_\+key\+\_\+exchange}}
\index{session\+\_\+state\+\_\+has\+\_\+pending\+\_\+key\+\_\+exchange@{session\+\_\+state\+\_\+has\+\_\+pending\+\_\+key\+\_\+exchange}!session\+\_\+state.\+h@{session\+\_\+state.\+h}}
\subsubsection{\texorpdfstring{session\+\_\+state\+\_\+has\+\_\+pending\+\_\+key\+\_\+exchange()}{session\_state\_has\_pending\_key\_exchange()}}
{\footnotesize\ttfamily int session\+\_\+state\+\_\+has\+\_\+pending\+\_\+key\+\_\+exchange (\begin{DoxyParamCaption}\item[{const \hyperlink{signal__protocol__types_8h_a1a0fb11eb762bbf0da7e0b771c5a78c8}{session\+\_\+state} $\ast$}]{state }\end{DoxyParamCaption})}

\mbox{\Hypertarget{session__state_8h_a191bc4380349bc113532a44358975efa}\label{session__state_8h_a191bc4380349bc113532a44358975efa}} 
\index{session\+\_\+state.\+h@{session\+\_\+state.\+h}!session\+\_\+state\+\_\+has\+\_\+sender\+\_\+chain@{session\+\_\+state\+\_\+has\+\_\+sender\+\_\+chain}}
\index{session\+\_\+state\+\_\+has\+\_\+sender\+\_\+chain@{session\+\_\+state\+\_\+has\+\_\+sender\+\_\+chain}!session\+\_\+state.\+h@{session\+\_\+state.\+h}}
\subsubsection{\texorpdfstring{session\+\_\+state\+\_\+has\+\_\+sender\+\_\+chain()}{session\_state\_has\_sender\_chain()}}
{\footnotesize\ttfamily int session\+\_\+state\+\_\+has\+\_\+sender\+\_\+chain (\begin{DoxyParamCaption}\item[{const \hyperlink{signal__protocol__types_8h_a1a0fb11eb762bbf0da7e0b771c5a78c8}{session\+\_\+state} $\ast$}]{state }\end{DoxyParamCaption})}

\mbox{\Hypertarget{session__state_8h_a454285419336fe090d698fba0d5e7efe}\label{session__state_8h_a454285419336fe090d698fba0d5e7efe}} 
\index{session\+\_\+state.\+h@{session\+\_\+state.\+h}!session\+\_\+state\+\_\+has\+\_\+unacknowledged\+\_\+pre\+\_\+key\+\_\+message@{session\+\_\+state\+\_\+has\+\_\+unacknowledged\+\_\+pre\+\_\+key\+\_\+message}}
\index{session\+\_\+state\+\_\+has\+\_\+unacknowledged\+\_\+pre\+\_\+key\+\_\+message@{session\+\_\+state\+\_\+has\+\_\+unacknowledged\+\_\+pre\+\_\+key\+\_\+message}!session\+\_\+state.\+h@{session\+\_\+state.\+h}}
\subsubsection{\texorpdfstring{session\+\_\+state\+\_\+has\+\_\+unacknowledged\+\_\+pre\+\_\+key\+\_\+message()}{session\_state\_has\_unacknowledged\_pre\_key\_message()}}
{\footnotesize\ttfamily int session\+\_\+state\+\_\+has\+\_\+unacknowledged\+\_\+pre\+\_\+key\+\_\+message (\begin{DoxyParamCaption}\item[{const \hyperlink{signal__protocol__types_8h_a1a0fb11eb762bbf0da7e0b771c5a78c8}{session\+\_\+state} $\ast$}]{state }\end{DoxyParamCaption})}

\mbox{\Hypertarget{session__state_8h_ac3be0485fadbe15919c677d363b1d9f5}\label{session__state_8h_ac3be0485fadbe15919c677d363b1d9f5}} 
\index{session\+\_\+state.\+h@{session\+\_\+state.\+h}!session\+\_\+state\+\_\+remove\+\_\+message\+\_\+keys@{session\+\_\+state\+\_\+remove\+\_\+message\+\_\+keys}}
\index{session\+\_\+state\+\_\+remove\+\_\+message\+\_\+keys@{session\+\_\+state\+\_\+remove\+\_\+message\+\_\+keys}!session\+\_\+state.\+h@{session\+\_\+state.\+h}}
\subsubsection{\texorpdfstring{session\+\_\+state\+\_\+remove\+\_\+message\+\_\+keys()}{session\_state\_remove\_message\_keys()}}
{\footnotesize\ttfamily int session\+\_\+state\+\_\+remove\+\_\+message\+\_\+keys (\begin{DoxyParamCaption}\item[{\hyperlink{signal__protocol__types_8h_a1a0fb11eb762bbf0da7e0b771c5a78c8}{session\+\_\+state} $\ast$}]{state,  }\item[{\hyperlink{structratchet__message__keys}{ratchet\+\_\+message\+\_\+keys} $\ast$}]{message\+\_\+keys\+\_\+result,  }\item[{\hyperlink{signal__protocol__types_8h_a73ea701c5087163bba608c4706df6176}{ec\+\_\+public\+\_\+key} $\ast$}]{sender\+\_\+ephemeral,  }\item[{\hyperlink{uthash_8h_a435d1572bf3f880d55459d9805097f62}{uint32\+\_\+t}}]{counter }\end{DoxyParamCaption})}

\mbox{\Hypertarget{session__state_8h_a904d0ab526697afc763269b9191b078f}\label{session__state_8h_a904d0ab526697afc763269b9191b078f}} 
\index{session\+\_\+state.\+h@{session\+\_\+state.\+h}!session\+\_\+state\+\_\+serialize@{session\+\_\+state\+\_\+serialize}}
\index{session\+\_\+state\+\_\+serialize@{session\+\_\+state\+\_\+serialize}!session\+\_\+state.\+h@{session\+\_\+state.\+h}}
\subsubsection{\texorpdfstring{session\+\_\+state\+\_\+serialize()}{session\_state\_serialize()}}
{\footnotesize\ttfamily int session\+\_\+state\+\_\+serialize (\begin{DoxyParamCaption}\item[{\hyperlink{structsignal__buffer}{signal\+\_\+buffer} $\ast$$\ast$}]{buffer,  }\item[{\hyperlink{signal__protocol__types_8h_a1a0fb11eb762bbf0da7e0b771c5a78c8}{session\+\_\+state} $\ast$}]{state }\end{DoxyParamCaption})}

\mbox{\Hypertarget{session__state_8h_a8c7588404a4244d0a8f030be8ba9ce84}\label{session__state_8h_a8c7588404a4244d0a8f030be8ba9ce84}} 
\index{session\+\_\+state.\+h@{session\+\_\+state.\+h}!session\+\_\+state\+\_\+set\+\_\+alice\+\_\+base\+\_\+key@{session\+\_\+state\+\_\+set\+\_\+alice\+\_\+base\+\_\+key}}
\index{session\+\_\+state\+\_\+set\+\_\+alice\+\_\+base\+\_\+key@{session\+\_\+state\+\_\+set\+\_\+alice\+\_\+base\+\_\+key}!session\+\_\+state.\+h@{session\+\_\+state.\+h}}
\subsubsection{\texorpdfstring{session\+\_\+state\+\_\+set\+\_\+alice\+\_\+base\+\_\+key()}{session\_state\_set\_alice\_base\_key()}}
{\footnotesize\ttfamily void session\+\_\+state\+\_\+set\+\_\+alice\+\_\+base\+\_\+key (\begin{DoxyParamCaption}\item[{\hyperlink{signal__protocol__types_8h_a1a0fb11eb762bbf0da7e0b771c5a78c8}{session\+\_\+state} $\ast$}]{state,  }\item[{\hyperlink{signal__protocol__types_8h_a73ea701c5087163bba608c4706df6176}{ec\+\_\+public\+\_\+key} $\ast$}]{key }\end{DoxyParamCaption})}

\mbox{\Hypertarget{session__state_8h_a138b064be378926a3b0275c81a69ef6d}\label{session__state_8h_a138b064be378926a3b0275c81a69ef6d}} 
\index{session\+\_\+state.\+h@{session\+\_\+state.\+h}!session\+\_\+state\+\_\+set\+\_\+local\+\_\+identity\+\_\+key@{session\+\_\+state\+\_\+set\+\_\+local\+\_\+identity\+\_\+key}}
\index{session\+\_\+state\+\_\+set\+\_\+local\+\_\+identity\+\_\+key@{session\+\_\+state\+\_\+set\+\_\+local\+\_\+identity\+\_\+key}!session\+\_\+state.\+h@{session\+\_\+state.\+h}}
\subsubsection{\texorpdfstring{session\+\_\+state\+\_\+set\+\_\+local\+\_\+identity\+\_\+key()}{session\_state\_set\_local\_identity\_key()}}
{\footnotesize\ttfamily void session\+\_\+state\+\_\+set\+\_\+local\+\_\+identity\+\_\+key (\begin{DoxyParamCaption}\item[{\hyperlink{signal__protocol__types_8h_a1a0fb11eb762bbf0da7e0b771c5a78c8}{session\+\_\+state} $\ast$}]{state,  }\item[{\hyperlink{signal__protocol__types_8h_a73ea701c5087163bba608c4706df6176}{ec\+\_\+public\+\_\+key} $\ast$}]{identity\+\_\+key }\end{DoxyParamCaption})}

\mbox{\Hypertarget{session__state_8h_a9039bdb2935b25c725008f3d4391d2d2}\label{session__state_8h_a9039bdb2935b25c725008f3d4391d2d2}} 
\index{session\+\_\+state.\+h@{session\+\_\+state.\+h}!session\+\_\+state\+\_\+set\+\_\+local\+\_\+registration\+\_\+id@{session\+\_\+state\+\_\+set\+\_\+local\+\_\+registration\+\_\+id}}
\index{session\+\_\+state\+\_\+set\+\_\+local\+\_\+registration\+\_\+id@{session\+\_\+state\+\_\+set\+\_\+local\+\_\+registration\+\_\+id}!session\+\_\+state.\+h@{session\+\_\+state.\+h}}
\subsubsection{\texorpdfstring{session\+\_\+state\+\_\+set\+\_\+local\+\_\+registration\+\_\+id()}{session\_state\_set\_local\_registration\_id()}}
{\footnotesize\ttfamily void session\+\_\+state\+\_\+set\+\_\+local\+\_\+registration\+\_\+id (\begin{DoxyParamCaption}\item[{\hyperlink{signal__protocol__types_8h_a1a0fb11eb762bbf0da7e0b771c5a78c8}{session\+\_\+state} $\ast$}]{state,  }\item[{\hyperlink{uthash_8h_a435d1572bf3f880d55459d9805097f62}{uint32\+\_\+t}}]{id }\end{DoxyParamCaption})}

\mbox{\Hypertarget{session__state_8h_a90b52ce5e84c2d2e890ff6c2db35b31d}\label{session__state_8h_a90b52ce5e84c2d2e890ff6c2db35b31d}} 
\index{session\+\_\+state.\+h@{session\+\_\+state.\+h}!session\+\_\+state\+\_\+set\+\_\+message\+\_\+keys@{session\+\_\+state\+\_\+set\+\_\+message\+\_\+keys}}
\index{session\+\_\+state\+\_\+set\+\_\+message\+\_\+keys@{session\+\_\+state\+\_\+set\+\_\+message\+\_\+keys}!session\+\_\+state.\+h@{session\+\_\+state.\+h}}
\subsubsection{\texorpdfstring{session\+\_\+state\+\_\+set\+\_\+message\+\_\+keys()}{session\_state\_set\_message\_keys()}}
{\footnotesize\ttfamily int session\+\_\+state\+\_\+set\+\_\+message\+\_\+keys (\begin{DoxyParamCaption}\item[{\hyperlink{signal__protocol__types_8h_a1a0fb11eb762bbf0da7e0b771c5a78c8}{session\+\_\+state} $\ast$}]{state,  }\item[{\hyperlink{signal__protocol__types_8h_a73ea701c5087163bba608c4706df6176}{ec\+\_\+public\+\_\+key} $\ast$}]{sender\+\_\+ephemeral,  }\item[{\hyperlink{structratchet__message__keys}{ratchet\+\_\+message\+\_\+keys} $\ast$}]{message\+\_\+keys }\end{DoxyParamCaption})}

\mbox{\Hypertarget{session__state_8h_a9264461201341b16c88ff4aa46d3d2ce}\label{session__state_8h_a9264461201341b16c88ff4aa46d3d2ce}} 
\index{session\+\_\+state.\+h@{session\+\_\+state.\+h}!session\+\_\+state\+\_\+set\+\_\+needs\+\_\+refresh@{session\+\_\+state\+\_\+set\+\_\+needs\+\_\+refresh}}
\index{session\+\_\+state\+\_\+set\+\_\+needs\+\_\+refresh@{session\+\_\+state\+\_\+set\+\_\+needs\+\_\+refresh}!session\+\_\+state.\+h@{session\+\_\+state.\+h}}
\subsubsection{\texorpdfstring{session\+\_\+state\+\_\+set\+\_\+needs\+\_\+refresh()}{session\_state\_set\_needs\_refresh()}}
{\footnotesize\ttfamily void session\+\_\+state\+\_\+set\+\_\+needs\+\_\+refresh (\begin{DoxyParamCaption}\item[{\hyperlink{signal__protocol__types_8h_a1a0fb11eb762bbf0da7e0b771c5a78c8}{session\+\_\+state} $\ast$}]{state,  }\item[{int}]{value }\end{DoxyParamCaption})}

\mbox{\Hypertarget{session__state_8h_adbceacfef66fefd23dd400ed4717b25c}\label{session__state_8h_adbceacfef66fefd23dd400ed4717b25c}} 
\index{session\+\_\+state.\+h@{session\+\_\+state.\+h}!session\+\_\+state\+\_\+set\+\_\+pending\+\_\+key\+\_\+exchange@{session\+\_\+state\+\_\+set\+\_\+pending\+\_\+key\+\_\+exchange}}
\index{session\+\_\+state\+\_\+set\+\_\+pending\+\_\+key\+\_\+exchange@{session\+\_\+state\+\_\+set\+\_\+pending\+\_\+key\+\_\+exchange}!session\+\_\+state.\+h@{session\+\_\+state.\+h}}
\subsubsection{\texorpdfstring{session\+\_\+state\+\_\+set\+\_\+pending\+\_\+key\+\_\+exchange()}{session\_state\_set\_pending\_key\_exchange()}}
{\footnotesize\ttfamily void session\+\_\+state\+\_\+set\+\_\+pending\+\_\+key\+\_\+exchange (\begin{DoxyParamCaption}\item[{\hyperlink{signal__protocol__types_8h_a1a0fb11eb762bbf0da7e0b771c5a78c8}{session\+\_\+state} $\ast$}]{state,  }\item[{\hyperlink{uthash_8h_a435d1572bf3f880d55459d9805097f62}{uint32\+\_\+t}}]{sequence,  }\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_a2b29fe6c645390a72526c774c35ad457}{ratchet\+\_\+identity\+\_\+key\+\_\+pair} $\ast$}]{our\+\_\+identity\+\_\+key }\end{DoxyParamCaption})}

\mbox{\Hypertarget{session__state_8h_a549d1dd61d0fb4e46f9e354ee08684f1}\label{session__state_8h_a549d1dd61d0fb4e46f9e354ee08684f1}} 
\index{session\+\_\+state.\+h@{session\+\_\+state.\+h}!session\+\_\+state\+\_\+set\+\_\+previous\+\_\+counter@{session\+\_\+state\+\_\+set\+\_\+previous\+\_\+counter}}
\index{session\+\_\+state\+\_\+set\+\_\+previous\+\_\+counter@{session\+\_\+state\+\_\+set\+\_\+previous\+\_\+counter}!session\+\_\+state.\+h@{session\+\_\+state.\+h}}
\subsubsection{\texorpdfstring{session\+\_\+state\+\_\+set\+\_\+previous\+\_\+counter()}{session\_state\_set\_previous\_counter()}}
{\footnotesize\ttfamily void session\+\_\+state\+\_\+set\+\_\+previous\+\_\+counter (\begin{DoxyParamCaption}\item[{\hyperlink{signal__protocol__types_8h_a1a0fb11eb762bbf0da7e0b771c5a78c8}{session\+\_\+state} $\ast$}]{state,  }\item[{\hyperlink{uthash_8h_a435d1572bf3f880d55459d9805097f62}{uint32\+\_\+t}}]{counter }\end{DoxyParamCaption})}

\mbox{\Hypertarget{session__state_8h_a38fbf4ac81f64ea71fa64420b514c7d3}\label{session__state_8h_a38fbf4ac81f64ea71fa64420b514c7d3}} 
\index{session\+\_\+state.\+h@{session\+\_\+state.\+h}!session\+\_\+state\+\_\+set\+\_\+receiver\+\_\+chain\+\_\+key@{session\+\_\+state\+\_\+set\+\_\+receiver\+\_\+chain\+\_\+key}}
\index{session\+\_\+state\+\_\+set\+\_\+receiver\+\_\+chain\+\_\+key@{session\+\_\+state\+\_\+set\+\_\+receiver\+\_\+chain\+\_\+key}!session\+\_\+state.\+h@{session\+\_\+state.\+h}}
\subsubsection{\texorpdfstring{session\+\_\+state\+\_\+set\+\_\+receiver\+\_\+chain\+\_\+key()}{session\_state\_set\_receiver\_chain\_key()}}
{\footnotesize\ttfamily int session\+\_\+state\+\_\+set\+\_\+receiver\+\_\+chain\+\_\+key (\begin{DoxyParamCaption}\item[{\hyperlink{signal__protocol__types_8h_a1a0fb11eb762bbf0da7e0b771c5a78c8}{session\+\_\+state} $\ast$}]{state,  }\item[{\hyperlink{signal__protocol__types_8h_a73ea701c5087163bba608c4706df6176}{ec\+\_\+public\+\_\+key} $\ast$}]{sender\+\_\+ephemeral,  }\item[{\hyperlink{signal__protocol__types_8h_a7799abfd66deed541c14a329fd832afc}{ratchet\+\_\+chain\+\_\+key} $\ast$}]{chain\+\_\+key }\end{DoxyParamCaption})}

\mbox{\Hypertarget{session__state_8h_a7b287d65b64b4e30cc8d62d91bcdd457}\label{session__state_8h_a7b287d65b64b4e30cc8d62d91bcdd457}} 
\index{session\+\_\+state.\+h@{session\+\_\+state.\+h}!session\+\_\+state\+\_\+set\+\_\+remote\+\_\+identity\+\_\+key@{session\+\_\+state\+\_\+set\+\_\+remote\+\_\+identity\+\_\+key}}
\index{session\+\_\+state\+\_\+set\+\_\+remote\+\_\+identity\+\_\+key@{session\+\_\+state\+\_\+set\+\_\+remote\+\_\+identity\+\_\+key}!session\+\_\+state.\+h@{session\+\_\+state.\+h}}
\subsubsection{\texorpdfstring{session\+\_\+state\+\_\+set\+\_\+remote\+\_\+identity\+\_\+key()}{session\_state\_set\_remote\_identity\_key()}}
{\footnotesize\ttfamily void session\+\_\+state\+\_\+set\+\_\+remote\+\_\+identity\+\_\+key (\begin{DoxyParamCaption}\item[{\hyperlink{signal__protocol__types_8h_a1a0fb11eb762bbf0da7e0b771c5a78c8}{session\+\_\+state} $\ast$}]{state,  }\item[{\hyperlink{signal__protocol__types_8h_a73ea701c5087163bba608c4706df6176}{ec\+\_\+public\+\_\+key} $\ast$}]{identity\+\_\+key }\end{DoxyParamCaption})}

\mbox{\Hypertarget{session__state_8h_aeff377ebe36af88edf4f1ec8b6d6fe7e}\label{session__state_8h_aeff377ebe36af88edf4f1ec8b6d6fe7e}} 
\index{session\+\_\+state.\+h@{session\+\_\+state.\+h}!session\+\_\+state\+\_\+set\+\_\+remote\+\_\+registration\+\_\+id@{session\+\_\+state\+\_\+set\+\_\+remote\+\_\+registration\+\_\+id}}
\index{session\+\_\+state\+\_\+set\+\_\+remote\+\_\+registration\+\_\+id@{session\+\_\+state\+\_\+set\+\_\+remote\+\_\+registration\+\_\+id}!session\+\_\+state.\+h@{session\+\_\+state.\+h}}
\subsubsection{\texorpdfstring{session\+\_\+state\+\_\+set\+\_\+remote\+\_\+registration\+\_\+id()}{session\_state\_set\_remote\_registration\_id()}}
{\footnotesize\ttfamily void session\+\_\+state\+\_\+set\+\_\+remote\+\_\+registration\+\_\+id (\begin{DoxyParamCaption}\item[{\hyperlink{signal__protocol__types_8h_a1a0fb11eb762bbf0da7e0b771c5a78c8}{session\+\_\+state} $\ast$}]{state,  }\item[{\hyperlink{uthash_8h_a435d1572bf3f880d55459d9805097f62}{uint32\+\_\+t}}]{id }\end{DoxyParamCaption})}

\mbox{\Hypertarget{session__state_8h_a1f8fe839d3cd881654d103536bf34e5e}\label{session__state_8h_a1f8fe839d3cd881654d103536bf34e5e}} 
\index{session\+\_\+state.\+h@{session\+\_\+state.\+h}!session\+\_\+state\+\_\+set\+\_\+root\+\_\+key@{session\+\_\+state\+\_\+set\+\_\+root\+\_\+key}}
\index{session\+\_\+state\+\_\+set\+\_\+root\+\_\+key@{session\+\_\+state\+\_\+set\+\_\+root\+\_\+key}!session\+\_\+state.\+h@{session\+\_\+state.\+h}}
\subsubsection{\texorpdfstring{session\+\_\+state\+\_\+set\+\_\+root\+\_\+key()}{session\_state\_set\_root\_key()}}
{\footnotesize\ttfamily void session\+\_\+state\+\_\+set\+\_\+root\+\_\+key (\begin{DoxyParamCaption}\item[{\hyperlink{signal__protocol__types_8h_a1a0fb11eb762bbf0da7e0b771c5a78c8}{session\+\_\+state} $\ast$}]{state,  }\item[{\hyperlink{signal__protocol__types_8h_a4a3febd70a6caf4ef99dfe1a87146372}{ratchet\+\_\+root\+\_\+key} $\ast$}]{root\+\_\+key }\end{DoxyParamCaption})}

\mbox{\Hypertarget{session__state_8h_ad50648e4f8e97d8004230ae47e73aa84}\label{session__state_8h_ad50648e4f8e97d8004230ae47e73aa84}} 
\index{session\+\_\+state.\+h@{session\+\_\+state.\+h}!session\+\_\+state\+\_\+set\+\_\+sender\+\_\+chain@{session\+\_\+state\+\_\+set\+\_\+sender\+\_\+chain}}
\index{session\+\_\+state\+\_\+set\+\_\+sender\+\_\+chain@{session\+\_\+state\+\_\+set\+\_\+sender\+\_\+chain}!session\+\_\+state.\+h@{session\+\_\+state.\+h}}
\subsubsection{\texorpdfstring{session\+\_\+state\+\_\+set\+\_\+sender\+\_\+chain()}{session\_state\_set\_sender\_chain()}}
{\footnotesize\ttfamily void session\+\_\+state\+\_\+set\+\_\+sender\+\_\+chain (\begin{DoxyParamCaption}\item[{\hyperlink{signal__protocol__types_8h_a1a0fb11eb762bbf0da7e0b771c5a78c8}{session\+\_\+state} $\ast$}]{state,  }\item[{\hyperlink{signal__protocol__types_8h_ae66f8b39deda7e0ce46f3ee15561472a}{ec\+\_\+key\+\_\+pair} $\ast$}]{sender\+\_\+ratchet\+\_\+key\+\_\+pair,  }\item[{\hyperlink{signal__protocol__types_8h_a7799abfd66deed541c14a329fd832afc}{ratchet\+\_\+chain\+\_\+key} $\ast$}]{chain\+\_\+key }\end{DoxyParamCaption})}

\mbox{\Hypertarget{session__state_8h_a4824580998ef89b0553a2f6ea9411d8d}\label{session__state_8h_a4824580998ef89b0553a2f6ea9411d8d}} 
\index{session\+\_\+state.\+h@{session\+\_\+state.\+h}!session\+\_\+state\+\_\+set\+\_\+sender\+\_\+chain\+\_\+key@{session\+\_\+state\+\_\+set\+\_\+sender\+\_\+chain\+\_\+key}}
\index{session\+\_\+state\+\_\+set\+\_\+sender\+\_\+chain\+\_\+key@{session\+\_\+state\+\_\+set\+\_\+sender\+\_\+chain\+\_\+key}!session\+\_\+state.\+h@{session\+\_\+state.\+h}}
\subsubsection{\texorpdfstring{session\+\_\+state\+\_\+set\+\_\+sender\+\_\+chain\+\_\+key()}{session\_state\_set\_sender\_chain\_key()}}
{\footnotesize\ttfamily int session\+\_\+state\+\_\+set\+\_\+sender\+\_\+chain\+\_\+key (\begin{DoxyParamCaption}\item[{\hyperlink{signal__protocol__types_8h_a1a0fb11eb762bbf0da7e0b771c5a78c8}{session\+\_\+state} $\ast$}]{state,  }\item[{\hyperlink{signal__protocol__types_8h_a7799abfd66deed541c14a329fd832afc}{ratchet\+\_\+chain\+\_\+key} $\ast$}]{chain\+\_\+key }\end{DoxyParamCaption})}

\mbox{\Hypertarget{session__state_8h_aa19b83db1171cd0c07fbc44acc833f61}\label{session__state_8h_aa19b83db1171cd0c07fbc44acc833f61}} 
\index{session\+\_\+state.\+h@{session\+\_\+state.\+h}!session\+\_\+state\+\_\+set\+\_\+session\+\_\+version@{session\+\_\+state\+\_\+set\+\_\+session\+\_\+version}}
\index{session\+\_\+state\+\_\+set\+\_\+session\+\_\+version@{session\+\_\+state\+\_\+set\+\_\+session\+\_\+version}!session\+\_\+state.\+h@{session\+\_\+state.\+h}}
\subsubsection{\texorpdfstring{session\+\_\+state\+\_\+set\+\_\+session\+\_\+version()}{session\_state\_set\_session\_version()}}
{\footnotesize\ttfamily void session\+\_\+state\+\_\+set\+\_\+session\+\_\+version (\begin{DoxyParamCaption}\item[{\hyperlink{signal__protocol__types_8h_a1a0fb11eb762bbf0da7e0b771c5a78c8}{session\+\_\+state} $\ast$}]{state,  }\item[{\hyperlink{uthash_8h_a435d1572bf3f880d55459d9805097f62}{uint32\+\_\+t}}]{version }\end{DoxyParamCaption})}

\mbox{\Hypertarget{session__state_8h_a6f1e7a3ef0c11b7d4103d27a8fbeeeb9}\label{session__state_8h_a6f1e7a3ef0c11b7d4103d27a8fbeeeb9}} 
\index{session\+\_\+state.\+h@{session\+\_\+state.\+h}!session\+\_\+state\+\_\+set\+\_\+unacknowledged\+\_\+pre\+\_\+key\+\_\+message@{session\+\_\+state\+\_\+set\+\_\+unacknowledged\+\_\+pre\+\_\+key\+\_\+message}}
\index{session\+\_\+state\+\_\+set\+\_\+unacknowledged\+\_\+pre\+\_\+key\+\_\+message@{session\+\_\+state\+\_\+set\+\_\+unacknowledged\+\_\+pre\+\_\+key\+\_\+message}!session\+\_\+state.\+h@{session\+\_\+state.\+h}}
\subsubsection{\texorpdfstring{session\+\_\+state\+\_\+set\+\_\+unacknowledged\+\_\+pre\+\_\+key\+\_\+message()}{session\_state\_set\_unacknowledged\_pre\_key\_message()}}
{\footnotesize\ttfamily void session\+\_\+state\+\_\+set\+\_\+unacknowledged\+\_\+pre\+\_\+key\+\_\+message (\begin{DoxyParamCaption}\item[{\hyperlink{signal__protocol__types_8h_a1a0fb11eb762bbf0da7e0b771c5a78c8}{session\+\_\+state} $\ast$}]{state,  }\item[{const \hyperlink{uthash_8h_a435d1572bf3f880d55459d9805097f62}{uint32\+\_\+t} $\ast$}]{pre\+\_\+key\+\_\+id,  }\item[{\hyperlink{uthash_8h_a435d1572bf3f880d55459d9805097f62}{uint32\+\_\+t}}]{signed\+\_\+pre\+\_\+key\+\_\+id,  }\item[{\hyperlink{signal__protocol__types_8h_a73ea701c5087163bba608c4706df6176}{ec\+\_\+public\+\_\+key} $\ast$}]{base\+\_\+key }\end{DoxyParamCaption})}

\mbox{\Hypertarget{session__state_8h_af7e88bbd299f0b3e17d2e30f056a463e}\label{session__state_8h_af7e88bbd299f0b3e17d2e30f056a463e}} 
\index{session\+\_\+state.\+h@{session\+\_\+state.\+h}!session\+\_\+state\+\_\+unacknowledged\+\_\+pre\+\_\+key\+\_\+message\+\_\+get\+\_\+base\+\_\+key@{session\+\_\+state\+\_\+unacknowledged\+\_\+pre\+\_\+key\+\_\+message\+\_\+get\+\_\+base\+\_\+key}}
\index{session\+\_\+state\+\_\+unacknowledged\+\_\+pre\+\_\+key\+\_\+message\+\_\+get\+\_\+base\+\_\+key@{session\+\_\+state\+\_\+unacknowledged\+\_\+pre\+\_\+key\+\_\+message\+\_\+get\+\_\+base\+\_\+key}!session\+\_\+state.\+h@{session\+\_\+state.\+h}}
\subsubsection{\texorpdfstring{session\+\_\+state\+\_\+unacknowledged\+\_\+pre\+\_\+key\+\_\+message\+\_\+get\+\_\+base\+\_\+key()}{session\_state\_unacknowledged\_pre\_key\_message\_get\_base\_key()}}
{\footnotesize\ttfamily \hyperlink{signal__protocol__types_8h_a73ea701c5087163bba608c4706df6176}{ec\+\_\+public\+\_\+key}$\ast$ session\+\_\+state\+\_\+unacknowledged\+\_\+pre\+\_\+key\+\_\+message\+\_\+get\+\_\+base\+\_\+key (\begin{DoxyParamCaption}\item[{const \hyperlink{signal__protocol__types_8h_a1a0fb11eb762bbf0da7e0b771c5a78c8}{session\+\_\+state} $\ast$}]{state }\end{DoxyParamCaption})}

\mbox{\Hypertarget{session__state_8h_a0f2c99658922162a7bb7d71f5b8f1c91}\label{session__state_8h_a0f2c99658922162a7bb7d71f5b8f1c91}} 
\index{session\+\_\+state.\+h@{session\+\_\+state.\+h}!session\+\_\+state\+\_\+unacknowledged\+\_\+pre\+\_\+key\+\_\+message\+\_\+get\+\_\+pre\+\_\+key\+\_\+id@{session\+\_\+state\+\_\+unacknowledged\+\_\+pre\+\_\+key\+\_\+message\+\_\+get\+\_\+pre\+\_\+key\+\_\+id}}
\index{session\+\_\+state\+\_\+unacknowledged\+\_\+pre\+\_\+key\+\_\+message\+\_\+get\+\_\+pre\+\_\+key\+\_\+id@{session\+\_\+state\+\_\+unacknowledged\+\_\+pre\+\_\+key\+\_\+message\+\_\+get\+\_\+pre\+\_\+key\+\_\+id}!session\+\_\+state.\+h@{session\+\_\+state.\+h}}
\subsubsection{\texorpdfstring{session\+\_\+state\+\_\+unacknowledged\+\_\+pre\+\_\+key\+\_\+message\+\_\+get\+\_\+pre\+\_\+key\+\_\+id()}{session\_state\_unacknowledged\_pre\_key\_message\_get\_pre\_key\_id()}}
{\footnotesize\ttfamily \hyperlink{uthash_8h_a435d1572bf3f880d55459d9805097f62}{uint32\+\_\+t} session\+\_\+state\+\_\+unacknowledged\+\_\+pre\+\_\+key\+\_\+message\+\_\+get\+\_\+pre\+\_\+key\+\_\+id (\begin{DoxyParamCaption}\item[{const \hyperlink{signal__protocol__types_8h_a1a0fb11eb762bbf0da7e0b771c5a78c8}{session\+\_\+state} $\ast$}]{state }\end{DoxyParamCaption})}

\mbox{\Hypertarget{session__state_8h_a0506dc8dd413e7a75da509f744da5876}\label{session__state_8h_a0506dc8dd413e7a75da509f744da5876}} 
\index{session\+\_\+state.\+h@{session\+\_\+state.\+h}!session\+\_\+state\+\_\+unacknowledged\+\_\+pre\+\_\+key\+\_\+message\+\_\+get\+\_\+signed\+\_\+pre\+\_\+key\+\_\+id@{session\+\_\+state\+\_\+unacknowledged\+\_\+pre\+\_\+key\+\_\+message\+\_\+get\+\_\+signed\+\_\+pre\+\_\+key\+\_\+id}}
\index{session\+\_\+state\+\_\+unacknowledged\+\_\+pre\+\_\+key\+\_\+message\+\_\+get\+\_\+signed\+\_\+pre\+\_\+key\+\_\+id@{session\+\_\+state\+\_\+unacknowledged\+\_\+pre\+\_\+key\+\_\+message\+\_\+get\+\_\+signed\+\_\+pre\+\_\+key\+\_\+id}!session\+\_\+state.\+h@{session\+\_\+state.\+h}}
\subsubsection{\texorpdfstring{session\+\_\+state\+\_\+unacknowledged\+\_\+pre\+\_\+key\+\_\+message\+\_\+get\+\_\+signed\+\_\+pre\+\_\+key\+\_\+id()}{session\_state\_unacknowledged\_pre\_key\_message\_get\_signed\_pre\_key\_id()}}
{\footnotesize\ttfamily \hyperlink{uthash_8h_a435d1572bf3f880d55459d9805097f62}{uint32\+\_\+t} session\+\_\+state\+\_\+unacknowledged\+\_\+pre\+\_\+key\+\_\+message\+\_\+get\+\_\+signed\+\_\+pre\+\_\+key\+\_\+id (\begin{DoxyParamCaption}\item[{const \hyperlink{signal__protocol__types_8h_a1a0fb11eb762bbf0da7e0b771c5a78c8}{session\+\_\+state} $\ast$}]{state }\end{DoxyParamCaption})}

\mbox{\Hypertarget{session__state_8h_acfbb239a3dc3d593bb6ac277b7be0f99}\label{session__state_8h_acfbb239a3dc3d593bb6ac277b7be0f99}} 
\index{session\+\_\+state.\+h@{session\+\_\+state.\+h}!session\+\_\+state\+\_\+unacknowledged\+\_\+pre\+\_\+key\+\_\+message\+\_\+has\+\_\+pre\+\_\+key\+\_\+id@{session\+\_\+state\+\_\+unacknowledged\+\_\+pre\+\_\+key\+\_\+message\+\_\+has\+\_\+pre\+\_\+key\+\_\+id}}
\index{session\+\_\+state\+\_\+unacknowledged\+\_\+pre\+\_\+key\+\_\+message\+\_\+has\+\_\+pre\+\_\+key\+\_\+id@{session\+\_\+state\+\_\+unacknowledged\+\_\+pre\+\_\+key\+\_\+message\+\_\+has\+\_\+pre\+\_\+key\+\_\+id}!session\+\_\+state.\+h@{session\+\_\+state.\+h}}
\subsubsection{\texorpdfstring{session\+\_\+state\+\_\+unacknowledged\+\_\+pre\+\_\+key\+\_\+message\+\_\+has\+\_\+pre\+\_\+key\+\_\+id()}{session\_state\_unacknowledged\_pre\_key\_message\_has\_pre\_key\_id()}}
{\footnotesize\ttfamily int session\+\_\+state\+\_\+unacknowledged\+\_\+pre\+\_\+key\+\_\+message\+\_\+has\+\_\+pre\+\_\+key\+\_\+id (\begin{DoxyParamCaption}\item[{const \hyperlink{signal__protocol__types_8h_a1a0fb11eb762bbf0da7e0b771c5a78c8}{session\+\_\+state} $\ast$}]{state }\end{DoxyParamCaption})}

