Previous Page Contents Page Next Page

Appendix B: APPC State Changes

The following table shows the conversation states in which each APPC verb may be issued, and the state change which occurs on completion of the verb. In some cases, the state change depends on the primary_rc parameter returned to the verb; where this applies, the applicable primary_rc values are shown in the same column as the verb. Where no primary_rc values are shown, the state changes are the same for all return codes, with the following exceptions:

The possible conversation states are shown as column headings. For each combination of verb and primary_rc value, the following abbreviations and symbols are given under each state to indicate the results of issuing the verb in that state:

X

Verb cannot be issued in this state.

T, S, SP, R, C, CS, CD, P

State of the conversation after the verb has completed: Reset, Send, Send_Pending, Receive, Confirm, Confirm_Send, Confirm_Deallocate, or Pending_Post.

-

There is no conversation state after the verb is issued.

/

Not applicable to consider the previous state.

(blank)

Return code shown cannot occur in this state.

Verb and primary_rc ValuesState in Which Issued

Reset

(T)

Send

(S)

Send

Pend

(SP)

Recv

(R)

Confm

(C)

Confm

Send

(CS)

Confm

Deall

(CD)

Pend

Post

(PP)

TP_STARTED

AP_OK

T

/

/

/

/

/

/

/

other primary_rc values

-

TP_ENDED
AP_OK - - - - - - - -

other primary_rc values

T S SP R C CS CD P
RECEIVE_ALLOCATE
AP_OK R / / / / / / /
other primary_rc values -
GET_LU_STATUS X S SP R C CS CD P
GET_TP_PROPERTIES T S SP R C CS CD P
SET_TP_PROPERTIES T S SP R C CS CD P
GET_TYPE X S SP R C CS CD P
[MC_]ALLOCATE
AP_OK S / / / / / / /

other primary_rc values

T

[MC_]CONFIRM

AP_OK X S S X X X X X
AP_ERROR R R
[MC_]CONFIRMED X X X X R S T X
[MC_]DEALLOCATE
AP_ABEND_* dealloc_type values X T T T T T T T
other dealloc_type values

AP_ERROR

X R R X X X X X
other primary_rc values T T

[MC_]FLUSH

X S S X X X X X
[MC_]GET_ ATTRIBUTES X S SP R C CS CD P
[MC_]PREPARE_TO_ RECEIVE X R R X X X X X
[MC_]RECEIVE_AND_POST (See Note 1) X P P P X X X X
[MC_]RECEIVE_AND_WAIT (See Note 1 for Windows) X See Note 2 See Note 2 See Note 2 X X X X
[MC_]RECEIVE_ IMMEDIATE X X X See Note 2 X X X X
[MC_]REQUEST_TO_SEND X X X R C X X P
[MC_]SEND_ CONVERSATION T / / / / / / /
[MC_]SEND_DATA
AP_OK X S S X X X X X
AP_ERROR R
[MC_]SEND_ERROR
AP_OK X S S S S S S S
AP_ERROR R
[MC_]TEST_RTS X S S R C CS CD P
[MC_]TEST_RTS_AND_ POST X S S R C CS CD P

Notes

  1. After [MC_]RECEIVE_AND_POST has been issued and received the initial primary_rc of AP_OK, the conversation changes to Pending-Post state. Once the supplied callback routine has been called, to indicate that the verb has completed, the new conversation state depends on the primary_rc and what_rcvd parameters as in Note 2.

  2. The state change after one of the RECEIVE verbs depends on both the primary_rc and what_rcvd parameters.

    If the primary_rc parameter is AP_PROG_ERROR, AP_SVC_ERROR, or ([MC_]RECEIVE_IMMEDIATE only) AP_UNSUCCESSFUL, the new state is Receive.

    If the primary_rc parameter is AP_DEALLOC, the new state is Reset.

    If the primary_rc parameter is AP_OK, the new state depends on the value of the what_rcvd parameter:

    AP_DATA, AP_DATA_COMPLETE , AP_DATA_INCOMPLETE

    Receive state

    AP_SEND

    Send state

    AP_DATA_SEND, AP_DATA_COMPLETE_SEND

    Send Pending state

    AP_CONFIRM_WHAT_RCVD, AP_DATA_CONFIRM, AP_DATA_COMPLETE_CONFIRM

    Confirm state

    AP_CONFIRM_SEND, AP_DATA_CONFIRM_SEND, AP_DATA_COMPLETE_CONFIRM_SEND

    Confirm Send state

    AP_CONFIRM_DEALLOCATE, AP_DATA_CONFIRM_DEALLOCATE, AP_DATA_COMPLETE_CONFIRM_DEALL

    Confirm Deallocate state

Previous Page Contents Page Top of Page Next page