Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

NKGTYPE - Output device information

&pagelevel(3)&pagelevel

General

Application area:

Requesting and accessing lists and tables; see "Requesting and accessing lists and tables"

Macro type:

Type S, MF format 1:
31-bit interface: standard/E/L/D form; see "S-type macros"

Device type:Each device is assigned to a device type (DEVICE type). The devices of a particular device type have the same device characteristics. The device type can be addressed either by its (printable) name or by a device type code. Examples of device type names are HNC2, D3435; the corresponding device type codes are X'6D', X'A5'.
Volume type:The volume type defines a combination of (device) characteristics which are important for the use of a volume, e.g. the recording density of tapes. Those device types which possess the characteristics required of a particular type of volume are assigned to a volume type; e.g. the device type LTO-U4 is assigned to volume type TAPE-U4 (MTC with 896 tracks). For disks, the assignment of device types to volume types is unique (identical names). The volume type can be addressed either by its (printable) name or by the volume type code. An examples of name is TAPE-U4; volume type code X'CE'.
Device family:A set of device types having specific device characteristics are assigned to a device family (FAMILY type). A given device type will belong to one device family only. A device family can be addressed by its (printable) name or by the family code. Examples of device family names are DISK, MTC; the corresponding family codes are X'A0', X'C0'.
Device class:

A set of device types is assigned to a device class (CLASS type). Three device classes exist: UR, TAPE and DISK (where UR stands for UNIT-RECORD devices). Device classes can be addressed by their (printable) names only.


The device type table (“System Installation” [10 (Related publications)] manual) contains the names of device types and device families and the associated device type codes and family codes.

Macro description

The NKGTYPE macro provides information about the names, device type codes, device characteristics, path addresses and path attributes for a particular device type or volume type, or about names and device type codes of the device types of a particular device family or device class.
The scope of the information to be output can be determined by means of the INF=... operand. The operand list starts with the standard header. The user can request a DSECT of the input/output area to be generated. The size of the DSECT is also determined by means of the INF operand.

Macro format and description of operands

NKGTYPE

[p] [,MF=(E,..) / L / D]

,FORMAT=INTERNAL / PRINTABLE

,TYPE=UNKNOWN / DEVICE / VOLUME / FAMILY / CLASS

[,INTYP=addr]

,INF=STD / LIST / LOCLIST / VLIST / GEN / STD-LIST

MF=
For a general description of the MF operand, its operand values and any subsequent operands (e.g. for a prefix), see section “S-type macros”. The valid MF values are given at the start of the macro description under “Macro type” and are included in the macro format.

If MF=D is specified, a prefix (p = 1 letter) can be specified, as shown in the macro format.

If the MF operand is omitted, parameter list and calling sequence are generated. After execution R1 then points to the parameter list.

FORMAT=
Indicates whether the name or the code is specified.

INTERNAL
The code (device type code/volume type code/family code) is specified.

PRINTABLE
The (printable) name is specified.

TYPE=
Indicates the device type, volume type, device family or device class to which the device/device type belongs.

UNKNOWN
The assignment is unknown. The type lists are searched in the following order: device class, device family, volume type and device type (including the lists of the corresponding “alias”). The list of device classes is searched only if the (printable) name is specified.

DEVICE
Only the list of device types and the list of the corresponding “alias” is searched.

VOLUME
Only the list of volume types and the list of the corresponding “alias” is searched.

FAMILY
Only the list of device families is searched.

CLASS
Only the list of device classes is searched.

INTYP=
Specifies the field containing the name or code. If the INTYP operand is omitted, the input field NKGDIPTI/NKGDIPPR in the operand list must be supplied with the name/code by the user. Field length:

  • 8 bytes if the (printable) name is specified. The name is entered left-justified with trailing blanks.

  • 2 bytes if the device type code or family code is specified. The code is entered leftjustified with trailing zeros.

    addr
    Symbolic address of the field.

INF=
Defines the scope of the information output.

STD
Standard output is generated:

  • type list which contains the name or code

  • device class (CLASS type)

  • name and code

  • If a device type is specified, a list of the device type characteristics (family code, recording density of a magnetic tape device, ...) is additionally output.

