#include <security_cdsa_utilities/cssmbridge.h>
#if !defined(SPIPREFIX)
# define SPIPREFIX extern "C" CSSMSPI
#endif
#if !defined(SPINAME)
# define SPINAME(s) s
#endif
SPIPREFIX CSSM_RETURN SPINAME(CSSM_SPI_ModuleLoad) (const CSSM_GUID *CssmGuid,
const CSSM_GUID *ModuleGuid,
CSSM_SPI_ModuleEventHandler CssmNotifyCallback,
void *CssmNotifyCallbackCtx)
{
BEGIN_API
plugin().moduleLoad(Guid::required(CssmGuid),
Guid::required(ModuleGuid),
ModuleCallback(CssmNotifyCallback, CssmNotifyCallbackCtx));
END_API(CSSM)
}
SPIPREFIX CSSM_RETURN SPINAME(CSSM_SPI_ModuleUnload) (const CSSM_GUID *CssmGuid,
const CSSM_GUID *ModuleGuid,
CSSM_SPI_ModuleEventHandler CssmNotifyCallback,
void *CssmNotifyCallbackCtx)
{
BEGIN_API
plugin().moduleUnload(Guid::required(CssmGuid),
Guid::required(ModuleGuid),
ModuleCallback(CssmNotifyCallback, CssmNotifyCallbackCtx));
END_API(CSSM)
}
SPIPREFIX CSSM_RETURN SPINAME(CSSM_SPI_ModuleAttach) (const CSSM_GUID *ModuleGuid,
const CSSM_VERSION *Version,
uint32 SubserviceID,
CSSM_SERVICE_TYPE SubServiceType,
CSSM_ATTACH_FLAGS AttachFlags,
CSSM_MODULE_HANDLE ModuleHandle,
CSSM_KEY_HIERARCHY KeyHierarchy,
const CSSM_GUID *CssmGuid,
const CSSM_GUID *ModuleManagerGuid,
const CSSM_GUID *CallerGuid,
const CSSM_UPCALLS *Upcalls,
CSSM_MODULE_FUNCS_PTR *FuncTbl)
{
BEGIN_API
plugin().moduleAttach(ModuleHandle,
Guid::required(CssmGuid),
Guid::required(ModuleGuid),
Guid::required(ModuleManagerGuid),
Guid::required(CallerGuid),
*Version,
SubserviceID,
SubServiceType,
AttachFlags,
KeyHierarchy,
Required(Upcalls),
Required(FuncTbl));
END_API(CSSM)
}
SPIPREFIX CSSM_RETURN SPINAME(CSSM_SPI_ModuleDetach) (CSSM_MODULE_HANDLE ModuleHandle)
{
BEGIN_API
plugin().moduleDetach(ModuleHandle);
END_API(CSSM)
}