Mercurial > projects > dstep
view dstep/security/SecKeychainItem.d @ 11:07194b026fa4
Added bindings to a couple of frameworks, new license + some other things
author | Jacob Carlborg <doob@me.com> |
---|---|
date | Sat, 01 Aug 2009 15:03:28 +0200 |
parents | |
children |
line wrap: on
line source
/** * Copyright: Copyright (c) 2009 Jacob Carlborg. * Authors: Jacob Carlborg * Version: Initial created: Jul 22, 2009 * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost Software License 1.0) */ module dstep.security.SecKeychainItem; import dstep.objc.bridge.TypeEncoding; import dstep.security.SecBase; import dstep.security.cssmapple; import dstep.security.cssmtype; alias uint SecItemClass; alias uint SecItemAttr; // This is needed otherwise the enums will fail compiling with gdc version (GNU) { private { const __kSecInternetPasswordItemClass = getOSType!("inet"); const __kSecGenericPasswordItemClass = getOSType!("genp"); const __kSecAppleSharePasswordItemClass = getOSType!("ashp"); const __kSecCreationDateItemAttr = getOSType!("cdat"); const __kSecModDateItemAttr = getOSType!("mdat"); const __kSecDescriptionItemAttr = getOSType!("desc"); const __kSecCommentItemAttr = getOSType!("icmt"); const __kSecCreatorItemAttr = getOSType!("crtr"); const __kSecTypeItemAttr = getOSType!("type"); const __kSecScriptCodeItemAttr = getOSType!("scrp"); const __kSecLabelItemAttr = getOSType!("labl"); const __kSecInvisibleItemAttr = getOSType!("invi"); const __kSecNegativeItemAttr = getOSType!("nega"); const __kSecCustomIconItemAttr = getOSType!("cusi"); const __kSecAccountItemAttr = getOSType!("acct"); const __kSecServiceItemAttr = getOSType!("svce"); const __kSecGenericItemAttr = getOSType!("gena"); const __kSecSecurityDomainItemAttr = getOSType!("sdmn"); const __kSecServerItemAttr = getOSType!("srvr"); const __kSecAuthenticationTypeItemAttr = getOSType!("atyp"); const __kSecPortItemAttr = getOSType!("port"); const __kSecPathItemAttr = getOSType!("path"); const __kSecVolumeItemAttr = getOSType!("vlme"); const __kSecAddressItemAttr = getOSType!("addr"); const __kSecSignatureItemAttr = getOSType!("ssig"); const __kSecProtocolItemAttr = getOSType!("ptcl"); const __kSecCertificateType = getOSType!("ctyp"); const __kSecCertificateEncoding = getOSType!("cenc"); const __kSecCrlType = getOSType!("crtp"); const __kSecCrlEncoding = getOSType!("crnc"); const __kSecAlias = getOSType!("alis"); } } enum { kSecInternetPasswordItemClass = getOSType!("inet"), kSecGenericPasswordItemClass = getOSType!("genp"), kSecAppleSharePasswordItemClass = getOSType!("ashp"), kSecCertificateItemClass = CSSM_DL_DB_RECORD_X509_CERTIFICATE, kSecPublicKeyItemClass = CSSM_DL_DB_RECORD_PUBLIC_KEY, kSecPrivateKeyItemClass = CSSM_DL_DB_RECORD_PRIVATE_KEY, kSecSymmetricKeyItemClass = CSSM_DL_DB_RECORD_SYMMETRIC_KEY } enum { kSecCreationDateItemAttr = getOSType!("cdat"), kSecModDateItemAttr = getOSType!("mdat"), kSecDescriptionItemAttr = getOSType!("desc"), kSecCommentItemAttr = getOSType!("icmt"), kSecCreatorItemAttr = getOSType!("crtr"), kSecTypeItemAttr = getOSType!("type"), kSecScriptCodeItemAttr = getOSType!("scrp"), kSecLabelItemAttr = getOSType!("labl"), kSecInvisibleItemAttr = getOSType!("invi"), kSecNegativeItemAttr = getOSType!("nega"), kSecCustomIconItemAttr = getOSType!("cusi"), kSecAccountItemAttr = getOSType!("acct"), kSecServiceItemAttr = getOSType!("svce"), kSecGenericItemAttr = getOSType!("gena"), kSecSecurityDomainItemAttr = getOSType!("sdmn"), kSecServerItemAttr = getOSType!("srvr"), kSecAuthenticationTypeItemAttr = getOSType!("atyp"), kSecPortItemAttr = getOSType!("port"), kSecPathItemAttr = getOSType!("path"), kSecVolumeItemAttr = getOSType!("vlme"), kSecAddressItemAttr = getOSType!("addr"), kSecSignatureItemAttr = getOSType!("ssig"), kSecProtocolItemAttr = getOSType!("ptcl"), kSecCertificateType = getOSType!("ctyp"), kSecCertificateEncoding = getOSType!("cenc"), kSecCrlType = getOSType!("crtp"), kSecCrlEncoding = getOSType!("crnc"), kSecAlias = getOSType!("alis") } extern (C) { uint SecKeychainItemGetTypeID (); int SecKeychainItemModifyAttributesAndData (SecKeychainItemRef itemRef, SecKeychainAttributeList* attrList, uint length, void* data); int SecKeychainItemCreateFromContent (uint itemClass, SecKeychainAttributeList* attrList, uint length, void* data, SecKeychainRef keychainRef, SecAccessRef initialAccess, SecKeychainItemRef* itemRef); int SecKeychainItemModifyContent (SecKeychainItemRef itemRef, SecKeychainAttributeList* attrList, uint length, void* data); int SecKeychainItemCopyContent (SecKeychainItemRef itemRef, SecItemClass* itemClass, SecKeychainAttributeList* attrList, uint* length, void** outData); int SecKeychainItemFreeContent (SecKeychainAttributeList* attrList, void* data); int SecKeychainItemCopyAttributesAndData (SecKeychainItemRef itemRef, SecKeychainAttributeInfo* info, SecItemClass* itemClass, SecKeychainAttributeList** attrList, uint* length, void** outData); int SecKeychainItemFreeAttributesAndData (SecKeychainAttributeList* attrList, void* data); int SecKeychainItemDelete (SecKeychainItemRef itemRef); int SecKeychainItemCopyKeychain (SecKeychainItemRef itemRef, SecKeychainRef* keychainRef); int SecKeychainItemCreateCopy (SecKeychainItemRef itemRef, SecKeychainRef destKeychainRef, SecAccessRef initialAccess, SecKeychainItemRef* itemCopy); int SecKeychainItemGetDLDBHandle (SecKeychainItemRef keyItemRef, CSSM_DL_DB_HANDLE* dldbHandle); int SecKeychainItemGetUniqueRecordID (SecKeychainItemRef itemRef, CSSM_DB_UNIQUE_RECORD** uniqueRecordID); int SecKeychainItemCopyAccess (SecKeychainItemRef itemRef, SecAccessRef* access); int SecKeychainItemSetAccess (SecKeychainItemRef itemRef, SecAccessRef access); }