z/OS Cryptographic Services ICSF Administrator's Guide
Previous topic | Next topic | Contents | Index | Contact z/OS | Library | PDF


CSFWPUTL

z/OS Cryptographic Services ICSF Administrator's Guide
SA22-7521-17

CSFWPUTL invokes CSFPUTIL. CSFWPUTL is a sample program that contains sample JCL to assemble the sample program, sample link edit JCL to put the assembled sample program into an authorized library, and sample JCL that will invoke the sample program.

//<NAME>   JOB  <JOB CARD PARAMETERS>                                           
//*******************************************************************           
//*                                                                 *           
//*    Licensed Materials - Property of IBM                         *           
//*    5694-A01                                                     *           
//*    (C) Copyright IBM Corp. 2004                                 *           
//*                                                                 *           
//*                                                                 *           
//* This file contains a sample program (CSFWPUTL), sample JCL      *           
//* to assemble the sample program, sample link edit JCL to put     *           
//* the assembled sample program into an authorized library, and    *           
//* lastly sample JCL that will invoke the sample program.          *           
//*                                                                 *           
//* CSFWPUTL: Invokes CSFPUTIL                                      *           
//*                                                                 *           
//* DESCRIPTION:                                                    *           
//* CSFPUTIL is an ICSF utility program that can perform certain    *           
//* functions that can be performed by using the administrator's    *           
//* panels.  The requested function is passed in the "PARM=..."     *           
//* parameter.  Refer to the ICSF Administrator's Guide for         *           
//* more information on CSFPUTIL functions.                         *           
//*                                                                 *           
//* However, when running the ICSF CSFPUTIL, sometimes error        *           
//* conditions may occur. The type of error is qualified by the     *           
//* contents of register 15 and register 0 upon program exit.       *           
//* Unfortunately, only register 15 (return code) is externalized   *           
//* when running these utilities from a batch JCL interface.        *           
//*                                                                 *           
//* CSFWPUTL will call CSFPUTIL and pass any specified function in  *           
//* the "PARM=...  " parameter to CSFPUTIL.  On return from         *           
//* CSFPUTIL, a WTO (write to operator) is issued containing        *           
//* the return and reason codes.                                    *           
//*                                                                 *           
//* CAUTION:                                                        *           
//* This file contains four sample sections.  Before using this     *           
//* sample, you have to make the following changes.                 *           
//*                                                                 *           
//* USER ACTIONS REQUIRED:                                          *           
//* 1.Add the job parameters to meet your system requirements.      *           
//*                                                                 *           
//* 2.In the ASSEMBLE JCL, change the SYSLIB DSN to match your      *           
//*   installation specific data set names.                         *           
//*                                                                 *           
//* 3.No changes are needed in the CSFWPUTL assembler code.         *           
//*   This CSFWPUTL assembler code needs to reside in the           *           
//*   SYSLIB DSN indicated in the ASSEMBLER JCL.                    *           
//*                                                                 *           
//* 4.In the LKED JCL, for SYSLMOD DD statement, specify the        *           
//*   installation specific authorized library dataset name that    *           
//*   is to contain the CSFWPUTIL assembled code.                   *           
//*                                                                 *           
//* 5.In the LKED JCL, for SYSLIB DD statement, specify your        *           
//*   installation specific ICSF library dataset name.              *           
//*   Change CSF to the appropriate high-level qualifier if you     *           
//*   choose to not use the default.  If you use an edit or         *           
//*   CHANGE command, be sure to include the period at the end      *           
//*   of the high-level qualifier.                                  *           
//*                                                                 *           
//* 6.In the CSFWPUTL EXEC JCL, for the STEPLIB DSN, specify the    *           
//*   same dataset name as was indicated in the SYSLMOD DSN         *           
//*   statement in the LKED JCL.                                    *           
//*                                                                 *           
//* 7.In the CSFWPUTL EXEC JCL, for the PARM='....'  specify the    *           
//*   requested function for CSFPUTIL.                              *           
//*                                                                 *           
//* 8.Users may want to separate the CSFWPUTL EXEC JCL into a       *           
//*   separate JOB.                                                 *           
//*                                                                 *           
//* NOTES:                                                          *           
//* 1.This job should be rerun with every new release of ICSF.      *           
//*                                                                 *           
//*******************************************************************           
//*        JCL to assemble CSFWPUTL                                 *           
//*******************************************************************           
//* ASSEMBLER                                                                   
//C        EXEC PGM=ASMA90,REGION=4M                                            
//SYSLIB   DD   DSN=SYS1.MACLIB,DISP=SHR                                        
//         DD   DSN=SYS1.MODGEN,DISP=SHR                                        
//SYSUT1   DD   DSN=&&SYSUT1,SPACE=(4096,(120,120),,,ROUND),UNIT=VIO,           
//             DCB=BUFNO=1                                                      
//SYSPRINT DD   SYSOUT=*                                                        
//SYSLIN   DD   DSN=&&LIN,DISP=(NEW,PASS),SPACE=(TRK,(2,2)),UNIT=SYSDA          
//SYSIN    DD   *                                                               
*********************************************************************           
*          CSFWPUTL assembler code                                  *           
*********************************************************************           
                                                                                
         TITLE 'CSFWPUTL   - ICSF CSFPUTIL INVOKER'                             
         PRINT GEN                                                              
