CSSM_MODULE_INFO

This structure aggregates all service descriptions about all service types of a module implementation.

typedef struct cssm_module_info {
    CSSM_VERSION Version;              /* Module version */
    CSSM_VERSION CompatibleCSSMVersion;/* Module written for CSSM version */
    CSSM_STRING Description;           /* Module description */
    CSSM_STRING Vendor;                /* Vendor name, etc */
    CSSM_MODULE_FLAGS Flags;   /* Flags to describe and control module use */
    CSSM_SERVICE_MASK ServiceMask;     /* Bit mask of supported services */
    uint32 NumberOfServices;           /* Num of services in ServiceList */
    CSSM_SERVICE_INFO_PTR ServiceList;/* Pointer to list of service infos */
    void* Reserved;
} CSSM_MODULE_INFO, *CSSM_MODULE_INFO_PTR;

Definitions:

Version
The major and minor version numbers of this service provider module.
CompatibleCSSMVersion
The version of OCSF that this module was written to.
Description
A text description of this module and its functionality.
Vendor
The name and description of the module vendor.
Flags
Characteristics of this module, such as whether or not it is threadsafe.
ServiceMask
A bit-mask identifying the types of services available in this module.
NumberOfServices
The number of services for which information is provided. Multiple descriptions (as subservices) can be provided for a single service category.
ServiceList
An array of pointers to the service information structures. This array contains NumberOfServices entries.
Reserved
This field is reserved for future use. It should always be set to NULL.