X-Git-Url: https://git.saurik.com/apple/security.git/blobdiff_plain/80e2389990082500d76eb566d4946be3e786c3ef..d8f41ccd20de16f8ebe2ccc84d47bf1cb2b26bbb:/libsecurity_cdsa_utilities/lib/Schema.m4 diff --git a/libsecurity_cdsa_utilities/lib/Schema.m4 b/libsecurity_cdsa_utilities/lib/Schema.m4 deleted file mode 100644 index 08de9989..00000000 --- a/libsecurity_cdsa_utilities/lib/Schema.m4 +++ /dev/null @@ -1,466 +0,0 @@ -divert(-1) -changecom(/*, */) -/* - * Copyright (c) 2000-2002 Apple Computer, Inc. All Rights Reserved. - * - * The contents of this file constitute Original Code as defined in and are - * subject to the Apple Public Source License Version 1.2 (the 'License'). - * You may not use this file except in compliance with the License. Please obtain - * a copy of the License at http://www.apple.com/publicsource and read it before - * using this file. - * - * This Original Code and all software distributed under the License are - * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS - * OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, INCLUDING WITHOUT - * LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR - * PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. Please see the License for the - * specific language governing rights and limitations under the License. - */ - -define(`startClass', -`define(`arrayIndex', 0)dnl -define(`class', $1)dnl -divert(0)dnl -// $1 password attributes -static const CSSM_DB_ATTRIBUTE_INFO $1Attributes[] = -{ -divert(1)dnl -// $1 password indices -static const CSSM_DB_INDEX_INFO $1Indices[] = -{') - -define(`endClass', -`divert(0)dnl -}; - -divert(1)dnl -` // Unique (primary) index' -undivert(3) -` // Secondary indices' -undivert(4)dnl -}; - -divert(-1)') - -define(`attributeBody', -` { -ifelse(index(`$1',`s'),-1, -` CSSM_DB_ATTRIBUTE_NAME_AS_INTEGER, - {(char *)((uint64_t)$3<<32|$3)},', -` CSSM_DB_ATTRIBUTE_NAME_AS_STRING, - {$4},') - CSSM_DB_ATTRIBUTE_FORMAT_$7 - }') - -define(`simpleAttribute', -`const CSSM_DB_ATTRIBUTE_INFO $2 = -attributeBody($*); -') - -define(`attribute', -`ifelse(index(`$1',`U'),-1,`', -`divert(3)dnl - { - CSSM_DB_INDEX_UNIQUE, - CSSM_DB_INDEX_ON_ATTRIBUTE, -attributeBody($*) - }, -')dnl -ifelse(index(`$1',`I'),-1,`', -`divert(4)dnl - { - CSSM_DB_INDEX_NONUNIQUE, - CSSM_DB_INDEX_ON_ATTRIBUTE, -attributeBody($*) - }, -')dnl -divert(2)dnl -dnl const CSSM_DB_ATTRIBUTE_INFO &`k'class()$2 = class()Attributes[arrayIndex()]; -`#define k'class()$2 class()Attributes[arrayIndex()]; -divert(0)dnl -attributeBody($*),dnl -define(`arrayIndex', incr(arrayIndex))dnl -') - -define(`attrInfo', -`{ - $1, - sizeof($2Attributes) / sizeof(CSSM_DB_ATTRIBUTE_INFO), - const_cast($2Attributes) - }') - -define(`indexInfo', -`{ - $1, - sizeof($2Indices) / sizeof(CSSM_DB_INDEX_INFO), - const_cast($2Indices) - }') - -define(`parseInfo', -`{ - CSSM_DB_RECORDTYPE_APP_DEFINED_START, - { - {0,0,0,{0}}, - {0,0}, - 0, - 0 - } - }') - -define(`startNewClass', -`define(`indexIndex', 0)dnl -define(`class', $1)dnl -divert(2)dnl -// $1 attributes -const CSSM_DB_SCHEMA_ATTRIBUTE_INFO $1SchemaAttributeList[] = -{ -divert(3)dnl -// $1 indices -const CSSM_DB_SCHEMA_INDEX_INFO $1SchemaIndexList[] = -{') - -define(`endNewClass', -`divert(2)dnl -}; - -const uint32 class()SchemaAttributeCount = sizeof(class()SchemaAttributeList) / sizeof(CSSM_DB_SCHEMA_ATTRIBUTE_INFO); - -divert(3)dnl -` // Unique (primary) index' -undivert(5) -` // Secondary indices' -undivert(6)dnl -}; - -const uint32 class()SchemaIndexCount = sizeof(class()SchemaIndexList) / sizeof(CSSM_DB_SCHEMA_INDEX_INFO); - -undivert(4)dnl -divert(0)dnl -undivert(2)dnl -undivert(3)dnl') - -define(`newAttributeBody', -`{ -ifelse(index(`$1',`s'),-1, -` CSSM_DB_ATTRIBUTE_NAME_AS_INTEGER, - {(char *)((uint64_t)$3<<32|$3)},', -` CSSM_DB_ATTRIBUTE_NAME_AS_STRING, - {$4},') - CSSM_DB_ATTRIBUTE_FORMAT_$7 -}') - -define(`simpleNewAttribute', -`const CSSM_DB_ATTRIBUTE_INFO `k'class()$2 = -newAttributeBody($*); -') - -define(`newAttribute', -`divert(2)dnl - { $3, $4, { $5, $6 }, CSSM_DB_ATTRIBUTE_FORMAT_$7 }, -divert(-1) -ifelse(index(`$1',`S'),-1,`', -`divert(4)dnl -simpleNewAttribute($*) -divert(-1)')dnl - -ifelse(index(`$1',`U'),-1,`', -`divert(5)dnl - { $3, 0, CSSM_DB_INDEX_UNIQUE, CSSM_DB_INDEX_ON_ATTRIBUTE }, -divert(-1)')dnl -ifelse(index(`$1',`I'),-1,`', -`define(`indexIndex', incr(indexIndex))dnl -divert(6)dnl - { $3, indexIndex(), CSSM_DB_INDEX_NONUNIQUE, CSSM_DB_INDEX_ON_ATTRIBUTE }, -divert(-1)')') - -/* Start of actual output */ -divert(0)dnl -/* - * Generated by m4 from Schema.m4 please do not edit this file. - */ - -`#include ' - -`#include ' -`#include ' -`#include ' -`#include ' -`#include ' - -namespace Security { - -namespace KeychainCore { - -namespace Schema { - -// Meta attributes -simpleAttribute(` s', RelationID, 0, (char*) "RelationID", 0, NULL, UINT32) -simpleAttribute(` s', RelationName, 1, (char*) "RelationName", 0, NULL, STRING) -simpleAttribute(` s', AttributeID, 1, (char*) "AttributeID", 0, NULL, UINT32) -simpleAttribute(` s', AttributeNameFormat, 2, (char*) "AttributeNameFormat", 0, NULL, UINT32) -simpleAttribute(` s', AttributeName, 3, (char*) "AttributeName", 0, NULL, STRING) -simpleAttribute(` s', AttributeNameID, 4, (char*) "AttributeNameID", 0, NULL, BLOB) -simpleAttribute(` s', AttributeFormat, 5, (char*) "AttributeFormat", 0, NULL, UINT32) -simpleAttribute(` s', IndexType, 3, (char*) "IndexType", 0, NULL, UINT32) - -divert(-1) -startClass(Generic) -attribute(` i', CreationDate, kSecCreationDateItemAttr, (char*) "CreationDate", 0, NULL, TIME_DATE) -attribute(` i', ModDate, kSecModDateItemAttr, (char*) "ModDate", 0, NULL, TIME_DATE) -attribute(` i', Description, kSecDescriptionItemAttr, (char*) "Description", 0, NULL, BLOB) -attribute(` i', Comment, kSecCommentItemAttr, (char*) "Comment", 0, NULL, BLOB) -attribute(` i', Creator, kSecCreatorItemAttr, (char*) "Creator", 0, NULL, UINT32) -attribute(` i', Type, kSecTypeItemAttr, (char*) "Type", 0, NULL, UINT32) -attribute(` i', ScriptCode, kSecScriptCodeItemAttr, (char*) "ScriptCode", 0, NULL, SINT32) -attribute(` s', PrintName, kSecLabelItemAttr, (char*) "PrintName", 0, NULL, BLOB) -attribute(` s', Alias, kSecAlias, (char*) "Alias", 0, NULL, BLOB) -attribute(` i', Invisible, kSecInvisibleItemAttr, (char*) "Invisible", 0, NULL, SINT32) -attribute(` i', Negative, kSecNegativeItemAttr, (char*) "Negative", 0, NULL, SINT32) -attribute(` i', CustomIcon, kSecCustomIconItemAttr, (char*) "CustomIcon", 0, NULL, SINT32) -attribute(` i', Protected, kSecProtectedDataItemAttr, (char*) "Protected", 0, NULL, BLOB) -attribute(`UIi', Account, kSecAccountItemAttr, (char*) "Account", 0, NULL, BLOB) -attribute(`UIi', Service, kSecServiceItemAttr, (char*) "Service", 0, NULL, BLOB) -attribute(` i', Generic, kSecGenericItemAttr, (char*) "Generic", 0, NULL, BLOB) -endClass() - -startClass(Appleshare) -attribute(` i', CreationDate, kSecCreationDateItemAttr, (char*) "CreationDate", 0, NULL, TIME_DATE) -attribute(` i', ModDate, kSecModDateItemAttr, (char*) "ModDate", 0, NULL, TIME_DATE) -attribute(` i', Description, kSecDescriptionItemAttr, (char*) "Description", 0, NULL, BLOB) -attribute(` i', Comment, kSecCommentItemAttr, (char*) "Comment", 0, NULL, BLOB) -attribute(` i', Creator, kSecCreatorItemAttr, (char*) "Creator", 0, NULL, UINT32) -attribute(` i', Type, kSecTypeItemAttr, (char*) "Type", 0, NULL, UINT32) -attribute(` i', ScriptCode, kSecScriptCodeItemAttr, (char*) "ScriptCode", 0, NULL, SINT32) -attribute(` s', PrintName, kSecLabelItemAttr, (char*) "PrintName", 0, NULL, BLOB) -attribute(` s', Alias, kSecAlias, (char*) "Alias", 0, NULL, BLOB) -attribute(` i', Invisible, kSecInvisibleItemAttr, (char*) "Invisible", 0, NULL, SINT32) -attribute(` i', Negative, kSecNegativeItemAttr, (char*) "Negative", 0, NULL, SINT32) -attribute(` i', CustomIcon, kSecCustomIconItemAttr, (char*) "CustomIcon", 0, NULL, SINT32) -attribute(` i', Protected, kSecProtectedDataItemAttr, (char*) "Protected", 0, NULL, BLOB) -attribute(`UIi', Account, kSecAccountItemAttr, (char*) "Account", 0, NULL, BLOB) -attribute(`UIi', Volume, kSecVolumeItemAttr, (char*) "Volume", 0, NULL, BLOB) -attribute(` i', Server, kSecServerItemAttr, (char*) "Server", 0, NULL, BLOB) -attribute(` i', Protocol, kSecProtocolItemAttr, (char*) "Protocol", 0, NULL, UINT32) -attribute(`UIi', Address, kSecAddressItemAttr, (char*) "Address", 0, NULL, BLOB) -attribute(`UIi', Signature, kSecSignatureItemAttr, (char*) "Signature", 0, NULL, BLOB) -endClass() - -startClass(Internet) -attribute(` i', CreationDate, kSecCreationDateItemAttr, (char*) "CreationDate", 0, NULL, TIME_DATE) -attribute(` i', ModDate, kSecModDateItemAttr, (char*) "ModDate", 0, NULL, TIME_DATE) -attribute(` i', Description, kSecDescriptionItemAttr, (char*) "Description", 0, NULL, BLOB) -attribute(` i', Comment, kSecCommentItemAttr, (char*) "Comment", 0, NULL, BLOB) -attribute(` i', Creator, kSecCreatorItemAttr, (char*) "Creator", 0, NULL, UINT32) -attribute(` i', Type, kSecTypeItemAttr, (char*) "Type", 0, NULL, UINT32) -attribute(` i', ScriptCode, kSecScriptCodeItemAttr, (char*) "ScriptCode", 0, NULL, SINT32) -attribute(` s', PrintName, kSecLabelItemAttr, (char*) "PrintName", 0, NULL, BLOB) -attribute(` s', Alias, kSecAlias, (char*) "Alias", 0, NULL, BLOB) -attribute(` i', Invisible, kSecInvisibleItemAttr, (char*) "Invisible", 0, NULL, SINT32) -attribute(` i', Negative, kSecNegativeItemAttr, (char*) "Negative", 0, NULL, SINT32) -attribute(` i', CustomIcon, kSecCustomIconItemAttr, (char*) "CustomIcon", 0, NULL, SINT32) -attribute(` i', Protected, kSecProtectedDataItemAttr, (char*) "Protected", 0, NULL, BLOB) -attribute(`UIi', Account, kSecAccountItemAttr, (char*) "Account", 0, NULL, BLOB) -attribute(`UIi', SecurityDomain, kSecSecurityDomainItemAttr, (char*) "SecurityDomain", 0, NULL, BLOB) -attribute(`UIi', Server, kSecServerItemAttr, (char*) "Server", 0, NULL, BLOB) -attribute(`UIi', Protocol, kSecProtocolItemAttr, (char*) "Protocol", 0, NULL, UINT32) -attribute(`UIi', AuthType, kSecAuthenticationTypeItemAttr, (char*) "AuthType", 0, NULL, BLOB) -attribute(`UIi', Port, kSecPortItemAttr, (char*) "Port", 0, NULL, UINT32) -attribute(`UIi', Path, kSecPathItemAttr, (char*) "Path", 0, NULL, BLOB) -endClass() - -startNewClass(X509Certificate) -newAttribute(`UISs', CertType, kSecCertTypeItemAttr, (char*) "CertType", 0, NULL, UINT32) -newAttribute(` Ss', CertEncoding, kSecCertEncodingItemAttr, (char*) "CertEncoding", 0, NULL, UINT32) -newAttribute(` Ss', PrintName, kSecLabelItemAttr, (char*) "PrintName", 0, NULL, BLOB) -newAttribute(` ISs', Alias, kSecAlias, (char*) "Alias", 0, NULL, BLOB) -newAttribute(` ISs', Subject, kSecSubjectItemAttr, (char*) "Subject", 0, NULL, BLOB) -newAttribute(`UISs', Issuer, kSecIssuerItemAttr, (char*) "Issuer", 0, NULL, BLOB) -newAttribute(`UISs', SerialNumber, kSecSerialNumberItemAttr, (char*) "SerialNumber", 0, NULL, BLOB) -newAttribute(` ISs', SubjectKeyIdentifier, kSecSubjectKeyIdentifierItemAttr, (char*) "SubjectKeyIdentifier", 0, NULL, BLOB) -newAttribute(` ISs', PublicKeyHash, kSecPublicKeyHashItemAttr, (char*) "PublicKeyHash", 0, NULL, BLOB) -endNewClass() - -startNewClass(X509Crl) -newAttribute(`UISs', CrlType, kSecCrlType, (char*) "CrlType", 0, NULL, UINT32) -newAttribute(` Ss', CrlEncoding, kSecCrlEncodingItemAttr, (char*) "CrlEncoding", 0, NULL, UINT32) -newAttribute(` Ss', PrintName, kSecLabelItemAttr, (char*) "PrintName", 0, NULL, BLOB) -newAttribute(` Ss', Alias, kSecAlias, (char*) "Alias", 0, NULL, BLOB) -newAttribute(`UISs', Issuer, kSecIssuerItemAttr, (char*) "Issuer", 0, NULL, BLOB) -newAttribute(`UISs', ThisUpdate, kSecThisUpdateItemAttr, (char*) "ThisUpdate", 0, NULL, BLOB) -newAttribute(`UISs', NextUpdate, kSecNextUpdateItemAttr, (char*) "NextUpdate", 0, NULL, BLOB) -newAttribute(` Ss', URI, kSecUriItemAttr, (char*) "URI", 0, NULL, BLOB) -newAttribute(` ISs', CrlNumber, kSecCrlNumberItemAttr, (char*) "CrlNumber", 0, NULL, UINT32) -newAttribute(` ISs', DeltaCrlNumber, kSecDeltaCrlNumberItemAttr, (char*) "DeltaCrlNumber", 0, NULL, UINT32) -endNewClass() - -startNewClass(UserTrust) -newAttribute(`UISs', TrustedCertificate, kSecTrustCertAttr, (char*) "TrustedCertificate", 0, NULL, BLOB) -newAttribute(`UISs', TrustedPolicy, kSecTrustPolicyAttr, (char*) "TrustedPolicy", 0, NULL, BLOB) -newAttribute(` Ss', PrintName, kSecLabelItemAttr, (char*) "PrintName", 0, NULL, BLOB) -endNewClass() - -startNewClass(UnlockReferral) -newAttribute(`UISs', Type, kSecReferralTypeAttr, (char*) "Type", 0, NULL, UINT32) -newAttribute(`UISs', DbName, kSecReferralDbNameAttr, (char*) "DbName", 0, NULL, STRING) -newAttribute(`UISs', DbNetname, kSecReferralDbNetnameAttr, (char*) "DbNetname", 0, NULL, BLOB) -newAttribute(`UISs', DbGuid, kSecReferralDbGuidAttr, (char*) "DbGuid", 0, NULL, BLOB) -newAttribute(`UISs', DbSSID, kSecReferralDbSSIDAttr, (char*) "DbSSID", 0, NULL, UINT32) -newAttribute(`UISs', DbSSType, kSecReferralDbSSTypeAttr, (char*) "DbSSType", 0, NULL, UINT32) -newAttribute(` ISs', KeyLabel, kSecReferralKeyLabelAttr, (char*) "KeyLabel", 0, NULL, BLOB) -newAttribute(` ISs', KeyAppTag, kSecReferralKeyAppTagAttr, (char*) "KeyAppTag", 0, NULL, BLOB) -newAttribute(` Ss', PrintName, kSecLabelItemAttr, (char*) "PrintName", 0, NULL, BLOB) -newAttribute(` Ss', Alias, kSecAlias, (char*) "Alias", 0, NULL, BLOB) -endNewClass() - -// Extended Attribute -startNewClass(ExtendedAttribute) -newAttribute(`UISs', RecordType, kExtendedAttrRecordTypeAttr, (char*) "RecordType", 0, NULL, UINT32) -newAttribute(`UISs', ItemID, kExtendedAttrItemIDAttr, (char*) "ItemID", 0, NULL, BLOB) -newAttribute(`UISs', AttributeName, kExtendedAttrAttributeNameAttr, (char*) "AttributeName", 0, NULL, BLOB) -newAttribute(` Ss', ModDate, kSecModDateItemAttr, (char*) "ModDate", 0, NULL, TIME_DATE) -newAttribute(` Ss', AttributeValue, kExtendedAttrAttributeValueAttr, (char*) "AttributeValue", 0, NULL, BLOB) -endNewClass() - -divert(3) -static const CSSM_DB_RECORD_ATTRIBUTE_INFO Attributes[] = -{ - attrInfo(CSSM_DL_DB_RECORD_GENERIC_PASSWORD, Generic), - attrInfo(CSSM_DL_DB_RECORD_APPLESHARE_PASSWORD, Appleshare), - attrInfo(CSSM_DL_DB_RECORD_INTERNET_PASSWORD, Internet) -}; - -static const CSSM_DB_RECORD_INDEX_INFO Indices[] = -{ - indexInfo(CSSM_DL_DB_RECORD_GENERIC_PASSWORD, Generic), - indexInfo(CSSM_DL_DB_RECORD_APPLESHARE_PASSWORD, Appleshare), - indexInfo(CSSM_DL_DB_RECORD_INTERNET_PASSWORD, Internet) -}; - -static const CSSM_DB_PARSING_MODULE_INFO ParseInfos[] = -{ - parseInfo(), - parseInfo(), - parseInfo() -}; - -// -// Public stuff -// -const CSSM_DBINFO DBInfo = -{ - sizeof(Attributes) / sizeof(CSSM_DB_RECORD_ATTRIBUTE_INFO), - const_cast(ParseInfos), - const_cast(Attributes), - const_cast(Indices), - CSSM_TRUE, - NULL, - NULL -}; - -// -// Schema methods -// -CSSM_DB_RECORDTYPE -recordTypeFor(SecItemClass itemClass) -{ - switch (itemClass) - { - case kSecGenericPasswordItemClass: return CSSM_DL_DB_RECORD_GENERIC_PASSWORD; - case kSecInternetPasswordItemClass: return CSSM_DL_DB_RECORD_INTERNET_PASSWORD; - case 'ashp': return CSSM_DL_DB_RECORD_APPLESHARE_PASSWORD; - default: return CSSM_DB_RECORDTYPE(itemClass); - } -} - -SecItemClass -itemClassFor(CSSM_DB_RECORDTYPE recordType) -{ - switch (recordType) - { - case CSSM_DL_DB_RECORD_GENERIC_PASSWORD: return kSecGenericPasswordItemClass; - case CSSM_DL_DB_RECORD_INTERNET_PASSWORD: return kSecInternetPasswordItemClass; - case CSSM_DL_DB_RECORD_APPLESHARE_PASSWORD: return 'ashp'; - default: return SecItemClass(recordType); - } -} - -const CSSM_DB_ATTRIBUTE_INFO & -attributeInfo(SecKeychainAttrType attrType) -{ - switch (attrType) - { - case kSecCreationDateItemAttr: return kGenericCreationDate; - case kSecModDateItemAttr: return kGenericModDate; - case kSecDescriptionItemAttr: return kGenericDescription; - case kSecCommentItemAttr: return kGenericComment; - case kSecCreatorItemAttr: return kGenericCreator; - case kSecTypeItemAttr: return kGenericType; - case kSecScriptCodeItemAttr: return kGenericScriptCode; - case kSecLabelItemAttr: return kGenericPrintName; - case kSecAlias: return kGenericAlias; - case kSecInvisibleItemAttr: return kGenericInvisible; - case kSecNegativeItemAttr: return kGenericNegative; - case kSecCustomIconItemAttr: return kGenericCustomIcon; - /* Unique Generic password attributes */ - case kSecAccountItemAttr: return kGenericAccount; - case kSecServiceItemAttr: return kGenericService; - case kSecGenericItemAttr: return kGenericGeneric; - /* Unique Appleshare password attributes */ - case kSecVolumeItemAttr: return kAppleshareVolume; - case kSecAddressItemAttr: return kAppleshareAddress; - case kSecSignatureItemAttr: return kAppleshareSignature; - /* Unique AppleShare and Internet attributes */ - case kSecServerItemAttr: return kAppleshareServer; - case kSecProtocolItemAttr: return kAppleshareProtocol; - /* Unique Internet password attributes */ - case kSecSecurityDomainItemAttr: return kInternetSecurityDomain; - case kSecAuthenticationTypeItemAttr: return kInternetAuthType; - case kSecPortItemAttr: return kInternetPort; - case kSecPathItemAttr: return kInternetPath; - /* Unique Certificate attributes */ - case kSecCertTypeItemAttr: return kX509CertificateCertType; - case kSecCertEncodingItemAttr: return kX509CertificateCertEncoding; - case kSecSubjectItemAttr: return kX509CertificateSubject; - case kSecIssuerItemAttr: return kX509CertificateIssuer; - case kSecSerialNumberItemAttr: return kX509CertificateSerialNumber; - case kSecSubjectKeyIdentifierItemAttr: return kX509CertificateSubjectKeyIdentifier; - case kSecPublicKeyHashItemAttr: return kX509CertificatePublicKeyHash; - /* Unique UserTrust attributes */ - case kSecTrustCertAttr: return kUserTrustTrustedCertificate; - case kSecTrustPolicyAttr: return kUserTrustTrustedPolicy; - /* Unique UnlockReferral attributes */ - case kSecReferralTypeAttr: return kUnlockReferralType; - case kSecReferralDbNameAttr: return kUnlockReferralDbName; - case kSecReferralDbGuidAttr: return kUnlockReferralDbGuid; - case kSecReferralDbSSIDAttr: return kUnlockReferralDbSSID; - case kSecReferralDbSSTypeAttr: return kUnlockReferralDbSSType; - case kSecReferralDbNetnameAttr: return kUnlockReferralDbNetname; - case kSecReferralKeyLabelAttr: return kUnlockReferralKeyLabel; - case kSecReferralKeyAppTagAttr: return kUnlockReferralKeyAppTag; - /* Unique ExtendedAttribute attributes */ - case kExtendedAttrRecordTypeAttr: return kExtendedAttributeRecordType; - case kExtendedAttrItemIDAttr: return kExtendedAttributeItemID; - case kExtendedAttrAttributeNameAttr: return kExtendedAttributeAttributeName; - case kExtendedAttrAttributeValueAttr: return kExtendedAttributeAttributeValue; - /* ??? */ - case kSecProtectedDataItemAttr: return kGenericProtected; - default: - { - if (attrType == 7) - { - return kGenericPrintName; - } - else if (attrType == 8) - { - return kGenericAlias; - } - MacOSError::throwMe(errSecNoSuchAttr); - } - } -} - -} // end namespace Schema - -} // end namespace KeychainCore - -} // end namespace Security