ESM Module Procedure Table. More...
Data Fields | |
| mf_uns32 | Version |
| ESM procedure table version, SafESM_PT_VER (1). | |
| mf_uns32(* | Init )(const mf_uns32 *Index, struct SafEsmConfig *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 Index, mf_s32 Type, void *Data, void *Reserved) |
| mf_uns32(* | Exit )(const mf_uns32 *Index, void *Reserved) |
| mf_uns32(* | Admin )(struct safpb_parameter_block *Request, void *Reserved) |
| mf_uns32(* | Reserved )() |
ESM Module Procedure Table.
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.
| mf_uns32(* Init)(const mf_uns32 *Index, struct SafEsmConfig *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.
Referenced by SafEsmInit().
| mf_uns32(* Info)(const char **Name, mf_uns32 *IFVersion, const unsigned char **Signature, void *Reserved) |
Provide a documentation string and interface version information.
Referenced by SafEsmInit().
| mf_uns32(* Verify)(struct safpb_parameter_block *Request, void *Reserved) |
Respond to an ESF VERIFY request.
Referenced by SafEsmCVerify().
| mf_uns32(* Auth)(struct safpb_parameter_block *Request, void *Reserved) |
Respond to an ESF AUTH request.
Referenced by SafEsmCAuth().
| mf_uns32(* XAuth)(struct safpb_parameter_block *Request, void *Reserved) |
Respond to an ESF XAUTH request.
Referenced by SafEsmCXAuth().
| 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.
Referenced by SafEsmCUpdate().
| mf_uns32(* Status)() |
Get status of ESM Module and associated ESM.
Callback to notify an ESM Module of an administrative control event. Control events might include being enabled or disabled, for example. This procedure may also be used to request a change in the ESM Module's behavior.
Referenced by SafEsmCControl().
Notify an ESM Module that the host environment is exiting.
Referenced by SafEsmExit().
| mf_uns32(* Admin)(struct safpb_parameter_block *Request, void *Reserved) |
Respond to an ESF ADMIN request.
Referenced by SafEsmCAdmin().
| mf_uns32(* Reserved)() |
A placeholder for future expansion.