gtps2m3xACF/SNA Data Communications Reference

Select A Thread Utility Program (CSF0)

This program performs the following services for a local host node SLU when it communicates with a remote primary logical unit:

Users issue an ENTRC macro to CSF0 when the request is to build an RCPL; an ENTRC to CSF1 when the names of the session partners are requested. The input requirements when requesting an output RCPL to be built are as follows:

Registers:
 
R1:   Address of a 20 byte parameter list in the following
       format:
 
       Byte   0-7     Node name of the destination.  If the name
                      is less than 8 characters, it must be
                      padded with blanks (X'40') on the right.
              8-15    Node name of the origin.  This is the 4
                      character TPF application name (as defined
                      in the MSGRTA macro of SIP) with 4 blank
                      characters appended to it.
 
              16      One byte thread specification.
 
                      =   0   if the output RCPL is to be built
                              using the SLU thread with the
                              least number of messages on its
                              queue.
 
                      =       a binary number (1-255) of the
                              specific thread for which the
                              output RCPL is to be built.  For
                              example, the first SLU generated
                              after the TPF application is
                              designated as thread number 1, the
                              second SLU is thread number 2,
                              etc.
 
              17-19   =       3 spare bytes which must be set to
                              zero.
 
R7:    Address of an available core block which can be used by this
       program.

When requesting node names of the session partners the input is as follows:

Registers:
 
R1:   Address of a 20 byte parameter list in the following
       format:
 
       Byte   0-15    An input RCPL (RC0PL) associated with a
                      message received on the host node SLU-PLU
                      session.
 
              16-19   Spare bytes.  Not used.
 
R7:    Address of an available core block which can be used by this
       program.

Expected output from CSF0/CSF1 includes:

  1. When requesting an output RCPL to be build:
    Registers:
     
    R0:    Same as on input
     
    R1:    Same as on input except the data area contains an output
           RCPL which has the following format (refer to RC0PL):
     
           RCPLDES3 (3 bytes) -   This is the 3-byte resource
                                  identifier of the selected SLU.
           RCPLDESP (1 byte)  -   Set to the CPU ID of this TPF host.
           RCPLORGA (4 bytes) -   The four character name of the
                                  TPF application.
           RCPLCTL0 (1 byte)  -   Equals X'42'.
           RCPLCTL1 (1 byte)  -   Equals X'00'.
           RCPLCTL2 (1 byte)  -   Equals X'00'.
           RCPLCTL3 (1 byte)  -   Equals X'00'.
     
           Note:  The application must set the appropriate
                  indicators in RCPLCTL0 (for RCPL0FMT) and RCPLCTL2
                  before issuing the ROUTC macro.
     
    R2-R7:    Same as on input
     
    Entry Control Block Work Area
     
    EBCM01    Return Code
    = X'00'   The request was performed successfully
    = X'04'   Invalid node name specified
    = X'08'   Invalid PLU/SLU pair
              -   SLU not in session with PLU
              -   not a PLU/SLU combination
    = X'0C'   RIDCC Error
    = X'10'   SLU not bound/not in-session
    = X'24'   Invalid Request
              -   not cross-domain environment
              -   not LU
    = X'20'   SLU not available
    = X'24'   Discrepancy between input qualifier and input
              SLU
    = X'28'   Qualifier invalid
              -   does not point to valid SLU
    
  2. When requesting the node name of the session pair
    Registers:
     
    R0     -  Same as on input
     
    R1     -  Same as on input except the data area now contains the
              following:
     
              Byte    0-7     Node name of the destination (left
                              justified and padded with blanks).
     
                      8-15    Node name of the origin.
     
                      16      Equals the thread number of the SLU
                              receiving the message.
     
    R2 -R7 -  Same as on input.