snalu62_send_data(3) — Subroutines
Name
snalu62_send_data − Sends data to the remote transaction program.
FORMAT
STATUS_RTN snalu62_send_data(
RES_ID resource,
STATUS_VEC status_vec,
unsigned char ∗data,
UINT32 length,
char ∗map_name,
UINT8 user_control_data,
UINT8 ps_control_data,
UINT8 encrypt,
UINT8 ∗rts_recv,
UINT8 ∗exp_data_recv,
ASYNC_INFO ∗wait_object
);
Valid Conversation States
Send
Arguments
resource
A RES_ID structure assigned to the conversation by the interface. This ID was returned by the snalu62_allocate, snalu62_attach_listen, or snalu62_receive_allocate verb.
status_vec
A pointer to a STATUS_VEC array to receive the completion status information.
data
A pointer to an unsigned char buffer containing the data that the interface should send. In mapped conversations, the buffer contains only the data to be sent. In basic conversations, the buffer contains zero or more logical records. Each logical record consists of a 2-byte length field followed by a data field. The high-order bit of this length field indicates whether the logical record is complete or if more of the record follows in the next message. The remaining 15 bits contain the length of the record (including the 2-byte length field). Therefore, the maximum length of the data field is 32,765 bytes and logical-record length values of 0 and 1 are invalid. The data field is optional, that is, the data field can consist of zero bytes.
length
A UINT32 value specifying the length of the data, specified in the data parameter, that the interface should transmit.
map_name
This parameter is a place holder. The functionality represented by this parameter is not implemented.
user_control_data
For mapped conversations only, a UINT8 value specifying whether the data record contains user control data. A value of TRUE (1)
indicates that the data record contains user control data. A value of FALSE (0) , the default, indicates that user control data is not present in the data record.
ps_control_data
A UINT8 value specifying whether the data parameter contains Presentation Services (PS) control data. A value of TRUE (1)
indicates that the data should be prefaced with a PS header and that the data is complete. A value of FALSE (0) , the default, indicates that the data is not PS control data. Only a process having superuser privileges or a user listed in the system group in the etc/group file can set this parameter to TRUE.
PS headers are sent between sync point managers. These headers contain sync point information such as prepare, commit, committed, forget, and backout requests. Although the interface supports conversation with a sync level of sync point, the interface does not generate the sync point data. Therefore, if you wish to use sync point level conversations, you must create your own sync point data and use this parameter to indicate that you are sending sync point data to the partner transaction program.
encrypt
This parameter is a place holder. The functionality represented by this parameter is not implemented.
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.
exp_data_recv
This parameter is a place holder. The functionality represented by this parameter is not implemented.
wait_object
A pointer to an ASYNC_INFO structure specifying whether the interface should process this verb in a blocking or non-blocking manner.
Description
In basic conversation, the data format consists of logical records. The amount of data in the records is specified independently of data format as defined by the length parameter. That is, the data can consist of the following combinations:
•The beginning of a record.
•The middle of the record.
•The end of the record.
•One or more complete records.
•One or more complete records, followed by the beginning of a record.
•The end of a record, followed by one or more complete records.
•The end of a record, followed by one or more complete records, followed by the beginning of a record.
•The end of a record, followed by the beginning of a record.
Return Values
SNALU62_S_OK
normal successful completion
SNALU62_S_ALLERR
conversation could not be allocated
SNALU62_S_BACKOUT
backed out
SNALU62_S_CONVCANC
conversation canceled
SNALU62_S_DEABPR
deallocate abend program
SNALU62_S_DEABSVC
deallocate abend services
SNALU62_S_DEABTIM
deallocate abend timer
SNALU62_S_ENCRNSUP
encryption not supported
SNALU62_S_FMHNOT
user control data (FMH) not supported
SNALU62_S_MAPEFAI
map execution failure
SNALU62_S_MAPNFOU
map name not found
SNALU62_S_MAPNSUP
mapping not supported
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_PRERPU
program error purging
SNALU62_S_PRGPARCHK
program parameter check
SNALU62_S_RESFNO
resource failure no retry
SNALU62_S_RESFRET
resource failure retry
SNALU62_S_STAERR
LU6.2 verb function-name invalid with conversation in current state
SNALU62_S_SVCERPU
service error purging
SNALU62_S_UNSUC
verb did not execute successfully