All ESM Modules export a default entry point, which is invoked when the module is loaded. (Note that it may be called more than once, so if it needs to do any one-time initialization, it will have to handle that itself.) This entry point is invoked with no parameters. It returns a table of function pointers (procedure pointers in COBOL), defined here. The ESM Interface will use these pointers for subsequent calls.
The table has a version, which is currently 1.
The equivalent COBOL definition:
01 ESM-procedure-table. 03 esm-version pic x(4) comp-5 value 1. 03 esm-Init procedure-pointer. 03 esm-Info procedure-pointer. 03 esm-Verify procedure-pointer. 03 esm-Auth procedure-pointer. 03 esm-XAuth procedure-pointer. 03 esm-Update procedure-pointer. 03 esm-Status procedure-pointer. 03 esm-Control procedure-pointer. 03 esm-Exit procedure-pointer. 03 esm-Admin procedure-pointer. 03 esm-Reserved procedure-pointer value null.
Definition at line 1150 of file saf-esm.h.
Data Fields | |
mf_uns32 | Version |
ESM procedure table version, SafESM_PT_VER (1). | |
mf_uns32(* | Init )(const mf_uns32 *Index, struct cas_esm_config_internal *Config, const struct SafEsmApi *Api, void *Reserved) |
mf_uns32(* | Info )(const char **Name, mf_uns32 *IFVersion, const unsigned char **Signature, void *Reserved) |
mf_uns32(* | Verify )(struct safpb_parameter_block *Request, void *Reserved) |
mf_uns32(* | Auth )(struct safpb_parameter_block *Request, void *Reserved) |
mf_uns32(* | XAuth )(struct safpb_parameter_block *Request, void *Reserved) |
mf_uns32(* | Update )(mf_s32 Type, struct safpb_parameter_block *Request, void *Reserved) |
mf_uns32(* | Status )() |
mf_uns32(* | Control )() |
mf_uns32(* | Exit )(const mf_uns32 *Index, void *Reserved) |
mf_uns32(* | Admin )(struct safpb_parameter_block *Request, void *Reserved) |
mf_uns32(* | Reserved )() |
mf_uns32(* Init)(const mf_uns32 *Index, struct cas_esm_config_internal *Config, const struct SafEsmApi *Api, void *Reserved) |
Initialize and configure the ESM Module. Typically a module will use this function to connect to its ESM.
mf_uns32(* Info)(const char **Name, mf_uns32 *IFVersion, const unsigned char **Signature, void *Reserved) |
Provide a documentation string and interface version information.
mf_uns32(* Verify)(struct safpb_parameter_block *Request, void *Reserved) |
Respond to an ESF VERIFY request.
mf_uns32(* Auth)(struct safpb_parameter_block *Request, void *Reserved) |
Respond to an ESF AUTH request.
mf_uns32(* XAuth)(struct safpb_parameter_block *Request, void *Reserved) |
Respond to an ESF XAUTH request.
mf_uns32(* Update)(mf_s32 Type, struct safpb_parameter_block *Request, void *Reserved) |
Callback to notify an ESM Module of an external security update event.
mf_uns32(* Status)() |
Get status of ESM Module and associated ESM.
mf_uns32(* Control)() |
Callback to notify an ESM Module of an administrative control event. Control events include being enabled or disabled, for example. This procedure may also be used to request a change in the ESM Module's behavior.
Notify an ESM Module that the host environment is exiting.
mf_uns32(* Admin)(struct safpb_parameter_block *Request, void *Reserved) |
Respond to an ESF ADMIN request.
mf_uns32(* Reserved)() |
A placeholder for future expansion.