]> git.saurik.com Git - apple/security.git/blobdiff - sec/SOSCircle/SecureObjectSync/SOSCoder.h
Security-55471.tar.gz
[apple/security.git] / sec / SOSCircle / SecureObjectSync / SOSCoder.h
diff --git a/sec/SOSCircle/SecureObjectSync/SOSCoder.h b/sec/SOSCircle/SecureObjectSync/SOSCoder.h
new file mode 100644 (file)
index 0000000..28e178b
--- /dev/null
@@ -0,0 +1,41 @@
+//
+//  SOSCoder.h
+//  sec
+//
+//  Created by Richard Murphy on 2/6/13.
+//
+//
+
+#ifndef sec_SOSCoder_h
+#define sec_SOSCoder_h
+
+#include <SecureObjectSync/SOSFullPeerInfo.h>
+#include <SecureObjectSync/SOSPeerInfo.h>
+#include <SecureObjectSync/SOSPeer.h>
+
+typedef struct __OpaqueSOSCoder *SOSCoderRef;
+
+SOSCoderRef SOSCoderCreate(SOSPeerInfoRef peerInfo, SOSFullPeerInfoRef myPeerInfo, CFErrorRef *error);
+SOSCoderRef SOSCoderCreateFromData(CFDataRef exportedData, CFErrorRef *error);
+
+void SOSCoderDispose(SOSCoderRef coder);
+
+CFDataRef SOSCoderCopyDER(SOSCoderRef coder, CFErrorRef* error);
+
+SOSPeerCoderStatus
+SOSCoderStart(SOSCoderRef coder, SOSPeerSendBlock sendBlock, CFStringRef clientId, CFErrorRef *error);
+
+SOSPeerCoderStatus
+SOSCoderResendDH(SOSCoderRef coder, SOSPeerSendBlock sendBlock, CFErrorRef *error);
+
+void SOSCoderPersistState(CFStringRef peer_id, SOSCoderRef coder);
+
+SOSPeerCoderStatus SOSCoderUnwrap(SOSCoderRef coder, SOSPeerSendBlock send_block, CFDataRef codedMessage, CFMutableDataRef *message, CFStringRef clientId, CFErrorRef *error);
+
+SOSPeerCoderStatus SOSCoderWrap(SOSCoderRef coder, CFDataRef message, CFMutableDataRef *codedMessage, CFStringRef clientId, CFErrorRef *error);
+
+bool SOSCoderCanWrap(SOSCoderRef coder);
+
+void SOSCoderReset(SOSCoderRef coder);
+
+#endif