HP OpenVMS Systems Documentation

Content starts here
HP Open Source Security for OpenVMS Volume 1: Common Data Security Architecture > Elective Module Manager (EMM) API Functions


  Table of Contents




RefreshFunctionTable — Gets EMM-defined API function


# include <cssm.h>
CSSM_RETURN CSSMAPI RefreshFunctionTable
uint32 NumOfFuncNameAddr)


FuncNameAddrPtr (input/output)

A pointer to a table mapping function names to EMM-defined APIs.

NumOfFuncNameAddr (input)

The number of entries in the table referenced by FuncNameAddrPtr.


CSSM invokes this function to obtain the EMM-defined API function. The table is returned to CSSM in FuncNameAddrPtr and CSSM returns the table to the application. The application uses this table to invoke the security services defined by the EMM's service category. CSSM must obtain and forward the API table to the application on behalf of the EMM because the application is not aware of the optional nature of the EMM. Applications use CSSM to obtain the API function table for basic module managers and elective module managers, providing a uniform application programming model.

If the Elective Module Manager needs the service provider's SPI function table in order to initialize the API function table, the EMM can obtain the SPI function table by invoking the CSSM-provided service cssm_GetAttachFunctions(). The service module may implement only a subset of the defined functions and the EMM may wish to manage these functions in a particular manner through the API mapping. The elective module manager uses the SPI function table to dispatch application calls for service to attached modules.

Multiple applications and multiple instances of a service module can be concurrently active. The single elective module manager is responsible for managing all of these concurrent sessions. After completing initialization of the API function table, the EMM returns the refreshed API table to 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.



Intel CDSA Application Developer's Guide