]> git.saurik.com Git - apple/security.git/blob - sec/SOSCircle/SecureObjectSync/SOSCoder.h
Security-55471.14.18.tar.gz
[apple/security.git] / sec / SOSCircle / SecureObjectSync / SOSCoder.h
1 //
2 // SOSCoder.h
3 // sec
4 //
5 // Created by Richard Murphy on 2/6/13.
6 //
7 //
8
9 #ifndef sec_SOSCoder_h
10 #define sec_SOSCoder_h
11
12 #include <SecureObjectSync/SOSFullPeerInfo.h>
13 #include <SecureObjectSync/SOSPeerInfo.h>
14 #include <SecureObjectSync/SOSPeer.h>
15
16 typedef struct __OpaqueSOSCoder *SOSCoderRef;
17
18 SOSCoderRef SOSCoderCreate(SOSPeerInfoRef peerInfo, SOSFullPeerInfoRef myPeerInfo, CFErrorRef *error);
19 SOSCoderRef SOSCoderCreateFromData(CFDataRef exportedData, CFErrorRef *error);
20
21 void SOSCoderDispose(SOSCoderRef coder);
22
23 CFDataRef SOSCoderCopyDER(SOSCoderRef coder, CFErrorRef* error);
24
25 SOSPeerCoderStatus
26 SOSCoderStart(SOSCoderRef coder, SOSPeerSendBlock sendBlock, CFStringRef clientId, CFErrorRef *error);
27
28 SOSPeerCoderStatus
29 SOSCoderResendDH(SOSCoderRef coder, SOSPeerSendBlock sendBlock, CFErrorRef *error);
30
31 void SOSCoderPersistState(CFStringRef peer_id, SOSCoderRef coder);
32
33 SOSPeerCoderStatus SOSCoderUnwrap(SOSCoderRef coder, SOSPeerSendBlock send_block, CFDataRef codedMessage, CFMutableDataRef *message, CFStringRef clientId, CFErrorRef *error);
34
35 SOSPeerCoderStatus SOSCoderWrap(SOSCoderRef coder, CFDataRef message, CFMutableDataRef *codedMessage, CFStringRef clientId, CFErrorRef *error);
36
37 bool SOSCoderCanWrap(SOSCoderRef coder);
38
39 void SOSCoderReset(SOSCoderRef coder);
40
41 #endif