#ifndef _SECURITY_SCHEMA_H_
#define _SECURITY_SCHEMA_H_
#include <Security/SecKeychainItem.h>
namespace Security {
namespace KeychainCore {
namespace Schema {
CSSM_DB_RECORDTYPE recordTypeFor(SecItemClass itemClass);
SecItemClass itemClassFor(CSSM_DB_RECORDTYPE recordType);
const CSSM_DB_ATTRIBUTE_INFO &attributeInfo(SecKeychainAttrType attrType);
extern const CSSM_DB_ATTRIBUTE_INFO RelationID;
extern const CSSM_DB_ATTRIBUTE_INFO RelationName;
extern const CSSM_DB_ATTRIBUTE_INFO AttributeID;
extern const CSSM_DB_ATTRIBUTE_INFO AttributeNameFormat;
extern const CSSM_DB_ATTRIBUTE_INFO AttributeName;
extern const CSSM_DB_ATTRIBUTE_INFO AttributeNameID;
extern const CSSM_DB_ATTRIBUTE_INFO AttributeFormat;
extern const CSSM_DB_ATTRIBUTE_INFO IndexType;
extern const CSSM_DBINFO DBInfo;
extern const CSSM_DB_ATTRIBUTE_INFO kX509CertificateCertType;
extern const CSSM_DB_ATTRIBUTE_INFO kX509CertificateCertEncoding;
extern const CSSM_DB_ATTRIBUTE_INFO kX509CertificatePrintName;
extern const CSSM_DB_ATTRIBUTE_INFO kX509CertificateAlias;
extern const CSSM_DB_ATTRIBUTE_INFO kX509CertificateSubject;
extern const CSSM_DB_ATTRIBUTE_INFO kX509CertificateIssuer;
extern const CSSM_DB_ATTRIBUTE_INFO kX509CertificateSerialNumber;
extern const CSSM_DB_ATTRIBUTE_INFO kX509CertificateSubjectKeyIdentifier;
extern const CSSM_DB_ATTRIBUTE_INFO kX509CertificatePublicKeyHash;
extern const CSSM_DB_SCHEMA_ATTRIBUTE_INFO X509CertificateSchemaAttributeList[];
extern const CSSM_DB_SCHEMA_INDEX_INFO X509CertificateSchemaIndexList[];
extern const uint32 X509CertificateSchemaAttributeCount;
extern const uint32 X509CertificateSchemaIndexCount;
extern const CSSM_DB_ATTRIBUTE_INFO kUserTrustTrustedCertificate;
extern const CSSM_DB_ATTRIBUTE_INFO kUserTrustTrustedPolicy;
extern const CSSM_DB_SCHEMA_ATTRIBUTE_INFO UserTrustSchemaAttributeList[];
extern const CSSM_DB_SCHEMA_INDEX_INFO UserTrustSchemaIndexList[];
extern const uint32 UserTrustSchemaAttributeCount;
extern const uint32 UserTrustSchemaIndexCount;
}
}
}
#endif // !_SECURITY_SCHEMA_H_