***********************************************************************         
*                                                                     *         
* FUNCTION :  ICSF CSFPUTIL CALLER UTILITY                            *         
*                                                                     *         
* DESCRIPTIVE NAME : ICSF CSFPUTIL CALL ROUTINE                       *         
*                                                                     *         
* VERSION : RELEASE  1  LEVEL 000                                     *         
*                                                                     *         
* OBJECTIVE :                                                         *         
*                                                                     *         
* CSFPUTIL UTILITY :                                                  *         
*                                                                     *         
*   THIS PROGRAM ACCEPTS AN INVOCATION PARM THEN CALLS CSFPUTIL       *         
*   PASSING THAT PARM. REGISTER 15 AND 0 ARE FORMATTED ON RETURN      *         
*   IF NOT ZERO.  A WRITE TO OPERATOR IS THEN ISSUED.                 *         
*                                                                     *         
*                                                                     *         
* DEPENDENCIES :                                                      *         
*                                                                     *         
*       1. UNDER OS/390 OPERATING SYSTEM                              *         
*       2. UNDER IBM S/390                                            *         
*       3. LANGUAGE : IBM S/390 ASSEMBLER                             *         
*       4. ICSF UP AND ACTIVE                                         *         
*                                                                     *         
* ENTRY POINT :  CSFWPUTL                                             *         
*                                                                     *         
* INPUT ARGUMENTS : INVOCATION PARM PASSED TO CSFPUTIL                *         
*                                                                     *         
*                                                                     *         
* OUTPUT ARGUMENTS :                                                  *         
*                                                                     *         
*     NONE                                                            *         
*                                                                     *         
* FUNCTION INPUT ARGUMENTS :                                          *         
*                                                                     *         
*     NONE                                                            *         
*                                                                     *         
* FUNCTION OUTPUT (RETURNS) :                                         *         
*                                                                     *         
*     RETCODE      R15SAVE                         (FULLWORD)         *         
*                                                                     *         
* EXIT-NORMAL RETURN CODE : 0                                         *         
*                                                                     *         
* EXIT-ERROR RETURN CODE : VALID RANGE 1 - 255                        *         
*                                                                     *         
* EXTERNAL-REFERENCES : NONE                                          *         
*                                                                     *         
* CHANGE ACTIVITY : NONE                                              *         
*                                                                     *         
***********************************************************************         
R0       EQU   0                                                                
R1       EQU   1                       WORK REGISTER/CALL PARMS                 
R2       EQU   2                       WORK REGISTER                            
R3       EQU   3                       WORK REGISTER                            
R4       EQU   4                       WORK REGISTER                            
R5       EQU   5                       WORK REGISTER                            
R6       EQU   6                       WORK REGISTER                            
R7       EQU   7                       WORK REGISTER                            
R8       EQU   8                       WORK REGISTER                            
R9       EQU   9                       WORK REGISTER                            
R10      EQU   10                      WORK REGISTER                            
R11      EQU   11                      SECOND BASE REGISTER                     
R12      EQU   12                      BASE REGISTER                            
R13      EQU   13                      SAVE AREA CHAIN                          
R14      EQU   14                      RETURN ADDRESS                           
R15      EQU   15                      ENTRY POINT/RETURN CODE                  
         EJECT                                                                  
