;+
; Project     : SOHO - CDS   
;   
; Name        : ENG_STRUCT
;   
; Purpose     : Creates structures to read Engineering A/B packets.
;   
; Explanation : The CDS science telemetry stream contains two kinds of 
;               engineering packets (Eng A and Eng B).  This procedure sets
;               up the structures used to contain the data received from
;               these packets.  Unfortunately they cannot be used to read
;               the packet contents directly bacause many of the final 
;               telemetry values are derived from masking parts of telemetry
;               bytes. 
;   
; Use         : IDL>  eng_struct, Eng_A, Eng_B
;
; Inputs      : None
;   
; Opt. Inputs : None
;   
; Outputs     : Eng_A   -  a structure to contain the Engineering A packet
;               Eng_B   -  a structure to contain the Engineering B packet
;   
; Opt. Outputs: None
;   
; Keywords    : None
;
; Calls       : None
;
; Common      : None
;
; Restrictions: None
;   
; Side effects: None
;   
; Category    : Telemetry
;   
; Prev. Hist. : Original by A Akbar, RAL
;
; Written     : C D Pike, RAL, 28-Sep-94
;   
; Modified    : Update by adding new GIS parameters (LUT checksums etc)
;                                            CDP, 24-Aug-95
;
;
; Version     : Version 2, 24-Aug-95
;-

pro eng_struct, Eng_A, Eng_B

;
;  Owing to limitations within IDL, each strcure is divided into several parts
;

