Hex Dec Type/Val Lng Label (dup) Comments
---- ---- --------- ---- -------------- --------
0000 0 Structure $GSDBK Relocation mapping for HCPGSDBK
00000001 $GSD_VER 1 Mapping version number
0000 0 Signed 2 $GSD_HDRL Header length (in bytes)
0002 2 Signed 2 $GSD_BITL Length of mapped bits (in bytes)
0004 4 Signed 4 * Reserved for future use
00000008 $GSD_HDLN *-$GSDBK Length of header (bytes)
NOTES : This mapping is not intended to be comprehensive,
since for the most part the GSDBKs that will be
relocated contain simple character strings. The
decoding routine(s) on the destination system will
be aware of the context for the incoming GSDBK, and
will therefore be able to set flags and other data
Bit map: Contains the GSDBK flags that are subject to
relocation. These bits are defined sequentially,
regardless of how they are defined in HCPGSDBK.
This yields a consistent mapping that ensures
compatibility when a guest is relocated between
systems at differing service levels.
Names in the comments column indicate the control
block byte which contains the flag. This name is
subject to change if the flag definition changes.
====> NEVER change bits which already exist here.
====> NEVER change the order of bits in this section.
====> ALWAYS add new bits at the end of this section,
together with new flag bytes as required.
Special note concerning GSDFLAG:
GSDFLAG is relocated as a byte field, not as
individual bits. See the note in the prolog of
HCPGSDBK for more details.
0008 8 Signed 2 $GSD_BITS (0) Bit map area
0008 8 Bitstring 1 $GSD0
1... .... $GSDCFMDG X'80' $GSDCFMDG GSDTYPE
.1.. .... $GSDCFMCP X'40' $GSDCFMCP GSDTYPE
..1. .... $GSDCFMTR X'20' $GSDCFMTR GSDTYPE
...1 .... $GSD2305 X'10' $GSD2305 GSDTYPE
.... 1... $GSDREIPL X'08' $GSDREIPL GSDTYPE
.... .1.. $GSDIPLOG X'04' $GSDIPLOG GSDTYPE
.... ..1. $GSDLOGIP X'02' $GSDLOGIP GSDTYPE
.... ...1 $GSDIRECT X'01' $GSDIRECT GSDTYPE
00000001 $GSD_BLEN *-$GSD_BITS Length of bit map
Data: Contains all HCPGSDBK data that is subject to
relocation, except for flag bits, which are
All fields are defined as XLnn to avoid alignment
warnings and to pack the data efficiently.
====> NEVER change fields which already exist here.
====> NEVER change the order of fields in this section.
====> ALWAYS add new fields at the end of this section.
0009 9 Bitstring 1 $GSD_DATA (0) Start of data map
0009 9 Bitstring 4 $GSDNEXT -> RDO offset to next $GSDBK
000D 13 Bitstring 1 $GSDFLAG GSDBK flags
000E 14 Bitstring 2 $GSDSCAN Byte disp of next fld in GSDDATA
0010 16 Bitstring 2 $GSDDCNT Length of GSDDATA in bytes
0012 18 Bitstring 4 $GSDDATA -> RDO offset to variable data
00000016 $GSD_LEN *-$GSDBK Total length, in bytes
00000003 $GSD_SZ ($GSD_LEN+7)/8 Size in