Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

SECURE-Exits (025/026)

&pagelevel(3)&pagelevel

Die Anwendung des Kommandos SECURE-RESOURCE-ALLOCATION kann an zwei Exit-Punkten von der Systembetreuung überwacht werden:

  • Die Request Exit-Routine kann die SECURE-Anforderung abweisen.

  • Die Return Exit-Routine kann nach der Bearbeitung der SECURE-Anforderung geeignete Aktionen zur Protokollierung bzw. Registrierung durchführen.

Return Exit (025)

Folgende Informationen werden an die Exit-Routine übergeben:

R1 = A(Parameterbereich NKSEPAR)
R12 = A(P2 Program Manager)
R13 = A(Sicherungsbereich der rufenden Komponente)
R14 = A(indirekter Rücksprung)
R15 = A(Exit-Routine)

Hinweise

  • Register 12, 13 und 14 dürfen von der Exit-Routine nicht zerstört werden.

  • Das Feld NKSHMSG des NKSEPAR-Arbeitsbereiches enthält:

    • die Meldungsnummer (_NKSxxxx), mit der das SECURE-RESOURCE-ALLOCATION-Kommando vom Kommandoprozessor abgewiesen wurde;

    • XL8'00' bei erfolgreicher Kommandobearbeitung.

  • Das Feld NKSHPTR des NKSEPAR-Arbeitsbereiches enthält:

    • einen Zeiger auf das fehlerhafte Element der NKSEPAR-Datenliste oder A(0), wenn das fehlerhafte Element nicht eindeutig zu bestimmen ist;

    • A(0) bei erfolgreicher Kommandobearbeitung.

Request Exit (026)

Die Registerversorgung erfolgt wie beim Return Exit.

Die Rückkehrinformation an die rufende Systemkomponente erfolgt im Feld NKSHEXR des Parameterbereichs NKSEPAR.

NKSHEXRC=X'00'

/SECURE-RESOURCE-ALLOCATION erfolgreich.

NKSHEXRC=X'04'

/SECURE-RESOURCE-ALLOCATION von der Exit-Routine abgewiesen.

Hinweise

  • Register 12, 13 und 14 dürfen von der Exit-Routine nicht zerstört werden.

  • Wird die SECURE-Anforderung von der Exit-Routine abgewiesen, erscheint die Meldung:

    % NKS0062 SECURE-ANFORDERUNG VOM SYSTEMVERWALTER ABGEWIESEN. GRUND: (&00)

    Ein Ablehnungsgrund wäre z.B., dass mehr als drei Geräte vom Typ 3590 reserviert werden sollen.

  • Wird das SECURE-RESOURCE-ALLOCATION-Kommando von der Exit-Routine abgewiesen (NKSHEXRC = X'04'), kann das Feld NKSHPTR des NKSEPAR-Arbeitsbereichs von der Exit-Routine mit der Anfangsadresse des fehlerhaften Elements in der NKSEPAR-Datenliste versorgt werden. Der Benutzer erhält dann weitere Informationen in der Meldung NKS0062 (s.o.).

DSECT

         NKSEPAR
         MFCHK DNAME=KSHEAD,MF=D,MACID=KSH,ALIGN=F,PREFIX=N,        200C
               DMACID=KSH                                           200
NKSHEAD  DSECT ,
               *,##### PREFIX=N, MACID=KSH #####
**********************************************************
**     SYSTEM-EXIT FOR SECURE : HEADER DESCRIPTION      **
**********************************************************
*--                           1 SECURE_EXIT_HEADER,
NKSHEXRT DS    0F               2 EXIT_RETURN_INFO                  200
         DS    XL3                FILLER                            200
