OSI/FTAM Programming Reference Manual

HP NonStop OSI/FTAM Programming Reference Manual528611-001
E-1
E MFM Procedures
This appendix contains detailed reference information for the module file management
(MFM) procedure calls: MFM_AWAITIOX_ and MFM_CANCELREQ_. These calls are
provided for NonStop FTAM programs using associations established in nowait mode.
Using MFM Procedure Calls
The external declarations for the current version of the MFM procedures are provided
in the system files $SYSTEM.SYSTEM.EXTDECS0 (TAL declarations) and
$SYSTEM.SYSTEM.CEXTDECS (C declarations). You must include a ?SOURCE
EXTDECS0 directive or #include CEXTDECS directive at the beginning of each
program module that calls these procedures.
Typically, your FTAM application contains a mixture of Guardian file-system, APS
general-support, and FTM protocol procedure calls. To complete nowait operations for
all these types of procedures, you use the MFM_AWAITIOX_ procedure, rather than
the Guardian AWAITIO or AWAITIOX procedure. The reason for this practice is that a
single request from your application can cause an FTM or APS procedure to make
multiple internal calls that perform I/O operations. Each of those internal calls has its
own completion, reported to the FTAM API, and the API reports completion to your
application after all internal calls are complete. If your application used the Guardian
AWAITIO or AWAITIOX procedure, it might be misled as to the actual completion
status of its request, and the FTAM API might not get the information it needs for
processing the internal calls. The safest strategy is to use the MFM_AWAITIOX_
procedure to wait for completion of all calls requiring I/O operations—even calls you
make to Guardian file-system procedures.
The MFM_CANCELREQ_ procedure is used to cancel a nowait operation started by a
previous FTM or APS procedure call.
If you are modifying an existing program that calls AWAITIOX, you can change the
AWAITIOX calls to MFM_AWAITIOX_ calls by altering the parameters to the format
specified in this appendix and by including the declaration for MFM_AWAITIOX_ from
$SYSTEM.SYSTEM.EXTDECS0. You can make similar alterations to change
CANCELREQ calls to MFM_CANCELREQ_ calls.
For general information about how to use the MFM_CANCELREQ_ and
MFM_AWAITIOX_ procedures, refer to the OSI/FTAM Programming Guide. For
information about the significance of condition codes, see the “Considerations”
subsections for each of the procedures in this appendix. For a description of status and
error values returned by MFM_AWAITIOX_ and MFM_CANCELREQ_ procedure calls,
refer to Appendix B, NonStop FTAM Initiator Error Messages and the OSI/AS
Programming Manual.