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
;
41 typedef enum HandleIDSMessageReason
{
42 kHandleIDSMessageDontHandle
= 0,
43 kHandleIDSMessageNotReady
,
44 kHandleIDSMessageSuccess
,
45 kHandleIDSMessageLocked
,
46 kHandleIDSmessageDeviceIDMismatch
47 } HandleIDSMessageReason
;
56 } PiggyBackProtocolVersion
;
60 kPiggyiCloudIdentities
= 1
75 kSOSCCGeneralViewError
= 0,
77 kSOSCCViewNotMember
= 2,
78 kSOSCCViewNotQualified
= 3,
80 kSOSCCViewPending
= 5,
81 kSOSCCViewAuthErr
= 6,
83 typedef int SOSViewResultCode
;
91 kSOSCCViewDisable
= 2,
94 typedef int SOSViewActionCode
;
97 SecurityProperty Result Codes
100 kSOSCCGeneralSecurityPropertyError
= 0,
101 kSOSCCSecurityPropertyValid
= 1,
102 kSOSCCSecurityPropertyNotValid
= 2,
103 kSOSCCSecurityPropertyNotQualified
= 3,
104 kSOSCCNoSuchSecurityProperty
= 4,
105 kSOSCCSecurityPropertyPending
= 5,
107 typedef int SOSSecurityPropertyResultCode
;
111 SecurityProperty Action Codes
114 kSOSCCSecurityPropertyEnable
= 1,
115 kSOSCCSecurityPropertyDisable
= 2,
116 kSOSCCSecurityPropertyQuery
= 3,
118 typedef int SOSSecurityPropertyActionCode
;
122 #import <Foundation/Foundation.h>
124 #define SOSControlInitialSyncFlagTLK 1
125 #define SOSControlInitialSyncFlagPCS 2
126 #define SOSControlInitialSyncFlagPCSNonCurrent 4
128 @protocol SOSControlProtocol
129 - (void)userPublicKey
:(void ((^))(BOOL trusted
, NSData
*spki
, NSError
*error
))complete
;
130 - (void)kvsPerformanceCounters
:(void(^)(NSDictionary
<NSString
*, NSNumber
*> *))reply
;
131 - (void)idsPerformanceCounters
:(void(^)(NSDictionary
<NSString
*, NSNumber
*> *))reply
;
132 - (void)rateLimitingPerformanceCounters
:(void(^)(NSDictionary
<NSString
*, NSString
*> *))reply
;
134 - (void)stashedCredentialPublicKey
:(void(^)(NSData
*, NSError
*error
))complete
;
135 - (void)assertStashedAccountCredential
:(void(^)(BOOL result
, NSError
*error
))complete
;
136 - (void)validatedStashedAccountCredential
:(void(^)(NSData
*credential
, NSError
*error
))complete
;
137 - (void)stashAccountCredential
:(NSData
*)credential complete
:(void(^)(bool success
, NSError
*error
))complete
;
139 - (void)myPeerInfo
:(void (^)(NSData
*, NSError
*))complete
;
140 - (void)circleJoiningBlob
:(NSData
*)applicant complete
:(void (^)(NSData
*blob
, NSError
*))complete
;
141 - (void)joinCircleWithBlob
:(NSData
*)blob version
:(PiggyBackProtocolVersion
)version complete
:(void (^)(bool success
, NSError
*))complete
;
142 - (void)initialSyncCredentials
:(uint32_t)flags complete
:(void (^)(NSArray
*, NSError
*))complete
;
143 - (void)importInitialSyncCredentials
:(NSArray
*)items complete
:(void (^)(bool success
, NSError
*))complete
;
145 - (void)triggerSync
:(NSArray
<NSString
*> *)peers complete
:(void(^)(bool success
, NSError
*))complete
;
147 - (void)getWatchdogParameters
:(void (^)(NSDictionary
* parameters
, NSError
* error
))complete
;
148 - (void)setWatchdogParmeters
:(NSDictionary
*)parameters complete
:(void (^)(NSError
* error
))complete
;