HP-UX SNAplus2 R7 APPC Programmer's Guide

APPC Conversation Verbs
MC_RECEIVE_AND_POST and RECEIVE_AND_POST
A primary_rc parameter with a value other than
AP_OK
(for example,
AP_DEALLOC_NORMAL)
A what_rcvd parameter that includes SEND, CONFIRM, CONFIRM_SEND, or CONFIRM_DEALLOCATE
To determine if end of data has been reached, the local TP reissues one of the RECEIVE verbs. If the new
primary_rc parameter contains
AP_OK and what_rcvd contains
AP_DATA
or AP_DATA_INCOMPLETE
, end of data has
not been reached. If, however, end of data has been reached, the primary_rc or what_rcvd parameter will indicate
the cause of the end of data.
4.9.4 Testing the what_rcvd Parameter
The local TP can use any of the [MC_]RECEIVE verbs to determine whether the partner TP has data to send,
seeks conrmation, or has changed the conversation state, without receiving any data. To do this, it issues the
[MC_]RECEIVE verb with the max_len parameter set to
0 (zero), and then (if the verb returns with a primary_rc
of
AP_OK) tests the what_rcvd parameter.
4.10 MC_RECEIVE_AND_POST and RECEIVE_AND_POST
The MC_RECEIVE_AND_POST or RECEIVE_AND_POST verb receives application data and status information
asynchronously. This enables the TP to proceed with processing while data is still arriving at the local LU.
Note
This verb can be used only in a half-duplex conversation; it is not valid in a full-duplex
conversation.
WINDOWS
[MC_]RECEIVE_AND_POST is supported on Win32 systems, but not on Win16 systems. Instead of using
[MC_]RECEIVE_AND_POST, Win16 applications should use [MC_]RECEIVE_AND_WAIT issued to the asyn-
chronous APPC entry point, which provides the same function.
4.10.1 VCB Structure: MC_RECEIVE_AND_POST
UNIX
The denition of the VCB structure for the MC_RECEIVE_AND_POST verb is as follows:
typedef struct mc_receive_and_post
{
AP_UINT16 opcode;
unsigned char opext;
unsigned char format; /* Reserved */
AP_UINT16 primary_rc;
AP_UINT32 secondary_rc;
unsigned char tp_id[8];
AP_UINT32 conv_id;
AP_UINT16 what_rcvd;
unsigned char rtn_status;
unsigned char reserv4;
unsigned char rts_rcvd;
160