CSFWPUTL CSECT                                                                  
         USING CSFWPUTL,R12,R11        SET UP BASE REGISTER                     
         LA    R2,4095                       SET INCREMENT 4K                   
         LA    R2,1(R2)                                                         
         STM   R14,R12,12(R13)         SAVE REGISTERS                           
         LR    R12,R15                 SET UP ADDRESSABILITY                    
         LA    R11,0(R2,R12)                 SET SECOND BASE REG                
         LA    R2,SAVEAREA                                                      
         ST    R13,4(R2)                                                        
         LR    R13,R2                                                           
         ST    R1,R1SAVE                                                        
         L     R4,0(R1)                GET INVOCATION PARM ADDRESS              
         LH    R3,0(R4)                LOAD PARM LENGTH                         
         LTR   R3,R3                   ANY PARMS?                               
         BZ    NOPARM                  NO...BRANCH                              
         STH   R3,PARMLEN              SAVE PARM LENGTH                         
         BCTR  R3,0                    DECREMENT FOR EX                         
         LA    R4,2(R4)                POINT PAST LENGTH                        
         EX    R3,PARMSAVE             MOVE PARM TO INVOCATION FIELD            
         B     START                   BRANCH AROUND CONSTANTS                  
         DC    C'** CSFWPUTL **'       MODULE                                   
         DC    C'** &SYSDATE **'       ASM DATE                                 
         DC    C'** &SYSTIME **'       ASM TIME                                 
         DC C'CSFWPUTL : ICSF CSFPUTIL INVOCATION'                              
         DC C'    (C) COPYRIGHT IBM CORP. 2004 '                                
         DC C'LICENSED MATERIAL - PROGRAM PROPERTY OF IBM '                     
         EJECT                                                                  
START    DS    0H                                                               
         OI    LINKPARM,X'80'          SET LAST PARM INDICATOR                  
         LA    R1,LINKPARM             LOAD PARM ADDRESS                        
         L     R15,=V(CSFPUTIL)        LOAD CSFPUTIL                            
         BALR  R14,R15                 INVOKE IT                                
         LTR   R15,R15                 ANY RETURN CODE?                         
         BZ    RETURN                  NO, ALL DONE                             
         ST    R0,R0SAVE               SAVE R0                                  
         ST    R15,R15SAVE             SAVE R15                                 
         L     R3,R15SAVE                                                       
         CVD   R3,DBWD                 DISPLAY R15 IN DECIMAL                   
         UNPK  UNPACK8(8),DBWD+4(4)                                             
         OI    UNPACK8+7,X'F0'                                                  
         MVC   NOTZERO+23(8),UNPACK8                                            
         L     R3,R0SAVE                                                        
         CVD   R3,DBWD                 DISPLAY R0 IN DECIMAL                    
         UNPK  UNPACK8(8),DBWD+4(4)                                             
         OI    UNPACK8+7,X'F0'                                                  
         MVC   NOTZERO+37(8),UNPACK8                                            
NOTZERO  WTO   'CSFWPUTL  R15: XXXXXXXX  R0: XXXXXXXX'                          
         B     RETURN                                                           
NOPARM   DS    0H                                                               
         WTO   'CSFWPUTL : NO PARAMETERS SPECIFIED'                             
         B     RETURN                                                           
RETURN   DS    0H                                                               
         L     R15,R15SAVE             GET CSFPUTIL RC                          
         L     R13,4(R13)                                                       
         ST    R15,16(13)                                                       
         LM    R14,R12,12(R13)                                                  
         BR    R14                                                              
         SPACE 3                                                                
PARMSAVE MVC   SAVEPARM(0),0(R4)                                                
         SPACE 3                                                                
SAVEAREA DS    18F                                                              
R0SAVE   DS    F                                                                
R1SAVE   DS    F                                                                
R15SAVE  DS    F                                                                
DBWD     DS    D                                                                
UNPACK8  DS    D                                                                
         TITLE 'WORK AREAS'                                                     
         SPACE 3                                                                
         LTORG                                                                  
         SPACE 3                                                                
LINKPARM DC    A(PARMLEN)                                                       
         DS    0D                                                               
PARMLEN  DC    H'0'                                                             
SAVEPARM DC    XL256'00'                                                        
         SPACE 3                                                                
         END   CSFWPUTL                                                         
//*******************************************************************           
//*       JCL to link edit CSFWPUTL                                 *           
//*******************************************************************           
/*                                                                              
//LKED     EXEC PGM=HEWL,PARM='MAP,LET,LIST,AC(1)',COND=(8,LT,C)                
//SYSLIN   DD   DSN=&&LIN,DISP=(OLD,PASS)                                       
//         DD   DDNAME=SYSIN                                                    
//SYSLMOD  DD   DSN=USER.STEPLIB,DISP=OLD                                       
//SYSPRINT DD   SYSOUT=*                                                        
//SYSLIB   DD   DSN=CSF.SCSFMOD0,DISP=SHR                                       
//*****************************************************                         
//SYSIN    DD   *                                                               
 NAME CSFWPUTL(R)                                                               
//*******************************************************************           
//*       JCL to invoke CSFWPUTL                                    *           
//*******************************************************************           
/*                                                                              
//CSFWPUTL EXEC PGM=CSFWPUTL,REGION=512K,                                       
//         PARM='CSF.EXAMPLE.PKDS,REFRESH'                                     
//STEPLIB  DD   DSN=USER.STEPLIB,DISP=SHR                                       
//*                                                                             

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014