1/* 2 * Copyright (c) 2000-2001,2003-2004 Apple Computer, Inc. All Rights Reserved. 3 * 4 * @APPLE_LICENSE_HEADER_START@ 5 * 6 * This file contains Original Code and/or Modifications of Original Code 7 * as defined in and that are subject to the Apple Public Source License 8 * Version 2.0 (the 'License'). You may not use this file except in 9 * compliance with the License. Please obtain a copy of the License at 10 * http://www.opensource.apple.com/apsl/ and read it before using this 11 * file. 12 * 13 * The Original Code and all software distributed under the License are 14 * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 15 * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 16 * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 17 * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 18 * Please see the License for the specific language governing rights and 19 * limitations under the License. 20 * 21 * @APPLE_LICENSE_HEADER_END@ 22 */ 23 24 25// 26// modload_static - pseudo-loading of statically linked plugins 27// 28#include "modload_static.h" 29 30 31namespace Security { 32 33 34// 35// Pass module entry points to the statically linked functions 36// 37CSSM_RETURN StaticPlugin::load(const CSSM_GUID *CssmGuid, 38 const CSSM_GUID *ModuleGuid, 39 CSSM_SPI_ModuleEventHandler CssmNotifyCallback, 40 void *CssmNotifyCallbackCtx) 41{ 42 return entries.load(CssmGuid, ModuleGuid, 43 CssmNotifyCallback, CssmNotifyCallbackCtx); 44} 45 46CSSM_RETURN StaticPlugin::unload(const CSSM_GUID *CssmGuid, 47 const CSSM_GUID *ModuleGuid, 48 CSSM_SPI_ModuleEventHandler CssmNotifyCallback, 49 void *CssmNotifyCallbackCtx) 50{ 51 return entries.unload(CssmGuid, ModuleGuid, 52 CssmNotifyCallback, CssmNotifyCallbackCtx); 53} 54 55CSSM_RETURN StaticPlugin::attach(const CSSM_GUID *ModuleGuid, 56 const CSSM_VERSION *Version, 57 uint32 SubserviceID, 58 CSSM_SERVICE_TYPE SubServiceType, 59 CSSM_ATTACH_FLAGS AttachFlags, 60 CSSM_MODULE_HANDLE ModuleHandle, 61 CSSM_KEY_HIERARCHY KeyHierarchy, 62 const CSSM_GUID *CssmGuid, 63 const CSSM_GUID *ModuleManagerGuid, 64 const CSSM_GUID *CallerGuid, 65 const CSSM_UPCALLS *Upcalls, 66 CSSM_MODULE_FUNCS_PTR *FuncTbl) 67{ 68 return entries.attach(ModuleGuid, Version, SubserviceID, SubServiceType, 69 AttachFlags, ModuleHandle, KeyHierarchy, CssmGuid, ModuleManagerGuid, 70 CallerGuid, Upcalls, FuncTbl); 71} 72 73CSSM_RETURN StaticPlugin::detach(CSSM_MODULE_HANDLE ModuleHandle) 74{ 75 return entries.detach(ModuleHandle); 76} 77 78 79} // end namespace Security 80