EngA_cdhs =  {EngA_cdhs_struct, $
        headr1:                 LONG(0),$
        headr2:                 LONG(0),$
        headr3:                 LONG(0),$
        aksapid:                LONG(0),$ 
        pckt_ctr:               LONG(0),$
        pckt_lnth:              LONG(0),$
        akclobth:               LONG(0),$ 
        akclobtl:               LONG(0),$ 
        a_obt_time:                 ' ',$
        akcpid:                 BYTE(0),$ 
        akcfc:                  BYTE(0),$ 
        akcnoevt:               LONG(0),$ 
        event_reg:              LONG(0),$
        ascwderr:               BYTE(0),$    ;** 
        ascpwr1:                BYTE(0),$    ;** 
        ascpwr2:                BYTE(0),$    ;** 
        ascpuerr:               BYTE(0),$    ;** 
        ascextto:               BYTE(0),$    ;** 
        ascimife:               BYTE(0),$    ;** 
        ascpare0:               BYTE(0),$    ;** 
        ascpare1:               BYTE(0),$    ;** 
        ascpare2:               BYTE(0),$    ;** 
        ascpare3:               BYTE(0),$    ;** 
        asciadde:               BYTE(0),$    ;** 
        ascverr:                BYTE(0),$    ;** 
        akcaddr:                LONG(0),$ 
        asclobt:                LONG(0),$ 
        akcvhkfc:               BYTE(0),$ 
        akcvcfc:                BYTE(0),$ 
        akcvcne:                LONG(0),$ 
        akcscife:               LONG(0),$ 
        akcscift:               LONG(0),$ 
        akcscifv:               LONG(0),$ 
        cdhs_pwr_config:        LONG(0),$
        ascvm1:                 BYTE(0),$ 
        ascvm2:                 BYTE(0),$ 
        ascvi:                  BYTE(0),$    ;** 
        ascvis:                 BYTE(0),$    ;** 
        ascgdc:                 BYTE(0),$    ;** 
        ascgdcs:                BYTE(0),$    ;** 
        ascimip:                BYTE(0),$    ;** 
        ascimir:                BYTE(0),$    ;** 
        ascpu1:                 BYTE(0),$    ;** 
        ascpu2:                 BYTE(0),$    ;** 
        ascpu3:                 BYTE(0),$    ;** 
        ascprom:                BYTE(0),$    ;** 
        ascpu1r:                BYTE(0),$    ;** 
        ascpu2r:                BYTE(0),$    ;** 
        ascpu3r:                BYTE(0),$    ;** 
        ascscif:                BYTE(0),$    ;** 
        adummy1:                BYTE(0),$        
        pri_proc_reg:           BYTE(0), $
        ascepwr:                BYTE(0),$    ;** 
        ascgbus:                BYTE(0),$    ;** 
        ascvbus:                BYTE(0),$    ;** 
        ascpar:                 BYTE(0),$    ;** 
        ascjtag:                BYTE(0),$    ;** 
        ascepul:                BYTE(0),$    ;** 
        akccmdbv:               LONG(0),$ 
        akccmdwv:               LONG(0),$ 
        akclcmd1:               LONG(0),$ 
        akclcmd2:               LONG(0),$ 
        akcmode:                BYTE(0),$ 
        akccmdbi:               BYTE(0),$ 
        akcswver:               BYTE(0),$ 
        akcesr:                 BYTE(0),$ 
        akcimife:               LONG(0),$ 
        akcimice:               LONG(0),$ 
        akciem:                 BYTE(0),$ 
        akctmr:                 BYTE(0),$ 
        akcsolx:                LONG(0),$ 
        akcsoly:                LONG(0),$ 
        akcghkfc:               BYTE(0),$ 
        akcgcfc:                BYTE(0),$ 
        akcgcne:                LONG(0),$ 
        akcmhkfc:               BYTE(0),$ 
        akcehkfc:               BYTE(0),$ 
        ak5sinx:                BYTE(0),$ 
        ak5sp:                  BYTE(0),$ 
        ak5sid:                 LONG(0),$ 
        ak5sstat:               BYTE(0),$ 
        ak5stid:                BYTE(0),$ 
        ak5vwinx:               BYTE(0),$ 
        ak5deinx:               BYTE(0),$ 
        ak5vwid:                LONG(0),$ 
        ak5deid:                LONG(0),$ 
        ak5rinx:                BYTE(0),$ 
        ak5scid:                BYTE(0),$ 
        ak5rid:                 LONG(0),$ 
        macro_error:            LONG(0),$
        ak5es:                  BYTE(0),$    ;** 
        as5ess:                 BYTE(0),$    ;** 
        as5esr:                 BYTE(0),$    ;** 
        as5esv:                 BYTE(0),$    ;** 
        as5esde:                BYTE(0),$    ;** 
        as5ese:                 BYTE(0),$    ;** 
        as5essc:                BYTE(0),$    ;** 
        as5esm:                 BYTE(0),$    ;** 
        ak5ec:                  BYTE(0),$    ;** 
        as5ecc:                 BYTE(0),$    ;** 
        as5ecf:                 BYTE(0),$    ;** 
        as5ecinx:               BYTE(0),$    ;** 
        as5ecid:                BYTE(0),$    ;** 
        as5ecl:                 BYTE(0),$    ;** 
        as5ecovf:               BYTE(0),$    ;** 
        as5emode:               BYTE(0),$    ;** 
        as5etid:                LONG(0),$ 
        ak5seqc:                LONG(0),$ 
        akcscif1:               LONG(0),$ 
        akcscif2:               LONG(0),$ 
        akcscif3:               LONG(0),$ 
        akcscif4:               LONG(0),$ 
        akcml1:                 LONG(0),$ 
        akcml2:                 LONG(0),$ 
        akcml3:                 LONG(0),$ 
        akcml4:                 LONG(0),$
        adummy2:                LONG(0)}
        

