HP-UX SNAplus2 CPI-C Programmer's Guide (June 2003)
CPI-C Calls
Allocate (cmallc)
Chapter 3128
CM_PRODUCT_SPECIFIC_ERROR
State When Issued
The conversation must be in Initialize state.
State Change
State changes, summarized in Table 3-1, “State Changes for the Allocate
Call,” are based on the value of the
return_code
parameter.
Usage Notes
To send the allocation request immediately, the invoking program can
issue the Flush or Confirm call immediately after the Allocate call.
Otherwise, the allocate request accumulates with other data in the local
LU's send buffer until the buffer is full.
Because the allocation request is buffered and not sent immediately, the
Allocate call may return CM_OK, but the partner LU may subsequently
reject the allocation request generated by the Allocate call. This error is
returned to the invoking program on a subsequent call.
If the conversation's synchronization level is set to CM_CONFIRM, the
invoking program can immediately determine whether the allocation
was successful by issuing the Confirm call after the Allocate call.
For Unix The program's current context at the time the Allocate call is issued
becomes the context for the new conversation when Allocate returns
CM_OK. If the program is using multiple contexts (as a result of accepting
multiple conversations), it must set the current context to the
appropriate value before issuing the Allocate call.
Table 3-1 State Changes for the Allocate Call
return_code
New state
CM_OK Send
CM_ALLOCATE_FAILURE_NO_RETRY
CM_ALLOCATE_FAILURE_RETRY
Reset
All others No change