[MC_]SEND_EXPEDITED_DATA

The [MC_]SEND_EXPEDITED_DATA verb puts data in the local LU's expedited send buffer for transmission to the partner transaction program. This data can arrive at the partner transaction program before non-expedited data that was sent earlier.

VCB Structure

typedef struct send_expedited_data
{
 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  */
 unsigned char      rts_rcvd;              /* request to send received */
 unsigned char      expd_data_rcvd;        /* expedited data received  */
 unsigned short     dlen;                  /* data length              */
 unsigned char     *dptr;                  /* pointer to data          */
 unsigned char      reserve4[2];           /* TP identifier            */
} SEND_EXPEDITED_DATA;
typedef struct mc_send_expedited_data
{
 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    */
 unsigned char     rts_rcvd;             /* request to send received   */
 unsigned char     expd_data_rcvd;       /* expedited data received    */
                                         /* transaction plan           */
                                         /* data                       */
 unsigned short    dlen;                 /* actual length of received  */
                                         /* data                       */
 unsigned char    *dptr;                 /* pointer to data buffer     */
 unsigned char     reserv4[2];           /* reserved                   */
} MC_SEND_EXPEDITED_DATA

Supplied Parameters

The transaction program supplies the following parameters to Personal Communications:
opcode
AP_B_SEND_EXPEDITED_DATA
Displays a basic verb icon.
AP_M_SEND_EXPEDITED_DATA
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 conversations, 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 [MC_]ALLOCATE verb in the invoking transaction program or by RECEIVE_ALLOCATE in the invoked transaction program.

dlen
Number of bytes of data to be put in the local LU's send buffer.

Range: 1–86

dptr
Address of data buffer containing error information. The application can append data to the end of the VCB, in which case dptr must be set to NULL.

Note that the data is unformatted—no 2-byte length field (LL) is present.

Returned Parameters

If the verb executes successfully, Personal Communications returns the following parameters:
primary_rc
AP_OK
rts_rcvd
Request-to-send-received indicator.
  • AP_YES
  • AP_NO
expd_data_rcvd
Expedited-data-received indicator. This indication continues to be set to AP_YES until a RECEIVE_EXPEDITED_DATA is issued.
  • AP_YES
  • AP_NO
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 the remote LU does not support expedited data, Personal Communications returns the following parameter:
primary_rc
AP_EXPD_NOT_SUPPORTED_BY_LU
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
  • AP_SEND_EXPD_INVALID_LENGTH
  • AP_RCV_EXPD_INVALID_LENGTH
    Displays a mapped verb icon.
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_EXPD_DATA_BAD_CONV_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_ALLOCATION_ERROR

  • AP_SECURITY_NOT_VALID
  • AP_TRANS_PGM_NOT_AVAIL_RETRY
  • AP_TRANS_PGM_NOT_AVAIL_NO_RTRY
  • AP_TP_NAME_NOT_RECOGNIZED
  • AP_PIP_NOT_ALLOWED
  • AP_PIP_NOT_SPECIFIED_CORRECTLY
  • AP_CONVERSATION_TYPE_MISMATCH
  • AP_SYNC_LEVEL_NOT_SUPPORTED

AP_CONV_FAILURE_NO_RETRY
AP_CONV_FAILURE_RETRY
AP_DEALLOC_ABEND_PROG
AP_DEALLOC_ABEND_SVC
AP_DEALLOC_ABEND_TIMER
AP_TP_BUSY
AP_CONVERSATION_TYPE_MIXED
AP_DUPLEX_TYPE_MIXED
AP_UNEXPECTED_SYSTEM_ERROR
AP_CANCELLED