HPlogo SNA IMF Programmer's Reference Manual: HP 3000 MPE/iX Computer Systems > Chapter 4 Intrinsics Used with No-Wait I/O

IODONTWAIT

» 

Technical documentation

» Feedback

 » Table of Contents

 » Glossary

 » Index

For SNA IMF/V only. IODONTWAIT provides the status of a previous I/O operation.

Syntax

                    IV      LA       I        L
IODONTWAIT       (filenum, target, tcount, cstation)

Parameters

filenum (input)

Integer identifier specifying the file number or SNA IMF terminalid for which an I/O request is pending. If you specify zero, IODONTWAIT checks to see if any no-wait I/O request in your program has completed. filenum is a required parameter.

target (input)

Logical array. The target parameter has no meaning for SNA IMF. If you omit this parameter, be sure to retain the comma.

tcount (output)

Integer. The tcount parameter has no meaning for SNA IMF. If you omit this parameter, be sure to retain the comma.

cstation (output)

Integer that can contain selected SNA IMF result codes. The codes returned in cstation could, with wait I/O, be returned through the result parameter of either the RECV3270 or the TRAN3270 intrinsic. Several other result codes may be returned through IODONTWAIT, instead of either RECV3270 or TRAN3270, if the condition causing them arises during I/O.

The following codes can be returned through the cstation parameter of the IODONTWAIT intrinsic:

0 = Successful completion.

23 = Keyboard enable timeout has occurred.

24 = Response timeout has occurred.

91 = LU.T1 bind received.

92 = Unbind received.

93 = LU.T3 bind received.

94 = HOLDPRINT timer has expired (10 minutes).

95 = Host application requests PA key entry.

301 = Illegal DB register.

303 = Invalid SNA catalog file.

305 = Parameter bounds violation.

307 = Session is active.

308 = Session is inactive.

310 = Bad PI in RH.

311 = Bad BCI in RH.

312 = Bad ECI in RH.

313 = Bad EDI in RH.

314 = Reserved bits in RH must be set to zero.

315 = Internal Error.

316 = Invalid RU size.

319 = LU-SSCP message pending.

320 = RU buffer too small.

323 = Negative LU-SSCP response.

333 = Invalid InfoWanted parameter.

336 = Link shutdown occurred.

337 = Protocol shutdown requested.

338 = Quiesce shutdown requested.

340 = No stack space.

348 = Invalid data offset.

351 = Link Failure occurred.

352 = Transport Internal Error Shutdown.

353 = Hierarchical Shutdown.

400 = Expedited response pending.

401 = Data traffic inactive.

402 = SDT request not received.

403 = Invalid session control protocol.

404 = RQR request pending.

405 = STSN request not pending.

407 = Unsupported CRV request/response.

408 = Unsupported session control request.

Description

Use IODONTWAIT with no-wait MPE V I/O. IODONTWAIT either tells your program that a previous I/O operation has completed, or it returns before completion. IODONTWAIT is also an MPE V and MPE XL intrinsic. See the MPE V Intrinsics Reference Manual or the MPE XL Intrinsics Reference Manual for more information.

If you open an SNA IMF/V device, specifying no-wait I/O in your call to the OPEN3270 intrinsic, you must follow every RECV3270 and TRAN3270 request with a call to either IODONTWAIT or IOWAIT, before you can call any other intrinsic. You can delay the call to IODONTWAIT or IOWAIT as long as necessary to allow effective I/O and processing overlap.

The IODONTWAIT intrinsic acts the same as IOWAIT with one exception: if your program calls IODONTWAIT, and no I/O has completed, control is returned to your program. (Condition code CCE is returned, and a zero is returned in the cstation parameter.) If your program calls IOWAIT, and no I/O has completed, your program is suspended until some I/O completes.

You can call IODONTWAIT from programs written in SPL, COBOL II, Pascal, and FORTRAN.

SPL Procedure Declaration

INTEGER PROCEDURE IODONTWAIT (FILENUM, TARGET, TCOUNT, CSTATION);

INTEGER FILENUM,TCOUNT;

LOGICAL CSTATION;

LOGICAL ARRAY TARGET;

OPTION VARIABLE;

IODONTWAIT has a functional return, as shown below in the calling sequence. FNUM returns an integer that represents the terminalid for which the I/O operation completed. If no I/O completed, zero is returned in FNUM.

SPL Calling Sequence

FNUM:=IODONTWAIT (FILENUM, TARGET, TCOUNT, CSTATION);

Condition Codes

CCE

Request granted. If the functional return is non-zero, then I/O completion occurred with no errors. If the return is zero, then no I/O has completed.

CCG

An end of file was encountered.

CCL

Request denied. Normal I/O completion did not occur because there were no I/O requests pending, a parameter error occurred, or an abnormal I/O completion occurred.

Feedback to webmaster