EngA_eps =  {EngA_eps_struct, $
        spr_vds:                BYTE(0),$
        asespr1:                BYTE(0),$    ;** 
        asespr2:                BYTE(0),$    ;** 
        asespr3:                BYTE(0),$    ;** 
        asespr4:                BYTE(0),$    ;** 
        asespr5:                BYTE(0),$    ;** 
        asevhv:                 BYTE(0),$    ;** 
        asevhtr:                BYTE(0),$    ;** 
        a_pos_esc27v:           BYTE(0),$ 
        rly_plus_htr:           BYTE(0),$        
        aseghv4:                BYTE(0),$    ;** 
        aseghv3:                BYTE(0),$    ;** 
        aseghv2:                BYTE(0),$    ;** 
        aseghv1:                BYTE(0),$    ;** 
        asevds:                 BYTE(0),$    ;** 
        asevsby:                BYTE(0),$    ;** 
        asecomp:                BYTE(0),$    ;** 
        a_pos_ecn5v:            BYTE(0),$ 
        rly_plus_imif:          BYTE(0),$        
        asem5v:                 BYTE(0),$    ;** 
        aseg5v:                 BYTE(0),$    ;** 
        asehtrs:                BYTE(0),$    ;** 
        asefils:                BYTE(0),$    ;** 
        asefil:                 BYTE(0),$    ;** 
        aseirxe:                BYTE(0),$    ;** 
        aseisel:                BYTE(0),$    ;** 
        a_pos_ecn12v:           BYTE(0),$ 
        a_neg_ecn12v:           LONG(0),$
        a_pos_em12v:            LONG(0),$
        a_neg_em12v:            LONG(0),$
        a_pos_eg12v:            LONG(0),$
        a_neg_eg12v:            LONG(0),$ 
        aieu_pos_27v:           LONG(0),$ 
        aiec_pos_5v:            LONG(0),$ 
        aiem_pos_5v:            LONG(0),$ 
        aiem_pos_12v:           LONG(0),$ 
        aiem_neg_12v:           LONG(0),$ 
        aieg_pos_5v:            LONG(0),$ 
        aieg_pos_12v:           LONG(0),$ 
        aieg_neg_12v:           LONG(0),$ 
        atee1:                  LONG(0),$ 
        atee2:                  LONG(0),$ 
        atee3:                  LONG(0),$ 
        atee4:                  LONG(0),$ 
        atec1:                  LONG(0),$ 
        atec2:                  LONG(0),$ 
        atec3:                  LONG(0),$ 
        atec4:                  LONG(0),$ 
        aiefil:                 LONG(0),$ 
        axespr_a:               LONG(0),$ 
        axespr_b:               LONG(0),$ 
        axespr_c:               LONG(0),$ 
        axespr_d:               LONG(0),$ 
        axespr_e:               LONG(0),$ 
        axespr_f:               LONG(0),$ 
        auevref:                BYTE(0),$
        adummy3:                LONG(0)}

