ASMB,R,Q,C
      HED ATACH 92068-1X018 REV.2013 * (C) HEWLETT-PACKARD CO. 1980 
      NAM ATACH,6 92068-1X018 REV.2013 800103 RTE-IVB 
      SPC 1 
******************************************************************
*  * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1980. ALL RIGHTS      *
*  * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED,       *
*  * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT*
*  * THE PRIOR WRITTEN CONSENT OF THE HEWLETT-PACKARD COMPANY.   *
******************************************************************
      SPC 1 
      ENT ATACH 
      EXT $LIBR,$LIBX,LUSES,.ENTR,$DSCS 
* 
* 
* NAME:   ATACH 
* SOURCE: 92068-18018 
* RELOC:  PART OF 92067-16268 
* PGMR:   G.L.M.        
* 
* 
* CALLING SEQUENCE : JSB ATACH
*                    DEF *+2 OR 3 
*                    DEF SESSION ID 
*                    DEF IERR       (OPT.)
* 
*         RETURN:  (A) = IERR = 0 MEANS SUCCESSFUL ATTACH,
*                             = -1 MEANS SCB NOT FOUND. 
* 
* 
SID   NOP           ADDRESS OF SESSION ID.
IERR  NOP           ADDRESS OF USER ERROR PARAM.
* 
ATACH NOP 
      JSB .ENTR     GET ADDR OF PASSED PARAMS.
      DEF SID 
* 
      CLA           INITIALIZE RETURNED ERROR CODE. 
      LDB IERR
      SZB 
      STA IERR,I
* 
      LDB $DSCS     IF NOT A SESSION MONITOR NODE,
      SSB             THE SID MIGHT BE AN MTM LU, 
      JMP ATACH,I       SO DON'T ATTEMPT ATTACH.
* 
      LDB SID,I     IF SPECIFIED SESSION ID 
      SZB             IS ZERO 
      CPB D254        OR RESERVED DS/1000 VALUE,
      JMP ATACH,I     RETURN WITHOUT ATTACHING. 
* 
      JSB $LIBR     GO PRIV 
      NOP 
* 
      JSB LUSES     GO FIND SCB 
      DEF *+2 
      DEF SID,I     POINTER TO THE ID 
* 
      SZA,RSS       IF A=0
      JMP NOSCB       SCB NOT FOUND.
* 
* A= SCB ADDR (SST LENGTH WORD) 
* 
      LDB 1717B     FETCH ID ADDR 
      ADB D32       ADVANCE TO SESSION WORD 
      XSA B,I       STUFF SESSION POINTER INTO SESSION WORD 
* 
      CLA,RSS       OK RETURN 
NOSCB CCA           ERROR RETURN
      LDB IERR      OPTIONALLY RETURN IERR. 
      SZB 
      STA IERR,I    RETURN WITH (A) = ERROR CODE. 
* 
      JSB $LIBX 
      DEF ATACH 
* 
D254  DEC 254       DS/1000: SID FOR NON-SESSION ACCESS.
D32   DEC 32
B     EQU 1 
* 
      END 
                                                                                                                                                                                              