{
DATE : 

AUTHOR : 
     Kenneth G. Tibesar
     3M Engineering Systems and Technology Labs
     3M Center, Bldg 518-1
     St. Paul, Minn. 55144

REVISION HISTORY :

DESCRIPTION :

ENVIROMENT :          
     DEC PDP-11 
     RSX-11M or RSX-11M+

}


XabRec	 = RECORD  { KEY XAB }
CASE integer OF
1 : (
  Cod	: byte ;		{ indicate the type of XAB - set to 1 }
  Bln	: byte ;		{ size of this XAB - set to 55 }
  Nxt	: ^XabRec ;		{ if <> 0, pointer to the next XAB }
  Ref	: byte ;		{ key of reference number }
  Lvl	: byte ;		{ level number of root bucket }
  Ifl	: word ;		{ number of bytes to be filled in 1+ levels }
  Dfl	: word ;		{ level 0 fill number }
  Nul	: byte ;		{ null key value }
  Ian	: byte ;		{ level 2+ area number }
  Lan	: byte ;		{ level 1 area number }
  Dan	: byte ;		{ level 0 area number }
  Flg	: byte ;		{ key characteristics - change, dups, nul }
  Dtp	: byte ;		{ key data type - string, integer, etc. }
  Knm	: word ;		{ key name }
  Pos	: Array [1..8] of word ;{ starting position of eight segments }
  Siz	: Array [1..8] of byte ;{ size of each key segment - see nsg field }
  Rvb	: DoubleWord ;		{ virtural blk number of root, input only }
  Dvb	: DoubleWord ;		{ virtural blk no. 1st data bucket }
  Ibs	: byte ;		{ index bucket size }
  Dbs	: byte ;		{ data bucket size }
  Nsg	: byte ;		{ number of key segments }
  Tks	: byte ;		{ total size of all key segments, input only }
  Mrl	: byte 		{ maximum rec. length to contain this key }
  ) ;
2 : (	{ used for initialization of xab }
  AllXab : ARRAY [1..24] OF integer 
  ) ;
  END ;	{ XabRec - Key type Xab Record Definition }
