com.ibm.jzos

Class Format8DSCB

  • java.lang.Object
    • com.ibm.jzos.Format8DSCB
  • All Implemented Interfaces:
    DSCB


    public class Format8DSCB
    extends java.lang.Object
    implements DSCB
    A object which maps a Format-8 DSCB (Dataset Control Block), which is a record from the VTOC that describes a MVS dataset. Format-8 DSCB records are used to describe datasets on extended address volumes.

    This mapping is a direct, field-for-field translation of the assembler DSECT described by 'SYS1.MODGEN(IECSDSL1)'. Refer to IECSDSL1 for more information.

    Since:
    2.3.4
    See Also:
    ZFile.readDSCBChain(String, String)
    • Field Detail

      • F8DSCB

        public static final int F8DSCB
                F8DSCB DSECT
                   IECSDSL1   (8) 
      • IECSDSL1

        public static final int IECSDSL1
                IECSDSL1 EQU   *                   FORMAT 1/8 DSCB                 @LvC  
      • IECSDSF1

        public static final int IECSDSF1
                IECSDSF1 EQU   IECSDSL1            SAME AS IECSDSL1                @P1C  
      • DS1IDC

        public static final int DS1IDC
                DS1IDC   EQU   X'F1'               FORMAT 1 IDENTIFIER             @LvA  
        See Also:
        Constant Field Values
      • DS8IDC

        public static final int DS8IDC
                DS8IDC   EQU   X'F8'               FORMAT 8 IDENTIFIER             @LvA  
        See Also:
        Constant Field Values
      • DS1COMPR

        public static final int DS1COMPR
                DS1COMPR EQU   X'80'  1... ....    COMPRESSABLE EXTENDED FORMAT    @LAA 
                                          (DS1STRP MUST ALSO BE SET)      @LAA 
        See Also:
        Constant Field Values
      • DS1CPOIT

        public static final int DS1CPOIT
                DS1CPOIT EQU   X'40'  .1.. ....    CHECKPOINTED DATASET            @03A  
        See Also:
        Constant Field Values
      • DS1EXPBY

        public static final int DS1EXPBY
                DS1EXPBY EQU   X'20'  ..1. ....    VSE EXP DATE SPEC BY RET PERIOD @08C  
        See Also:
        Constant Field Values
      • DS1RECAL

        public static final int DS1RECAL
                DS1RECAL EQU   X'10'  ...1 ....    DATA SET HAS BEEN RECALLED      @LDA  
        See Also:
        Constant Field Values
      • DS1LARGE

        public static final int DS1LARGE
                DS1LARGE EQU   X'08'  .... 1...    >64K TRACK DATA SET COEXISTENCE @08M 
                             .... .1..    RESERVED                        @V2C 
        See Also:
        Constant Field Values
      • DS1EATTR

        public static final int DS1EATTR
                DS1EATTR EQU   X'03'  .... ..11    Extended attribute setting           
                                          as specified on the
                                          allocation request.(EATTR=)     @V2A
         Next three EQUs define the possible values for DS1EATTR          @V2A
                                          Description for each value:     @V2A 
        See Also:
        Constant Field Values
      • DS1EATTR_NS

        public static final int DS1EATTR_NS
                DS1EATTR_NS EQU X'00'              '0' -  EATTR has not been       @V2A 
                                          specified.
                                          The defaults for EAS
                                          eligibility apply.  VSAM
                                          data sets default is EAS-
                                          eligible.  This is equivalent
                                          to EATTR=OPT being specified.
                                          Non-VSAM data sets default is
                                          not EAS eligible.  This is
                                          equivalent to EATTR=NO being
                                          specified.                      @V2A 
        See Also:
        Constant Field Values
      • DS1EATTR_NO

        public static final int DS1EATTR_NO
                DS1EATTR_NO EQU X'01'              '1' - EATTR=NO has been              
                                          specified.   The data set
                                          cannot have extended
                                          attributes (format 8 and 9
                                          DSCBs) or optionally reside in
                                          EAS.                            @V2A 
        See Also:
        Constant Field Values
      • DS1EATTR_OPT

        public static final int DS1EATTR_OPT
                DS1EATTR_OPT EQU X'02'             '2' - EATTR=OPT has been             
                                          specified.  The data set can
                                          have extended attributes and
                                          optionally reside in EAS.
                                          This is the default for VSAM
                                          data sets.                      @V2A 
        See Also:
        Constant Field Values
      • DS1EATTR_REQ

        public static final int DS1EATTR_REQ
                DS1EATTR_REQ EQU X'03'             '3' - Not Used. EATTR treated as not 
                                          specified.                      @V2A 
        See Also:
        Constant Field Values
      • DS1SMSDS

        public static final int DS1SMSDS
                DS1SMSDS EQU   X'80'  1... ....    SYSTEM MANAGED DATA SET         @L4A  
        See Also:
        Constant Field Values
      • DS1SMSUC

        public static final int DS1SMSUC
                DS1SMSUC EQU   X'40'  .1.. ....    NO BCS ENTRY EXISTS FOR DATA SET    X
                                                                                   @P6C 
        See Also:
        Constant Field Values
      • DS1REBLK

        public static final int DS1REBLK
                DS1REBLK EQU   X'20'  ..1. ....    SDB AND D.S. MAY BE REBLOCKED   @02C  
        See Also:
        Constant Field Values
      • DS1CRSDB

        public static final int DS1CRSDB
                DS1CRSDB EQU   X'10'  ...1 ....    DADSM CREATE ORIGINATED BLKSIZE @P5A  
        See Also:
        Constant Field Values
      • DS1PDSE

        public static final int DS1PDSE
                DS1PDSE  EQU   X'08'  .... 1...    PDSE DATA SET                   @P7C  
        See Also:
        Constant Field Values
      • DS1STRP

        public static final int DS1STRP
                DS1STRP  EQU   X'04'  .... .1..    EXTENDED FORMAT DATA SET        @LAC  
        See Also:
        Constant Field Values
      • DS1PDSEX

        public static final int DS1PDSEX
                DS1PDSEX EQU   X'02'  .... ..1.    HFS DATA SET                    @L8A  
        See Also:
        Constant Field Values
      • DS1DSAE

        public static final int DS1DSAE
                DS1DSAE  EQU   X'01'  ........1    EXTENDED ATTRIBUTES EXIST       @L9C  
        See Also:
        Constant Field Values
      • DS1SCAVB

        public static final int DS1SCAVB
                DS1SCAVB EQU   X'80'  1... ....    IF 1, DS1SCXTV IS THE ORIGINAL  @L4A 
                                          AVERAGE BLOCK LENGTH            @L4A 
        See Also:
        Constant Field Values
      • DS1SCMB

        public static final int DS1SCMB
                DS1SCMB  EQU   X'40'  .1.. ....    IF 1, DS1SCXTV IS IN MEGABYTES  @L4A  
        See Also:
        Constant Field Values
      • DS1SCKB

        public static final int DS1SCKB
                DS1SCKB  EQU   X'20'  ..1. ....    IF 1, DS1SCXTV IS IN KILOBYTES  @L4A  
        See Also:
        Constant Field Values
      • DS1SCUB

        public static final int DS1SCUB
                DS1SCUB  EQU   X'10'  ...1 ....    IF 1, DS1SCXTV IS IN BYTES      @L4A  
        See Also:
        Constant Field Values
      • DS1SCCP1

        public static final int DS1SCCP1
                DS1SCCP1 EQU   X'08'  .... 1...    IF 1, DS1SCXTV HAS BEEN COMPACTED   X
                                                   BY A FACTOR OF 256              @P4C 
        See Also:
        Constant Field Values
      • DS1SCCP2

        public static final int DS1SCCP2
                DS1SCCP2 EQU   X'04'  .... .1..    IF 1, DS1SCXTV HAS BEEN COMPACTED   X
                                                   BY A FACTOR OF 65536            @P4C
                             .... ..11    RESERVED                        @P3C 
        See Also:
        Constant Field Values
      • DS1DSGIS

        public static final int DS1DSGIS
                DS1DSGIS EQU   X'80'  1... ....    IS - INDEXED SEQUENTIAL         @L1A 
                                          ORGANIZATION 
        See Also:
        Constant Field Values
      • DS1DSGPS

        public static final int DS1DSGPS
                DS1DSGPS EQU   X'40'  .1.. ....    PS - PHYSICAL SEQUENTIAL        @L1A 
                                          ORGANIZATION 
        See Also:
        Constant Field Values
      • DS1DSGDA

        public static final int DS1DSGDA
                DS1DSGDA EQU   X'20'  ..1. ....    DA - DIRECT ORGANIZATION        @L1A  
        See Also:
        Constant Field Values
      • DS1DSGCX

        public static final int DS1DSGCX
                DS1DSGCX EQU   X'10'  ...1 ....    CX - BTAM OR QTAM LINE GROUP    @L1A 
                         EQU   X'08'  .... 1...    CQ - QTAM DIRECT ACCESS MSG QUE @P1C
                         EQU   X'04'  .... .1..    MQ - QTAM PROBLEM PROG MSG QUEUE@P1C  
        See Also:
        Constant Field Values
      • DS1DSGPO

        public static final int DS1DSGPO
                DS1DSGPO EQU   X'02'  .... ..1.    PO - PARTITIONED ORGANIZATION   @L1A  
        See Also:
        Constant Field Values
      • DS1DSGU

        public static final int DS1DSGU
                DS1DSGU  EQU   X'01'  .... ...1    U - UNMOVABLE, THE DATA SET     @P1C 
                                              CONTAINS LOCATION DEPENDENT
                                              INFORMATION
        
                             SECOND BYTE OF DS1DSORG 
        See Also:
        Constant Field Values
      • DS1DSGGS

        public static final int DS1DSGGS
                DS1DSGGS EQU   X'80'  1... ....    GS - GRAPHICS ORGANIZATION      @L1A  
        See Also:
        Constant Field Values
      • DS1DSGTX

        public static final int DS1DSGTX
                DS1DSGTX EQU   X'40'  .1.. ....    TX - TCAM LINE GROUP            @L1A  
        See Also:
        Constant Field Values
      • DS1DSGTQ

        public static final int DS1DSGTQ
                DS1DSGTQ EQU   X'20'  ..1. ....    TQ - TCAM MESSAGE QUEUE         @L1A
                         EQU   X'10'  ...1 ....    RESERVED                        @LAC  
        See Also:
        Constant Field Values
      • DS1ACBM

        public static final int DS1ACBM
                DS1ACBM  EQU   X'08'  .... 1...    AM - ACCESS METHOD CONTROL BLOCK@P1C  
        See Also:
        Constant Field Values
      • DS1ORGAM

        public static final int DS1ORGAM
                DS1ORGAM EQU   X'08'  .... 1...    AM - VSAM DATA SET/SPACE        @P1M  
        See Also:
        Constant Field Values
      • DS1DSGTR

        public static final int DS1DSGTR
                DS1DSGTR EQU   X'04'  .... .1..    TR - TCAM 3705                  @L1A
                         EQU   X'02'  .... ..X.    RESERVED                        @P1C
                         EQU   X'01'  .... ...X    RESERVED                        @P1C
                                                                                   @P1C  
        See Also:
        Constant Field Values
      • DS1RECFF

        public static final int DS1RECFF
                DS1RECFF EQU   X'80'  10.. ....    F - FIXED LENGTH                @L3A  
        See Also:
        Constant Field Values
      • DS1RECFV

        public static final int DS1RECFV
                DS1RECFV EQU   X'40'  01.. ....    V - VARIABLE LENGTH             @L3A  
        See Also:
        Constant Field Values
      • DS1RECFU

        public static final int DS1RECFU
                DS1RECFU EQU   X'C0'  11.. ....    U - UNDEFINED LENGTH            @L3A  
        See Also:
        Constant Field Values
      • DS1RECFT

        public static final int DS1RECFT
                DS1RECFT EQU   X'20'  ..1. ....    T - TRACK OVERFLOW              @L3A  
        See Also:
        Constant Field Values
      • DS1RECFB

        public static final int DS1RECFB
                DS1RECFB EQU   X'10'  ...1 ....    B - BLOCKED: MAY NOT OCCUR WITH @L3A
                                                       UNDEFINED (U).              @L3A  
        See Also:
        Constant Field Values
      • DS1RECFS

        public static final int DS1RECFS
                DS1RECFS EQU   X'08'  .... 1...    FIXED LENGTH: (X'88')           @L3A 
                                                      STANDARD BLOCKS, NO TRUNCATED@L3A
                                                      BLOCKS OR UNFILLED TRACKS.   @L3A
                                                   VARIABLE LENGTH: (X'48')        @L3A
                                                      SPANNED RECORDS.             @L3A  
        See Also:
        Constant Field Values
      • DS1RECFA

        public static final int DS1RECFA
                DS1RECFA EQU   X'04'  .... .10.    ANSI CONTROL CHARACTER          @L3A  
        See Also:
        Constant Field Values
      • DS1RECMC

        public static final int DS1RECMC
                DS1RECMC EQU   X'02'  .... .01.    MACHINE CONTROL CHARACTER       @L3A 
                             .... .00.    NO CONTROL CHARACTER            @L3A
                             .... ...0    ALWAYS ZERO                     @L3A 
        See Also:
        Constant Field Values
      • DS1OPTIC

        public static final int DS1OPTIC
                DS1OPTIC EQU   X'80'  1... ....    DATA SET CATALOGED IN ICF CTLG  @P1C  
        See Also:
        Constant Field Values
      • DS1OPTBC

        public static final int DS1OPTBC
                DS1OPTBC EQU   X'40'  .1.. ....    DATA SET IS ICF CATALOG         @P1C 
                             ..XX XXXX    RESERVED                        @P1C
         
        See Also:
        Constant Field Values
      • DS1IND80

        public static final int DS1IND80
                DS1IND80 EQU   X'80'  1... ....    LAST VOLUME CONTAINING DATA IN  @P1C 
                                             THIS DATA SET                @02C 
        See Also:
        Constant Field Values
      • DS1IND40

        public static final int DS1IND40
                DS1IND40 EQU   X'40'  .1.. ....    DATA SET IS RACF DEFINED    @G60ASBJ  
        See Also:
        Constant Field Values
      • DS1RACDF

        public static final int DS1RACDF
                DS1RACDF EQU   DS1IND40            SAME USE AS BIT DS1IND40        @LBA  
        See Also:
        Constant Field Values
      • DS1IND20

        public static final int DS1IND20
                DS1IND20 EQU   X'20'  ..1. ....    BLOCK LENGTH IS A MULTIPLE  @G60ASBJ 
                                             OF 8 BYTES               @G60ASBJ 
        See Also:
        Constant Field Values
      • DS1IND10

        public static final int DS1IND10
                DS1IND10 EQU   X'10'  ...1 ....    PASSWORD IS REQUIRED TO     @G60ASBJ 
                                          READ OR WRITE OR BOTH-SEE   @G60ASBJ
                                             DS1IND04                 @G60ASBJ 
        See Also:
        Constant Field Values
      • DS1SECTY

        public static final int DS1SECTY
                DS1SECTY EQU   DS1IND10            SAME USE AS BIT DS1IND10        @LBA  
        See Also:
        Constant Field Values
      • DS1IND08

        public static final int DS1IND08
                DS1IND08 EQU   X'08'  .... 1...    DS MODIFIED SINCE RECALL        @LDC  
        See Also:
        Constant Field Values
      • DS1IND04

        public static final int DS1IND04
                DS1IND04 EQU   X'04'  .... .1..    IF DS1IND10 IS 1 THEN           @P1C 
                                             IF DS1IND04 IS . . .         @P1C
                                                1-PASSWORD REQUIRED TO    @P1C
                                                  WRITE BUT NOT TO READ   @P1C
                                                0-PASSWORD REQUIRED TO    @P1C
                                                  WRITE OR TO READ        @02C 
        See Also:
        Constant Field Values
      • DS1WRSEC

        public static final int DS1WRSEC
                DS1WRSEC EQU   DS1IND04            SAME USE AS BIT DS1IND04        @LBA  
        See Also:
        Constant Field Values
      • DS1IND02

        public static final int DS1IND02
                DS1IND02 EQU   X'02'  .... ..1.    DATA SET OPENED FOR OTHER   @G60ASBJ 
                                             THAN INPUT SINCE LAST    @G60ASBJ
                                             BACKUP COPY MADE.        @G60ASBJ 
        See Also:
        Constant Field Values
      • DS1DSCHA

        public static final int DS1DSCHA
                DS1DSCHA EQU   DS1IND02            SAME USE AS BIT DS1IND02    @G60ASBJ  
        See Also:
        Constant Field Values
      • DS1IND01

        public static final int DS1IND01
                DS1IND01 EQU   X'01'  .... ...1    SECURE CHECKPOINT DATA SET      @01C  
        See Also:
        Constant Field Values
      • DS1CHKPT

        public static final int DS1CHKPT
                DS1CHKPT EQU   DS1IND01            SAME AS DS1IND01                @L3C  
        See Also:
        Constant Field Values
      • DS1DSPAC

        public static final int DS1DSPAC
                DS1DSPAC EQU   X'C0'  XX.. ....    BIT PATTERN FOR SPACE REQUEST   @L3A  
        See Also:
        Constant Field Values
      • DS1CYL

        public static final int DS1CYL
                DS1CYL   EQU   X'C0'  11.. ....    CYLINDER REQUEST                @L3A  
        See Also:
        Constant Field Values
      • DS1TRK

        public static final int DS1TRK
                DS1TRK   EQU   X'80'  10.. ....    TRACK REQUEST                   @L3A  
        See Also:
        Constant Field Values
      • DS1AVR

        public static final int DS1AVR
                DS1AVR   EQU   X'40'  01.. ....    AVERAGE BLOCK LENGTH REQUEST    @L3A  
        See Also:
        Constant Field Values
      • DS1AVRND

        public static final int DS1AVRND
                DS1AVRND EQU   X'41'  01.. ...1    AVERAGE BLOCK AND ROUND REQUEST @P1C  
        See Also:
        Constant Field Values
      • DS1MSGP

        public static final int DS1MSGP
                DS1MSGP  EQU   X'20'  ..1. ....    RESERVED (WAS MSGP)             @02C  
        See Also:
        Constant Field Values
      • DS1EXT

        public static final int DS1EXT
                DS1EXT   EQU   X'10'  ...1 ....    EXTENSION TO SECONDARY SPACE    @L4A 
                                          DESCRIPTION EXISTS (DS1SCEXT)   @L4A 
        See Also:
        Constant Field Values
      • DS1CONTG

        public static final int DS1CONTG
                DS1CONTG EQU   X'08'  .... 1...    CONTIGUOUS REQUEST              @L3A  
        See Also:
        Constant Field Values
      • DS1MXIG

        public static final int DS1MXIG
                DS1MXIG  EQU   X'04'  .... .1..    MXIG REQUEST                    @L3A  
        See Also:
        Constant Field Values
      • DS1ALX

        public static final int DS1ALX
                DS1ALX   EQU   X'02'  .... ..1.    ALX REQUEST                     @L3A
                               X'01'  .... ...1    ROUND REQUEST                   @P1A  
        See Also:
        Constant Field Values
      • DS1DSABS

        public static final int DS1DSABS
                DS1DSABS EQU   X'00'  0000 0000    ABSOLUTE TRACK REQUEST          @L3A  
        See Also:
        Constant Field Values
      • DS1END

        public static final int DS1END
                DS1END   EQU   *                   EQUATE AT END OF DSCB1 MAP      @P1C 
                    END 
      • _DEFAULT_LEN

        public static final int _DEFAULT_LEN
    • Constructor Detail

      • Format8DSCB

        public Format8DSCB()
      • Format8DSCB

        public Format8DSCB(byte[] buffer)
    • Method Detail

      • getByteBuffer

        public byte[] getByteBuffer()
      • getBytes

        public byte[] getBytes()
        Description copied from interface: DSCB
        Answer the underlying byte array mapped by this object.
        Specified by:
        getBytes in interface DSCB
        Returns:
        the underlying byte array mapped by this object
      • getDS1DSNAM

        public java.lang.String getDS1DSNAM()
      • setDS1DSNAM

        public void setDS1DSNAM(java.lang.String dS1DSNAM)
      • getDS1FMTID

        public java.lang.String getDS1FMTID()
      • setDS1FMTID

        public void setDS1FMTID(java.lang.String dS1FMTID)
      • getDS1DSSN

        public java.lang.String getDS1DSSN()
      • setDS1DSSN

        public void setDS1DSSN(java.lang.String dS1DSSN)
      • getDS1VOLSQ

        public int getDS1VOLSQ()
      • setDS1VOLSQ

        public void setDS1VOLSQ(int dS1VOLSQ)
      • getDS1CREDT

        public int getDS1CREDT()
      • setDS1CREDT

        public void setDS1CREDT(int dS1CREDT)
      • getDS1EXPDT

        public int getDS1EXPDT()
      • setDS1EXPDT

        public void setDS1EXPDT(int dS1EXPDT)
      • getDS1NOEPV

        public int getDS1NOEPV()
      • setDS1NOEPV

        public void setDS1NOEPV(int dS1NOEPV)
      • getDS1NOBDB

        public int getDS1NOBDB()
      • setDS1NOBDB

        public void setDS1NOBDB(int dS1NOBDB)
      • getDS1FLAG1

        public int getDS1FLAG1()
      • setDS1FLAG1

        public void setDS1FLAG1(int dS1FLAG1)
      • getDS1SYSCD

        public java.lang.String getDS1SYSCD()
      • setDS1SYSCD

        public void setDS1SYSCD(java.lang.String dS1SYSCD)
      • getDS1REFD

        public int getDS1REFD()
      • setDS1REFD

        public void setDS1REFD(int dS1REFD)
      • getDS1SMSFG

        public int getDS1SMSFG()
      • setDS1SMSFG

        public void setDS1SMSFG(int dS1SMSFG)
      • getDS1SCEXT

        public int getDS1SCEXT()
      • setDS1SCEXT

        public void setDS1SCEXT(int dS1SCEXT)
      • getDS1SCXTF

        public int getDS1SCXTF()
      • setDS1SCXTF

        public void setDS1SCXTF(int dS1SCXTF)
      • getDS1SCXTV

        public int getDS1SCXTV()
      • setDS1SCXTV

        public void setDS1SCXTV(int dS1SCXTV)
      • getDS1DSORG

        public int getDS1DSORG()
      • setDS1DSORG

        public void setDS1DSORG(int dS1DSORG)
      • getDS1RECFM

        public int getDS1RECFM()
      • setDS1RECFM

        public void setDS1RECFM(int dS1RECFM)
      • getDS1OPTCD

        public int getDS1OPTCD()
      • setDS1OPTCD

        public void setDS1OPTCD(int dS1OPTCD)
      • getDS1BLKL

        public int getDS1BLKL()
      • setDS1BLKL

        public void setDS1BLKL(int dS1BLKL)
      • getDS1LRECL

        public int getDS1LRECL()
      • setDS1LRECL

        public void setDS1LRECL(int dS1LRECL)
      • getDS1KEYL

        public int getDS1KEYL()
      • setDS1KEYL

        public void setDS1KEYL(int dS1KEYL)
      • getDS1RKP

        public int getDS1RKP()
      • setDS1RKP

        public void setDS1RKP(int dS1RKP)
      • getDS1DSIND

        public int getDS1DSIND()
      • setDS1DSIND

        public void setDS1DSIND(int dS1DSIND)
      • getDS1SCALO

        public long getDS1SCALO()
      • setDS1SCALO

        public void setDS1SCALO(long dS1SCALO)
      • getDS1SCAL1

        public int getDS1SCAL1()
      • setDS1SCAL1

        public void setDS1SCAL1(int dS1SCAL1)
      • getDS1SCAL3

        public int getDS1SCAL3()
      • setDS1SCAL3

        public void setDS1SCAL3(int dS1SCAL3)
      • getDS1LSTAR

        public int getDS1LSTAR()
      • setDS1LSTAR

        public void setDS1LSTAR(int dS1LSTAR)
      • getDS1TRBAL

        public int getDS1TRBAL()
      • setDS1TRBAL

        public void setDS1TRBAL(int dS1TRBAL)
      • getDS1TTTHI

        public int getDS1TTTHI()
      • setDS1TTTHI

        public void setDS1TTTHI(int dS1TTTHI)
      • getDS1EXT1

        public byte[] getDS1EXT1()
      • setDS1EXT1

        public void setDS1EXT1(byte[] dS1EXT1)
      • getDS1EXT2

        public byte[] getDS1EXT2()
      • setDS1EXT2

        public void setDS1EXT2(byte[] dS1EXT2)
      • getDS1EXT3

        public byte[] getDS1EXT3()
      • setDS1EXT3

        public void setDS1EXT3(byte[] dS1EXT3)
      • getDS1PTRDS

        public byte[] getDS1PTRDS()
      • setDS1PTRDS

        public void setDS1PTRDS(byte[] dS1PTRDS)
� Copyright IBM Corporation 2005, 2022.