A pointer to a table mapping function names to EMM-definedAPIs.
NumOfFuncNameAddr (input)
The number of entries in the table referenced by FuncNameAddrPtr.
DESCRIPTIONCSSM invokes this function to obtain the EMM-defined API function.The table is returned to CSSM in FuncNameAddrPtr andCSSM returns the table to the application. The application usesthis table to invoke the security services defined by the EMM'sservice category. CSSM must obtain and forward the API table to theapplication on behalf of the EMM because the application is notaware of the optional nature of the EMM. Applications use CSSM toobtain the API function table for basic module managers and electivemodule managers, providing a uniform application programming model.
If the Elective Module Manager needs the service provider'sSPI function table in order to initialize the API function table,the EMM can obtain the SPI function table by invoking the CSSM-providedservice cssm_GetAttachFunctions(). The service module may implement only a subset of thedefined functions and the EMM may wish to manage these functionsin a particular manner through the API mapping. The elective modulemanager uses the SPI function table to dispatch application callsfor service to attached modules.
Multiple applications and multiple instances of a servicemodule can be concurrently active. The single elective module manageris responsible for managing all of these concurrent sessions. Aftercompleting initialization of the API function table, the EMM returnsthe refreshed API table to CSSM.
RETURN VALUEA CSSM_RETURN value indicating success or specifying a particularerror condition. The value CSSM_OK indicates success. All othervalues represent an error condition. ERRORSErrors are described in the CDSA Technical Standard. SEE ALSOBooks