|
CSSM_ModuleAttach(3)
Contents |
CSSM_ModuleAttach - Attach and verify a service provider
module (CDSA)
# include <cdsa/cssm.h>
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 *Reserved, CSSM_MODULE_HANDLE_PTR
NewModuleHandle)
Common Security Services Manager library (libcssm.so)
A pointer to the CSSM_GUID structure containing the global
unique identifier for the CSP module. The major and minor
version number of CDSA that the application is compatible
with. A structure containing pointers to the memory routines.
A SubServiceID identifying a particular subservice
within the module. Subservice IDs can be obtained from MDS
or gleaned from insertion events reported through the
callback function installed through CSSM_ModuleLoad().
Modules that provide only one service can use zero as
their subservice ID. A service mask describing the type
of service the caller is requesting of the service
provider module. A mask representing the caller's request
for session-specific services. The CSSM_KEY_HIERARCHY
option directing CSSM what embedded key to use when verifying
integrity of the named module. A table of functionname
and API function-pointer pairs. The caller provides
the name of the functions as input. The corresponding API
function pointers are returned on output. The function
table allows dynamic linking of CDSA interfaces, including
interfaces to Elective Module Managers (EMMs), which are
transparently loaded by CSSM during CSSM_ModuleAttach().
The number of entries in the FunctionTable parameter. If
no FunctionTable is provided, this value must be zero.
This field is reserved for future use. It should always be
set to zero A new module handle that can be used to interact
with the requested service provider. The value will be
set to CSSM_INVALID_HANDLE if the function fails.
This function attaches the service provider module and
verifies that the version of the module expected by the
application is compatible with the version on the system.
The module can implement subservices (described in your
service provider's documentation). The caller can specify
a specific subservice provided by the module.
If the subservice is supported as part of the CSSM framework
as well as by an EMM, ModuleAttach attaches the Service
Provider to the CSSM framework. If the subservice is
supported only by an EMM, ModuleAttach loads the appropriate
EMM. The service provider is given an indication of
whether it is being attached to the CSSM framework or an
EMM.
The caller can provide a function table containing function
names for the desired services. On output each function
name is matched with an API function pointer. The
caller can use the pointers to invoke service module operations
through CSSM.
A CSSM_RETURN value indicating success or specifying a
particular error condition. The value CSSM_OK indicates
success. All other values represent an error condition.
Errors are described in the CDSA technical standard. See
CDSA_intro(3). CSSMERR_CSSM_INVALID_ADDIN_FUNCTION_TABLE
CSSMERR_CSSM_EMM_AUTHENTICATE_FAILED CSSMERR_CSSM_ADDIN_AUTHENTICATE_FAILED
CSSMERR_CSSM_INVALID_SERVICE_MASK
CSSMERR_CSSM_MODULE_NOT_LOADED
CSSMERR_CSSM_INVALID_SUBSERVICEID CSSMERR_CSSM_INVALID_KEY_HIERARCHY
CSSMERR_CSSM_INVALID_GUID
Books
Intel CDSA Application Developer's Guide (see
CDSA_intro(3))
Reference Pages [Toc] [Back]
Functions: CSSM_ModuleDetach(3)
CSSM_ModuleAttach(3)
[ Back ] |