Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

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

Media Vault

Software Library

Restoration Projects

Artifacts Sought

snalu62_wait_for_completion(3)  —  Subroutines

 
 
 
 

Name

snalu62_wait_for_completion − Waits for posting to occur on one or more nonblocking operations specified in the list of wait objects. 
 
 
 

FORMAT

STATUS_RTN snalu62_wait_for_completion(
     WAIT_OBJECT_LIST ∗wait_list,
     STATUS_VEC status_vec,
     TIMEO ∗timeout,
     UINT32 ∗status_list
     );
 
 
 
 

Arguments

 

wait_list
 
A pointer to a WAIT_OBJECT_LIST structure specifying a list of wait objects that were specified in previous non-blocking verb calls. 
 
 

status_vec
 
A pointer to a STATUS_VEC array to receive the completion status information for the snalu62_wait_for_completion verb. 
 
 

timeout
 
A pointer to a TIMEO structure specifying the type of waiting to be performed and optionally the amount of time to wait. 
 
 

status_list
 
A pointer to a UINT32 array to receive the corresponding status of the wait objects specified in the wait_list parameter.  There is one status for each wait object in the wait object list. Each status can have one of the following values:
 

•SNALU62_C_NOT_POSTED

The wait object has not yet been posted. The verb represented by the wait object has not yet completed; the verb’s status vector is not valid. 

•SNALU62_C_POSTED

The wait object has been posted. The verb represented by the wait object has completed; the verb’s status vector is valid. 

•SNALU62_C_UNKNOWN

The wait object is not identifiable. No verb was ever called with this wait object or the wait object has been corrupted by the program.  If all wait objects in the wait_list parameter share this code, the interface returns the SNALU62_S_NOWAITOBJ status. 
 
 
 
 
 

Description

 
Use this verb to request the interface to check a specified list of wait objects associated with nonblocking verbs and return a corresponding list indicating the status of the verbs (that is, whether they have been posted). This test operation can itself be blocking or nonblocking. If blocking, this verb can be requested to block for a certain period of time or to block indefinitely until one of the nonblocking verbs completes. If nonblocking, the interface performs the wait object check and returns. Note that, although the interface supports a nonblocking call to this verb, this means simply that the interface performs the check and returns to caller; the interface does not post a call to this verb.

 
When using most interface verbs, a transaction program has the option of specifying that the verb be nonblocking. A call to a nonblocking verb returns to the calling program immediately. When using nonblocking verbs, a program can choose whether it wants notification when the requested operation completes. If the program requests notification, the interface provides this notification through an operation known as posting. When the interface posts completion of a verb, it modifies a structure known as the wait object. The program supplies a unique copy of this structure each time it makes a nonblocking call to the verb.
 
 

Return Values

 

SNALU62_S_OK
normal successful completion

SNALU62_S_CONVCANC
conversation canceled

SNALU62_S_INVTIMEO
invalid timeout value

SNALU62_S_NOWAITOBJ
all wait objects unknown

SNALU62_S_PARERR
parameter error, function-name

SNALU62_S_TIMEXP
timer expired

SNALU62_S_UNSUC
verb did not execute successfully
 

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