|
|
SNA IMF Programmer's Reference Manual: HP 3000 MPE/iX Computer SystemsChapter 4 Intrinsics Used with No-Wait I/O |
|
Table of Contents 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:
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:
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:
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.
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.
|
|