[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
Displays a basic verb icon.
AP_M_FLUSH
Displays a mapped verb icon.
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.