]> git.saurik.com Git - apple/security.git/blobdiff - Security/libsecurity_cdsa_utilities/lib/Schema.m4
Security-57336.1.9.tar.gz
[apple/security.git] / Security / libsecurity_cdsa_utilities / lib / Schema.m4
diff --git a/Security/libsecurity_cdsa_utilities/lib/Schema.m4 b/Security/libsecurity_cdsa_utilities/lib/Schema.m4
deleted file mode 100644 (file)
index 5bc9248..0000000
+++ /dev/null
@@ -1,471 +0,0 @@
-divert(-1)
-changecom(/*, */)
-/*
- * Copyright (c) 2000-2002 Apple 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<CSSM_DB_ATTRIBUTE_INFO_PTR>($2Attributes)
-    }')
-
-define(`indexInfo',
-`{
-        $1,
-        sizeof($2Indices) / sizeof(CSSM_DB_INDEX_INFO),
-        const_cast<CSSM_DB_INDEX_INFO_PTR>($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 <security_cdsa_utilities/Schema.h>'
-
-`#include <Security/SecCertificate.h>'
-`#include <Security/SecTrustPriv.h>'
-`#include <Security/SecKeychainItemPriv.h>'
-`#include <Security/cssmapple.h>'
-`#include <security_utilities/errors.h>'
-
-`#pragma clang diagnostic push'
-`#pragma clang diagnostic ignored "-Wunused-const-variable"'
-
-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<CSSM_DB_PARSING_MODULE_INFO_PTR>(ParseInfos),
-    const_cast<CSSM_DB_RECORD_ATTRIBUTE_INFO_PTR>(Attributes),
-    const_cast<CSSM_DB_RECORD_INDEX_INFO_PTR>(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
-
-`#pragma clang diagnostic pop'