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

IODONTWAIT3270

» 

Technical documentation

» Feedback

 » Table of Contents

 » Glossary

 » Index

For SNA IMF/XL only. IODONTWAIT3270 provides the status of a previous I/O operation.

Syntax

                    IV      LA       I        L
IODONTWAIT3270   (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, IODONTWAIT3270 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. Do not omit this parameter. It has no meaning for SNA IMF, but you must include it in the call, because IODONTWAIT3270 must pass it on to IODONTWAIT.

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 IODONTWAIT3270, 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 IODONTWAIT3270 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 IODONTWAIT3270 with no-wait MPE XL I/O. IODONTWAIT3270 either tells your program that a previous I/O operation has completed, or it returns before completion. IODONTWAIT3270 calls IODONTWAIT, which is 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/XL 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 IODONTWAIT3270 or IOWAIT3270, before you can call any other intrinsic. You can delay the call to IODONTWAIT3270 or IOWAIT3270 as long as necessary to allow effective I/O and processing overlap.

The IODONTWAIT3270 intrinsic acts the same as IOWAIT3270 with one exception: if your program calls IODONTWAIT3270, 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 IOWAIT3270, and no I/O has completed, your program is suspended until some I/O completes.

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

SPL Procedure Declaration

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

INTEGER FILENUM,TCOUNT;

LOGICAL CSTATION;

LOGICAL ARRAY TARGET;

OPTION VARIABLE;

IODONTWAIT3270 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:=IODONTWAIT3270 (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