]> git.saurik.com Git - apple/security.git/blobdiff - libsecurity_cssm/lib/cssm.cpp
Security-57031.1.35.tar.gz
[apple/security.git] / libsecurity_cssm / lib / cssm.cpp
diff --git a/libsecurity_cssm/lib/cssm.cpp b/libsecurity_cssm/lib/cssm.cpp
deleted file mode 100644 (file)
index 67d6dcc..0000000
+++ /dev/null
@@ -1,224 +0,0 @@
-/*
- * Copyright (c) 2000-2001,2003-2004 Apple Computer, Inc. All Rights Reserved.
- * 
- * @APPLE_LICENSE_HEADER_START@
- * 
- * This file contains Original Code and/or Modifications of Original Code
- * as defined in and that are subject to the Apple Public Source License
- * Version 2.0 (the 'License'). You may not use this file except in
- * compliance with the License. Please obtain a copy of the License at
- * http://www.opensource.apple.com/apsl/ and read it before using this
- * file.
- * 
- * The 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.
- * 
- * @APPLE_LICENSE_HEADER_END@
- */
-
-
-//
-// This file contains the core CSSM public functions.
-// Note that hardly anything happens in here; we just hand off requests
-// to the various objects representing CSSM state.
-//
-#include "manager.h"
-#include "module.h"
-#include <security_utilities/globalizer.h>
-#include <security_cdsa_utilities/cssmbridge.h>
-
-
-//
-// We currently use exactly one instance of CssmManager.
-//
-static ModuleNexus<CssmManager> gManager;
-
-
-//
-// Public API: (Re)Intiailize CSSM
-//
-CSSM_RETURN CSSMAPI
-CSSM_Init (const CSSM_VERSION *Version,
-           CSSM_PRIVILEGE_SCOPE Scope,
-           const CSSM_GUID *CallerGuid,
-           CSSM_KEY_HIERARCHY KeyHierarchy,
-           CSSM_PVC_MODE *PvcPolicy,
-           const void *)
-{
-    BEGIN_API
-    gManager().initialize(Required(Version),
-                        Scope,
-                        Guid::required(CallerGuid),
-                        KeyHierarchy,
-                        Required(PvcPolicy));
-    END_API(CSSM)
-}
-
-
-//
-// Public API: Terminate CSSM.
-//
-CSSM_RETURN CSSMAPI
-CSSM_Terminate (void)
-{
-    BEGIN_API
-    gManager().terminate();
-    END_API(CSSM)
-}
-
-
-//
-// Public API: Load a CSSM module
-//
-CSSM_RETURN CSSMAPI
-CSSM_ModuleLoad (const CSSM_GUID *ModuleGuid,
-                 CSSM_KEY_HIERARCHY KeyHierarchy,
-                 CSSM_API_ModuleEventHandler AppNotifyCallback,
-                 void *AppNotifyCallbackCtx)
-{
-    BEGIN_API
-    gManager().loadModule(Guid::required(ModuleGuid),
-                            KeyHierarchy,
-                            ModuleCallback(AppNotifyCallback, AppNotifyCallbackCtx));
-    END_API(CSSM)
-}
-
-
-//
-// Public API: Unload a module
-//
-CSSM_RETURN CSSMAPI
-CSSM_ModuleUnload (const CSSM_GUID *ModuleGuid,
-                   CSSM_API_ModuleEventHandler AppNotifyCallback,
-                   void *AppNotifyCallbackCtx)
-{
-    BEGIN_API
-    gManager().unloadModule(Guid::required(ModuleGuid),
-                              ModuleCallback(AppNotifyCallback, AppNotifyCallbackCtx));
-    END_API(CSSM)
-}
-
-
-CSSM_RETURN CSSMAPI
-CSSM_Introduce (const CSSM_GUID *ModuleID,
-                CSSM_KEY_HIERARCHY KeyHierarchy)
-{
-    BEGIN_API
-    gManager().introduce(Guid::required(ModuleID), KeyHierarchy);
-    END_API(CSSM)
-}
-
-CSSM_RETURN CSSMAPI
-CSSM_Unintroduce (const CSSM_GUID *ModuleID)
-{
-    BEGIN_API
-    gManager().unIntroduce(Guid::required(ModuleID));
-    END_API(CSSM)
-}
-
-
-CSSM_RETURN CSSMAPI
-CSSM_ModuleAttach (const CSSM_GUID *ModuleGuid,
-                   const CSSM_VERSION *Version,
-                   const CSSM_API_MEMORY_FUNCS *MemoryFuncs,
-                   uint32 SubserviceID,
-                   CSSM_SERVICE_TYPE SubServiceType,
-                   CSSM_ATTACH_FLAGS AttachFlags,
-                   CSSM_KEY_HIERARCHY KeyHierarchy,
-                   CSSM_FUNC_NAME_ADDR *FunctionTable,
-                   uint32 NumFunctionTable,
-                   const void *,
-                   CSSM_MODULE_HANDLE_PTR NewModuleHandle)
-{
-    BEGIN_API
-    Required(NewModuleHandle) = gManager().getModule(Guid::required(ModuleGuid))->attach(
-                                  Required(Version),
-                                  SubserviceID, SubServiceType,
-                                  Required(MemoryFuncs),
-                                  AttachFlags,
-                                  KeyHierarchy,
-                                  FunctionTable, NumFunctionTable
-                                  );
-    END_API(CSSM)
-}
-
-CSSM_RETURN CSSMAPI
-CSSM_ModuleDetach (CSSM_MODULE_HANDLE ModuleHandle)
-{
-    BEGIN_API
-    Attachment *attachment = &HandleObject::findAndKill<Attachment>(ModuleHandle, CSSMERR_CSSM_INVALID_ADDIN_HANDLE);
-    attachment->detach(true);          // expect locked, will unlock
-    // the attachment is now off the maps, known idle, and unhooked
-    delete attachment;
-    END_API(CSSM)
-}
-
-
-CSSM_RETURN CSSMAPI
-CSSM_SetPrivilege (CSSM_PRIVILEGE Privilege)
-{
-    BEGIN_API
-    gManager().setPrivilege(Privilege);
-    END_API(CSSM)
-}
-
-CSSM_RETURN CSSMAPI
-CSSM_GetPrivilege (CSSM_PRIVILEGE *Privilege)
-{
-    BEGIN_API
-    Required(Privilege) = gManager().getPrivilege();
-    END_API(CSSM)
-}
-
-
-CSSM_RETURN CSSMAPI
-CSSM_GetModuleGUIDFromHandle (CSSM_MODULE_HANDLE ModuleHandle,
-                              CSSM_GUID_PTR ModuleGUID)
-{
-    BEGIN_API
-    Attachment &attachment = HandleObject::findAndLock<Attachment>(ModuleHandle, CSSMERR_CSSM_INVALID_ADDIN_HANDLE);
-    StLock<Mutex> _(attachment, true);
-    Required(ModuleGUID) = attachment.module.myGuid();
-    END_API(CSSM)
-}
-
-CSSM_RETURN CSSMAPI
-CSSM_GetSubserviceUIDFromHandle (CSSM_MODULE_HANDLE ModuleHandle,
-                                 CSSM_SUBSERVICE_UID_PTR SubserviceUID)
-{
-    BEGIN_API
-    Attachment &attachment = HandleObject::findAndLock<Attachment>(ModuleHandle, CSSMERR_CSSM_INVALID_ADDIN_HANDLE);
-    StLock<Mutex> _(attachment, true);
-    CSSM_SUBSERVICE_UID &result =  Required(SubserviceUID);
-    result.Guid = attachment.module.myGuid();
-    result.Version = attachment.pluginVersion();
-    result.SubserviceId = attachment.subserviceId();
-    result.SubserviceType = attachment.subserviceType();
-    END_API(CSSM)
-}
-
-
-CSSM_RETURN CSSMAPI
-CSSM_ListAttachedModuleManagers (uint32 *NumberOfModuleManagers,
-                                 CSSM_GUID_PTR)
-{
-    BEGIN_API
-    *NumberOfModuleManagers = 0;    // EMMs not implemented
-    END_API(CSSM)
-}
-
-CSSM_RETURN CSSMAPI
-CSSM_GetAPIMemoryFunctions (CSSM_MODULE_HANDLE AddInHandle,
-                            CSSM_API_MEMORY_FUNCS_PTR AppMemoryFuncs)
-{
-    BEGIN_API
-    Attachment &attachment = HandleObject::findAndLock<Attachment>(AddInHandle, CSSMERR_CSSM_INVALID_ADDIN_HANDLE);
-    StLock<Mutex> _(attachment, true);
-    Required(AppMemoryFuncs) = attachment;
-    END_API(CSSM)
-}