24.12.2013 Views

TOPS-10 Monitor Calls Manual Volume 2 AA-K039D ... - Trailing-Edge

TOPS-10 Monitor Calls Manual Volume 2 AA-K039D ... - Trailing-Edge

TOPS-10 Monitor Calls Manual Volume 2 AA-K039D ... - Trailing-Edge

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

IPCFR. [CALLI 142]<br />

22.73 IPCFR. [CALLI 142]<br />

FUNCTION<br />

Retrieves a packet from the IPCF input queue for the calling process.<br />

The IPCF facility and the format of the argument blocks are described<br />

in Chapter 7.<br />

CALLING SEQUENCE<br />

MOVE ac, [XWD len,addr]<br />

IPCFR. ac,<br />

error return<br />

skip return<br />

addr:<br />

EXP<br />

BLOCK<br />

XWD<br />

flags<br />

2<br />

len2,addr2<br />

addr:<br />

BLOCK len2<br />

In the calling sequence, the program supplies the following variables:<br />

o<br />

o<br />

o<br />

len is the length of the packet header block.<br />

addr is the address of the packet header block.<br />

flags is the flag word (.IPCFL) in the packet header block.<br />

o len2 is the length of the packet to be retrieved. If the<br />

packet is going to be a page of data, this field must contain<br />

512 or an error code is returned in the ac and the IPCFR.<br />

monitor call takes the error return.<br />

o<br />

addr2 is the address of the packet message block.<br />

The retrieving process should check the contents of the flag word. If<br />

there is an error condition associated with the packet, it will be<br />

indicated in bits 24-29. Error codes rece~ved in the ac indicate an<br />

error with the monitor call (for example, if the-packet was not<br />

received) .<br />

If the IPCFR. monitor call is issued but there are no packets in the<br />

input queue, the job cannot continue executing until a packet is<br />

placed in the input queue. To prevent the job from blocking, bit 0<br />

(IP.CFB) should be set in the flag word. When IP.CFB is set and there<br />

are no packets in the input queue when the IPCFR. call is issued, the<br />

call will take the error return and the monitor will return error code<br />

3 (IPCNT%) in the ac.<br />

When a process is retrieving a page of data, bit 19 (IP.CFV) in the<br />

flag word must be set and the length of the data message block (left<br />

half of . IPCFP) must contain <strong>10</strong>00 or the IPCFR. monitor call fails<br />

and the monitor returns error code 21 (IPCPR%) in the ac.<br />

If the retrieved packet is shorter than the number of reserved words<br />

(that is, len2), the packet is retrieved and the extra words are left<br />

unchanged. -rt; however, the number of reserved words is not long<br />

enough to store the packet, the IPCFR. monitor call takes the error<br />

return and the monitor returns error code 5 (IPCTL%) in the ac. To<br />

prevent this error, the receiver can set bit 4 (IP.CFT) in the flag<br />

word indicating that, if the packet is too long for the reserved<br />

space, the message should be truncated.<br />

22-188

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!