X-Git-Url: https://git.saurik.com/apple/security.git/blobdiff_plain/5dd5f9ec28f304ca377c42fd7f711d6cf12b90e1..5c19dc3ae3bd8e40a9c028b0deddd50ff337692c:/OSX/libsecurity_mds/lib/mds.h diff --git a/OSX/libsecurity_mds/lib/mds.h b/OSX/libsecurity_mds/lib/mds.h new file mode 100644 index 00000000..cc75ad2e --- /dev/null +++ b/OSX/libsecurity_mds/lib/mds.h @@ -0,0 +1,153 @@ +/* + * Copyright (c) 2000-2001,2011,2014 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. + */ + + +/* + File: mds.h + + Contains: Module Directory Services Data Types and API. + + Copyright (c) 1999-2000,2011,2014 Apple Inc. All Rights Reserved. +*/ + +#ifndef _MDS_H_ +#define _MDS_H_ 1 + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +typedef CSSM_DL_HANDLE MDS_HANDLE; + +typedef CSSM_DL_DB_HANDLE MDS_DB_HANDLE; + +typedef struct mds_funcs { + CSSM_RETURN (CSSMAPI *DbOpen) + (MDS_HANDLE MdsHandle, + const char *DbName, + const CSSM_NET_ADDRESS *DbLocation, + CSSM_DB_ACCESS_TYPE AccessRequest, + const CSSM_ACCESS_CREDENTIALS *AccessCred, + const void *OpenParameters, + CSSM_DB_HANDLE *hMds); + + CSSM_RETURN (CSSMAPI *DbClose) + (MDS_DB_HANDLE MdsDbHandle); + + CSSM_RETURN (CSSMAPI *GetDbNames) + (MDS_HANDLE MdsHandle, + CSSM_NAME_LIST_PTR *NameList); + + CSSM_RETURN (CSSMAPI *GetDbNameFromHandle) + (MDS_DB_HANDLE MdsDbHandle, + char **DbName); + + CSSM_RETURN (CSSMAPI *FreeNameList) + (MDS_HANDLE MdsHandle, + CSSM_NAME_LIST_PTR NameList); + + CSSM_RETURN (CSSMAPI *DataInsert) + (MDS_DB_HANDLE MdsDbHandle, + CSSM_DB_RECORDTYPE RecordType, + const CSSM_DB_RECORD_ATTRIBUTE_DATA *Attributes, + const CSSM_DATA *Data, + CSSM_DB_UNIQUE_RECORD_PTR *UniqueId); + + CSSM_RETURN (CSSMAPI *DataDelete) + (MDS_DB_HANDLE MdsDbHandle, + const CSSM_DB_UNIQUE_RECORD *UniqueRecordIdentifier); + + CSSM_RETURN (CSSMAPI *DataModify) + (MDS_DB_HANDLE MdsDbHandle, + CSSM_DB_RECORDTYPE RecordType, + CSSM_DB_UNIQUE_RECORD_PTR UniqueRecordIdentifier, + const CSSM_DB_RECORD_ATTRIBUTE_DATA *AttributesToBeModified, + const CSSM_DATA *DataToBeModified, + CSSM_DB_MODIFY_MODE ModifyMode); + + CSSM_RETURN (CSSMAPI *DataGetFirst) + (MDS_DB_HANDLE MdsDbHandle, + const CSSM_QUERY *Query, + CSSM_HANDLE_PTR ResultsHandle, + CSSM_DB_RECORD_ATTRIBUTE_DATA_PTR Attributes, + CSSM_DATA_PTR Data, + CSSM_DB_UNIQUE_RECORD_PTR *UniqueId); + + CSSM_RETURN (CSSMAPI *DataGetNext) + (MDS_DB_HANDLE MdsDbHandle, + CSSM_HANDLE ResultsHandle, + CSSM_DB_RECORD_ATTRIBUTE_DATA_PTR Attributes, + CSSM_DATA_PTR Data, + CSSM_DB_UNIQUE_RECORD_PTR *UniqueId); + + CSSM_RETURN (CSSMAPI *DataAbortQuery) + (MDS_DB_HANDLE MdsDbHandle, + CSSM_HANDLE ResultsHandle); + + CSSM_RETURN (CSSMAPI *DataGetFromUniqueRecordId) + (MDS_DB_HANDLE MdsDbHandle, + const CSSM_DB_UNIQUE_RECORD *UniqueRecord, + CSSM_DB_RECORD_ATTRIBUTE_DATA_PTR Attributes, + CSSM_DATA_PTR Data); + + CSSM_RETURN (CSSMAPI *FreeUniqueRecord) + (MDS_DB_HANDLE MdsDbHandle, + CSSM_DB_UNIQUE_RECORD_PTR UniqueRecord); + + CSSM_RETURN (CSSMAPI *CreateRelation) + (MDS_DB_HANDLE MdsDbHandle, + CSSM_DB_RECORDTYPE RelationID, + const char *RelationName, + uint32 NumberOfAttributes, + const CSSM_DB_SCHEMA_ATTRIBUTE_INFO *pAttributeInfo, + uint32 NumberOfIndexes, + const CSSM_DB_SCHEMA_INDEX_INFO *pIndexInfo); + + CSSM_RETURN (CSSMAPI *DestroyRelation) + (MDS_DB_HANDLE MdsDbHandle, + CSSM_DB_RECORDTYPE RelationID); +} MDS_FUNCS DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER, *MDS_FUNCS_PTR DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER; + + +/* MDS Context APIs */ + +CSSM_RETURN CSSMAPI +MDS_Initialize (const CSSM_GUID *pCallerGuid, + const CSSM_MEMORY_FUNCS *pMemoryFunctions, + MDS_FUNCS_PTR pDlFunctions, + MDS_HANDLE *hMds) + DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER; + +CSSM_RETURN CSSMAPI +MDS_Terminate (MDS_HANDLE MdsHandle) + DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER; + +CSSM_RETURN CSSMAPI +MDS_Install (MDS_HANDLE MdsHandle) + DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER; + +CSSM_RETURN CSSMAPI +MDS_Uninstall (MDS_HANDLE MdsHandle) + DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER; + +#ifdef __cplusplus +} +#endif + +#endif /* _MDS_H_ */