EngA_vds =  {EngA_vds_struct, $
        auv_pos_ser:            LONG(0),$ 
        auv_neg_ser:            LONG(0),$ 
        auv_pos_ptg:            LONG(0),$ 
        auv_neg_ptg:            LONG(0),$ 
        auv_pos_pspl:           LONG(0),$ 
        auv_neg_pspl:           LONG(0),$ 
        auv_pos_pcom:           LONG(0),$ 
        auv_neg_pcom:           LONG(0),$ 
        auvvdd:                 LONG(0),$ 
        auvvref:                LONG(0),$ 
        auv_pos_rst:            LONG(0),$ 
        auvbsln:                LONG(0),$ 
        auv_pos_swc:            LONG(0),$ 
        auv_neg_swc:            LONG(0),$ 
        auvlg:                  LONG(0),$ 
        auvmcpc:                LONG(0),$ 
        auvmcp:                 LONG(0),$ 
        aivmcp:                 LONG(0),$ 
        atvdiode:               LONG(0),$ 
        auvzref:                LONG(0),$ 
        a_pos_v5v:              LONG(0),$ 
        aiv_pos_5v:             LONG(0),$ 
        a_pos_v5vsb:            LONG(0),$ 
        aiv_pos_5vsb:           LONG(0),$ 
        a_pos_v12v:             LONG(0),$ 
        aiv_pos_12v:            LONG(0),$ 
        a_neg_v12v:             LONG(0),$ 
        aiv_neg_12v:            LONG(0),$ 
        auv_pos_clk:            LONG(0),$ 
        aiv_pos_clk:            LONG(0),$ 
        auv_neg_clk:            LONG(0),$ 
        aiv_neg_clk:            LONG(0),$ 
        a_pos_v28v:             LONG(0),$ 
        aiv_pos_28v:            LONG(0),$ 
        asverror:               LONG(0),$    ;** 
        err_status:             LONG(0),$        
        asvcomer:               BYTE(0),$    ;** 
        asvivr:                 BYTE(0),$    ;** 
        asviep:                 BYTE(0),$    ;** 
        asviwsq:                BYTE(0),$    ;** 
        asviwr:                 BYTE(0),$    ;** 
        asvserr:                BYTE(0),$    ;** 
        asvvis:                 BYTE(0),$    ;** 
        asvrgaf:                BYTE(0),$    ;** 
        asvrgbf:                BYTE(0),$    ;** 
        asvmalf:                BYTE(0),$    ;** 
        asvmodr:                BYTE(0),$    ;** 
        asvrste:                BYTE(0),$    ;** 
        asvoper:                LONG(0),$    ;** 
        op_status:              LONG(0),$        
        asvtlo:                 BYTE(0),$    ;** 
        asvdark:                BYTE(0),$    ;** 
        asvsife:                BYTE(0),$    ;** 
        asvpife:                BYTE(0),$    ;** 
        asvlpwre:               BYTE(0),$    ;** 
        asvtrbe:                BYTE(0),$    ;** 
        asvhbe:                 BYTE(0),$    ;** 
        asvhalt:                BYTE(0),$    ;** 
        asvintg:                BYTE(0),$    ;** 
        asvflsh:                BYTE(0),$    ;** 
        asvwine:                BYTE(0),$    ;** 
        asvbine:                BYTE(0),$    ;** 
        asvhtr:                 BYTE(0),$    ;** 
        asvrdm:                 BYTE(0),$    ;** 
        akvcamtm:               LONG(0),$ 
        akvrectm:               LONG(0),$ 
        akvbinxy:               LONG(0),$ 
        akvbinx:                BYTE(0),$    ;** 
        akvbiny:                BYTE(0),$    ;**        
        akvnowin:               LONG(0),$ 
        akvexptm:               LONG(0),$ 
        adummy:                 BYTARR(46),$
        akccsum:                LONG(0)}



EngB_cdhs =  {EngB_cdhs_struct, $
        bkcapid:                LONG(0),$ 
        bkclobth:               LONG(0),$ 
        bkclobtl:               LONG(0),$ 
        b_obt_time:                 ' ',$
        bkcpid:                 BYTE(0),$ 
        bkcfc:                  BYTE(0)}

