security/ffi/
access_control.rs1use super::{CFAllocatorRef, CFErrorRef, CFOptionFlags, CFTypeID, CFTypeRef, SecAccessControlRef};
4
5pub type SecAccessControlCreateFlags = CFOptionFlags;
6
7pub const kSecAccessControlUserPresence: SecAccessControlCreateFlags = 1 << 0;
8pub const kSecAccessControlBiometryAny: SecAccessControlCreateFlags = 1 << 1;
9pub const kSecAccessControlBiometryCurrentSet: SecAccessControlCreateFlags = 1 << 3;
10pub const kSecAccessControlDevicePasscode: SecAccessControlCreateFlags = 1 << 4;
11pub const kSecAccessControlCompanion: SecAccessControlCreateFlags = 1 << 5;
12pub const kSecAccessControlOr: SecAccessControlCreateFlags = 1 << 14;
13pub const kSecAccessControlAnd: SecAccessControlCreateFlags = 1 << 15;
14pub const kSecAccessControlPrivateKeyUsage: SecAccessControlCreateFlags = 1 << 30;
15pub const kSecAccessControlApplicationPassword: SecAccessControlCreateFlags = 1 << 31;
16
17extern "C" {
18 pub fn SecAccessControlGetTypeID() -> CFTypeID;
19 pub fn SecAccessControlCreateWithFlags(
20 allocator: CFAllocatorRef,
21 protection: CFTypeRef,
22 flags: SecAccessControlCreateFlags,
23 error: *mut CFErrorRef,
24 ) -> SecAccessControlRef;
25}