snalu62_send_error(3) — Subroutines
NAME
snalu62_send_error − Sends an error message to the remote transaction program.
LIBRARY
/usr/shlib/libsnatprm.so
SYNOPSIS
#include <sna/snatprmdf.h>
STATUS_RTN snalu62_send_error(
RES_ID resource,
STATUS_VEC status_vec,
UINT32 type,
BUFFER ∗log_data,
UINT32 sense_code,
UINT8 ∗rts_recv,
UINT8 ∗exp_data_recv,
ASYNC_INFO ∗wait_object
);
Valid Conversation States
HDX: Send, Receive,
Confirm, Confirm-Send, and Confirm-Deallocate
FDX: Send-Receive and 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.
type
A UINT32 value specifying the type of error being reported. Specify one of the following values:
•SNALU62_C_PROG (the default)
Indicates the error is at the program level. At the remote system, the error is reported to the remote transaction program.
•SNALU62_C_SVC
Indicates the error is at the LU services level. At the remote system, the error is reported to the remote LU services program.
For mapped conversation, specify 0.
log_data
A pointer to a BUFFER structure specifying the data buffer to be sent. The buffer contains a single logical record. The logical record consists of a 2-byte length field followed by a data field. The high-order bit of this length field is not used. 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. Supply this parameter in ASCII format; the interface translates it to EBCDIC. The data field is optional, that is, the data field can consist of 0 bytes.
For mapped conversation, specify the NULL pointer.
sense_code
A UINT32 value specifying the sense code that the interface should transmit in the Function Management Header Type 7 (FMH-7) message. Only a process having superuser privileges or a user listed in the system group in the etc/group file can specify a value other than zero. A value of zero means to transmit the architected sense code.
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 program can use this verb for the following purposes:
•To indicate transmission of an incomplete logical record (basic conversations only)
The local program issues this verb in the Send (half-duplex) or Send-Receive or Send-Only states (full-duplex). The remote program receives this notification as a PROG_ERROR_TRUNC or SVC_ERROR_TRUNC return code depending on the type parameter in the snalu62_send_error verb.
•To respond negatively to a confirm request (half-duplex conversations only)
The local program issues this verb in the Confirm state. In basic conversations, the remote program receives this notification as a PROG_ERROR_PURGING or SVC_ERROR_PURGING return code depending on the type parameter in the snalu62_send_error verb. In mapped conversations, the remote program always receives this notification as a PROG_ERROR_PURGING return code.
•To notify the remote program of a problem with received data
The local program issues this verb in the Send (half-duplex) or Send-Receive or Send-Only states (full-duplex). In basic conversations, the remote program receives this notification as a PROG_ERROR_NO_TRUNC or SVC_ERROR_NO_TRUNC return code depending on the type parameter in the snalu62_send_error verb. In mapped conversations, the remote program always receives this notification as a PROG_ERROR_NO_TRUNC return code.
•To purge the incoming data stream (half-duplex conversations only)
The local program issues this verb in the Receive state. All data sent by the remote program and not yet received by the local program is lost (including confirmation requests). In addition, the local program does not receive any of the following return codes:
•ALLOCATION_ERROR
•DEALLOCATE_ABEND_PROG
•DEALLOCATE_ABEND_SVC
•DEALLOCATE_ABEND_TIMER
•PROG_ERROR_NO_TRUNC
•PROG_ERROR_PURGING
•PROG_ERROR_TRUNC
•SVC_ERROR_NO_TRUNC
•SVC_ERROR_PURGING
•SVC_ERROR_TRUNC
The local program receives the DEALLOCATE_NORMAL code instead of the ALLOCATION_ERROR and DEALLOCATE_ABEND_xxx codes. For all other purged codes, the local program receives OK.
In basic conversations, the remote program receives this notification as a PROG_ERROR_PURGING or SVC_ERROR_PURGING return code depending on the type parameter in the snalu62_send_error verb. In mapped conversations, the remote program always receives this notification as a PROG_ERROR_PURGING return code.
The interface sends all data provided with this verb immediately; it does not buffer the data.
This verb cancels or resets posting. For more information, see the description of the snalu62_post_on_receipt verb.
RESTRICTIONS
None
RETURN VALUES
SNALU62_S_OKnormal 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_DEALNOR
deallocate normal
SNALU62_S_ERRIND
error indication
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
ERRORS
None
RELATED INFORMATION
Functions: snalu62_send
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.