snalu62_send_expedited_data(3) — Subroutines
NAME
snalu62_send_expedited_data − Sends expedited data to the remote transaction program.
LIBRARY
/usr/shlib/libsnatprm.so
SYNOPSIS
#include <sna/snatprmdf.h>
STATUS_RTN snalu62_send_expedited_data(
RES_ID resource,
STATUS_VEC status_vec,
unsigned char ∗data,
UINT32 length,
UINT8 ∗rts_recv,
UINT8 ∗exp_data_recv,
ASYNC_INFO ∗wait_object
);
Valid Conversation States
HDX: All except Reset, Deallocate, and Deallocate-Pending
FDX: Send-Receive or Send-Only
SUPPLIED PARAMETERS
resource
A RES_ID structure specifying the resource ID assigned to the conversation by the interface. This ID is returned by the snalu62_allocate, snalu62_attach_listen, or snalu62_receive_allocate verb.
data
A pointer to a char buffer containing the data that the interface should send. The buffer should consist entirely of the data to be sent; no logical length (LL) field should be present.
length
A UINT32 value specifying the length of the data record, specified in the data parameter, to be transmitted to the remote transaction program. The valid length is 1 to 86 bytes. Any data in the data buffer beyond the length specified is ignored.
wait_object
A pointer to an ASYNC_INFO structure specifying whether the interface should process this verb in a blocking or non-blocking manner.
RETURNED PARAMETERS
status_vec
A pointer to a STATUS_VEC array to receive the completion status information.
rts_recv
A pointer to a UINT8 location to receive a boolean value indicating whether the remote transaction program has requested permission to send data. A value of TRUE (1) indicates the remote program is requesting to send data. A value of FALSE (0) indicates the remote program has not requested to send data. For full-duplex conversations, the interface always returns a value of FALSE for this parameter.
exp_data_recv
A pointer to a UINT8 location to receive a boolean value indicating whether an expedited data notification has been received. A value of TRUE (1) indicates an expedited data notification has been received. A value of FALSE (0) indicates no expedited data notification has been received.
DESCRIPTION
The interface returns the SNALU62_S_CONVEND return code when a send expedited data request is outstanding and the partner transaction program issues a normal or ABEND conversation deallocation. This code signals that the interface has closed the expedited-send queue. Any subsequent snalu62_send_expedited_data verbs also receive the SNALU62_S_CONVEND return code.
The possibility of blocking on this verb depends on whether the remote LU accepts the expedited data immediately. This depends on whether the remote LU already has undelivered expedited data and on whether the remote LU has buffer capabilities. If the remote LU has no undelivered expedited data, it accepts the new data immediately and this verb does not block. If the remote LU has undelivered expedited data but has available buffering, the remote LU accepts the data and this verb does not block. If the remote LU has undelivered expedited data and buffering is not available or the buffer is full, this verb blocks until the remote LU accepts the data. In all cases, no expedited data is lost.
RESTRICTIONS
None
RETURN VALUES
SNALU62_S_OKnormal successful completion
SNALU62_S_CONVCANC
conversation canceled
SNALU62_S_CONVEND
conversation ended
SNALU62_S_EXPDNSUP
expedited data not supported by LU
SNALU62_S_OPINCOMP
non-blocking operation not completed
SNALU62_S_OPNOTACC
non-blocking operation not accepted
SNALU62_S_PARERR
parameter error, function-name
SNALU62_S_PRGPARCHK
program parameter check
SNALU62_S_STAERR
LU6.2 verb function-name invalid with conversation in current state
SNALU62_S_UNSUC
verb did not execute successfully
ERRORS
None
RELATED INFORMATION
Functions: snalu62_receive_expedited_data
Manuals: Compaq SNA APPC/LU6.2 Programming Interface for Tru64 UNIX Programming and IBM’s Systems Network Architecture Transaction Programmer’s Reference Manual for LU Type 6.2.