EngB_mcu =  {EngB_mcu_struct, $
        bsmslitv:               BYTE(0),$ 
        bsmsliti:               BYTE(0),$ 
        bsmslitm:               BYTE(0),$ 
        bsmslite:               BYTE(0),$ 
        bsmslits:               BYTE(0),$ 
        bkmslitp:               LONG(0),$ 
        bkmslitn:               BYTE(0),$ 
        bsmmirrm:               BYTE(0),$ 
        bsmmirre:               BYTE(0),$ 
        bsmmirrh:               BYTE(0),$ 
        bsmmirrl:               BYTE(0),$ 
        bkmmirrp:               BYTE(0),$ 
        bsmdorgm:               BYTE(0),$ 
        bsmdorvm:               BYTE(0),$ 
        bsmdorgo:               BYTE(0),$ 
        bsmdorgs:               BYTE(0),$ 
        bsmdorvo:               BYTE(0),$ 
        bsmdorvs:               BYTE(0),$ 
        bsmort:                 BYTE(0),$ 
        bsmorb:                 BYTE(0),$ 
        bsmolt:                 BYTE(0),$ 
        bsmolb:                 BYTE(0),$ 
        bkmorp:                 LONG(0),$ 
        bkmorr:                 LONG(0),$ 
        bkmolp:                 LONG(0),$ 
        bkmolr:                 LONG(0),$ 
        bsmp_neg_12v:           BYTE(0),$ 
        bsmp_pos_12v:           BYTE(0),$ 
        bsmp_pos_5v:            BYTE(0),$ 
        bsmpbdor:               BYTE(0),$ 
        bsmphtr:                BYTE(0),$ 
        bsmpops:                BYTE(0),$ 
        bsmpdor:                BYTE(0),$ 
        bsmpslit:               BYTE(0),$ 
        bsmpmirr:               BYTE(0),$ 
        bsmmht15:               BYTE(0),$ 
        bsmmht14:               BYTE(0),$ 
        bsmmht13:               BYTE(0),$ 
        bsmmht12:               BYTE(0),$ 
        bsmmht11:               BYTE(0),$ 
        bsmmht10:               BYTE(0),$ 
        bsmmht9:                BYTE(0),$ 
        bsmmht8:                BYTE(0),$ 
        bsmmht7:                BYTE(0),$ 
        bsmmht6:                BYTE(0),$ 
        bsmmht5:                BYTE(0),$ 
        bsmmht4:                BYTE(0),$ 
        bsmmht3:                BYTE(0),$ 
        bsmmht2:                BYTE(0),$ 
        bsmmht1:                BYTE(0),$ 
        bsmmht0:                BYTE(0),$ 
        bsmhtrm:                BYTE(0),$ 
        bsmhtrpd:               BYTE(0),$ 
        bsmbht7:                BYTE(0),$ 
        bsmbht6:                BYTE(0),$ 
        bsmbht5:                BYTE(0),$ 
        bsmbht4:                BYTE(0),$ 
        bsmbht3:                BYTE(0),$ 
        bsmbht2:                BYTE(0),$ 
        bsmbht1:                BYTE(0),$ 
        bsmbht0:                BYTE(0),$ 
        bkmfyaw:                LONG(0),$ 
        bkmfpit:                LONG(0),$ 
        bkmfpre:                LONG(0),$ 
        bkmfsup:                LONG(0),$ 
        btm0:                   LONG(0),$ 
        btm1:                   LONG(0),$ 
        btm2:                   LONG(0),$ 
        btm3:                   LONG(0),$ 
        btm4:                   LONG(0),$ 
        btm5:                   LONG(0),$ 
        btm6:                   LONG(0),$ 
        btm7:                   LONG(0),$ 
        btm8:                   LONG(0),$ 
        btm9:                   LONG(0),$ 
        btm10:                  LONG(0),$ 
        btm11:                  LONG(0),$ 
        btm12:                  LONG(0),$ 
        btm13:                  LONG(0),$ 
        btm14:                  LONG(0),$ 
        btm15:                  LONG(0),$ 
        btm16:                  LONG(0),$ 
        btm17:                  LONG(0),$ 
        btm18:                  LONG(0),$ 
        btm19:                  LONG(0),$ 
        btm20:                  LONG(0),$ 
        btm21:                  LONG(0),$ 
        btm22:                  LONG(0),$ 
        btm23:                  LONG(0),$ 
        btm24:                  LONG(0),$ 
        btm25:                  LONG(0),$ 
        btm26:                  LONG(0),$ 
        btm27:                  LONG(0),$ 
        btm28:                  LONG(0),$ 
        btm29:                  LONG(0),$ 
        btm30:                  LONG(0),$ 
        btm31:                  LONG(0),$ 
        btmqcmt1:               LONG(0),$ 
        btmqcmg1:               BYTE(0),$ 
        btmqcmt2:               LONG(0),$ 
        btmqcmg2:               BYTE(0),$ 
        bkmqcmc:                LONG(0)}

