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
;
48 } PiggyBackProtocolVersion
;
52 kPiggyiCloudIdentities
= 1
67 kSOSCCGeneralViewError
= 0,
69 kSOSCCViewNotMember
= 2,
70 kSOSCCViewNotQualified
= 3,
72 kSOSCCViewPending
= 5,
73 kSOSCCViewAuthErr
= 6,
75 typedef int SOSViewResultCode
;
83 kSOSCCViewDisable
= 2,
86 typedef int SOSViewActionCode
;
90 #import <Foundation/Foundation.h>
92 #define SOSControlInitialSyncFlagTLK (1 << 0)
93 #define SOSControlInitialSyncFlagPCS (1 << 1)
94 #define SOSControlInitialSyncFlagPCSNonCurrent (1 << 2)
95 #define SOSControlInitialSyncFlagBluetoothMigration (1 << 3)
97 @protocol SOSControlProtocol
<NSObject
>
98 - (void)userPublicKey
:(void ((^))(BOOL trusted
, NSData
*spki
, NSError
*error
))complete
;
99 - (void)kvsPerformanceCounters
:(void(^)(NSDictionary
<NSString
*, NSNumber
*> *))reply
;
100 - (void)rateLimitingPerformanceCounters
:(void(^)(NSDictionary
<NSString
*, NSString
*> *))reply
;
102 - (void)stashedCredentialPublicKey
:(void(^)(NSData
*, NSError
*error
))complete
;
103 - (void)assertStashedAccountCredential
:(void(^)(BOOL result
, NSError
*error
))complete
;
104 - (void)validatedStashedAccountCredential
:(void(^)(NSData
*credential
, NSError
*error
))complete
;
105 - (void)stashAccountCredential
:(NSData
*)credential complete
:(void(^)(bool success
, NSError
*error
))complete
;
107 - (void)myPeerInfo
:(void (^)(NSData
*, NSError
*))complete
;
108 - (void)circleJoiningBlob
:(NSData
*)applicant complete
:(void (^)(NSData
*blob
, NSError
*))complete
;
109 - (void)joinCircleWithBlob
:(NSData
*)blob version
:(PiggyBackProtocolVersion
)version complete
:(void (^)(bool success
, NSError
*))complete
;
110 - (void)initialSyncCredentials
:(uint32_t)flags complete
:(void (^)(NSArray
*, NSError
*))complete
;
111 - (void)importInitialSyncCredentials
:(NSArray
*)items complete
:(void (^)(bool success
, NSError
*))complete
;
113 - (void)triggerSync
:(NSArray
<NSString
*> *)peers complete
:(void(^)(bool success
, NSError
*))complete
;
115 - (void)getWatchdogParameters
:(void (^)(NSDictionary
* parameters
, NSError
* error
))complete
;
116 - (void)setWatchdogParmeters
:(NSDictionary
*)parameters complete
:(void (^)(NSError
* error
))complete
;