CPI Communications in APPC/MVS

APPC/MVS supports the following CPI Communications calls:
  • CMACCP (Accept_Conversation) accepts an incoming conversation.
  • CMALLC (Allocate) allocates a conversation between a local program and a partner program, allocating a session between the local logical unit and the partner logical unit, if a session is needed.
  • CMCFM (Confirm) sends a confirmation request to the partner program and waits for a reply, so the two programs can synchronize their processing.
  • CMCFMD (Confirmed) sends a confirmation reply to the partner program, in response to a confirmation request.
  • CMDEAL (Deallocate) deallocates the specified conversation. The session might or might not remain bound.
  • CMECS (Extract_Conversation_State) extracts the conversation state for the specified conversation.
  • CMECT (Extract_Conversation_Type) extracts the conversation type characteristic for the conversation and returns the value to the program.
  • CMEMN (Extract_Mode_Name) extracts the mode name characteristic for the conversation and returns the value to the program.
  • CMEPLN (Extract_Partner_LU_Name) extracts the partner LU name characteristic for the conversation and returns the value to the program.
  • CMESL (Extract_Sync_Level) extracts the synchronization level characteristic for the conversation and returns the value to the program.
  • CMFLUS (Flush) flushes the local LU's send buffer, forcing the LU to send any buffered data.
  • CMINIT (Initialize_Conversation) initializes values for various conversation characteristics.
  • CMPTR (Prepare_to_Receive) changes the program from Send to Receive state in preparation to receive data.
  • CMRCV (Receive) receives data on the specified conversation.
  • CMRTS (Request_to_Send) notifies the partner program that the local program is requesting to enter Send state for the conversation.
  • CMSCT (Set_Conversation_Type) sets the conversation type characteristic for the conversation.
  • CMSDT (Set_Deallocate_Type) sets the deallocate type characteristic for the conversation.
  • CMSED (Set_Error_Direction) sets the error direction characteristic for the conversation.
  • CMSEND (Send_Data) sends data on the specified conversation.
  • CMSERR (Send_Error) informs the partner program that the local program has detected an error.
  • CMSF (Set_Fill) sets the fill characteristic for the conversation.
  • CMSLD (Set_Log_Data) sets the log data characteristic for the conversation.
  • CMSMN (Set_Mode_Name) sets the mode name characteristic for the conversation.
  • CMSPLN (Set_Partner_LU_Name) sets the partner LU name characteristic for the conversation.
  • CMSPTR (Set_Prepare_to_Receive_Type) sets the prepare to receive type characteristic for the conversation.
  • CMSRC (Set_Return_Control) sets the return control characteristic for the conversation.
  • CMSRT (Set_Receive_Type) sets the receive type characteristic for the conversation.
  • CMSSL (Set_Sync_Level) sets the synchronization level characteristic for the conversation.
  • CMSST (Set_Send_Type) sets the send type characteristic for the conversation.
  • CMSTPN (Set_TP_Name) sets the TP name characteristic for the conversation.
For guide and reference information about using CPI Communications routines, see CPI-C Reference APPC/MVS implements CPI Communications as documented in that document, with the following exceptions:
  • Data logging: calls to CMSLD (Set_Log_Data) and parameters dealing with the error log are accepted, but ignored.
  • The CMTRTS call returns a product_specific_error when issued for APPC/MVS conversations that cross a VTAM network.
  • APPC/MVS does not support conversations with a sync_level characteristic of CM_SYNC_POINT.
  • The character set restriction on LU names, VTAM mode names, and TP names differs slightly from those prescribed in the CPI-C Reference.

    LU names and mode names can contain uppercase alphabetic, numeric and special characters ($, @, #), and must begin with an alphabetic or special character. IBM recommends that special characters be avoided because they display differently depending on the language code page in use.

    TP names may contain any character from the 00640 character set except a blank. (Blanks can still be used as a trailing pad character, but are not considered part of the string). IBM recommends that the asterisk (*) be avoided in TP names because it causes a list request when entered on panels of the APPC administration dialog.

    See Character Sets for a table showing the allowable characters.