LIST
In addition to the standard output, a list of the corresponding device types is output:

    • If a device type is specified, a list of the corresponding volume types is output and vice versa.

    • If a device family or device class is specified, a list of the names and device type codes of the device types belonging to that device family or device class is output.

LOCLIST
In addition to the standard output, a list of the corresponding types in the specified storage location is also output. The name of the storage location must be supplied explicitly in the parameter list. If no value is entered in the storage location field, the corresponding types are determined from the set of devices which are not assigned to any storage location (residual pool).
You can only specify a device type or a volume type.
If you specify a device type (TYPE=DEVICE), you will obtain a list of the corresponding volume types; if you specify a volume type (TYPE=VOLUME), you will see a list of the corresponding device types.

VLIST
Specification of this operand is meaningful for device classes only.
In addition to the standard output, a list of the volume types belonging to the device class specified is output.

GEN
Specification of this operand is meaningful for device types only.
In addition to the standard output, a list of the generation options (path addresses and path attributes, e.g. channel type, controller type, ...) is output.

STD-LIST
Specification of this operand is meaningful for TYPE=CLASS only.
In contrast to INF=LIST, only the list of disk devices and STDDISK supported to BS2000/OSD-BC V2.0 is output.
This value was introduced to support the SDF data type <device>. New disks should only be requested in user commands with the standard disk type STDDISK.

Return information and error flags

Register R1 contains the operand list address.

R15:

+---------------+
|   |   |   |   |
|c|c|b|b|a|a|a|a|
+---------------+

A structured return code relating to the execution of the NKGTYPE macro is transferred in register R15: (cc=Subcode2, bb=Subcode1, aaaa=Maincode)

X'cc'

X'bb'

X'aaaa'

Meaning

X'00'

X'00'

X'0000'

Normal execution, entry found

X'00'

X'04'

X'0004'

Entry not found

X'00'

X'08'

X'0004'

Specification for INF=... is inconsistent with specification for TYPE=...

X'00'

X'10'

X'0004'

The (printable) name specified is incomplete or ambiguous

X'00'

X'20'

X'0004'

System error

X'00'

X'0C'

X'0004'

Invalid operand list address

X'00'

X'FF'

X'0004'

Operand error

Layout of the DSECT for the input/output area if INF=STD

           NKGTYPE MF=D