NKSHEXRC DS    X                  EXIT_RETURN_CODE                  200
NKSHEXOK EQU   X'00'              SUCCESS                           200
NKSHEXSR EQU   X'04'              SEC_RES REJECTED                  200
NKSHMSG  DS    XL8              2 RETURN_EXIT_MSG_IDENTIFIER
*--                               (SEC_SUCCESS = XL8'00',
*--                                SEC_NO_SUCCESS = ' NKS....'),
NKSHPTR  DS    A                2 SECURE_EXIT_ERROR_ELEMENT
*--                               (DEFINED = A(BEGIN_OF_ERROR_ELEM,
*--                                NOT_DEFINED = A(0));
*--                             2 POINTERS_AND_COUNTERS_OF_ELEMENTS
*--                               (UNDEFINED=POINTER_AND_COUNTER_
*--                                                 _ARE_SET_TO_ZERO)
NKSHFILE DS    A                  3 FILE_LIST_POINTER,
NKSHFIL# DS    H                  3 FILE_ELEM_COUNTER,
NKSHVOL  DS    A                  3 VOLUME_LIST_POINTER,
NKSHVOL# DS    H                  3 VOLUME_ELEM_COUNTER,
NKSHDEV  DS    A                  3 DEVICE_LIST_POINTER,
NKSHDEV# DS    H                  3 DEVICE_ELEM_COUNTER,
NKSHUNIT DS    A                  3 UNIT_LIST_POINTER,
NKSHUNI# DS    H                  3 UNIT_ELEM_COUNTER,
NKSHDEVL DS    A                  3 DEVICE_AT_LOCATION_LIST_POINTER 102
NKSHDE#L DS    H                  3 DEVICE_AT_LOCATION_ELEM_COUNTER 102
         DS    0F
****       ELEMENT_DESCRIPTION SEE BELOW           ****
NKSHLEN  EQU   *-NKSHEXRT       LENGTH_OF_HEADER;

         SPACE 2
         MFCHK DNAME=KSELEM,MF=D,MACID=KSE,ALIGN=F,PREFIX=N,        200C
               DMACID=KSE                                           200
NKSELEM  DSECT ,
               *,##### PREFIX=N, MACID=KSE #####
**********************************************************
**     SYSTEM-EXIT FOR SECURE : ELEMENT DESCRIPTION     **
**********************************************************
*--                           1 SECURE_EXIT_ELEMENTS ALIGN FW,
NKSETYP  DS    XL1              2 TYPE_OF_ELEMENT SET
NKSEFILE EQU   X'01'              (FILE   = 1,
NKSEVOL  EQU   X'02'               VOLUME = 2,
NKSEDEV  EQU   X'03'               DEVICE = 3,
NKSEUNIT EQU   X'04'               UNIT   = 4,
NKSEDEVL EQU   X'05'               DEVICE AT LOCATION = 5),         102
         SPACE 1
NKSEDESC DS    0C               2 ELEMENTS_DESCRIPTION,
*** LAYOUT FOR FILE ELEMENT ***   3 FILE_ELEMENT,
NKSEFNAM DS    CL54                 4 FILE_NAME,
NKSEFTYP DS    XL1                  4 FILE_DEVICE_TYPE SET
NKSEFTDI EQU   X'01'                  (DEVICE_TYPE_DISK = 1,
NKSEFTTA EQU   X'02'                   DEVICE_TYPE_TAPE = 2),
NKSEFRES DS    XL1                  4 FILE_RESERVATION_TYPE SET
NKSEFRSH EQU   X'00'                  (SHAREABLE = 0,
NKSEFREX EQU   X'01'                   EXCLUSIVE = 1),
NKSEFACC DS    XL1                  4 FILE_ACCESS_IF_TAPE SET
NKSEFARD EQU   X'00'                  (READ  = 0,
NKSEFAWR EQU   X'01'                   WRITE = 1),
*
NKSEFLEN EQU   *-NKSETYP          LENGTH_OF_ONE_FILE_ELEMENT
         SPACE 2
         ORG   NKSEDESC
         SPACE 1
*** LAYOUT FOR VOLUME ELEMENT *** 3 VOLUME_ELEMENT DEFINED FILE_ELEMENT,
NKSEVSN  DS    CL6                  4 VOLUME_SERIAL_NUMBER,
NKSEVDT  DS    XL2                  4 VOLUME_DEVICE_TYPE_CODE,
NKSEVTYP DS    XL1                  4 VOLUME_DEVICE_TYPE SET
NKSEVTDI EQU   X'01'                  (DEVICE_TYPE_DISK = 1,
NKSEVTTA EQU   X'02'                   DEVICE_TYPE_TAPE = 2),
NKSEVRES DS    XL1                  4 VOLUME_RESERVATION_TYPE SET
NKSEVRSH EQU   X'00'                  (SHAREABLE = 0,
NKSEVREX EQU   X'01'                   EXCLUSIVE = 1),
NKSEVACC DS    XL1                  4 VOLUME_ACCESS_IF_TAPE SET
NKSEVARD EQU   X'00'                  (READ  = 0,
NKSEVAWR EQU   X'01'                   WRITE = 1),
*
NKSEVLEN EQU   *-NKSETYP          LENGTH_OF_ONE_VOLUME_ELEMENT
         SPACE 2

         ORG   NKSEDESC
         SPACE 1
*** LAYOUT FOR DEVICE ELEMENT *** 3 DEVICE_ELEMENT DEFINED FILE_ELEMENT,
NKSEDTC  DS    XL2                  4 DEVICE_TYPE_CODE,
NKSEDEV# DS    H                    4 NUMBER_OF_DEVICES,
*
NKSEDLEN EQU   *-NKSETYP          LENGTH_OF_ONE_DEVICE_ELEMENT
         SPACE 2
         ORG   NKSEDESC
         SPACE 1
*** LAYOUT FOR UNIT ELEMENT ***   3 UNIT_ELEMENT DEFINED FILE_ELEMENT,
NKSEUMN  DS    CL4                  4 UNIT_MNEMONIC,                MNE
*
NKSEULEN EQU   *-NKSETYP          LENGTH_OF_ONE_UNIT_ELEMENT
         SPACE 2
         ORG   NKSEDESC                                             102
         SPACE 1                                                    102
*** LAYOUT FOR DEVICE_AT_LOCATION ELEMENT ***                       102
NKSEDTCL DS    XL2                4 TYPE-CODE OF DEVICE_AT_LOCATION 102
NKSEDE#L DS    H                  4 NUMBER OF DEVICE_AT_LOCATION    102
NKSEDLOC DS    CL8                4 DEVICE-LOCATION                 102
*                                                                   102
NKSELLEN EQU   *-NKSETYP                                            102
         SPACE 2                                                    102
         ORG

Die übergebene Elementliste entspricht nicht unmittelbar den im SECURE-RESOURCE-ALLOCATION-Kommando angegebenen Parametern.

  • Die VOLUME_ELEMENT-Teilliste enthält neben den explizit angegebenen DISK-/TAPE-Anforderungen auch die durch FILE spezifizierten implizit benötigten Volumes, die aus den Katalogeinträgen ergänzt wurden.

  • Die DEVICE_AT_LOCATION-Teilliste ist eine rein additive verfeinerte Aufschlüsselung der DEVICE-Teilliste. Sie enthält die Device-Anforderungen, für die eine Lagerortzuordnung existiert. Diese Zuordnung kann entstanden sein durch:

    • die Angabe des Anwenders (LOCATION=<loc>)

    • die Default-Location bei *USER-DEFAULT für MAREN

    • eine im MAREN-EXIT6 ermittelte Location bei Angabe von LOCATION=*BY-FILE