Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ snalu62_receive_and_wait(3) — SNA APPC LU6.2 3.2

Media Vault

Software Library

Restoration Projects

Artifacts Sought

snalu62_receive_and_wait(3)  —  Subroutines

 
 
 
 

Name

snalu62_receive_and_wait − Waits for information to arrive from the remote transaction program and receives it. The information may be data, conversation status, or a request for confirmation. 
 
 
 

FORMAT

STATUS_RTN snalu62_receive_and_wait(
     RES_ID resource,
     STATUS_VEC status_vec,
     UINT32 fill,
     UINT32 ∗length,
     UINT8 ∗rts_recv,
     UINT8 ∗exp_data_recv,
     unsigned char ∗data,
     UINT32 ∗data_recv,
     UINT32 ∗status_recv,
     char ∗map_name,
     ASYNC_INFO ∗wait_object
     );
 
 

Valid Conversation States

 
Send and Receive
 
 

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. 
 
 
 

fill
 
A UINT32 value specifying whether the data is received in logical-record format or independent of logical-record format.  Specify one of the following values:
 

•SNALU62_C_BUFFER

Specifies that the interface should supply data to the program independent of the logical-record format of the data. The interface continues to return full buffers on subsequent receive calls until all data is returned. The last buffer returned may be a partially-filled buffer. 

•SNALU62_C_LL (the default for basic conversations)

Specifies that the interface should supply data to the program one logical record at a time. If the logical record cannot fit into the supplied data buffer, the interface truncates the data.  If the logical record is shorter than the supplied data buffer, the interface returns only 1 logical record. 
 
 

 
This parameter is only valid for basic conversations. The interface ignores it for mapped conversations.
 
 
 

length
 
A pointer to a UINT32 location specifying the maximum length of data that this program can receive.  This location also receives a value indicating the actual size of the buffer in the data parameter. 
 
 

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.
 
 

data
 
A pointer to an unsigned char buffer to receive the data sent by the remote transaction program. 
 

data_recv
 
A pointer to a UINT32 location to receive a value indicating what was stored into the buffer supplied by the data parameter. It can be one of the following values:
 

•SNALU62_C_NO_DATA

For basic and mapped conversations: Specifies that the interface returned no data in the data buffer. 

•SNALU62_C_DATA

For basic conversations: Used when the program specifies SNALU62_C_BUFFER for fill.  Indicates that the interface returned data to the program. 

•SNALU62_C_DATA_COMPLETE

For basic and mapped conversations: Indicates that the interface returned a complete data record or the final portion of a data record.  For basic conversations the interface uses this code when the program specifies SNALU62_C_LL for fill. 

•SNALU62_C_DATA_INCOMPLETE

For basic and mapped conversations: Specifies that the interface returned less then a complete data record. The program may receive the remainder of the data by using more receive calls.  For basic conversations the interface uses this code when the program specifies SNALU62_C_LL for fill. 

•SNALU62_C_DATA_TRUNCATED

For mapped conversations: Specifies that the interface returned an incomplete data record. The interface discarded the remainder of the data. 

•SNALU62_C_LL_TRUNCATED

For basic conversations: Specifies that the interface returned an incomplete data record. The interface discarded the remainder of the data.  The interface uses this code when the program specifies SNALU62_C_LL for fill. 

•SNALU62_C_USER_CTRL_COMPLETE

For mapped conversations: Indicates that the interface returned a complete data record or the final portion of a data record and the data contained user control data. 

•SNALU62_C_USER_CTRL_INCOMPLETE

For mapped conversations: Specifies that the interface returned less then a complete data record containing user control data. The program may receive the remainder of the data by using more receive calls. 

•SNALU62_C_USER_CTRL_TRUNCATED

For mapped conversations: Specifies that the interface returned an incomplete data record containing user control data. The interface discarded the remainder of the data. 

•SNALU62_C_PS_HEADER_COMPLETE

For basic and mapped conversations: Specifies that the interface received a complete Presentation Services header.  This value indicates that the interface has received a complete Sync Point Services Presentation Services header. 

•SNALU62_C_PS_HEADER_INCOMPLETE

For basic and mapped conversations: Specifies that the interface received an incomplete Presentation Services header.  This value indicates that the interface has received an incomplete Sync Point Services Presentation Services header. 
 
 
 
 

status_recv
 
A pointer to a UINT32 location to receive a value indicating the new status of the conversation.  It can be one of the following values:
 

•SNALU62_C_SEND_RECV

The remote program has entered the Receive state. The local program enters the Send state and may now send data. 

•SNALU62_C_CONFIRM_RECV

The remote program called the confirm verb. This action requests the local program to call the snalu62_confirmed verb.  The local program enters the Confirm state. 

•SNALU62_C_CONFIRM_SEND_RECV

The remote program called the prepare-to-receive verb.  The remote program requested that the prepare-to-receive function be preceded by the function of the confirm verb. See snalu62_prepare_to_receive for more information.  The local program enters the Confirm-Send state. 

•SNALU62_C_CONFIRM_DEALLOC_RECV

The remote program called the deallocate verb.  The remote program requested that the deallocate function be preceded by the function of the confirm verb. See snalu62_deallocate for more information.  The local program enters the Confirm-Deallocate state. 

•SNALU62_C_NO_STATUS_RECV

No state change information is available. 

•SNALU62_C_PS_HEADER_NEXT

A Presentation Services header follows the data being received by this call. 
 
 

map_name
 
 
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

 
The program can call this verb when the conversation is in the Send state. In this case, the LU flushes its send buffer, sending all buffered information and the SEND indication to the remote program. This changes the conversation to Receive state. The program then waits for information to arrive. The remote program can send data to the local program after it receives the SEND indication.
 

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_DEALNOR
deallocate normal

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_PRERNTR
program error no truncate

SNALU62_S_PRERPU
program error purging

SNALU62_S_PRERTR
program error truncate

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_SVCENTR
service error no truncate

SNALU62_S_SVCERPU
service error purging

SNALU62_S_SVCERTR
service error truncate

SNALU62_S_UNSUC
verb did not execute successfully
 
 
 

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026