view dstep/security/cssmcli.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.cssmcli;

import dstep.security.cssmtype;

struct CSSM_SPI_CL_FUNCS
{
	extern (C) int function (CSSM_DL_HANDLE DLHandle,
					         /*const*/ char* DbName,
					         /*const*/ CSSM_NET_ADDRESS* DbLocation,
					         CSSM_DB_ACCESS_TYPE AccessRequest,
					         /*const*/ CSSM_ACCESS_CREDENTIALS* AccessCred,
					         /*/*const*/ void* OpenParameters,
					         CSSM_DB_HANDLE* DbHandle) DbOpen;
	
	extern (C) int function (CSSM_DL_DB_HANDLE DLDBHandle) DbClose;
	extern (C) int function (CSSM_DL_HANDLE DLHandle,
					         /*const*/ char* DbName,
					         /*const*/ CSSM_NET_ADDRESS* DbLocation,
					         /*const*/ CSSM_DBINFO* DBInfo,
					         CSSM_DB_ACCESS_TYPE AccessRequest,
					         /*const*/ CSSM_RESOURCE_CONTROL_CONTEXT* CredAndAclEntry,
					         /*const*/ void* OpenParameters,
					         CSSM_DB_HANDLE* DbHandle) DbCreate;
	
	extern (C) int function (CSSM_DL_HANDLE DLHandle,
					         /*const*/ char* DbName,
					         /*const*/ CSSM_NET_ADDRESS* DbLocation,
					         /*const*/ CSSM_ACCESS_CREDENTIALS* AccessCred) DbDelete;	

	extern (C) int function (CSSM_DL_DB_HANDLE DLDBHandle,
					         CSSM_DB_RECORDTYPE RelationID,
					         /*const*/ char* RelationName,
					         uint NumberOfAttributes,
					         /*const*/ CSSM_DB_SCHEMA_ATTRIBUTE_INFO* pAttributeInfo,
					         uint NumberOfIndexes,
					         /*const*/ CSSM_DB_SCHEMA_INDEX_INFO* pIndexInfo) CreateRelation;		
	
	extern (C) int function (CSSM_DL_DB_HANDLE DLDBHandle,
							 CSSM_DB_RECORDTYPE RelationID) DestroyRelation;
							 
	extern (C) int function (CSSM_DL_DB_HANDLE DLDBHandle,
					         CSSM_DB_ACCESS_TYPE AccessRequest,
					         /*const*/ CSSM_ACCESS_CREDENTIALS* AccessCred) Authenticate;	
	
	extern (C) int function (CSSM_DL_DB_HANDLE DLDBHandle,
					         /*const*/ CSSM_STRING* SelectionTag,
					         uint* NumberOfAclInfos,
					         CSSM_ACL_ENTRY_INFO_PTR* AclInfos) GetDbAcl;
	
	extern (C) int function (CSSM_DL_DB_HANDLE DLDBHandle,
					         /*const*/ CSSM_ACCESS_CREDENTIALS* AccessCred,
					         /*const*/ CSSM_ACL_EDIT* AclEdit) ChangeDbAcl;
	
	extern (C) int function (CSSM_DL_DB_HANDLE DLDBHandle,
							 CSSM_ACL_OWNER_PROTOTYPE_PTR Owner) GetDbOwner;
	
	extern (C) int function (CSSM_DL_DB_HANDLE DLDBHandle,
					         /*const*/ CSSM_ACCESS_CREDENTIALS* AccessCred,
					         /*const*/ CSSM_ACL_OWNER_PROTOTYPE* NewOwner) ChangeDbOwner;
	
	extern (C) int function (CSSM_DL_HANDLE DLHandle,
							 CSSM_NAME_LIST_PTR* NameList) GetDbNames;	
	
	extern (C) int function (CSSM_DL_DB_HANDLE DLDBHandle, char* *DbName) GetDbNameFromHandle;
	extern (C) int function (CSSM_DL_HANDLE DLHandle, CSSM_NAME_LIST_PTR NameList) FreeNameList;
	
	extern (C) int function (CSSM_DL_DB_HANDLE DLDBHandle,
					         CSSM_DB_RECORDTYPE RecordType,
					         /*const*/ CSSM_DB_RECORD_ATTRIBUTE_DATA* Attributes,
					         /*const*/ CSSM_DATA* Data,
					         CSSM_DB_UNIQUE_RECORD_PTR* UniqueId) DataInsert;
	
	extern (C) int function (CSSM_DL_DB_HANDLE DLDBHandle,
							 /*const*/ CSSM_DB_UNIQUE_RECORD* UniqueRecordIdentifier) DataDelete;
	
	extern (C) int function (CSSM_DL_DB_HANDLE DLDBHandle,
					         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) DataModify;
	
	extern (C) int function (CSSM_DL_DB_HANDLE DLDBHandle,
					         /*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) DataGetFirst;
	
	extern (C) int function (CSSM_DL_DB_HANDLE DLDBHandle,
					         CSSM_HANDLE ResultsHandle,
					         CSSM_DB_RECORD_ATTRIBUTE_DATA_PTR Attributes,
					         CSSM_DATA_PTR Data,
					         CSSM_DB_UNIQUE_RECORD_PTR* UniqueId) DataGetNext;
	
	extern (C) int function (CSSM_DL_DB_HANDLE DLDBHandle, CSSM_HANDLE ResultsHandle) DataAbortQuery;
	
	extern (C) int function (CSSM_DL_DB_HANDLE DLDBHandle,
					         /*const*/ CSSM_DB_UNIQUE_RECORD* UniqueRecord,
					         CSSM_DB_RECORD_ATTRIBUTE_DATA_PTR Attributes,
					         CSSM_DATA_PTR Data) DataGetFromUniqueRecordId;
	
	extern (C) int function (CSSM_DL_DB_HANDLE DLDBHandle,
							 CSSM_DB_UNIQUE_RECORD_PTR UniqueRecord) FreeUniqueRecord;
	
	extern (C) int function (CSSM_DL_DB_HANDLE DLDBHandle,
					         uint PassThroughId,
					         /*const*/ void* InputParams,
					         void** OutputParams) PassThrough;
}

alias CSSM_SPI_CL_FUNCS* CSSM_SPI_CL_FUNCS_PTR;