]> git.saurik.com Git - apple/security.git/blame - keychain/SecureObjectSync/SOSKVSKeys.h
Security-59754.80.3.tar.gz
[apple/security.git] / keychain / SecureObjectSync / SOSKVSKeys.h
CommitLineData
d8f41ccd
A
1
2
3#ifndef SOSKVSKEYS_H
4#define SOSKVSKEYS_H
5
b54c578e
A
6#include "keychain/SecureObjectSync/SOSCircle.h"
7#include "keychain/SecureObjectSync/SOSTransportMessageKVS.h"
8#include "keychain/SecureObjectSync/SOSAccountPriv.h"
d8f41ccd
A
9//
10// MARK: Key formation
11//
12
13typedef enum {
5c19dc3a 14 kCircleKey = 0,
d8f41ccd
A
15 kMessageKey,
16 kParametersKey,
17 kInitialSyncKey,
18 kRetirementKey,
19 kAccountChangedKey,
5c19dc3a
A
20 kDebugInfoKey,
21 kRingKey,
5c19dc3a
A
22 kLastCircleKey,
23 kLastKeyParameterKey,
d8f41ccd
A
24 kUnknownKey,
25} SOSKVSKeyType;
26
27extern const CFStringRef kSOSKVSKeyParametersKey;
28extern const CFStringRef kSOSKVSInitialSyncKey;
29extern const CFStringRef kSOSKVSAccountChangedKey;
5c19dc3a
A
30extern const CFStringRef kSOSKVSRequiredKey;
31extern const CFStringRef kSOSKVSOfficialDSIDKey;
866f8763
A
32extern const CFStringRef kSOSKVSLastCleanupTimestampKey;
33extern const CFStringRef kSOSKVSOTRConfigVersion;
34extern const CFStringRef kSOSKVSWroteLastKeyParams;
5c19dc3a 35
d8f41ccd
A
36extern const CFStringRef sCirclePrefix;
37extern const CFStringRef sRetirementPrefix;
5c19dc3a 38extern const CFStringRef sDebugInfoPrefix;
d64be36e 39extern const CFStringRef sRingPrefix;
d8f41ccd
A
40
41SOSKVSKeyType SOSKVSKeyGetKeyType(CFStringRef key);
fa7225c8 42bool SOSKVSKeyParse(SOSKVSKeyType keyType, CFStringRef key, CFStringRef *circle, CFStringRef *peerInfo, CFStringRef *ring, CFStringRef *backupName, CFStringRef *from, CFStringRef *to);
5c19dc3a 43SOSKVSKeyType SOSKVSKeyGetKeyTypeAndParse(CFStringRef key, CFStringRef *circle, CFStringRef *peerInfo, CFStringRef *ring, CFStringRef *backupName, CFStringRef *from, CFStringRef *to);
d8f41ccd
A
44
45CFStringRef SOSCircleKeyCreateWithCircle(SOSCircleRef circle, CFErrorRef *error);
5c19dc3a
A
46CFStringRef SOSRingKeyCreateWithName(CFStringRef ring_name, CFErrorRef *error);
47
48
d8f41ccd
A
49CFStringRef SOSCircleKeyCreateWithName(CFStringRef name, CFErrorRef *error);
50CFStringRef SOSCircleKeyCopyCircleName(CFStringRef key, CFErrorRef *error);
51CFStringRef SOSMessageKeyCreateWithCircleNameAndPeerNames(CFStringRef circleName, CFStringRef from_peer_name, CFStringRef to_peer_name);
52
53CFStringRef SOSMessageKeyCopyCircleName(CFStringRef key, CFErrorRef *error);
54CFStringRef SOSMessageKeyCopyFromPeerName(CFStringRef messageKey, CFErrorRef *error);
55CFStringRef SOSMessageKeyCreateWithCircleAndPeerNames(SOSCircleRef circle, CFStringRef from_peer_name, CFStringRef to_peer_name);
56CFStringRef SOSMessageKeyCreateWithCircleAndPeerInfos(SOSCircleRef circle, SOSPeerInfoRef from_peer, SOSPeerInfoRef to_peer);
57
58CFStringRef SOSRetirementKeyCreateWithCircleNameAndPeer(CFStringRef circle_name, CFStringRef retirement_peer_name);
59CFStringRef SOSRetirementKeyCreateWithCircleAndPeer(SOSCircleRef circle, CFStringRef retirement_peer_name);
60
866f8763
A
61CFStringRef SOSMessageKeyCreateFromTransportToPeer(SOSMessage* transport, CFStringRef myID, CFStringRef peer_name);
62CFStringRef SOSMessageKeyCreateFromPeerToTransport(SOSMessage* transport, CFStringRef myID, CFStringRef peer_name);
63CFStringRef SOSLastKeyParametersPushedKeyCreateWithAccountGestalt(SOSAccount* account);
5c19dc3a 64
5c19dc3a 65CFStringRef SOSRingKeyCreateWithRingName(CFStringRef ring_name);
5c19dc3a 66CFStringRef SOSLastKeyParametersPushedKeyCreateWithPeerID(CFStringRef peerID);
5c19dc3a 67CFStringRef SOSDebugInfoKeyCreateWithTypeName(CFStringRef type_name);
d8f41ccd
A
68
69#endif