HP3000-L Archives

February 2006, Week 2

HP3000-L@RAVEN.UTC.EDU

Options: Use Monospaced Font
Show Text Part by Default
Show All Mail Headers

Message: [<< First] [< Prev] [Next >] [Last >>]
Topic: [<< First] [< Prev] [Next >] [Last >>]
Author: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Subject:
From:
Brian Donaldson <[log in to unmask]>
Reply To:
Date:
Sun, 12 Feb 2006 10:54:00 EST
Content-Type:
text/plain
Parts/Attachments:
text/plain (131 lines)
Denys:

I have been trying to decipher the Data Set Control Block Data info in the 
root file but I am not having complete success with it.

Once again, I suspect the definitions in the old Handbook aren't giving me 
the correct sizes etc.

This is a hex dump of the first record in the DSCB of the base I am looking 
at. It's a small base with 4 autos and one detail.

XXXYYY99 RECORD 0 (%0, #0)

0000: 000000 141520 004545 000040 0000 C350 0965 0020 ...P.e.
0004: 000025 045401 000001 100001 0015 4B01 0001 8001 ..K.....
0008: 000036 000002 115062 000000 001E 0002 9A32 0000 .....2..
000C: 141520 000000 000000 000000 C350 0000 0000 0000 .P......
0010: 000000 141520 000000 000000 0000 C350 0000 0000 ...P....
0014: SAME: TO 001C-1
001C: 000000 000000 000001 000013 0000 0000 0001 000B ........
0020: 000040 000001 000000 002401 0020 0001 0000 0501 . ......
0024: 020040 020040 020040 020040 2020 2020 2020 2020
0028: SAME: TO 0E38-1

This is the Cobol program displays of this record and they don't exactly 
match the hex dump.

**************** DSCB **********************
Processing Dataset=>LISTIM-BSET-AUTO<
WS-DSCB-CAPACITY    =>+000050000<
WS-DSCB-BLOCK-LENGTH=>+2405<
WS-DSCB-MEDIA-RECORD-LENGTH=>+0032<
WS-DSCB-ENTRY-RECORD-LENGTH=>+0021<
WS-DSCB-BLOCKING-FACTOR =>-000000002<
WS-DSCB-PATH-COUNT      =>+000000001<
WS-DSCB-FIELD-COUNT     =>+0001<
WS-DSCB-KEY-TYPE        =>+000000000<
WS-DSCB-FIELD-NO-PRIMARY=>+000000001<
WS-DSCB-PATH-POINTER=>+0030<
WS-DSCB-EOF=>+000170546<
WS-DSCB-MAX-ENTRIES-IN-SET=>+000050000<

The fields that seem to be in error would be the blocking factor (-2 ??) and 
the EOF ...
Key type is also suspicious but maybe it is ok.
 
Here's my Cobol Working-storage portion for the DSCB....

 01  !1-DSCB-TABLE.
     05  !1-WS-DSCB-ARRAY                      OCCURS 240.
         10  !1-DSCB-CAPACITY                    PIC S9(09) COMP.
         10  !1-DSCB-BLOCK-LENGTH           PIC S9(04) COMP.
         10  !1-DSCB-MEDIA-RECORD-LENGTH    PIC S9(04) COMP.
         10  !1-DSCB-ENTRY-RECORD-LENGTH    PIC S9(04) COMP.
         10  !1-DSCB-BLOCK-PATH                     PIC S9(04) COMP.
         10  !1-DSCB-BLOCK-PATH-2 REDEFINES
             !1-DSCB-BLOCK-PATH.
             15  !1-DSCB-BLOCKING-FACTOR    PIC  9(01).
             15  !1-DSCB-PATH-COUNT              PIC  9(01).
         10  !1-DSCB-FIELD-COUNT                 PIC S9(04) COMP.
         10  !1-DSCB-KEY-FIELD-PRIMARY      PIC S9(04) COMP.
         10  !1-DSCB-KEY-FIELD-PRIMARY-2    REDEFINES
             !1-DSCB-KEY-FIELD-PRIMARY.
             15  !1-DSCB-KEY-TYPE                 PIC  X(01).
             15  !1-DSCB-FIELD-NO-PRIMARY   PIC  X(01).
         10  !1-DSCB-PATH-POINTER              PIC S9(04) COMP.
         10  !1-DSCB-EOF                               PIC S9(09) COMP.
         10  !1-DSCB-MAX-ENTRIES-IN-SET     PIC S9(09) COMP.
         10  !1-DSCB-FILLER       OCCURS 17 PIC S9(04) COMP.
         10  !1-DSCB-ITEM-NUMBERS OCCURS 4  PIC S9(04) COMP.
         10  !1-DSCB-PATH-DEFINITION-TABLE.
             15  !1-DSCB-PATH-DEFINITION-ARRAY.
                 20  !1-DSCB-PDT-ITEM-NO-SEARCH PIC 9(01).
                 20  !1-DSCB-PDT-ITEM-NO-SORT   PIC 9(01).
                 20  !1-DSCB-PDT-SET-NO-DETAIL  PIC 9(01).
                 20  !1-DSCB-PDT-PATH-NO-DETAIL PIC 9(01).

Hope you can help me some more.

TIA,
Brian Donaldson.


<<In the olden days of IMAGE, you could only have 255 items defined in a
database.  So at 16 item r/w tables per user label, you could only have 16
user labels of item r/w tables; these would be labels 3 to 18 and the set
r/w tables would start at label 19.  When TURBOIMAGE came along, the limit
on items was raised to 1023.  So at 16 item r/w tables per user label, the
limit was now 64 user labels of item r/w tables; from label 3 to 66.  The
Set r/w table would start at label 67.

The item limit was subsequently raised to 1200 items, which would require a
maximum of 75 labels of 16 item r/w tables each, from label 3 to 77.  The
set r/w table would start at label 78.

To calculate the number of labels required for the item r/w table simply
divide the number items minus 1 by 16, take the integer part and add 1,
giving you the number of labels.  So 10 items is 9 then divided by 16, take
the integer which gives you 0 and add 1 giving you one label.

The label part of the rootfile is as follows:
Label 0 is the Rootfile information.
Labels 1 and 2 are the password table.
Label 3 for x labels where x is the integer of the number of items minus 1
divided by 16, to which you add 1 is the item r/w tables with each entry
being 8 words (two sets of 64 bits.)
Label 3+x for y labels where y is the integer of the number of sets minus 1
divided by 16, to which you add 1 is the set r/w tables with each entry
being 8 words (two sets of 64 bits.)

So with a database with 1200 items and 199 sets, the number of labels for
each type of table would be 75 for the item r/w tables and 13 for the set
r/w/tables.  

Label 0 is the rootfile info
Labels 1 and 2 are the password table.
Labels 3 for 75 are the item r/w tables (last label is 77.)
Labels 78 for 13 are the set r/w tables (last label is 90.)

Then you get to the record side of the rootfile.

Denys

>>
    
    


* To join/leave the list, search archives, change list settings, *
* etc., please visit http://raven.utc.edu/archives/hp3000-l.html *

ATOM RSS1 RSS2