EngB_gis1 =  {EngB_gis1_struct, $
        bkgid:                  BYTE(0),$ 
        bkgtable:               BYTE(0),$ 
        bughv1:                 BYTE(0),$ 
        bughv2:                 BYTE(0),$ 
        bughv3:                 BYTE(0),$ 
        bughv4:                 BYTE(0),$ 
        bigmcp1:                BYTE(0),$ 
        bigmcp2:                BYTE(0),$ 
        bigmcp3:                BYTE(0),$ 
        bigmcp4:                BYTE(0),$ 
        bugmcpb1:               BYTE(0),$ 
        bugmcpb2:               BYTE(0),$ 
        bugmcpb3:               BYTE(0),$ 
        bugmcpb4:               BYTE(0),$ 
        b_pos_ga1a5v:           BYTE(0),$ 
        b_pos_ga1b5v:           BYTE(0),$ 
        b_pos_ga2a5v:           BYTE(0),$ 
        b_pos_ga2b5v:           BYTE(0),$ 
        b_pos_gp1a5v:           BYTE(0),$ 
        b_pos_gp1b5v:           BYTE(0),$ 
        b_pos_gp2a5v:           BYTE(0),$ 
        b_pos_gp2b5v:           BYTE(0),$ 
        b_pos_ghk5v:            BYTE(0),$ 
        b_pos_ga16v:            BYTE(0),$ 
        b_pos_ga26v:            BYTE(0),$ 
        b_pos_ghk12v:           BYTE(0),$ 
        b_neg_ga16v:            BYTE(0),$ 
        b_neg_ga26v:            BYTE(0),$ 
        b_neg_ghk12v:           BYTE(0),$ 
        btgtemp1:               BYTE(0),$ 
        btgtemp2:               BYTE(0),$ 
        btgtemp3:               BYTE(0),$ 
        bxgzod:                 BYTE(0),$ 
        bxgpha:                 BYTE(0),$ 
        bkgcmdi:                LONG(0),$ 
        bkgcmdv:                LONG(0),$ 
        bkglerr:                BYTE(0),$ 
        bkgprev:                BYTE(0),$ 
        bkgpcd1:                LONG(0),$ 
        bkgpcd2:                LONG(0),$ 
        bkgpcd3:                LONG(0),$ 
        bkgpcd4:                LONG(0),$ 
        bkgrcd1:                LONG(0),$ 
        bkgrcd2:                LONG(0),$ 
        bkgrcd3:                LONG(0),$ 
        bkgrcd4:                LONG(0),$ 
        bkgulcd1:               LONG(0),$ 
        bkgulcd2:               LONG(0),$ 
        bkgulcd3:               LONG(0),$ 
        bkgulcd4:               LONG(0),$ 
        bkghv1l:                BYTE(0),$ 
        bkghv2l:                BYTE(0),$ 
        bkghv3l:                BYTE(0),$ 
        bkghv4l:                BYTE(0),$ 
        bkghv1m:                BYTE(0),$ 
        bkghv2m:                BYTE(0),$ 
        bkghv3m:                BYTE(0),$ 
        bkghv4m:                BYTE(0),$ 
        bkgmcp1m:               BYTE(0),$ 
        bkgmcp2m:               BYTE(0),$ 
        bkgmcp3m:               BYTE(0),$ 
        bkgmcp4m:               BYTE(0),$ 
        bkgldld1:               BYTE(0),$ 
        bkgldld2:               BYTE(0),$ 
        bkgldld3:               BYTE(0),$ 
        bkgldld4:               BYTE(0),$ 
        bkgchk1:                LONG(0),$
        bkgchk2:                LONG(0),$
        bsgdd1:                 BYTE(0),$ 
        bsgdd2:                 BYTE(0),$ 
        bsgdd3:                 BYTE(0),$ 
        bsgdd4:                 BYTE(0),$ 
        bsghv1:                 BYTE(0),$ 
        bsghv2:                 BYTE(0),$ 
        bsghv3:                 BYTE(0),$ 
        bsghv4:                 BYTE(0),$ 
        bsgmcpb1:               BYTE(0),$ 
        bsgmcpb2:               BYTE(0),$ 
        bsgmcpb3:               BYTE(0),$ 
        bsgmcpb4:               BYTE(0),$ 
        bsgimif:                BYTE(0),$ 
        bsgstim:                BYTE(0),$ 
        bsgcode:                BYTE(0),$ 
        bsgheart:               BYTE(0),$ 
        bsgchksm:               BYTE(0),$
        bsglut:                 BYTE(0),$ 
        bsghv1t:                BYTE(0),$ 
        bsghv2t:                BYTE(0),$ 
        bsghv3t:                BYTE(0),$ 
        bsghv4t:                BYTE(0),$ 
        bsgwd:                  BYTE(0),$ 
        bkgspar1:               BYTE(0),$ 
        bkgspar2:               BYTE(0),$ 
        bkgspar3:               BYTE(0),$ 
        bkgspar4:               BYTE(0),$ 
        bkgphano:               BYTE(0),$ 
        bkgstims:               BYTE(0),$ 
        bkgtab1:                BYTE(0),$ 
        bkgtab2:                BYTE(0),$ 
        bkgtab3:                BYTE(0),$ 
        bkgtab4:                BYTE(0),$ 
        bkgtab5:                BYTE(0),$ 
        bkgtab6:                BYTE(0),$ 
        bkgtab7:                BYTE(0),$ 
        bkgtab8:                BYTE(0),$ 
        bkgtadd:                LONG(0),$ 
        bkgtadds:               LONG(0),$ 
        bkgtad_pos_1:           LONG(0),$ 
        bgksoftv:               BYTE(0),$ 
        bkgmodel:               BYTE(0),$ 
        bkgtab9:                BYTE(0),$ 
        bkgtab10:               BYTE(0),$ 
        bkgtab11:               BYTE(0),$ 
        bkgchk3:                LONG(0),$
        bkgchk4:                LONG(0),$
        bs6def:                 LONG(0),$ 
        bs6rep:                 LONG(0),$ 
        bs6size:                LONG(0),$ 
        bs6unav:                LONG(0),$ 
        bs6inuse:               LONG(0),$ 
        bs6load:                LONG(0),$ 
        bs6ovl:                 LONG(0),$ 
        bs6ovf:                 LONG(0),$ 
        bs6orph:                LONG(0),$ 
        bs6chk:                 LONG(0)} 

