HPlogo SNA IMF Programmer's Reference Manual: HP 3000 MPE/iX Computer Systems

Chapter 4 Intrinsics Used with No-Wait I/O

» 

Technical documentation

» Feedback

 » Table of Contents

 » Glossary

 » Index

No-wait I/O, or unblocked I/O, allows a program to issue I/O requests and continue processing without waiting until the I/O has completed. No-wait I/O overlaps the processing of multiple I/O requests, overlaps I/O with CPU processing, and responds to the completion of the first of several outstanding I/O requests.

All of the SNA IMF standard (wait) MPE I/O intrinsics can be used with no-wait I/O. The following SNA IMF intrinsics can be used only with no-wait I/O:

ABORT3270

IODONTWAIT

(SNA IMF/V only)

IODONTWAIT3270

(SNA IMF/XL only)

IOWAIT

(SNA IMF/V only)

IOWAIT3270

(SNA IMF/XL only)

The rules for using these intrinsics are consistent with the rules for using MPE V and MPE XL intrinsics. In fact, two of the SNA IMF intrinsics (IOWAIT and IODONTWAIT) are MPE V and MPE XL intrinsics. Their use as SNA IMF intrinsics differs from their use as MPE intrinsics in two ways:

  1. The cstation parameter of the IOWAIT and IODONTWAIT intrinsics is interpreted as the result parameter of the RECV3270 and TRAN3270 intrinsics.

  2. The tcount and target parameters of the IOWAIT and IODONTWAIT intrinsics are meaningless in SNA IMF. They are optional in calls to IOWAIT and IODONTWAIT, but the tcount parameter must be passed in calls to the SNA IMF/XL intrinsics IOWAIT3270 and IODONTWAIT3270.

The MPE intrinsics IOWAIT and IODONTWAIT can be called only from SNA IMF/V. IOWAIT and IODONTWAIT cannot be called directly from SNA IMF/XL, so you must use the SNA IMF/XL intrinsics IOWAIT3270 and IODONTWAIT3270, which in turn call the MPE intrinsics IOWAIT and IODONTWAIT.

The intrinsic descriptions in this chapter are listed in alphabetical order. Each description includes parameter definitions, a list of possible return codes that the intrinsic can generate, and the intrinsic calling sequence. Abbreviations above the parameters in the syntax descriptions indicate the data types of the parameters. The abbreviations are as follows:

I

Integer passed by reference

IV

Integer passed by value

L

Logical

LA

Logical Array

See Appendix A “Intrinsic Result Codes” for a complete list of all result codes returned in the result parameter of SNA IMF intrinsics.

The descriptions of IOWAIT, IOWAIT3270, IODONTWAIT, and IODONTWAIT3270 on the following pages show only the SPL calling sequences. For a description of how to use these intrinsics in FORTRAN, Pascal, COBOL II, or C, see the FORTRAN/3000 Reference Manual (MPE V), the FORTRAN 77/XL Reference Manual (MPE XL), the Pascal/3000 Reference Manual (MPE V), the Pascal Reference Manual (MPE XL), the COBOL II/3000 Reference Manual (MPE V), the COBOL II Reference Manual (MPE XL), or the C/XL Reference Manual (MPE XL).

No-wait MPE I/O requires MPE privileged mode (PM) capability. However, you do not need PM capability to write an SNA IMF application that uses no-wait I/O, because the SNA IMF intrinsics themselves have PM capability. When your application calls the SNA IMF OPEN3270 intrinsic with bit 15 of the flags parameter set to 1 (the no-wait I/O option), your program can call any of the SNA IMF intrinsics with no-wait I/O, whether or not you have PM capability.

If you do not have PM capability, SNA IMF intrinsics are the only intrinsics you can call with no-wait I/O. If you call, for example, the MPE FREAD intrinsic, your program will suspend processing until the I/O request has finished, even though you specified no-wait I/O in your OPEN3270 intrinsic call.

You need PM capability to call the MPE V and MPE XL intrinsic FOPEN from a program that uses no-wait I/0.

WARNING! The normal checks and limitations that apply to the standard users in MPE V and MPE XL are bypassed in privileged mode. It is possible for a privileged mode program to destroy file integrity, including the MPE V and MPE XL operating system software. Hewlett-Packard will investigate and attempt to resolve problems resulting from the use of privileged mode. This service, which is not provided under the standard Service Contract, is available on a time and materials billing basis. However, Hewlett-Packard will not support, correct, or attend to any modification to the MPE V and MPE XL operating system software.

If your program will use no-wait MPE I/O, it must be written in COBOL II, FORTRAN, Pascal, SPL, or C. The IOWAIT, IOWAIT3270, IODONTWAIT, and IODONTWAIT3270 intrinsics return a functional value, pass parameters by value, allow a variable number of parameters, and set condition codes. Neither COBOL nor BASIC has these capabilities.

NOTE: In the following discussion, "IOWAIT" is used to mean IOWAIT for SNA IMF/V and IOWAIT3270 for SNA IMF/XL. "IODONTWAIT" is used to mean IODONTWAIT for SNA IMF/V and IODONTWAIT3270 for SNA IMF/XL. Use the intrinsics that are appropriate to your software.
Feedback to webmaster