[MC_]FLUSH
The FLUSH verb sends the contents of the local LU's send buffer to the partner LU (and transaction program). If the send buffer is empty, no action takes place.
VCB Structure
typedef struct flush
{
unsigned short opcode; /* verb operation code */
unsigned char opext; /* verb extension code */
unsigned char format; /* format */
unsigned short primary_rc; /* primary return code */
unsigned long secondary_rc; /* secondary return code */
unsigned char tp_id[8]; /* TP identifier */
unsigned long conv_id; /* conversation identifier */
} FLUSH;
typedef struct mc_flush
{
unsigned short opcode; /* verb operation code */
unsigned char opext; /* verb extension code */
unsigned char format; /* format */
unsigned short primary_rc; /* primary return code */
unsigned long secondary_rc; /* secondary return code */
unsigned char tp_id[8]; /* TP identifier */
unsigned long conv_id; /* conversation identifier */
} MC_FLUSH;Supplied Parameters
The transaction processor supplies the following parameters to Personal Communications:
- opcode
- AP_B_FLUSH

AP_M_FLUSH
- opext
- AP_BASIC_CONVERSATION or AP_MAPPED_CONVERSATION. For nonblocking operation,
this flag can be ORed together with AP_NON_BLOCKING.
On full-duplex conversation, this flag must be ORed together with AP_FULL_DUPLEX_CONVERSATION.
- format
- Identifies the format of the VCB. Set this field to zero to specify the version of the VCB listed above.
- tp_id
- Identifier for the local transaction program. The value of this parameter was returned by the TP_STARTED verb in the invoking transaction program or by RECEIVE_ALLOCATE in the invoked transaction program.
- conv_id
- Conversation identifier. The value of this parameter was returned by the ALLOCATE verb in the invoking transaction program or by RECEIVE_ALLOCATE in the invoked transaction program.
Returned Parameters
If the verb executes successfully, Personal Communications returns the following parameter:
- primary_rc
- AP_OK
If the verb is nonblocking and has not completed, Personal Communications returns the following
parameters:
- primary_rc
- AP_OPERATION_INCOMPLETE
- opext
- AP_OPERATION_INCOMPLETE_FLAG
If the verb does not execute because of a parameter error, Personal Communications returns
the following parameters:
- primary_rc
- AP_PARAMETER_CHECK
- secondary_rc
- AP_BAD_CONV_ID
AP_BAD_TP_ID
If the conversation is in the wrong state when the transaction program
issues this verb, Personal Communications returns the following parameters:
- primary_rc
- AP_STATE_CHECK
- secondary_rc
- AP_FLUSH_NOT_SEND_STATE
The conditions generating the following possible primary return codes (primary_rc) and indented secondary return codes (secondary_rc) are described in APPC Common Return Codes.
AP_TP_BUSY
AP_CONVERSATION_TYPE_MIXED
AP_DUPLEX_TYPE_MIXED
AP_UNEXPECTED_SYSTEM_ERROR
AP_ERROR_INDICATION
- AP_ALLOCATION_ERROR_PENDING
- AP_DEALLOC_ABEND_PROG_PENDING
- AP_DEALLOC_ABEND_SVC_PENDING
- AP_DEALLOC_ABEND_TIMER_PENDING
- AP_UNKNOWN_ERROR_TYPE_PENDING
Note:
For performance reasons, the SNA API client can return a successful
return code on the [MC_]SEND_DATA verb without forwarding
it to the server. When a subsequent [MC_]FLUSH verb
is issued, the [MC_]SEND_DATA is forwarded to the server
for processing. If there is a [MC_]SEND_DATA error return
code, it is returned on the [MC_]FLUSH verb. See [MC_]SEND_DATA for a list of error return codes.