Sample Install Program

{

return calloc(count,size);

}

CSSM_RETURN uninstall_addin(); #endif

CSSM_API_MEMORY_FUNCS

DBMemoryFunctions = { ex_malloc, ex_free, ex_realloc, ex_calloc };

void main(argc, argv) int argc; char* argv[];

{

CSSM_VERSION cssm_version;

CSSM_VERSION dl_version;

CSSM_VERSION ex_version;

CSSM_VERSION access_version;

CSSM_DL_WRAPPEDPRODUCT_INFO access_desc;

CSSM_DLSUBSERVICE sub_service;

CSSM_SERVICE_INFO service_info;

CSSM_MODULE_INFO module_info; CSSM_ERROR_PTR error_ptr = NULL; char cpcmd[PATH_LEN]; CSSM_RETURN result;

/* check super-user capability */ if (getuid() != 0) {

printf(“Super-user capability is required to install/uninstall a CDSA add-in module.\n”);

76

Appendix A