EngB_gis2 =  {EngB_gis2_struct, $
        bspfull:                LONG(0),$ 
        bspempty:               LONG(0),$ 
        bk2pmode:               LONG(0),$
        bs2icmdi:               LONG(0),$ 
        bs2iunk:                LONG(0),$ 
        bs2:                    LONG(0),$ 
        bs2qcm:                 LONG(0),$ 
        bs2vdmpf:               LONG(0),$
        bs2gprei:               LONG(0),$ 
        bs2ghk:                 LONG(0),$ 
        bs2vhk:                 LONG(0),$ 
        bs2pmode:               LONG(0),$ 
        bs2htrs:                LONG(0),$ 
        bs2hmode:               LONG(0),$ 
        bs2feat:                LONG(0),$ 
        bs2m:                   LONG(0),$ 
        bs2s:                   LONG(0),$ 
        bs2ol:                  LONG(0),$ 
        bs2or:                  LONG(0),$ 
        bs2mcmdi:               LONG(0),$ 
        bs2munk:                LONG(0),$ 
        bs2mchk:                LONG(0),$ 
        bs2mecw:                LONG(0),$ 
        bs2mecer:               LONG(0),$ 
        bs2meci:                LONG(0),$ 
        bs2pposi:               LONG(0),$ 
        bs2fti:                 LONG(0),$ 
        bk2hpl:                 LONG(0),$ 
        bk2slitn:               LONG(0),$ 
        bk2slitp:               LONG(0),$ 
        bk2mirrp:               LONG(0),$ 
        bk2olp:                 LONG(0),$ 
        bk2orp:                 LONG(0),$ 
        bk2dor:                 LONG(0),$ 
        bs4:                    LONG(0),$ 
        bs4empty:               LONG(0),$ 
        bs4ovf:                 LONG(0),$ 
        bs4cmdi:                LONG(0),$ 
        bs4timi:                LONG(0),$ 
        bs4unk:                 LONG(0),$ 
        bk4nis:                 LONG(0),$ 
        bk4last1:               LONG(0),$ 
        bk4last2:               LONG(0),$ 
        bs7:                    LONG(0),$ 
        bs7wr:                  LONG(0),$ 
        bs7cmdi:                LONG(0),$ 
        bs7unk:                 LONG(0),$ 
        bs7wri:                 LONG(0),$ 
        bs8:                    LONG(0),$ 
        bs8wr:                  LONG(0),$ 
        bs8cmdi:                LONG(0),$ 
        bs8unk:                 LONG(0),$ 
        bs8wri:                 LONG(0),$ 
        bs9pri:                 LONG(0),$ 
        bs9sec:                 LONG(0),$ 
        bs9cmdna:               LONG(0),$ 
        bs9btimo:               LONG(0),$ 
        bs9wtimo:               LONG(0),$ 
        bs9rtimo:               LONG(0),$ 
        bs9chk:                 LONG(0),$ 
        bs9fail:                LONG(0),$ 
        bs9load:                LONG(0),$ 
        bs9plnkr:               LONG(0),$ 
        bs9abort:               LONG(0),$ 
        bs9cmdi:                LONG(0),$ 
        bs9unk:                 LONG(0),$ 
        bkdval:                 LONG(0),$ 
        bkdpar:                 LONG(0),$ 
        bsdool:                 LONG(0),$ 
        bsdis:                  LONG(0),$ 
        bsdtii:                 LONG(0),$ 
        bsdsoi:                 LONG(0),$ 
        bsdllf:                 LONG(0),$ 
        bsdltf:                 LONG(0),$ 
        bsdcmdi:                LONG(0),$ 
        bsd:                    LONG(0),$ 
        bsdacmd:                LONG(0),$ 
        bsbwderr:               BYTE(0),$ 
        bsbpwr1:                BYTE(0),$ 
        bsbpwr2:                BYTE(0),$ 
        bsbpuerr:               BYTE(0),$ 
        bsbextto:               BYTE(0),$ 
        bsbimife:               BYTE(0),$ 
        bsbpare0:               BYTE(0),$ 
        bsbpare1:               BYTE(0),$ 
        bsbpare2:               BYTE(0),$ 
        bsbpare3:               BYTE(0),$ 
        bsbiadde:               BYTE(0),$ 
        bsbverr:                BYTE(0),$ 
        bkbaddr:                LONG(0),$ 
        bsitable:               LONG(0),$ 
        bsievent:               LONG(0),$ 
        bsiovf:                 LONG(0),$ 
        bsivalid:               LONG(0),$ 
        bkcscif:                LONG(0),$ 
        bk5rastr:               LONG(0),$ 
        bk5expr:                LONG(0),$ 
        bk9noevt:               LONG(0),$ 
        bs9epwr:                LONG(0),$ 
        bs9gbus:                LONG(0),$ 
        bs9vbus:                LONG(0),$ 
        bs9par:                 LONG(0),$ 
        bkccsum:                LONG(0)} 
Eng_A = {EngA_struct, $
         EngA_cdhs:       {EngA_cdhs_struct},$
         EngA_eps:        {EngA_eps_struct}, $
         EngA_vds:        {EngA_vds_struct}}

Eng_B = {EngB_struct, $
         EngB_cdhs:       {EngB_cdhs_struct},$
         EngB_mcu:        {EngB_mcu_struct}, $
         EngB_gis1:       {EngB_gis1_struct},$
         EngB_gis2:       {EngB_gis2_struct}}

end