1                *,VERSION 701
1          #INTF MACNAME=NKGTYPE,REFTYPE=REQUEST,MACVERS=701,            C
1                INTNAME=011.001,INTVERS=1
1          MFPRE DNAME=KGDTYP,MF=D,MACID=KGD,ALIGN=F,PREFIX=N,           C
1                DMACID=KGD
2 NKGDTYP  DSECT ,
2                *,##### PREFIX=N, MACID=KGD #####
1 NKGDPLS  DS    0F       DCL 1 NKGTYPE_PARAMETERLIST_START
1 NKGDFHDR FHDR  MF=(C,NKGD),EQUATES=NO
2 NKGDFHDR DS    0A
2 NKGDFHE  DS    0XL8            0   GENERAL PARAMETER AREA HEADER
2 *
2 NKGDIFID DS    0A              0   INTERFACE IDENTIFIER
2 NKGDFCTU DS    AL2             0   FUNCTION UNIT NUMBER
2 *                                  BIT 15    HEADER FLAG BIT,
2 *                                  MUST BE RESET UNTIL FURTHER NOTICE
2 *                                  BIT 14-12 UNUSED, MUST BE RESET
2 *                                  BIT 11-0  REAL FUNCTION UNIT NUMBER
2 NKGDFCT  DS    AL1             2   FUNCTION NUMBER
2 NKGDFCTV DS    AL1             3   FUNCTION INTERFACE VERSION NUMBER
2 *
2 NKGDRET  DS    0A              4   GENERAL RETURN CODE
2 NKGDSRET DS    0AL2            4   SUB RETURN CODE
2 NKGDSR2  DS    AL1             4   SUB RETURN CODE 2
2 NKGDSR1  DS    AL1             5   SUB RETURN CODE 1
2 NKGDMRET DS    0AL2            6   MAIN RETURN CODE
2 NKGDMR2  DS    AL1             6   MAIN RETURN CODE 2
2 NKGDMR1  DS    AL1             7   MAIN RETURN CODE 1
2 NKGDFHL  EQU   8               8   GENERAL OPERAND LIST HEADER LENGTH
2 *
1          SPACE 1
1 *        EQUATES FOR THE MAIN RETURN CODE
1          SPACE 1
1 NKGDSUCC EQU   X'0000'          SUCCESS : ENTRY FOUND
1 *                               OUTPUT AREA CONTAINS VALID DATA
1 NKGDPERR EQU   X'0004'          UNSUCCESS
1 *                               OUTPUTAREA IS SET TO ZERO (X'00')
1 *                               SEE SUB RETURN CODE 1 FOR DETAIL
1          SPACE 1
1 *        EQUATES FOR THE SUB RETURN CODE 1 (RR IN X'00RR0004)
1          SPACE 1
1 NKGDSENF EQU   X'04'            ENTRY NOT FOUND
1 NKGDICIT EQU   X'08'            UNCONSISTENCY BETWEEN INF AND TYPE P.
1 NKGDS1SY EQU   X'20'            SYSTEM ERROR   (RC-CLASS C)         215
1 NKGDSPIA EQU   X'10'            PRINTABLE INPUT IS AMBIGUOUS
1 NKGDSPER EQU   X'FF'            PARAMETER ERROR
1 NKGDNAP1 EQU   X'0C'            PARAMETER LIST OR INPUT-TYPE NOT
1 *                               ACCESSIBLE (THIS RC IS ONLY
1 *                               POSSIBLE FOR P1-USERS, FOR WHICH A
1 *                               ADDRESS VALIDATION IS DONE, THIS RC
1 *                               IS ONLY SET TO CALLERS R15)
1          SPACE 1
1 *        EQUATES FOR THE SUB RETURN CODE 2  (SS IN X'SS000000)      101
1          SPACE 1
1 *********************************
1 *        INPUT PARAMETER        *
1 *********************************
1 NKGDINP  DS    0F        2 INPUT_PARAMETER
1 NKGDTPES DS    X           3 TYPE_SET
1 NKGDDEVC EQU   C'D'          (DEVICE  = D,
1 NKGDVOLM EQU   C'V'           VOLUME  = V,
1 NKGDFAML EQU   C'F'           FAMILY  = F,
1 NKGDCLSS EQU   C'C'           CLASS   = C,
1 NKGDUNKN EQU   C'U'           UNKNOWN = U)
1 NKGDFRMT DS    X           3 FORMAT_SET
1 NKGDINTR EQU   X'01'         (INTERNAL  = 1,
1 NKGDPRNT EQU   X'02'          PRINTABLE = 2)
1 NKGDTYPE DS    X           3 INPUT_TYPE_SET
1 NKGDTSTD EQU   X'00'         (TYPE_EXPLIZIT_IN_PARAMLIST   = 0,
1 NKGDADDR EQU   X'01'          TYPE_ADDR_SPECIFIED          = 1,
1 NKGDREG  EQU   X'02'          NO MORE USED SINCE V11.2A )
1 NKGDINFS DS    X           3 INFORMATION_SET
1 NKGDISTD EQU   X'01'         (STANDARD                     = 1,
1 NKGDIGEN EQU   X'02'          GENERATION                   = 2,
1 NKGDILST EQU   X'04'          LIST_OF_CORRESPONDING_TYPES  = 4,
1 *I.ICHR  EQU   X'08'          DISK_CHARACTERISTICS NO LONGER SUPP.
1 NKGDVLST EQU   X'10'          LIST_OF_CLASS_SPEC_VOL_TYPES = 16,
1 NKGDSLST EQU   X'20'          Standard_List_of_CLASS       = 32,
1 NKGDLLST EQU   X'40'          LIST-OF-CORR-TYPES-IN-LOCATION=64 )
1          SPACE 1
1 NKGDIADR DS    A           3 ADDR(INPUT_TYPE)
1          ORG   NKGDIADR
1 NKGDIREG DS    A           3 NO MORE USED SINCE V11.2A
1 NKGDIPTI DS    XL2         3 INPUT_TYPE_INTERNAL_FORMAT
1          DS    0A
1 NKGDIPPR DS    CL8         3 INPUT_TYPE_PRINTABLE_FORMAT
1 NKGDILOC DS    CL8         3 INPUT_LOCATION
1          SPACE 2
1 *********************************
1 *        OUTPUT PARAMETER       *
1 *********************************
1 NKGDOUTP DS    0F        2 OUTPUT_PARAMETER
1 NKGDOPLI DS    CL1         3 OUTPUT_LIST_INDICATOR SET
1 NKGDOTTL EQU   C'D'          (ENTRY_FOUND_IN_DEVICE_TYPE_LIST=D,
1 NKGDOVTL EQU   C'V'           ENTRY_FOUND_IN_VOLUME_TYPE_LIST=V,
1 NKGDOFTL EQU   C'F'           ENTRY_FOUND_IN_FAMILY_TYPE_LIST=F,
1 NKGDOCTL EQU   C'C'           ENTRY_FOUND_IN_CLASS_TYPE_LIST =C)
1 NKGDSECL DS    XL1         3 SECOND_LIST_INDICATOR
1 NKGDSVTL EQU   X'01'         4 E._FOUND_ALSO_IN_VOL_TYPE_L = 1
1 NKGDSDTL EQU   X'02'         4 E._FOUND_ALSO_IN_DEV_TYPE_L = 2
1 NKGDSFML EQU   X'04'         4 E._FOUND_ALSO_IN_FAM_TYPE_L = 4
1 NKGDOPNI DS    XL1         3 NAME_INDICATOR
1 *                             /* TO TEST ON BIT LEVEL */
1 NKGDOINS EQU   X'01'         4 INPUT_NAME_IN_SHORT_FORMAT = 1
1 NKGDOANT EQU   X'02'         4 ALIAS_NAME_TRANSLATED      = 2
1 NKGDDCLS DS    X           3 DEVICE_CLASS SET
1 NKGDURD  EQU   C'U'            (UR_DEVICE  =U,
1 NKGDDISC EQU   C'D'             DISC_DEVICE=D,
1 NKGDTAPE EQU   C'T'             TAPE_DEVICE=T)
1          DS    X           3 RESERVED
1 NKGDDVTI DS    XL2         3 TYPE_INTERNAL_FORMAT
1 NKGDDVTP DS    CL8         3 TYPE_PRINTABLE_FORMAT
1 NKGDRESP DS    X           3 RESERVATION_POSSIBILITY_INDICATOR
1 NKGDRESN EQU   X'01'         4 RESERVATION_BY_TYPE_NOT_POSSIBLE = 1
1 NKGDALNP EQU   X'02'         4 ALLOCATION_BY_TYPE_NOT_POSSIBLE  = 2
1 NKGDRMNN EQU   X'04'         4 RESERVATION_BY_MNEM_NOT_POSSIBLE = 4
1 NKGDAMNN EQU   X'08'         4 ALLOCATION_BY_MNEM_NOT_POSSIBLE  = 8
1 NKGDATNA EQU   X'10'         4 ATTACH_NOT_ALLOWED               =16
1          DS    F           3 RESERVED
1          SPACE 2
1 ***********************************************************
1 *
1 *   VOLUME-TYPE-ATTRIBUTES
1 *   ONLY VALID IF NKGDOPLI=NKGDOVTL
1 *   (ENTRY_FOUND_IN_VOLUME_TYPE_LIST_
1 *
1 ***********************************************************
1 NKGDDNSF DS    X           3 DENSITY_FLAG
1 NKGDCORD EQU   X'01'         4 VOL_TYPE_CORRESPONDS_TO_ONE_DENSITY
1 NKGDVLEV DS    X           3 TAPE_LEVEL_INDICATOR
1 NKGDLV9  EQU   X'01'         4 9_LEVEL_TAPE
1 NKGDLV18 EQU   X'02'         4 MBK_Mode
1 NKGDLVV  EQU   X'04'         4 VIDEO_TAPE
1 NKGDLVSC EQU   X'08'         4 STREAMING_CARTRIGE_TAPE
1 NKGDITYP DS    XL2         3 VOLUME_TYPE_FOR_LABEL_INITIALISATION
1 NKGDVL#2 EQU   *             VOLUME_TYPE_DESCRIPTION_EXTENSION
1 NKGDVRCM EQU   *           3 VOLUME_TYPE_RECORDING_MODE
1 NKGDVTPM DS    X             4  VOLUME_TAPE_MODE ( /* 9_LEVEL_TAPE*/
1 *I.800   EQU   X'01'              DENSITY_800_BPI  = 1,
1 *I1600   EQU   X'02'              DENSITY_1600_BPI = 2,
1 *I6250   EQU   X'04'              DENSITY_6250_BPI = 4 )
1          ORG   NKGDVTPM
1 NKGDV18M DS    X            4   VOLUME_MBK_MODE  (/* 18_LEVEL_TAPE*/
1 *I.COMP  EQU   X'01'              DATA_COMPACTION        = 1
1 *I.256P  EQU   X'02'              256kB_blocks_possible  = 2
1 *I.MLTE  EQU   X'20'              LTO_encrypted          = 32
1 *I.MLTO  EQU   X'40'              MODE LTO               = 64 )
1 NKGDWORN EQU   X'80'              WORM-Medium            = 128 )
1 NKGDTRCT DS    CL2        3 DMS_TAPE_RECORDING_TECHNIQUE(
1 NKGDDLNR EQU   C'  '              NORMAL_DENSITY       ,
1 NKGDDLCM EQU   C'P '              COMPACTION           )
1 NKGDDHDI DS    C          3 DMS_HDR2_DENSITY_INDICATOR(
1 NKGDDH8  EQU   C'2'               HDR2_800_BPI         ,
1 NKGDDH16 EQU   C'3'               HDR2_1600_BPI        ,
1 NKGDDH62 EQU   C'4'               HDR2_6250_BPI        ,
1 NKGDDHDM EQU   C' '               HDR2_MBK             )
1 NKGDTCRS DS    X          3 TYPE_CONCERNED_BY_RESTRICTION
1 NKGDRCNW EQU   X'01'         CONCERNED_BY_RESTRICTION_NO_WRITE
1 NKGDLTOT DS    X          3 LTO_MEDIUM_TYPE
1          ORG   NKGDVL#2
1          SPACE 2
1 ***********************************************************
1 *
1 *   GENERATION-UNDEPENDENT DEVICE-TYPE-ATTRIBUTES
1 *       ONLY VALID IF NKGDOPLI=NKGDOTTL
1 *       (ENTRY_FOUND_IN_DEVICE_TYPE_LIST)
1 *
1 ***********************************************************
1 NKGDFAMD DS    0XL10       3 FAMILY_DESCRIPTION
1 NKGDFAMI DS    XL2           4 FAMILY_INTERNAL_FORMAT
1 NKGDFAMP DS    CL8           4 FAMILY_PRINTABLE_FORMAT
1 NKGDDEFI DS    X           3 DEFAULT_INTERRUPTION_SUBCLASS_CODE_SET
1 NKGDDEF0 EQU   X'00'
1 NKGDDEF1 EQU   X'01'
1 NKGDDEF2 EQU   X'02'
1 NKGDDEF3 EQU   X'03'
1 NKGDDEF4 EQU   X'04'
1 NKGDDEF5 EQU   X'05'
1 NKGDDEF6 EQU   X'06'
1 NKGDDEF7 EQU   X'07'
1 NKGDHWA2 DS    X           3 HARDWARE_ATTRIBUTES BYTE 2
1 *        EQUATES  CF BELOW
1 NKGDDSSP DS    0XL2        3 DISC_SUB_ATTRIBUTES
1 NKGDDMDE DS    X             4 DISC_MODE
1 NKGDMOVJ EQU   X'01'           5 MOVABLE  =1
1 NKGDFIXH EQU   X'02'           5 FIX_HEAD =2
1 NKGDSTRU DS    X             4 DISK_STRUCTUR_SET
1 NKGDSFBA EQU   X'01'           (FBA-DISK          =1,
1 NKGDSCKD EQU   X'02'            CKD-DISK          =2,
1 NKGDSPAD EQU   X'04'            PAD_DISK          =4,
1 NKGDSCHD EQU   X'08'            CHANNEL_DEPENDENT =8, &CTL-DEPENDENT
1 NKGDSECK EQU   X'10'            ECKD_DISK         =16,
1 NKGDSEMU EQU   X'20'            EMULATED_DISK     =32)
1          ORG   NKGDDSSP
1 NKGDTSSP EQU   *           3 TAPE_SUB_ATTRIBUTES
1 NKGDTMDE DS    X             4 TAPE_MODE  /* 9_LEVEL_TAPE */
1 NKGDL9M  EQU   NKGDTMDE
1 NKGD800  EQU   X'01'           5 No longer used
1 NKGD1600 EQU   X'02'           5 1600BPI_SUPPORTED        =2
1 NKGD6250 EQU   X'04'           5 6250BPI_SUPPORTED        =4
1          ORG   NKGDTMDE
1 NKGDL18M DS    X             4 MBK_MODE
1 NKGDCOMP EQU   X'01'           5 DATA_COMPATCION_SUPPORTED = 1
1 NKGDTPLV DS    X           3 TAPE_LEVEL_INDICATOR
1 *&I.LV9  EQU   X'01'         4 9_LEVEL_TAPE              = 1
1 *&I.LV18 EQU   X'02'         4 MBK_Mode                  = 2
1 *&I.LVV  EQU   X'04'         4 VIDEO_TAPE
1 *&I.LVSC EQU   X'08'         4 STREAMING_CARTRIGE_TAPE
1          ORG   NKGDDSSP
1 NKGDCNSP EQU   *           3 CONSOLE_SUB_ATTRIBUTES
1 NKGDCMDE DS    X             4 CONSOLE_MODE
1 NKGDCDIS EQU   X'01'           5 DISPLAY =1
1 NKGDCHDC EQU   X'02'           5 HARDCOPY=2
1          ORG   NKGDDSSP+L'NKGDDSSP
1 NKGDHWAT DS    X          3 HARDWARE_ATTRIBUTES
1 NKGDRERE EQU   X'01'        4 RESERVE_RELEASE_SUPPORTED = 1  (D)
1 NKGDSDNC EQU   X'02'        4 SET_DENSITY_NECCESSARY    = 2  (T)
1 NKGDSTRM EQU   X'04'        4 STREAMING_MODUS_POSSIBLE  = 4  (T)
1 NKGDDISP EQU   X'08'        4 DISPLAY                   = 8  (T,D)
1 NKGDBUFF EQU   X'10'        4 CONTROLLER_WITH_BUFFER    =16  (T,D)
1 NKGDPOSI EQU   X'20'        4 CTL_SUPPORTS_POSITIONING  =32  (T)
1 NKGDNRRV EQU   X'40'        4 NO_READ_REVERSE_SUPPORTED =64  (T)
1 NKGDSTKP EQU   X'80'        4 STACKER_POSSIBLE          =128 (T)
1 *  HWA2                   3 HARDWARE_ATTRIBUTES BYTE 2
1 NKGDSSDD EQU   X'01'        4 SOLID_STATE_DISC_DEVICE   = 1  (D)
1 NKGDRSTP EQU   X'02'        4 RANDOM_STACKER_POSSIBLE   = 2  (T)
1 NKGDFORI EQU   X'04'        4 FORMATTING_DURING_INIT_NECESSARY= 4(T)
1 NKGDGENF DS    X          3 GENERATION_FACILITIES
1 NKGDSICH EQU   X'01'        4 CFCS12_CHANNEL_TYPE =1
1 NKGDFJCH EQU   X'02'        4 CFCS3_CHANNEL_TYPE  =2
1 NKGDPADT DS    A          3 ADRESS_OF_ADAM_TRANSLATION
1 NKGDCBUF DS    F          3 CONTROLLER_BUFFER_SIZE (BYTES)
1 NKGDDCAP DS    F          3 MAXIMAL DISC CAPACITY (#HP'S PER VOL)
1 NKGD#CYL DS    H          3 MAXILAL NUMBER OF CYCLINDERS PER VOL
1 NKGDDFVT DS    XL2        3 DEFAULT_VOLUME_TYPE (DEFAULT_DENSITY)
1 NKGDURST DS    X          3 USE_RESTRICTION
1 NKGDRNWR EQU   X'01'        RESTRICTION_NO_WRITE_POSSIBLE
1 NKGDLTOL DS    X          3 LTO_LEVEL
1          DS    XL2        3 RESERVED
1 NKGDOPL1 EQU   *-NKGDOUTP
1 NKGDOPLN EQU   *-NKGDOUTP  LENGTH_OF_THE_OUTPUT_PARAMETERLIST
1          DS    0XL(1-(NKGDOPLN-60)*(NKGDOPLN-60))
1 NKGDPLLN EQU   *-NKGDPLS   TOTAL_LENGTH_OF_THE_PARAMETERLIST

Example

The device types belonging to device family X'A0' (disk storage units) are to be output. The macro is called in the E/L form.

NKGTYPE  START
         PRINT NOGEN
         BALR  3,0
         USING *,3
         NKGTYPE MF=(E,NKGL)
END      TERM
NKGL     NKGTYPE MF=L,TYPE=FAMILY,INTYP=ADDR,INF=LIST
ADDR      DC    X'A000'  ———————————————————————————————————————————————  (1) 
         END

Runtime log:

/start-assembh
%  BLS0500 PROGRAM 'ASSEMBH', VERSION '<ver>' OF '<date>' LOADED
%  ASS6010 <ver> OF BS2000 ASSEMBH  READY 
//compile source=*library-element(macexmp.lib,nkgtype), -
//        compiler-action=module-generation(module-format=llm), -
//        module-library=macexmp.lib, -
//        listing=parameters(output=*library-element(macexmp.lib,nkgtype)), -
//        test-support=*aid
%  ASS6011 ASSEMBLY TIME: 306 MSEC
%  ASS6018 0 FLAGS, 0 PRIVILEGED FLAGS, 0 MNOTES
%  ASS6019 HIGHEST ERROR-WEIGHT: NO ERRORS
%  ASS6006 LISTING GENERATOR TIME: 94 MSEC
//end
%  ASS6012 END OF ASSEMBH
/load-executable-program library=macexmp.lib,element-or-symbol=nkgtype, -
/     test-options=*aid
%  BLS0523 ELEMENT 'NKGTYPE', VERSION '@' FROM LIBRARY
   ':2OSG:$QM212.MACEXMP.LIB' IN PROCESS
%  BLS0524 LLM 'NKGTYPE', VERSION ' ' OF '<date> <time>' LOADED
/%on %any <%d %§(nkgl)-> %xl568>;%r ———————————————————————————————————  (2) 
*** TID: 00200175 *** TSN: 5UTP *********************************************** 
CURRENT PC: 0000002C    CSECT: NKGTYPE  *************************************** 
V'00000030' = NKGTYPE  + #'00000030'                                            
00000030 (00000030) 000B0101 00000000 C6010104 000002BA    ........F.......     
00000040 (00000040) 00000000 00000000 00000000 00000000    ................     
00000050 (00000050) 00000000 C60000C4 00A000C4 C9E2D240    ....F..D...DISK      
00000060 (00000060) 40404003 00000000 00000000 00000000       .............     
00000070 (00000070) 00000000 00000000 00000000 00000000    ................     
00000080 (00000080) 00000000 00000000 00000000 00000000    ................     
00000090 (00000090) 00040000 A500C4F3 F4F3F540 4040A600    ....v.D3435   w.     
000000A0 (000000A0) C4F3F4F3 F560C6D7 AA00E2E3 C4C4C9E2    D3435-FP..STDDIS     
000000B0 (000000B0) D240A900 D5C5E3E2 E3D6D940 00000000    K z.NETSTOR ....     
000000C0 (000000C0) 00000000 00000000 00000000 00000000    ................     
           REPEATED LINES:    24                                                
00000250 (00000250) 00000000 00000000 00000000 00000000    ................     
00000260 (00000260) 00000000 00000000                      ........             

(1)

The family code for disk storage units is entered.

(2)

The input output area is displayed using the Advanced Interactive Debugger (AID).

The I/O area starts at address X'000034'.Bytes 3-7 contain the return code X'00000000'.The input data (DSECT area “INPUT PARAMETER”) follows:X'C6': TYPE=FAMILY,X'01': FORMAT=INTERNAL,X'01': INTYP=ADDR,X'04': INF=LIST,X'000002BA' is the virtual address of field ADDR.

The output area (DSECT area “OUTPUT PARAMETER”) starts at address X'000054', where:X'C6': ,Entry was found in the list of device families.X'C4': ,Disk storage unit.X'A0': ,Family code.X'C4C9E2D240404040': DISK = name of the device family.

The additional output for INF=LIST is found starting at address X'000090'.X'0004': The device type list contains 4 entries.2 reserved bytes are followed by the device type code and then the (printable) device type name.