2 * Copyright (c) 2012-2014 Apple Inc. All Rights Reserved.
4 * @APPLE_LICENSE_HEADER_START@
6 * This file contains Original Code and/or Modifications of Original Code
7 * as defined in and that are subject to the Apple Public Source License
8 * Version 2.0 (the 'License'). You may not use this file except in
9 * compliance with the License. Please obtain a copy of the License at
10 * http://www.opensource.apple.com/apsl/ and read it before using this
13 * The Original Code and all software distributed under the License are
14 * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
15 * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
16 * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
17 * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
18 * Please see the License for the specific language governing rights and
19 * limitations under the License.
21 * @APPLE_LICENSE_HEADER_END@
24 #ifndef _SECURITY_SOSTYPES_H_
25 #define _SECURITY_SOSTYPES_H_
27 #include <sys/cdefs.h>
35 typedef enum SyncWithAllPeersReason
{
36 kSyncWithAllPeersOtherFail
= 0,
37 kSyncWithAllPeersSuccess
,
38 kSyncWithAllPeersLocked
,
39 } SyncWithAllPeersReason
;
46 kPiggyV0
= 0, //first version of piggybacking, does not pad messages with keys
47 kPiggyV1
= 1, //tacks on initial sync credentials
48 kPiggyV2
= 2, //Octagon
49 } PiggyBackProtocolVersion
;
53 kPiggyiCloudIdentities
= 1
68 kSOSCCGeneralViewError
= 0,
70 kSOSCCViewNotMember
= 2,
71 kSOSCCViewNotQualified
= 3,
73 kSOSCCViewPending
= 5,
74 kSOSCCViewAuthErr
= 6,
76 typedef int SOSViewResultCode
;
84 kSOSCCViewDisable
= 2,
87 typedef int SOSViewActionCode
;
91 #import <Foundation/Foundation.h>
93 #define SOSControlInitialSyncFlagTLK (1 << 0)
94 #define SOSControlInitialSyncFlagPCS (1 << 1)
95 #define SOSControlInitialSyncFlagPCSNonCurrent (1 << 2)
96 #define SOSControlInitialSyncFlagBluetoothMigration (1 << 3)
98 typedef NS_OPTIONS(uint32_t, SOSAccountGhostBustingOptions
) {
99 SOSGhostBustBySerialNumber
= 1,
100 SOSGhostBustByMID
= 2,
101 SOSGhostBustSerialByAge
= 4,
102 SOSGhostBustTriggerNow
= 8,
103 SOSGhostBustiCloudIdentities
= 16,
106 @protocol SOSControlProtocol
<NSObject
>
107 - (void)userPublicKey
:(void ((^))(BOOL trusted
, NSData
*spki
, NSError
*error
))complete
;
108 - (void)kvsPerformanceCounters
:(void(^)(NSDictionary
<NSString
*, NSNumber
*> *))reply
;
109 - (void)rateLimitingPerformanceCounters
:(void(^)(NSDictionary
<NSString
*, NSString
*> *))reply
;
111 - (void)stashedCredentialPublicKey
:(void(^)(NSData
*, NSError
*error
))complete
;
112 - (void)assertStashedAccountCredential
:(void(^)(BOOL result
, NSError
*error
))complete
;
113 - (void)validatedStashedAccountCredential
:(void(^)(NSData
*credential
, NSError
*error
))complete
;
114 - (void)stashAccountCredential
:(NSData
*)credential complete
:(void(^)(bool success
, NSError
*error
))complete
;
115 - (void)ghostBust
:(SOSAccountGhostBustingOptions
)options complete
: (void(^)(bool ghostBusted
, NSError
*error
))complete
;
116 - (void)ghostBustPeriodic
:(SOSAccountGhostBustingOptions
)options complete
: (void(^)(bool busted
, NSError
*error
))complete
;
117 - (void)ghostBustTriggerTimed
:(SOSAccountGhostBustingOptions
)options complete
: (void(^)(bool ghostBusted
, NSError
*error
))complete
;
118 - (void)ghostBustInfo
: (void(^)(NSData
*json
, NSError
*error
))complete
;
119 - (void)iCloudIdentityStatus_internal
: (void(^)(NSDictionary
*tableSpid
, NSError
*error
))complete
;
120 - (void)iCloudIdentityStatus
: (void (^)(NSData
*json
, NSError
*error
))complete
;
122 - (void)myPeerInfo
:(void (^)(NSData
*, NSError
*))complete
;
123 - (void)circleHash
:(void (^)(NSString
*, NSError
*))complete
;
124 - (void)circleJoiningBlob
:(NSData
*)applicant complete
:(void (^)(NSData
*blob
, NSError
*))complete
;
125 - (void)joinCircleWithBlob
:(NSData
*)blob version
:(PiggyBackProtocolVersion
)version complete
:(void (^)(bool success
, NSError
*))complete
;
126 - (void)initialSyncCredentials
:(uint32_t)flags complete
:(void (^)(NSArray
*, NSError
*))complete
;
127 - (void)importInitialSyncCredentials
:(NSArray
*)items complete
:(void (^)(bool success
, NSError
*))complete
;
129 - (void)rpcTriggerSync
:(NSArray
<NSString
*> *)peers complete
:(void(^)(bool success
, NSError
*))complete
;
131 - (void)getWatchdogParameters
:(void (^)(NSDictionary
* parameters
, NSError
* error
))complete
;
132 - (void)setWatchdogParmeters
:(NSDictionary
*)parameters complete
:(void (^)(NSError
* error
))complete
;
134 - (void)rpcTriggerBackup
:(NSArray
<NSString
*>*)backupPeers complete
:(void (^)(NSError
*error
))complete
;
135 - (void)rpcTriggerRingUpdate
:(void (^)(NSError
*error
))complete
;