//TSO0050  JOB (TSO),
//             'Build SVC 244',
//             CLASS=A,
//             MSGCLASS=A,
//             MSGLEVEL=(1,1)
/*MESSAGE  ******************************************
/*MESSAGE  * Remember, after this job has completed *
/*MESSAGE  * an IPL with CLPA is required!!!!       *
/*MESSAGE  ******************************************
//*******************************************************************
//*                                                                 *
//*  This job builds SVC 244 which can be used to set/unset the     *
//*  authorization bit in the JSCB                                  *
//*                                                                 *
//*******************************************************************
//ASM     EXEC PGM=IFOX00,
//             PARM='XREF(SHORT),LIST,DECK,NOOBJ',
//             REGION=1024K
//SYSTERM  DD  SYSOUT=*
//SYSPRINT DD  SYSOUT=*
//SYSUT1   DD  UNIT=VIO,SPACE=(CYL,(1,1))
//SYSUT2   DD  UNIT=VIO,SPACE=(CYL,(1,1))
//SYSUT3   DD  UNIT=VIO,SPACE=(CYL,(1,1))
//SYSLIB   DD  DISP=SHR,DSN=SYS1.MACLIB,DCB=BLKSIZE=32720
//         DD  DISP=SHR,DSN=SYS1.AMODGEN
//         DD  DISP=SHR,DSN=SYS2.MACLIB
//SYSPUNCH DD  DISP=(,PASS),UNIT=VIO,SPACE=(CYL,(1,1)),
//             DCB=(LRECL=80,BLKSIZE=3120,RECFM=FB)
//SYSIN    DD  *
         TITLE ' SVC 244 - Toggle Authorization '
***********************************************************************
*                                                                     *
*  Name: IGC0024D                                                     *
*                                                                     *
*  Type: Assembler source                                             *
*                                                                     *
*  Desc: Type 3/4 SVC for setting/unsetting JSCBAUTH                  *
*                                                                     *
*  Regs at Entry:                                                     *
*                                                                     *
*          R0 must be 0                                               *
*          R1 = Request code.  R1 = 1 ===> Authon                     *
*                                else ===> Authoff                    *
*          R2       undetermined                                      *
*          R3  ---> CVT                                               *
*          R4  ---> TCB                                               *
*          R5  ---> SVRB                                              *
*          R6  ---> Entry point                                       *
*          R7  ---> ASCB                                              *
*          R8  ---> undetermined                                      *
*          R9  ---> undetermined                                      *
*          R10 ---> undetermined                                      *
*          R11 ---> undetermined                                      *
*          R12 ---> undetermined                                      *
*                                                                     *
***********************************************************************
IGC0024D CSECT                             , SVC 244
         REGISTER                          , equates
         USING *,6                         , use R6 as base register
         LTR   R0,R0                       , R0 = 0 ?
         BNZR  R14                         , return if not
         L     R11,180(,R4)                , R11 = JSCB (from TCBJSCB)
         BCT   1,AUTHOFF                   , R1 NOT = 1 ==> Authoff
         OI    236(R11),X'01'              , set JSCBAUTH on
         BR    R14                         , and return
AUTHOFF  NI    236(11),255-X'01'           , set JSCBAUTH off
         BR    R14                         , and return
         END                               , of SVC 244
//LINK    EXEC PGM=IEWL,
//             REGION=1024K,
//             COND=(0,LT),
//             PARM='LIST,MAP.RENT,REUS,REFR'
//SYSPRINT DD  SYSOUT=*
//SYSLIN   DD  DISP=(OLD,DELETE),DSN=*.ASM.SYSPUNCH
//SYSUT1   DD  UNIT=VIO,SPACE=(CYL,(1,1))
//SYSLMOD  DD  DISP=SHR,DSN=SYS1.LPALIB(IGC0024D)
//
