0
kamaralitarvez's Avatar, Join Date: Jan 2009
Light Poster
Quote:
Originally Posted by xpi0t0s View Post
So if the string contains just "ACM.IODATA.DI.DI1WORD3.T4", how do you know what integer value to assign to ACM.IODATA.DI.DI1WORD3.T4?

Please remember I can't read your mind and I don't have the code in front of me. I can only go on what you give me in this thread, which so far is very little. So please give an example of a string that should be parsed, containing several variables (but still reasonably short), and an example of the structure it should go into and the values that should be assigned as a result.

Last time of asking, so if you don't answer the above in full detail instead of answering with such minimal answers that you don't include the basic info I need to answer then I won't bother replying again.

Code:
typedef struct
{
 WORD   unused        :  14  ;          /*    0    280    */     
 WORD   selected      :   2  ;              /*    0    3    */ 
}CONFIG1  ;      
typedef struct
{
    CONFIG1   ecfm1_config ;    //    /*    0    1    */
    CONFIG1   ecfm2_config ;    //    /*    0    1    */
    CONFIG1   heem1_config ;    //    /*    0    1    */
    CONFIG1   heem2_config ;    //    /*    0    1    */
 CONFIG1   fcs11 ;//        /*    0    1    */
 CONFIG1   fcs21 ;//        /*    0    1    */
 CONFIG1   fcs32 ;//        /*    0    1    */
 CONFIG1   fcs42 ;    //    /*    0    1    */
 CONFIG1   ciu1 ;//        /*    0    1    */
 CONFIG1   ciu2 ;//        /*    0    1    */
 CONFIG1   oac1 ;//        /*    0    1    */
 CONFIG1   oac2 ;//        /*    0    1    */
 CONFIG1   ins ;    //    /*    0    1    */
 CONFIG1   radalt ;        //    /*    0    1    */
 CONFIG1    cmds ;    //    /*    0    1    */
 CONFIG1    vor_ilson    ;    //    /*    0    1    */
 CONFIG1    Tacan ;    //    /*    0    1    */
 CONFIG1   Fadec1 ;    //    /*    0    1    */
 CONFIG1   Fadec2 ;    //    /*    0    1    */
 CONFIG1   F_Fsp ;    //    /*    0    1    */
 CONFIG1   R_Fsp ;    //    /*    0    1    */
 CONFIG1   F_Ssp ;    //    /*    0    1    */
 CONFIG1   R_Ssp ;    //    /*    0    1    */
}SYS_CONFIG ;        
typedef struct
{
  WORD Unused                       :  2  ;     /*    0    1    */    
  WORD Open_F1AT_RV                 :  1  ;     /*    0    1    */    
  WORD Open_F1_2T_RV                :  1  ;     /*    0    1    */    
  WORD Open_LHWT_RV                 :  1  ;     /*    0    1    */    
  WORD Open_RHWT_RV                 :  1  ;     /*    0    1    */    
  WORD Open_CL_DT_RTV               :  1  ;     /*    0    1    */    
  WORD Open_LH_IB_DT_RTV            :  1  ;     /*    0    1    */    
  WORD Open_LH_MB_DT_RTV            :  1  ;     /*    0    1    */    
  WORD Open_RH_IB_DT_RTV            :  1  ;     /*    0    1    */    
  WORD Open_RH_MB_DT_RTV            :  1  ;     /*    0    1    */    
  WORD Open_Depressurisation_Valve  :  1  ;     /*    0    1    */    
  WORD Close_Depressurisation_Valve :  1  ;     /*    0    1    */    
  WORD Open_F1AT_TRV                :  1  ;     /*    0    1    */    
  WORD Close_F1AT_TRV               :  1  ;     /*    0    1    */    
  WORD Blinker_28v                  :  1  ;     /*    0    1    */    
}FUEL_INPUTS_FROM_EU ;

typedef struct
{
 WORD  feeder_f1ft_probe_powerflag                : 1 ;     /*    0    1    */    
 WORD  feeder_f1fb_probe_powerflag                : 1 ;     /*    0    1    */    
 WORD  feeder_f1ab_probe_powerflag                : 1 ;     /*    0    1    */    
 WORD  feeder_f2ft_probe_powerflag                : 1 ;     /*    0    1    */    
 WORD  feeder_f2fb_probe_powerflag                : 1 ;     /*    0    1    */    
 WORD  feeder_f2at_probe_powerflag                : 1 ;     /*    0    1    */    
 WORD  feeder_f2ab_probe_powerflag                : 1 ;     /*    0    1    */    
 WORD  lhwft_probe_powerflag                      : 1 ;     /*    0    1    */    
 WORD  lhwot_probe_powerflag                      : 1 ;     /*    0    1    */    
 WORD  lhwai_probe_powerflag                      : 1 ;     /*    0    1    */    
 WORD  rhwft_probe_powerflag                      : 1 ;     /*    0    1    */    
 WORD  rhwot_probe_powerflag                      : 1 ;     /*    0    1    */    
 WORD  rhwai_probe_powerflag                      : 1 ;     /*    0    1    */    
 WORD  f1at_probe_powerflag                       : 1 ;     /*    0    1    */    
 WORD  valve_power_flagstatus                     : 1 ;     /*    0    1    */    
 WORD     lp_cock_powerflag                          : 1 ;     /*    0    1    */    
}POWERSTATUS ;

typedef struct    
{
 WORD  depressure_valve_open                      : 1 ;     /*    0    1    */    
 WORD  dcpump_powervalue                          : 3 ;     /*    0    1    */    
 WORD  booster_pump_powervalue                    : 3 ;     /*    0    1    */    
 WORD  acpump_switch_status                       : 1 ;     /*    0    1    */    
 WORD  dcpump_switch_status                       : 1 ;     /*    0    1    */    
 WORD     flowmeter_valve_status                      : 1 ;     /*    0    1    */    
 WORD  eng_fuel_temp_sensor_fail                  : 1 ;      /*    0    1    */    
 WORD  eng_fuel_pressure_low                      : 1 ;      /*    0    1    */    
 WORD  unused_1_4                                  : 4 ;     /*    0    1    */    
}PUMP_VALVE_STATUS ;

typedef struct                             
{
 WORD  ground_refuel_request                      : 1 ;     /*    0    1    */    
 WORD  alltanks_or_internal_refuelrequest         : 1 ;      /*    0    1    */    
 WORD  center_dt_present_or_absent                : 1 ;     /*    0    1    */    
 WORD  lhib_dt_present_or_absent                  : 1 ;     /*    0    1    */    
 WORD  lhmb_dt_present_or_absent                  : 1 ;     /*    0    1    */    
 WORD  rhib_dt_present_or_absent                  : 1 ;     /*    0    1    */    
 WORD  rhmb_dt_present_or_absent                  : 1 ;     /*    0    1    */    
 WORD  no_dt_present                              : 1 ;     /*    0    1    */    
 WORD     auto_calibration_mode_sel                  : 1 ;      /*    0    1    */    
 WORD  Flight_Refuel_Request                      : 1 ;      /*    0    1    */    
 WORD     tank_reconfig                            : 1 ;     /*    0    1    */    
 WORD  center_dt_identity_on                      : 1 ;     /*    0    1    */    
 WORD  oxy_noflow_status                          : 1 ;     /*    0    1    */    
 WORD  minimum_oxygen                             : 1 ;     /*    0    1    */    
 WORD  normal_emergency                           : 1 ;     /*    0    1    */    
 WORD  high_altitude_oxy_on                       : 1 ;     /*    0    1    */    
}TANK_STATUS ;

typedef struct
{
    WORD F1_2T_Rv_Open_Feedback             : 1 ;     /*    0    1    */    
    WORD F1AT_Rv_Open_Feedback                 : 1 ;     /*    0    1    */    
    WORD LHWT_Rv_Open_Feedback                 : 1 ;     /*    0    1    */    
    WORD RHWT_Rv_Open_Feedback                 : 1 ;     /*    0    1    */    
    WORD Cl_Dt_Rtv_Open_Feedback             : 1 ;     /*    0    1    */    
    WORD Rh_Ib_Dt_Rtv_Open_Feedback         : 1 ;     /*    0    1    */    
    WORD Rh_Mb_Dt_Rtv_Open_Feedback         : 1 ;     /*    0    1    */    
    WORD Lh_Ib_Dt_Rtv_Open_Feedback         : 1 ;     /*    0    1    */    
    WORD Lh_Mb_Dt_Rtv_Open_Feedback         : 1 ;     /*    0    1    */    
    WORD Unused_1_7                         : 7 ;     /*    0    1    */    
}REFUEL_VALVE_STATUS ;

typedef struct
{
 short     F1AT_tank_content ; //     /*    0    450    */     
 short  F12T_tank_content ; //     /*    0    826    */     
 short  LHW_tank_content ; //     /*    0    450    */     
 short  RHW_tank_content ; //     /*    0    450    */     
 short  CENTER_dt_content ; //     /*    0    450    */     
 short  LHIB_dt_content ; //     /*    0    450    */     
 short  RHIB_dt_content ; //     /*    0    450    */     
 short  LHMB_dt_content ; //     /*    0    450    */     
 short  RHMB_dt_content ; //     /*    0    450    */     
 float Lox_content ; //     /*    0    450     */     
}TANK_CONTENT ;

typedef struct
{
 float                          f12t_pressure_value ; //     /*    0    50    */     
 float                          lhwt_pressure_value ; //     /*    0    50    */     
 float                          rhwt_pressure_value ; //     /*    0    50    */     
 float                          f1at_pressure_value ; //     /*    0    50    */     
 float                   cldt_pressure_value ; //     /*    0    0    */     
}PRESSURE ;

typedef struct
{
 float                   flowmeterResistance_value ; //     /*    0    240    */     
 float                   eng_fuelResistance_value  ; //     /*    0    199    */     
}RESISTANCE_VALUE ;

typedef struct 
{
 POWERSTATUS             power_st ; //     /*    0    0    */     
 PUMP_VALVE_STATUS          pump_valve_st ; //     /*    0    0    */     
 TANK_STATUS                 tank_st ; //     /*    0    0    */     
 REFUEL_VALVE_STATUS    rv_status ; //     /*    0    0    */     
 TANK_CONTENT                tank_content ; //     /*    0    0    */     
 PRESSURE               pressure ; //     /*    0    0    */     
 RESISTANCE_VALUE       resistance_value ; //     /*    0    0    */     
}FUEL_SYSTEM_INPUTS_LOCAL ;



typedef struct 
{
  FUEL_INPUTS_FROM_EU        fuelsys_inp_from_eu ; //     /*    0    0    */     
  FUEL_SYSTEM_INPUTS_LOCAL   fuel_loc_sys_input ; //     /*    0    0    */     
}FUEL_SYSTEM ;

typedef struct
{
WORD  unused                  : 1 ;    /*    0    1    */    
WORD  Open_BASOV              : 1 ;    /*    0    1    */    
WORD  Open_ESOV               : 1 ;    /*    0    1    */    
WORD  Emergency_close_PHEBPV  : 1 ;    /*    0    1    */    
WORD  Open_CPTCV              : 1 ;    /*    0    1    */    
WORD  Close_CPTCV             : 1 ;    /*    0    1    */    
WORD  Open_AVRAV              : 1 ;    /*    0    1    */    
WORD  Close_AVRAV             : 1 ;    /*    0    1    */    
WORD  Open_CBTCV              : 1 ;    /*    0    1    */    
WORD  Close_CBTCV             : 1 ;    /*    0    1    */    
WORD  Open_ECSSOV             : 1 ;    /*    0    1    */    
WORD  Close_ECSSOV            : 1 ;    /*    0    1    */    
WORD  AVFCV_phase_1_drive     : 1 ;    /*    0    1    */    
WORD  AVFCV_phase_2_drive     : 1 ;    /*    0    1    */    
WORD AVFCV_phase_3_drive      : 1 ;    /*    0    1    */    
WORD  Open_EESOV              : 1 ;    /*    0    1    */    
}ECS_DISCRETE_INPUTS1 ;

typedef struct
{
WORD unused                 : 11 ;    /*    0    1    */ 
WORD  Open_CBSOV            : 1 ;    /*    0    1    */ 
WORD Close_CBSOV            : 1 ;    /*    0    1    */ 
WORD  Open_FTBPV            : 1 ;    /*    0    1    */ 
WORD Initiate_LDS_BIT       : 1 ;    /*    0    1    */ 
WORD Cbrav_demist_pwr       : 1 ;    /*    0    1    */ 
}ECS_DISCRETE_INPUTS2 ;


typedef struct
{
    ECS_DISCRETE_INPUTS1        discrete_inputs1 ;//     /*    0    0    */     
    ECS_DISCRETE_INPUTS2        discrete_inputs2 ;//     /*    0    0    */     
}ECS_INPUTS_FROM_EU ; 

typedef struct 
{
    WORD unused_0_3                                     : 4 ; /*  0  1  */
    WORD Cooling_pack_temp_sensor_Fail        : 1 ;    /*    0    1    */ 
    WORD Cabin_inlet_temp_sensor_Fail         : 1 ;    /*    0    1    */ 
    WORD Avionics_bay_temp_sensor_Fail        : 1 ;    /*    0    1    */ 
    WORD Cabin_outlet_temp_sensor_Fail        : 1 ;    /*    0    1    */ 
    WORD PHE_outlet_temp_sensor_Fail          : 1 ;    /*    0    1    */ 
    WORD Fuel_tank_inlet_temp_sensor_Fail     : 1 ;    /*    0    1    */ 
    WORD PRV_downstream_pressure_sensor_Fail  : 1 ;    /*    0    1    */ 
    WORD Cabin_altitude_sensor_Fail           : 1 ;    /*    0    1    */ 
    WORD Cabin_diff_altitude_sensor_Fail      : 1 ;    /*    0    1    */ 
    WORD Condensor_diff_pressure_sensor_Fail  : 1 ;    /*    0    1    */ 
    WORD Avionics_diff_pressure_sensor_Fail   : 1 ;    /*    0    1    */ 
    WORD Inlet_pressure_sensor_Fail           : 1 ;    /*    0    1    */ 
}SENSOR_STATUS ;
typedef struct
{
    WORD gFailBASOV                : 1 ;    /*    0    1    */ 
    WORD gFailEESOV                : 1 ;    /*    0    1    */ 
    WORD gFailESOV                 : 1 ;    /*    0    1    */ 
    WORD gFailFTPBPV               : 1 ;    /*    0    1    */ 
    WORD gFailPHEBPV               : 1 ;    /*    0    1    */ 
    WORD gOnOffRADAR               : 1 ;    /*    0    1    */ 
    WORD Hot_air_leak_detected     : 1 ;    /*    0    1    */ 
    WORD Trans                     : 1 ;    /*    0    1    */ 
    WORD unused_1_8                : 8 ;    /*    0    1    */ 
}VALVE_FAIL_STATUS ;

typedef struct
{
    float T ; //     /*    0    0    */    
    float P ; //     /*    0    0    */    
    float W ; //     /*    0    0    */    
}Station ;

typedef struct
{
    Station    BASOVOutVal ; //     /*    0    0    */    
    Station    PHEInVal    ; //     /*    0    0    */    
    Station    PHEOutVal   ; //     /*    0    0    */    
    Station    SHEInVal    ; //     /*    0    0    */    
    Station    SHEOutVal   ; //     /*    0    0    */    
    Station    ECSSOVInVal ; //     /*    0    0    */    
    Station    ECSSOVOutVal ; //     /*    0    0    */    
    Station    CPTCVInVal   ; //     /*    0    0    */    
    Station  CBTCVOutVal ; //     /*    0    0    */    
    Station  BleedAir ; //     /*    0    0    */    
}STATION_PMS_VALS ;

typedef struct
{
    WORD unused_0_4                          : 5 ;    /*    0    1    */ 
    WORD cabin_pressure_low                  : 1 ;    /*    0    1    */ 
    WORD cabin_pressure_high                 : 1 ;    /*    0    1    */ 
    WORD cabin_pr_stdby                      : 1 ;    /*    0    1    */ 
    WORD ecs_fail_Due_To_Avionics_Inlet_Temp : 1 ;    /*    0    1    */ 
    WORD ecs_fail_Due_To_PheOutlet_Temp      : 1 ;    /*    0    1    */ 
    WORD avionics_hot                        : 1 ;    /*    0    1    */ 
    WORD cabin_auto_temp_fail                : 1 ;    /*    0    1    */ 
    WORD bl_air_fail                         : 1 ;    /*    0    1    */ 
    WORD bleed_air_leak_detected             : 1 ;    /*    0    1    */ 
    WORD reset_ecs                           : 1 ;    /*    0    1    */ 
    WORD canopy_unlock                       : 1 ;    /*    0    1    */ 
}ECS_WARN_TO_ECSSYS ;

typedef struct
{
    WORD unused_0_11                   : 12 ;    /*    0    1    */ 
    WORD cabin_pressure_v              : 1 ;    /*    0    1    */ 
    WORD avionics_bay_temp_v           : 1 ;    /*    0    1    */ 
    WORD cabin_mean_temp_v             : 1 ;    /*    0    1    */ 
    WORD cabin_alt_v                   : 1 ;    /*    0    1    */ 
}DISP_VALIDITY_TO_ECSSYS ;

typedef struct 
{
    SENSOR_STATUS                  sensor_status     ; //     /*    0    0    */     
    VALVE_FAIL_STATUS          valve_fail_status ; //     /*    0    0    */     
    STATION_PMS_VALS              station_pms_vals  ; //     /*    0    0    */     
    ECS_WARN_TO_ECSSYS         ecs_warn_to_ecssys ; //     /*    0    0    */     
    DISP_VALIDITY_TO_ECSSYS    disp_validity_to_ecssys ; //     /*    0    0    */     
    float                               machno ; //     /*    0    0    */     
    float                              amp_pressure ; //     /*    0    0    */     
    float                               amp_temp ; //     /*    0    0    */     
}ECS_SYSTEM_INPUTS_LOCAL ;

typedef struct   
{
  ECS_INPUTS_FROM_EU         ecssys_inp_from_eu ; //     /*    0    0    */     
  ECS_SYSTEM_INPUTS_LOCAL    ecs_loc_sys_input ; //     /*    0    0    */     
}ECS_SYSTEM ;

typedef struct
{
      WORD unused                  : 12 ;    /*    0    1    */ 
      WORD Electrical_fault_ind    : 1 ;    /*    0    1    */ 
      WORD Initiate_BIT_GCU1       : 1 ;     /*    0    1    */ 
      WORD Initiate_BIT_GCU2       : 1 ;     /*    0    1    */ 
      WORD Initiate_BIT_GCU3       : 1 ;     /*    0    1    */ 
}ELEC_INPUTS_FROM_EU ;

typedef struct
{
    WORD    Unused_0_3        : 4 ;    /*    0    1    */ 
    WORD    GCU1_RD              : 1 ;    /*    0    1    */ 
    WORD    GCU1_Fault        : 1 ;    /*    0    1    */ 
    WORD    GLC1_Fail         : 1 ;    /*    0    1    */ 
    WORD    GLC1_Status       : 1 ;                /*    0    1    */ 
    WORD    GCU2_Fault        : 1 ;    /*    0    1    */ 
    WORD    GCU2_RD           : 1 ;    /*    0    1    */ 
    WORD    GLC2_Status       : 1 ;            /*    0    1    */ 
    WORD    GLC2_Fail         : 1 ;    /*    0    1    */ 
    WORD    GCU3_Fault        : 1 ;    /*    0    1    */ 
    WORD    GCU3_RD           : 1 ;    /*    0    1    */ 
    WORD    GLC3_Status       : 1 ;            /*    0    1    */ 
    WORD    GLC3_Fail         : 1 ;    /*    0    1    */ 
}GCU_GLC_STATUS ;

typedef struct
{
    WORD    Unused_0_5         : 6 ;        /*    0    1    */ 
    WORD    Inverter_Fail       : 1 ;            /*    0    1    */ 
    WORD    GPC_Fail           : 1 ;        /*    0    1    */ 
    WORD    GPC_Status         : 1 ;        /*    0    1    */         
    WORD    GPC_Sense_Fail     : 1 ;        /*    0    1    */ 
    WORD    Batt_Volt_Valid    : 1 ;        /*    0    1    */ 
    WORD    Batt_NC            : 1 ;        /*    0    1    */ 
    WORD    BC_Sense_Fail      : 1 ;        /*    0    1    */ 
    WORD    GPU_Status         : 1 ;        /*    0    1    */ 
    WORD    ELE_Sys_Fault      : 1 ;        /*    0    1    */ 
    WORD    Power_Status       : 1 ;        /*    0    1    */ 
}GPU_BATT_STATUS ;
typedef struct
{
    WORD    Unused_0_1           : 1 ;        /*    0    1    */ 
    WORD    ACBTC_Status         : 1 ;        /*    0    1    */ 
    WORD    ACBTC_Fail           : 1 ;        /*    0    1    */ 
    WORD    DCBTC_Status         : 1 ;        /*    0    1    */ 
    WORD    DCBTC_Fail           : 1 ;        /*    0    1    */ 
    WORD    DCEMC_Status         : 1 ;        /*    0    1    */ 
    WORD    DCEMC_Fail           : 1 ;        /*    0    1    */ 
    WORD    BC_Status            : 1 ;        /*    0    1    */ 
    WORD    BC_Fail              : 1 ;        /*    0    1    */ 
    WORD    SIVC_Status          : 1 ;        /*    0    1    */ 
    WORD    SIVC_Fail            : 1 ;        /*    0    1    */ 
    WORD    AC_Alert1_LC_Status  : 1 ;        /*    0    1    */ 
    WORD    AC_Alert2_LC_Status  : 1 ;        /*    0    1    */ 
    WORD    DC_Alert1_LC_Status  : 1 ;        /*    0    1    */ 
    WORD    DC_Alert2_LC_Status  : 1 ;        /*    0    1    */ 
    WORD    INV_Circuit_Breaker     : 1 ;        /*    0    1    */ 
}BTC_STATUS ;

typedef struct
{
        WORD    Unused_0_1        : 2 ;        /*    0    1    */ 
        WORD    ALT1_Fail         : 1 ;        /*    0    1    */ 
        WORD    ALT1_Fault        : 1 ;        /*    0    1    */ 
        WORD    ALT1_BkUp_Fail    : 1 ;        /*    0    1    */ 
        WORD    ALT1_SRD          : 1 ;        /*    0    1    */ 
        WORD    ALT2_Fail         : 1 ;        /*    0    1    */ 
        WORD    ALT2_Fault        : 1 ;        /*    0    1    */ 
        WORD    ALT2_SRD          : 1 ;        /*    0    1    */ 
        WORD    ALT2_FFG          : 1 ;        /*    0    1    */ 
        WORD    ALT2_BkUp_Fail    : 1 ;        /*    0    1    */ 
        WORD    GEN_Fail         : 1 ;        /*    0    1    */ 
        WORD    GEN_Fault        : 1 ;        /*    0    1    */ 
        WORD    GEN_FFG          : 1 ;        /*    0    1    */ 
        WORD    GEN_SRD          : 1 ;        /*    0    1    */ 
        WORD    GEN_BkUp_Fail    : 1 ;        /*    0    1    */ 
}GEN_STATUS ;

typedef struct
{
    WORD    Unused_0_1            : 2 ;        /*    0    1    */ 
    WORD    TRU2_Fail             : 1 ;        /*    0    1    */ 
    WORD    TRU1_Fail             : 1 ;        /*    0    1    */ 
    WORD    TLC1_Status           : 1 ;        /*    0    1    */ 
    WORD    TLC1_Fail             : 1 ;        /*    0    1    */ 
    WORD    TLC2_Status           : 1 ;        /*    0    1    */ 
    WORD    TLC2_Fail             : 1 ;        /*    0    1    */ 
    WORD    TRU1_Fault            : 1 ;        /*    0    1    */ 
    WORD    TRU2_Fault            : 1 ;        /*    0    1    */ 
    WORD    TRU1_OT               : 1 ;        /*    0    1    */ 
    WORD    TRU2_OT               : 1 ;        /*    0    1    */ 
    WORD    TRU1_PB               : 1 ;        /*    0    1    */ 
    WORD    TRU2_PB               : 1 ;        /*    0    1    */ 
    WORD    TRU1_Circuit_Breaker  : 1 ;        /*    0    1    */ 
    WORD    TRU2_Circuit_Breaker  : 1 ;        /*    0    1    */ 
}TRU_VALUES ;

typedef struct
{
    WORD    Unused_0_5       : 5 ;        /*    0    1    */ 
    WORD    AC_Main_Fail     : 1 ;        /*    0    1    */ 
    WORD    AC_Essen_Fail    : 1 ;        /*    0    1    */ 
    WORD    AC_Emerg_Fail    : 1 ;        /*    0    1    */ 
    WORD    DC_Main_Fail     : 1 ;        /*    0    1    */ 
    WORD    DC_Emerg_Fail    : 1 ;        /*    0    1    */ 
    WORD    DC_Essent_Fail   : 1 ;        /*    0    1    */ 
    WORD    AC_Alert1_Fail   : 1 ;        /*    0    1    */ 
    WORD    AC_Alert2_Fail   : 1 ;        /*    0    1    */ 
    WORD    DC_Alert1_Fail   : 1 ;        /*    0    1    */ 
    WORD    DC_Alert2_Fail   : 1 ;        /*    0    1    */ 
    WORD    Batt_Bus_Fail     : 1 ;        /*    0    1    */ 
}BUSBAR_FAILS ;

typedef struct
{
WORD BoosterPump_Power               : 1 ;        /*    0    1    */
WORD RH_AoA_Probe_Power              : 1 ;        /*    0    1    */
WORD RH_Pitot_St_Probe_Power         : 1 ;        /*    0    1    */
WORD Temp_Probe_Power                 : 1 ;        /*    0    1    */
WORD  Pib_mb_ch1_power                : 1 ;        /*    0    1    */
WORD  Pib_ib_ch1_power                : 1 ;        /*    0    1    */
WORD  Pib_lb_ch1_power                : 1 ;        /*    0    1    */
WORD  Pib_cf_ch1_power                : 1 ;        /*    0    1    */
WORD unsed_0_7                      : 8 ;        /*    0    1    */
}ACMAIN_BUSBAR ;

typedef struct
{
WORD    RWR_Power                      : 1 ;        /*    0    1    */
WORD    CCM2_Power                     : 1 ;        /*    0    1    */
WORD    Formation_Lights_Power         : 1 ;        /*    0    1    */
WORD    Navigation_Lights_Power        : 1 ;        /*    0    1    */
WORD    LH_AoA_Probe_Power             : 1 ;        /*    0    1    */
WORD    LH_Pitot_Static_Probe_Power    : 1 ;        /*    0    1    */
WORD    Nose_Boom_Power                : 1 ;        /*    0    1    */
WORD    Leak_Detection_Power           : 1 ;        /*    0    1    */
WORD    Heemeu_mon_power            : 1 ;        /*    0    1    */ 
WORD    Taxi_Landing_Lights_Power      : 1 ;        /*    0    1    */
WORD    Anti_Collision_Lights_Power    : 1 ;        /*    0    1    */
WORD    unsed_0_4                     : 5 ;        /*    0    1    */
}ACESSEN_BUSBAR ;
typedef struct
{
    WORD    Eng_ignition_Power                    : 1 ;        /*    0    1    */
    WORD    Back_Up_Unit_Power                    : 1 ;        /*    0    1    */
    WORD    Iff_Ac_Power                          : 1 ;        /*    0    1    */
    WORD    unsed_1_13                               : 13 ;        /*    0    1    */
}ACEMERG_BUSBAR ;

typedef struct
{
    WORD    Radar_Power                      : 1 ;        /*    0    1    */
    WORD    Liquid_Cooling_Pump_Power        : 1 ;        /*    0    1    */
    WORD    unsed_1_14                      : 14 ;        /*    0    1    */
}ACALERT1_BUSBAR ;

typedef struct
{
    WORD INS_GPS_Power                        : 1 ;        /*    0    1    */
    WORD unsed_1_15                            : 15 ;        /*    0    1    */
}ACALERT2_BUSBAR ;
typedef struct
{
WORD    Probe_htr_relay_Power                 : 1 ;        /*    0    1    */
WORD    Ejector_Solenoid_Valve_Power        : 1 ;        /*    0    1    */
WORD    cmfd_Power                             : 1 ;        /*    0    1    */
WORD    vdr_Power                               : 1 ;        /*    0    1    */
WORD    Depress_valve_Power                      : 1 ;        /*    0    1    */
WORD    VUHF_Comm_System_Power                : 1 ;        /*    0    1    */
WORD    BoosterPump_relay_Power               : 1 ;        /*    0    1    */
WORD    Data_Link_Power                      : 1 ;        /*    0    1    */
WORD    LDP_Power                           : 1 ;        /*    0    1    */
WORD    BVR_Missiles_Power                  : 1 ;        /*    0    1    */
WORD  Pib_mb_ch2_power                        : 1 ;        /*    0    1    */
WORD  Pib_ib_ch2_power                        : 1 ;        /*    0    1    */
WORD  Pib_lb_ch2_power                        : 1 ;        /*    0    1    */
WORD  Pib_cf_ch2_power                        : 1 ;        /*    0    1    */
WORD  Sib_ch1_power                            : 1 ;        /*    0    1    */
WORD  Vru1_power                            : 1 ;        /*    0    1    */
}DCMAIN_BUSBAR ;
typedef struct
{
    WORD    cmds_on                                 : 1 ;    /*    0    0    */
    WORD    Tacan_on                             : 1 ;    /*    0    0    */
    WORD    Vorils_on                             : 1 ;    /*    0    0    */
    WORD    Unused                             : 13 ;    /*    0    0    */
}DCMAIN_BUSBAR1 ;
typedef struct
{
WORD FSP_Power                                : 1 ;        /*    0    1    */
WORD BIU_Power                                 : 1 ;        /*    0    1    */
WORD Transfer_valve_power                    : 1 ;        /*    0    1    */
WORD LMFD_power                                : 1 ;        /*    0    1    */
WORD CCM2_Power                             : 1 ;        /*    0    1    */
WORD OAC2_Power                                : 1 ;        /*    0    1    */
WORD Radio_Altimeter_Power                  : 1 ;        /*    0    1    */
WORD Incom2_Power                               : 1 ;        /*    0    1    */
WORD Taxi_land_light_relay_power            : 1 ;        /*    0    1    */
WORD Nav_lt_relay_power                        : 1 ;        /*    0    1    */             
WORD Probe_htr_relay_power                    : 1 ;        /*    0    1    */
WORD Cabin_pressure_sensor_power            : 1 ;        /*    0    1    */
WORD PIBs_Power                             : 1 ;        /*    0    1    */
WORD SIB_main_Power                            : 1 ;        /*    0    1    */
WORD Rwr_Power                                   : 1 ;        /*    0    1    */
WORD unused                                    : 1 ;        /*    0    1    */
}DCESSEN_BUSBAR ;

typedef struct
{
WORD     ECFM_Eu_Normal_Power                  : 1 ;        /*    0    1    */
WORD     Heem_Eu_Normal_Power                 : 1 ;        /*    0    1    */
WORD     ECS_Valves_Power                     : 1 ;        /*    0    1    */
WORD     Fire_Sensing_Power                   : 1 ;        /*    0    1    */
WORD     Fire_Extinguisher_Power              : 1 ;        /*    0    1    */
WORD     DECU_Power                           : 1 ;        /*    0    1    */
WORD     DC_Fuel_Pump_Power                   : 1 ;        /*    0    1    */
WORD     JFS_Power                            : 1 ;        /*    0    1    */
WORD    SECU_power                            : 1 ;        /*    0    1    */
WORD    Hmdfp_electro_sel_power                : 1 ;        /*    0    1    */
WORD     LP_Fuel_Shut_off_Cock_Power          : 1 ;        /*    0    1    */
WORD     Refuel_xfer_stop_air_valve_Power    : 1 ;        /*    0    1    */
WORD     Fuel_Dump_Valves_Power               : 1 ;        /*    0    1    */
WORD     LOX_Power                            : 1 ;        /*    0    1    */
WORD    Hud_power                            : 1 ;        /*    0    1    */
WORD    Rmfd_power                            : 1 ;        /*    0    1    */   
WORD    GCU1_power                            : 1 ;        /*    0    1    */
WORD    GCU2_power                            : 1 ;        /*    0    1    */
WORD    GCU3_power                            : 1 ;        /*    0    1    */
WORD    SSCDR_power                            : 1 ;        /*    0    1    */
WORD     Fcs_Channel_3_Power                  : 1 ;        /*    0    1    */
WORD     CWP_Power                            : 1 ;        /*    0    1    */
WORD     INS_GPS_Power                        : 1 ;        /*    0    1    */
WORD    Mf_ufcp_power                        : 1 ;        /*    0    1    */
WORD    OAC1_power                            : 1 ;        /*    0    1    */
WORD    GRP_power                            : 1 ;        /*    0    1    */
WORD    WOW_relay_power                        : 1 ;        /*    0    1    */
WORD    Bms_manifold                        : 1 ;        /*    0    1    */
WORD    EMDP_relay_power                    : 1 ;        /*    0    1    */
WORD    CIU_power                            : 1 ;        /*    0    1    */
WORD    HYD_Isolation_valves_power            : 1 ;        /*    0    1    */
WORD    HYD_Pressure_sw_power                : 1 ;        /*    0    1    */
WORD    HYD_Temp_transducers_power            : 1 ;        /*    0    1    */ 
WORD     Emerg_Uc_Sel_Relay_Power             : 1 ;        /*    0    1    */
WORD    Fuel_flow_mtr_power                    : 1 ;        /*    0    1    */
WORD    PIB_power                            : 1 ;        /*    0    1    */
WORD    Seal_inf_def_power                    : 1 ;        /*    0    1    */
WORD    SIB_power                            : 1 ;        /*    0    1    */
WORD    Emerg_jettision_power                : 1 ;        /*    0    1    */
WORD    Vru2_power                            : 1 ;        /*    0    1    */
WORD    unused_0_7                               : 8 ;        /*    0    1    */
}DCEMERG_BUSBAR ;
typedef struct
{
    WORD Radar_Power                            : 1 ;        /*    0    1    */
    WORD unsed_1_15                                : 15 ;        /*    0    1    */
}DCALERT1_BUSBAR ;

typedef struct
{
    WORD     Incom1_Power                        : 1 ;        /*    0    1    */
    WORD     AMU_Power                            : 1 ;        /*    0    1    */
    WORD  unsed_1_14                             : 14 ;        /*    0    1    */
}DCALERT2_BUSBAR ;

typedef struct
{
WORD     Brake_Parachute_Power                : 1 ;        /*    0    1    */
WORD     Seat_Adjust_control_Power            : 1 ;        /*    0    1    */
WORD     Wander_Light_Power                   : 1 ;        /*    0    1    */
WORD    Cockpit_Lights_Power                : 1 ;        /*    0    1    */
WORD     Fcs_Channel_4_Power                  : 1 ;        /*    0    1    */
WORD    Ssdu_Guh_power                        : 1 ;        /*    0    1    */
WORD    Ssdu_Efi_power                        : 1 ;        /*    0    1    */
WORD     Eng_Fuel_Indicator_Power              : 1 ;        /*    0    1    */
WORD     HEEM_Eu_Power                        : 1 ;        /*    0    1    */
WORD     Pw_and_Sys_Relays_Power              : 1 ;        /*    0    1    */                    
WORD     Gru_Power                               : 1 ;        /*    0    1    */
WORD     GPPU_Power                           : 1 ;        /*    0    1    */
WORD  unsed_0_3                                : 4 ;        /*    0    1    */
}BATTERY_BUSBAR ;
typedef struct
{
        WORD                GEN1_Speed ; //     /*    0    0    */     
        WORD                   GEN2_HYD_Pressure ; //     /*    0    0    */     
        WORD                GEN3_Speed ; //     /*    0    0    */     
        WORD                AC_Volt    ; //     /*    0    0    */     
        WORD                Batt_Volt  ; //     /*    0    0    */     
        GCU_GLC_STATUS        GcuGlcStatus ; //     /*    0    0    */   
        GPU_BATT_STATUS        GpuBattStatus ; //     /*    0    0    */   
        BTC_STATUS            BtcStatus ; //     /*    0    0    */   
        GEN_STATUS            GenStatus ;  //     /*    0    0    */   
        TRU_VALUES            TruValues ; //     /*    0    0    */   
        BUSBAR_FAILS        BusBarFails ; //     /*    0    0    */   
        ELEC_SYS_DATA    UnitPowerFailure ; //     /*    0    0    */   
}ELEC_SYSTEM_INPUTS_LOCAL ;
typedef struct
{
    ELEC_INPUTS_FROM_EU            electsys_inp_from_eu ; //     /*    0    0    */     
    ELEC_SYSTEM_INPUTS_LOCAL       elec_loc_sys_input  ; //     /*    0    0    */     
}ELECTRICAL_SYSTEM ;

typedef struct
{
    WORD  unused                              : 10 ;    /*    0    1    */
    WORD  Power_supply_for_sec_ignition       : 1 ;        /*    0    1    */
    WORD  Power_supply_speed_lockup           : 1 ;        /*    0    1    */
    WORD  After_burner_BLOWOUT                : 1 ;        /*    0    1    */
    WORD  Combat_rating_status                : 1 ;        /*    0    1    */
    WORD  EOP_low_ind                         : 1 ;        /*    0    1    */
    WORD  Test_fire_sence                     : 1 ;        /*    0    1    */
}DIS_INP_FROM_BHEEM ;
typedef struct
{
    DIS_INP_FROM_BHEEM   Dis_inputs ;    //     /*    0    0    */
    float Excitation_for_T5C ;    //     /*    0    0    */
    float Mach_no ;    //     /*    0    0    */
    float pressure_altitude ;    //     /*    0    0    */
    float Spare0 ;    //     /*    0    0    */    
    float Spare1 ;    //     /*    0    0    */    
    float Spare2 ;    //     /*    0    0    */    
    float Spare3 ;    //     /*    0    0    */    
    float Spare4 ;    //     /*    0    0    */    
}F2J3_DATA ;
typedef struct
{
    WORD  unused_11_15                      : 5 ;    /*    0    1    */
    WORD  EOP_low_to_CWP                    : 1 ;    /*    0    1    */
    WORD  Engine_Warn_to_CWP                : 1 ;    /*    0    1    */
    WORD  TOR_Lamp_Drive                    : 1 ;    /*    0    1    */
    WORD  Power_supply_for_sec_ignition     : 1 ;    /*    0    1    */
    WORD  Anti_Ice_Inhibit_Drive            : 1 ;    /*    0    1    */
    WORD  Maintanence_Indicator_ON            : 1 ;    /*    0    1    */
    WORD  Bearing_Indicator_ON                : 1 ;    /*    0    1    */
    WORD  Power_supply_for_MCD                : 1 ;    /*    0    1    */
    WORD  Power_supply_for_BCD                : 1 ;    /*    0    1    */
    WORD  Power_supply_for_EOP_Tx            : 1 ;    /*    0    1    */
    WORD  Power_supply_for_PT56_Tx            : 1 ;    /*    0    1    */
}IN20_DIS_FROM_BHEEM ;
typedef union
{
    F2J3_DATA            F2J3_inputs ;    //     /*    0    0    */
    IN20_DIS_FROM_BHEEM   In20_inputs ;    //     /*    0    0    */
}ENG_INP_FROM_EU ;
typedef struct
{
    WORD  unused1 ;    //     /*    0    0    */
    WORD  unused2 ;    //     /*    0    0    */
    WORD  unused3 ;    //     /*    0    0    */
    WORD  unused4 ;    //     /*    0    0    */
}FADEC_DISC_CONTROLS ;
typedef struct
{
    float Excitation_for_T5C ;    //     /*    0    0    */    
    float Spare0 ;    //     /*    0    0    */    
    float Spare1 ;    //     /*    0    0    */    
    float Spare2 ;    //     /*    0    0    */    
    float Spare3 ;    //     /*    0    0    */    
    float Spare4 ;    //     /*    0    0    */    
    float Spare5 ;    //     /*    0    0    */    
    float Spare6 ;    //     /*    0    0    */    
    float Spare7 ;    //     /*    0    0    */    
    float Spare8 ;    //     /*    0    0    */    
    float Spare9 ;    //     /*    0    0    */    
    float Spare10 ;    //     /*    0    0    */    
    float Spare11 ;    //     /*    0    0    */    
    float Spare12 ;    //     /*    0    0    */    
    float Spare13 ;    //     /*    0    0    */    
    float Spare14 ;    //     /*    0    0    */    
    float Spare15 ;    //     /*    0    0    */    
    float Spare16 ;    //     /*    0    0    */    
    float Spare17 ;    //     /*    0    0    */    
    float Spare18 ;    //     /*    0    0    */    
    float Spare19 ;    //     /*    0    0    */    
    FADEC_DISC_CONTROLS fadec_disc_controls ;    //     /*    0    0    */
}ENG_INP_FROM_FADEC ;
typedef struct
{
    WORD Unused_11_16                : 6 ;        /*    0    1    */ 
    WORD Temp_Sensor_Status          : 1 ;        /*    0    1    */ 
    WORD Speed_Sensor1_Status        : 1 ;        /*    0    1    */ 
    WORD Speed_Sensor2_Status        : 1 ;        /*    0    1    */ 
    WORD FVG_TR_SOLV_Status          : 1 ;        /*    0    1    */ 
    WORD FVG_TM_Status               : 1 ;        /*    0    1    */ 
    WORD FVG_Flip_Flop_Status        : 1 ;        /*    0    1    */ 
    WORD FVG_Actuator1_Status        : 1 ;        /*    0    1    */ 
    WORD FVG_Actuator2_Status        : 1 ;        /*    0    1    */ 
    WORD FVG_Actuator3_Status        : 1 ;        /*    0    1    */ 
    WORD FVG_Position_Sensor_Status  : 1 ;        /*    0    1    */ 
}FAN_SENSORS_PMS ;
typedef struct
{
    WORD Unused_10_16                : 7 ;        /*    0    1    */ 
    WORD Temp_Sensor_Status          : 1 ;        /*    0    1    */ 
    WORD Speed_Sensor_Status         : 1 ;        /*    0    1    */ 
    WORD pressure_sensor             : 1 ;        /*    0    1    */ 
    WORD PTO_Shaft_Status            : 1 ;        /*    0    1    */ 
    WORD CVG_Sw_Ckt_Status           : 1 ;        /*    0    1    */ 
    WORD CVG_Actuator1_Status        : 1 ;        /*    0    1    */ 
    WORD CVG_Actuator2_Status        : 1 ;        /*    0    1    */ 
    WORD CVG_Actuator3_Status        : 1 ;        /*    0    1    */ 
    WORD CVG_Position_Sensor_Status  : 1 ;        /*    0    1    */ 
}COMPRESSOR_SENSORS_PMS ;
typedef struct
{
    WORD Unused_3_16               : 14 ;        /*    0    1    */ 
    WORD Primary_Igniter_Status    : 1 ;        /*    0    1    */ 
    WORD Secondary_Igniter_Status  : 1 ;        /*    0    1    */ 
}COMBUSTOR_SENSORS_PMS ;
typedef struct
{
    WORD Unused_9_16                 : 8 ;        /*    0    1    */ 
    WORD AB_Fuel_Flow_Sensor_Status  : 1 ;        /*    0    1    */ 
    WORD AB_Flame_Sensor_Status      : 1 ;        /*    0    1    */ 
    WORD AB_Igniter_Status           : 1 ;        /*    0    1    */ 
    WORD Thermocouple_Probe_Status   : 1 ;        /*    0    1    */ 
    WORD VEN_Actuator1_Status        : 1 ;        /*    0    1    */ 
    WORD VEN_Actuator2_Status        : 1 ;        /*    0    1    */ 
    WORD VEN_Actuator3_Status        : 1 ;        /*    0    1    */ 
    WORD VEN_Position_Sensor_Status  : 1 ;        /*    0    1    */ 
}AFTERBURNER_SENSORS_PMS ;

typedef struct
{
    WORD    Unused_9_16                                          : 7 ;        /*    0    1    */ 
    WORD    AB_Permission_Servo_Valve_Status                     : 1 ;        /*    0    1    */ 
    WORD    AB_Pressure_Switch_Status                            : 1 ;        /*    0    1    */ 
    WORD    Starting_Ignition_Switch_Status                      : 1 ;        /*    0    1    */ 
    WORD     FVG_Switching_Valve_Status                           : 1 ;        /*    0    1    */ 
    WORD    Metering_Valve_Status                                : 1 ;        /*    0    1    */ 
    WORD    MFC_Pla_LVDT_Status                                  : 1 ;        /*    0    1    */ 
    WORD    Primary_Torque_Motor_Status                          : 1 ;        /*    0    1    */ 
    WORD    Backup_Torque_Motor_Status                           : 1 ;        /*    0    1    */ 
    WORD    N2_reset_Backup_Torque_Motor_Transfer_Switch_Status  : 1 ;        /*    0    1    */ 
}MFC_SENSORS_PMS ;
typedef struct
{
    WORD Unused_3_16       : 14 ;        /*    0    1    */ 
    WORD pressuresensor    : 1  ;        /*    0    1    */ 
    WORD igncontrolsw      : 1  ;        /*    0    1    */ 
}DEC_SENSORS_PMS ;
typedef struct
{
    WORD Unused_4_16          : 15 ;        /*    0    1    */ 
    WORD speed_sensor_status  : 1  ;        /*    0    1    */ 
}ALTERNATOR_SENSORS_PMS ;
typedef    struct
{
    WORD Unused_5_16                 : 12;        /*    0    1    */ 
    WORD Primary_Ign_Exciter_Status  : 1 ;        /*    0    1    */ 
    WORD Backup_Ign_Exciter_Status   : 1 ;        /*    0    1    */ 
    WORD Ign_Shut_Off_Relay_Status   : 1 ;        /*    0    1    */ 
    WORD Igniter_Status              : 1 ;        /*    0    1    */ 
}IGNITION_SYSTEM_SENSORS_PMS ;
typedef struct    
{
    WORD Unused_14_16     : 2  ;        /*    0    1    */ 
    WORD AMAGB_Pr_Low    : 1  ;        /*    0    1    */ 
    WORD AMAGB_Temp_High : 1  ;        /*    0    1    */ 
    WORD Idle_Rpm_High   : 1  ;        /*    0    1    */ 
    WORD N2_Over_Speed   : 1  ;        /*    0    1    */ 
    WORD N1_Over_Speed   : 1  ;        /*    0    1    */ 
    WORD Eng_Fire        : 1  ;        /*    0    1    */ 
    WORD NO_AGI          : 1  ;        /*    0    1    */ 
    WORD AB_out          : 1  ;        /*    0    1    */ 
    WORD Eng_Vib_high    : 1  ;        /*    0    1    */ 
    WORD Sec_Ign_On      : 1  ;        /*    0    1    */ 
    WORD TGT_High        : 1  ;        /*    0    1    */ 
    WORD EOP_Low         : 1  ;        /*    0    1    */ 
    WORD EOP_High         : 1  ;        /*    0    1    */ 
    WORD Eng_Flame         : 1  ;        /*    0    1    */ 
}FAILURE_BITS1 ;
typedef struct    
{
    WORD Unused_5_16        : 11 ;        /*    0    1    */ 
    WORD Jfs_Fail            : 1  ;        /*    0    1    */ 
    WORD Slow_Start            : 1  ;        /*    0    1    */ 
    WORD Hot_Start            : 1  ;        /*    0    1    */ 
    WORD Hung_Start            : 1  ;        /*    0    1    */ 
    WORD jfs_crank            : 1  ;        /*    0    1    */ 
}FAILURE_BITS2 ;

typedef struct    
{
    FAN_SENSORS_PMS                        fan_sensors ; //     /*    0    0    */ 
    COMPRESSOR_SENSORS_PMS                compressor_sensors ; //     /*    0    0    */ 
    COMBUSTOR_SENSORS_PMS                combustor_sensors ; //     /*    0    0    */ 
    AFTERBURNER_SENSORS_PMS               afterburner_sensors ; //     /*    0    0    */ 
    MFC_SENSORS_PMS                        mfc_sensors ; //     /*    0    0    */ 
    DEC_SENSORS_PMS                       dec_sensors ; //     /*    0    0    */ 
    ALTERNATOR_SENSORS_PMS               alternator_sensors ; //     /*    0    0    */ 
    IGNITION_SYSTEM_SENSORS_PMS        ign_system_sensors ; //     /*    0    0    */ 
    FAILURE_BITS1                          failures1 ; //     /*    0    0    */ 
    FAILURE_BITS2                          failures2 ; //     /*    0    0    */ 
}ENGINE_SYSTEM_INPUTS_LOCAL ;

typedef struct
{
  ENG_INP_FROM_EU                enginesys_inp_from_eu ;    //     /*    0    0    */
  ENG_INP_FROM_FADEC            enginesys_inp_from_fadec ;    //     /*    0    0    */
  ENGINE_SYSTEM_INPUTS_LOCAL    engine_loc_sys_input  ;    //     /*    0    0    */
}ENGINE_SYSTEM ;
typedef struct
{
    WORD        Unused1               : 11 ;        /*    0    1    */ 
    WORD        Brake_stdby_sov       : 1 ;         /*    0    1    */ 
    WORD        Brake_normal_sov      : 1 ;         /*    0    1    */ 
    WORD        UC_not_selected_down  : 1 ;         /*    0    1    */ 
    WORD        UC_not_selected_up    : 1 ;         /*    0    1    */ 
    WORD        NWS_SOV_ctrl          : 1 ;         /*    0    1    */ 
}DISCRETE_INPUTS ;
typedef struct 
{
  DISCRETE_INPUTS inputs ;    //     /*    0    0    */ 
  float           Normal_Lbrake_ser_val ;     //     /*    0    0    */ 
  float           Stdby_Lbrake_ser_val ;      //     /*    0    0    */ 
  float           Normal_Rbrake_ser_val ;     //     /*    0    0    */ 
  float           Stdby_Rbrake_ser_val ;      //     /*    0    0    */ 
  float           Normal_NWS_ser_val ;        //     /*    0    0    */ 
  float           Normal_LH_brake_pd_exc ;      //     /*    0    0    */ 
  float           Stdby_LH_brake_pd_exc ;       //     /*    0    0    */ 
  float           Normal_RH_brake_pd_exc ;      //     /*    0    0    */ 
  float           Stdby_RH_brake_pd_exc ;       //     /*    0    0    */ 
  float           Normal_NWS_pedal_demand_exc ;    //     /*    0    0    */ 
  float           Stdby_NWS_pedal_demand_exc ;     //     /*    0    0    */ 
  float           Normal_steering_col_pos_exc ;    //     /*    0    0    */ 
  float           Stdby_steering_col_pos_exc ; //     /*    0    0    */ 
}HYD_INPUTS_FROM_EU ;

typedef struct
{
    WORD    pump_1_fail                                   : 1 ;        /*    0    1    */
    WORD    pump_2_fail                                   : 1 ;        /*    0    1    */
    WORD    pump_3_fail                                   : 1 ;        /*    0    1    */
    WORD    normal_wheel_brake_press_switch_fail          : 1 ;        /*    0    1    */
    WORD    standby_wheel_brake_press_switch_fail         : 1 ;        /*    0    1    */
    WORD    brake_control_normal_mode_status              : 1 ;        /*    0    1    */
    WORD    brake_control_auto_mode_status                : 1 ;        /*    0    1    */
    WORD    brake_control_stdby_mode_status               : 1 ;        /*    0    1    */
    WORD    parking_brake_release_status                  : 1 ;        /*    0    1    */
    WORD    LH_weight_on_wheel_status                     : 1 ;        /*    0    1    */
    WORD    RH_weight_on_wheel_status                     : 1 ;        /*    0    1    */
    WORD    Nose_weight_on_wheel_status                   : 1 ;        /*    0    1    */
    WORD    sys_1_reservoir_low                           : 1 ;        /*    0    1    */
    WORD    sys_2_reservoir_low                           : 1 ;        /*    0    1    */
    WORD    normal_wheel_brake_trans_fail                 : 1 ;        /*    0    1    */
    WORD    standby_wheel_brake_trans_fail                : 1 ;        /*    0    1    */
}HYD_SYS_STATUS_WORD1 ;


typedef struct
{
    WORD       UC_lever_down_sel_sw_fail         : 1 ;        /*    0    1    */
    WORD       UC_lever_up_sel_sw_fail           : 1 ;        /*    0    1    */
    WORD       Nose_door_uplocked_fail           : 1 ;        /*    0    1    */
    WORD       Nose_door_open_fail               : 1 ;        /*    0    1    */
    WORD       Nose_UC_up_locked_fail            : 1 ;        /*    0    1    */
    WORD       Nose_UC_down_locked_fail          : 1 ;        /*    0    1    */
    WORD       RH_door_uplocked_fail             : 1 ;        /*    0    1    */
    WORD       RH_door_open_lim_fail             : 1 ;        /*    0    1    */
    WORD       LH_door_uplocked_fail             : 1 ;        /*    0    1    */
    WORD       LH_door_open_lim_fail             : 1 ;        /*    0    1    */
    WORD       RH_UC_up_locked_fail              : 1 ;        /*    0    1    */
    WORD       RH_UC_down_locked_fail            : 1 ;        /*    0    1    */
    WORD       LH_UC_up_locked_fail              : 1 ;        /*    0    1    */
    WORD       LH_UC_down_locked_fail            : 1 ;        /*    0    1    */
    WORD       NWS_sel_state_change_status       : 1 ;        /*    0    1    */
    WORD       Parking_brake_pressure_on_status  : 1 ;        /*    0    1    */
}HYD_SYS_STATUS_WORD2 ;

typedef struct
{
WORD          sys_1_fcs_pressure_low                      : 1 ;        /*    0    1    */
WORD          sys_2_fcs_pressure_low                      : 1 ;        /*    0    1    */
WORD          sys_1_utility_pressure_low                  : 1 ;        /*    0    1    */
WORD          sys_2_utility_pressure_low                  : 1 ;        /*    0    1    */
WORD          sys_1_fcs_pres_trans_fail                   : 1 ;        /*    0    1    */
WORD          sys_2_fcs_pres_trans_fail                   : 1 ;        /*    0    1    */
WORD          sys_1_utility_pres_trans_fail               : 1 ;        /*    0    1    */
WORD          sys_2_utility_pres_trans_fail               : 1 ;        /*    0    1    */
WORD          sys_1_line_leakage                          : 1 ;        /*    0    1    */
WORD          sys_2_line_leakage                          : 1 ;        /*    0    1    */
WORD          sys_1_utility_line_leakage                  : 1 ;        /*    0    1    */
WORD          sys_2_utility_line_leakage                  : 1 ;        /*    0    1    */
WORD          NWS_sov_fail                                : 1 ;        /*    0    1    */
WORD          unused_1_3                                     : 3 ;        /*    0    1    */
}HYD_SYS_STATUS_WORD3 ;


typedef struct
{
float   eng_rpm ;     //     /*    0    10000    */
float   amagb_rpm ;   //     /*    0    10000    */
}RPM ;

typedef struct
{
float    sys_1_reservoir ;   //     /*    0    9.5    */
float    sys_2_reservoir ;   //     /*    0    9.5    */
}FLUID ;

typedef struct
{
float  pump_1 ;           //     /*    0    280    */
float  pump_2 ;           //     /*    0    280    */
float  pump_3 ;           //     /*    0    280    */
float  System_1 ;          //     /*    0    280    */
float  System_2 ;          //     /*    0    280    */
float  Fcs1_pressure ;           //     /*    0    280    */
float  Fcs2_pressure ;           //     /*    0    280    */
float  Utl1_pressure ;           //     /*    0    280    */
float  Utl2_pressure ;           //     /*    0    280    */
}SYS_PRESSURE ;




typedef struct
{
float       normal_lbrk_servo_value ;   //     /*    0    50    */
float       normal_rbrk_servo_value ;  //     /*    0    50    */ 
float       stdby_lbrk_servo_value ;    //     /*    0    50    */
float       stdby_rbrk_servo_value ; //     /*    0    50    */
}SERVO_VALUE ;

typedef struct
{
float  Bms_Accum_2 ;  //     /*    0    280    */
}ACCUMLATOR_PRESSURE ;

typedef struct
{
RPM                    rpm ;    //     /*    0    0    */
FLUID                  fluid ;    //     /*    0    0    */
SYS_PRESSURE           pressure ;    //     /*    0    0    */
SERVO_VALUE            servo ;    //     /*    0    0    */
ACCUMLATOR_PRESSURE    Acc_Pressure ;    //     /*    0    0    */
HYD_SYS_STATUS_WORD1   word_1 ;    //     /*    0    0    */
HYD_SYS_STATUS_WORD2   word_2 ;    //     /*    0    0    */
HYD_SYS_STATUS_WORD3   word_3 ;    //     /*    0    0    */
}HYD_SYSTEM_INPUTS_LOCAL ;

typedef struct
{
 HYD_INPUTS_FROM_EU         hydsys_inp_from_eu ; //     /*    0    0    */ 
 HYD_SYSTEM_INPUTS_LOCAL    hyd_loc_sys_input ; //     /*    0    0    */ 
}HYDRAULIC_SYSTEM ;

typedef struct
{
    WORD    FireExtinguisherSw    : 1 ;        /*    0    1    */    
    WORD    JfsStartSw        : 1 ;        /*    0    1    */    
    WORD    CwpAckSw        : 1 ;        /*    0    1    */    
    WORD    CwpTestSwTest        : 1 ;        /*    0    1    */    
    WORD    CwpTestSwMute        : 1 ;        /*    0    1    */    
    WORD    ParkingBrakeSw        : 1 ;        /*    0    1    */    
    WORD    LaserArmSwOn            : 1 ;        /*    0    1    */    
    WORD    LaserArmSwLaserArm    : 1 ;        /*    0    1    */    
    WORD    InitSw            : 1 ;        /*    0    1    */    
    WORD    PrepSw            : 1 ;        /*    0    1    */    
    WORD    IncrSw            : 1 ;        /*    0    1    */    
    WORD    DecrSw            : 1 ;        /*    0    1    */    
    WORD    PowerOnSw        : 1 ;        /*    0    1    */    
    WORD    AbortSw            : 1 ;        /*    0    1    */    
    WORD    AlertSwOn        : 1 ;        /*    0    1    */    
    WORD    PitotHeaterSwOn        : 1 ;        /*    0    1    */    
    WORD    VdrSwOn            : 1 ;        /*    0    1    */    
    WORD    FireTestSwOn        : 1 ;        /*    0    1    */    
    WORD    NormalMaWORDSwMaWORD    : 1 ;        /*    0    1    */    
    WORD    LampTestSw        : 1 ;        /*    0    1    */    
    WORD    Alt1SwOn        : 1 ;        /*    0    1    */    
    WORD    Alt2SwOn        : 1 ;        /*    0    1    */    
    WORD    GenSwOn            : 1 ;        /*    0    1    */    
    WORD    BatterySwOn        : 1 ;        /*    0    1    */    
    WORD    Tru1SwOn        : 1 ;        /*    0    1    */    
    WORD    Tru2SwOn        : 1 ;        /*    0    1    */    
    WORD    Unused1            : 1 ;        /*    0    1    */    
    WORD    Unused2            : 1 ;        /*    0    1    */    
    WORD    Unused3            : 1 ;        /*    0    1    */    
    WORD    Unused4            : 1 ;        /*    0    1    */    
    WORD    Unused5            : 1 ;        /*    0    1    */    
    WORD    Unused6            : 1 ;        /*    0    1    */    
}DI_RHMIP_RHQP_FTP_RHSIDE_GCP_VUHF ;
typedef struct
{
    WORD    AcBoosterSwOn            : 1 ;        /*    0    1    */    
    WORD    HdpSwOn                : 1 ;        /*    0    1    */    
    WORD    HdpSwOff            : 1 ;        /*    0    1    */    
    WORD    LpCockSwOn            : 1 ;        /*    0    1    */    
    WORD    JfsMasterSwOn            : 1 ;        /*    0    1    */    
    WORD    JfsMasterSwCrank        : 1 ;        /*    0    1    */    
    WORD    MfcBuDecDisSwBu            : 1 ;        /*    0    1    */    
    WORD    MfcDecDisSwDis            : 1 ;        /*    0    1    */    
    WORD    DecResetSw            : 1 ;        /*    0    1    */    
    WORD    AntiIceSw            : 1 ;        /*    0    1    */    
    WORD    TrendOnSw            : 1 ;        /*    0    1    */    
    WORD    CabWORDempHotColdSwOn        : 1 ;        /*    0    1    */    
    WORD    CabWORDempManAutoSwOn        : 1 ;        /*    0    1    */    
    WORD    RamAirSw            : 1 ;        /*    0    1    */    
    WORD    DemistSw            : 1 ;        /*    0    1    */    
    WORD    BleedAirAutoSw            : 1 ;        /*    0    1    */    
    WORD    EcsResetSwOn            : 1 ;        /*    0    1    */    
    WORD    CabinAirSw            : 1 ;        /*    0    1    */    
    WORD    Unused7                : 1 ;        /*    0    1    */    
    WORD    Unused8                : 1 ;        /*    0    1    */    
    WORD    Unused9                : 1 ;        /*    0    1    */    
    WORD    Unused10            : 1 ;        /*    0    1    */    
    WORD    Unused11            : 1 ;        /*    0    1    */    
    WORD    Unused12            : 1 ;        /*    0    1    */    
    WORD    Unused13            : 1 ;        /*    0    1    */    
    WORD    Unused14            : 1 ;        /*    0    1    */    
    WORD    Unused15            : 1 ;        /*    0    1    */    
    WORD    Unused16            : 1 ;        /*    0    1    */    
    WORD    Unused17            : 1 ;        /*    0    1    */    
    WORD    Unused18            : 1 ;        /*    0    1    */    
    WORD    Unused19            : 1 ;        /*    0    1    */    
    WORD    Unused20            : 1 ;        /*    0    1    */    
}DI_EFCP_ECS_AMU ;
typedef struct
{
    WORD    MasterArmSwOn            : 1 ;        /*    0    1    */    
    WORD    MasterArmSwSim            : 1 ;        /*    0    1    */    
    WORD    WingClear            : 1 ;        /*    0    1    */    
    WORD    Jettison            : 1 ;        /*    0    1    */    
    WORD    AltHoldSw            : 1 ;        /*    0    1    */    
    WORD    AttHoldSw            : 1 ;        /*    0    1    */    
    WORD    AltSelHoldSw            : 1 ;        /*    0    1    */    
    WORD    AutoTrimSw            : 1 ;        /*    0    1    */    
    WORD    Sp3Sw                : 1 ;        /*    0    1    */    
    WORD    UndercarriageLeverSwUp        : 1 ;        /*    0    1    */    
    WORD    UndercarriageEmergSwUp        : 1 ;        /*    0    1    */        
    WORD    VruReset            : 1 ;        /*    0    1    */    
    WORD    FcsReset            : 1 ;        /*    0    1    */    
    WORD    ConfigSwA2A            : 1 ;        /*    0    1    */    
    WORD    ConfigSwStores            : 1 ;        /*    0    1    */    
    WORD    SlatsSwExt            : 1 ;        /*    0    1    */    
    WORD    SlatsSwRetract            : 1 ;        /*    0    1    */    
    WORD    SecIgnOn            : 1 ;        /*    0    1    */    
    WORD    SecIgnOff            : 1 ;        /*    0    1    */    
    WORD    CombatRatingSwOn        : 1 ;        /*    0    1    */    
    WORD    AntiskidStby            : 1 ;        /*    0    1    */        
    WORD    EmdpSwOn            : 1 ;        /*    0    1    */    
    WORD    EmdpSwOff            : 1 ;        /*    0    1    */    
    WORD    SpeedLockEng            : 1 ;        /*    0    1    */    
    WORD    WowOverrideSwOn            : 1 ;        /*    0    1    */    
    WORD    A2ARefuelingSw            : 1 ;        /*    0    1    */    
    WORD    FormLtSwBright            : 1 ;        /*    0    1    */    
    WORD    FormLtSwDim            : 1 ;        /*    0    1    */    
    WORD    NavLtSwBright            : 1 ;        /*    0    1    */    
    WORD    NavLtSwDim            : 1 ;        /*    0    1    */    
    WORD    AntiCollisionSw            : 1 ;        /*    0    1    */    
    WORD    TaxiLandSwLand            : 1 ;        /*    0    1    */    
}DI_LHMIP_LHQP_LHFWD_AHCP ;
typedef struct
{
    WORD    TaxiLandSwTaxi            : 1 ;        /*    0    1    */    
    WORD    DitcLmfdSw            : 1 ;        /*    0    1    */    
    WORD    DitcCmfdSw            : 1 ;        /*    0    1    */    
    WORD    DitcRmfdSw            : 1 ;        /*    0    1    */    
    WORD    DitcResetSw            : 1 ;        /*    0    1    */    
    WORD    Ahcp1_Up            : 1 ;        /*    0    1    */    
    WORD    Ahcp1_Down            : 1 ;        /*    0    1    */    
    WORD    Ahcp1_Lt            : 1 ;        /*    0    1    */    
    WORD    Ahcp1_Rt            : 1 ;        /*    0    1    */    
    WORD    Ahcp1_In        : 1 ;        /*    0    1    */    
    WORD    Ahcp2_Lt        : 1 ;        /*    0    1    */    
    WORD    Ahcp2_Rt            : 1 ;        /*    0    1    */    
    WORD    Ahcp3_Up            : 1 ;        /*    0    1    */    
    WORD    Ahcp3_Down        : 1 ;        /*    0    1    */    
    WORD    Ahcp3_Lt            : 1 ;        /*    0    1    */    
    WORD    Ahcp3_Rt            : 1 ;        /*    0    1    */    
    WORD    Ahcp3_In            : 1 ;        /*    0    1    */    
    WORD    PbitSw                : 1 ;        /*    0    1    */    
    WORD    PlbitSw                : 1 ;        /*    0    1    */    
    WORD    FcsGainNormal            : 1 ;        /*    0    1    */    
    WORD    YawTrimSwLeft            : 1 ;        /*    0    1    */    
    WORD    YawTrimSwRight            : 1 ;        /*    0    1    */    
    WORD    TrmChgOverEmgNorm        : 1 ;        /*    0    1    */    
    WORD    PitchTrimEmgSwUp        : 1 ;        /*    0    1    */    
    WORD    PitchTrimEmgSwDown        : 1 ;        /*    0    1    */    
    WORD    RollTrimEmgSwLeft        : 1 ;        /*    0    1    */        
    WORD    RollTrimEmgSwRight        : 1 ;        /*    0    1    */    
    WORD    FuelTransferSw            : 1 ;        /*    0    1    */    
    WORD    RudderAuthoritySw        : 1 ;        /*    0    1    */    
    WORD    LaserArmSwOn                : 1 ;        /*    0    1    */    
    WORD    LaserArmSwArmlaser            : 1 ;        /*    0    1    */    
    WORD    Unused1                : 1 ;        /*    0    1    */    
}DI_AHCP_RCP_FCP_LHAFT ;

typedef struct
{
    WORD    T1SwUp                    : 1 ;        /*    0    1    */    
    WORD    T1SwDown                : 1 ;        /*    0    1    */    
    WORD    T2SwUp                    : 1 ;        /*    0    1    */        
    WORD    T2SwDown                : 1 ;        /*    0    1    */    
    WORD    T3Sw                    : 1 ;        /*    0    1    */    
    WORD    T4Sw                    : 1 ;        /*    0    1    */    
    WORD    T5SwRight                : 1 ;        /*    0    1    */    
    WORD    T5SwLeft                : 1 ;        /*    0    1    */    
    WORD    T6Sw                    : 1 ;        /*    0    1    */    
    WORD    T7Sw                    : 1 ;        /*    0    1    */    
    WORD    T8Sw                    : 1 ;        /*    0    1    */    
    WORD    T9Sw                    : 1 ;        /*    0    1    */    
    WORD    T10Sw                    : 1 ;        /*    0    1    */    
    WORD    T11Sw                    : 1 ;        /*    0    1    */    
    WORD    PilotGrip1Sw                : 1 ;        /*    0    1    */    
    WORD    PilotGrip2Sw                : 1 ;        /*    0    1    */    
    WORD    PilotGrip3Sw                : 1 ;        /*    0    1    */    
    WORD    PilotGrip4SwLeft            : 1 ;        /*    0    1    */    
    WORD    PilotGrip4SwUp                : 1 ;        /*    0    1    */    
    WORD    PilotGrip4SwRight            : 1 ;        /*    0    1    */    
    WORD    PilotGrip4SwDown            : 1 ;        /*    0    1    */    
    WORD    PilotGrip4SwIn                : 1 ;        /*    0    1    */    
    WORD    PilotGrip5Sw                : 1 ;        /*    0    1    */    
    WORD    PilotGrip6SwLeft            : 1 ;        /*    0    1    */    
    WORD    PilotGrip6SwUp                : 1 ;        /*    0    1    */    
    WORD    PilotGrip6SwRight            : 1 ;        /*    0    1    */    
    WORD    PilotGrip6SwDown            : 1 ;        /*    0    1    */    
    WORD    PilotGrip7Sw                : 1 ;        /*    0    1    */    
    WORD    PilotGrip8SwIn                : 1 ;        /*    0    1    */    
    WORD    PilotGrip8SwFwd                : 1 ;        /*    0    1    */    
    WORD    PilotGrip8SwBwd                : 1 ;        /*    0    1    */    
    WORD    PilotGrip9SwLeft            : 1 ;        /*    0    1    */    
}DI_THROTTLEGRIP_PILOTGRIP ;

typedef struct
{
    WORD    Unused1        : 1 ;        /*    0    1    */    
    WORD    Unused2        : 1 ;        /*    0    1    */    
    WORD    Unused3        : 1 ;        /*    0    1    */    
    WORD    Unused4        : 1 ;        /*    0    1    */    
    WORD    Unused5        : 1 ;        /*    0    1    */    
    WORD    Unused6        : 1 ;        /*    0    1    */    
    WORD    Unused7        : 1 ;        /*    0    1    */    
    WORD    Unused8        : 1 ;        /*    0    1    */    
    WORD    Unused9        : 1 ;        /*    0    1    */    
    WORD    Unused10    : 1 ;        /*    0    1    */    
    WORD    Unused11    : 1 ;        /*    0    1    */    
    WORD    Unused12    : 1 ;        /*    0    1    */    
    WORD    Unused13    : 1 ;        /*    0    1    */    
    WORD    Unused14    : 1 ;        /*    0    1    */    
    WORD    Unused15    : 1 ;        /*    0    1    */    
    WORD    Unused16    : 1 ;        /*    0    1    */    
    WORD    Ahcp4_Up    : 1 ;        /*    0    1    */    
    WORD    Ahcp4_Down    : 1 ;        /*    0    1    */    
    WORD    Ahcp4_Lt    : 1 ;        /*    0    1    */    
    WORD    Ahcp4_Rt    : 1 ;        /*    0    1    */    
    WORD    Ahcp4_In    : 1 ;        /*    0    1    */    
    WORD    Unused22    : 1 ;        /*    0    1    */    
    WORD    Unused23    : 1 ;        /*    0    1    */    
    WORD    Unused24    : 1 ;        /*    0    1    */    
    WORD    Unused25    : 1 ;        /*    0    1    */    
    WORD    Unused26    : 1 ;        /*    0    1    */    
    WORD    Unused27    : 1 ;        /*    0    1    */    
    WORD    Unused28    : 1 ;        /*    0    1    */    
    WORD    Unused29    : 1 ;        /*    0    1    */    
    WORD    Unused30    : 1 ;        /*    0    1    */    
    WORD    Unused31    : 1 ;        /*    0    1    */    
    WORD    Unused32    : 1 ;        /*    0    1    */    
}DI_SPARES ;
typedef struct
{
      
        DI_RHMIP_RHQP_FTP_RHSIDE_GCP_VUHF    Di1WORD1 ;    //    /*    0    0    */    
        DI_EFCP_ECS_AMU                Di1WORD2 ;    //    /*    0    0    */    
        DI_LHMIP_LHQP_LHFWD_AHCP        Di2WORD1 ;    //    /*    0    0    */    
        DI_AHCP_RCP_FCP_LHAFT            Di2WORD2 ;    //    /*    0    0    */    
        DI_THROTTLEGRIP_PILOTGRIP        Di3WORD1 ;    //    /*    0    0    */    
        DI_SPARES                Di3WORD2 ;    //    /*    0    0    */    
}DIGITAL_INPUT ;
typedef struct
{
    float  JoyStickXCh1 ;        /*    0    0    */    
    float  JoyStickYCh1 ;        /*    0    0    */    
    float  RudderPedalCh1 ;        /*    0    0    */    
    float  unused1 ;        /*    0    0    */    
    float  unused2 ;        /*    0    0    */    
    float  unused3 ;        /*    0    0    */    
    float  unused4 ;        /*    0    0    */    
    float  unused5 ;        /*    0    0    */    
    float  unused6 ;        /*    0    0    */    
    float  BrakePedalLeft ;        /*    0    0    */    
    float  ThrottleLever ;        /*    0    0    */    
    float  CursorX ;        /*    0    0    */    
    float  CursorY ;         /*    0    0    */    
    float  BrakePedalRight ;    /*    0    0    */    
    float  NWSCh1 ;            /*    0    0    */    
    float  NWSCh2 ;            /*    0    0    */    
    float  ECS ;            /*    0    0    */    
    float  unused15 ;        /*    0    0    */    
    float  unused16 ;        /*    0    0    */    
    float  unused17 ;        /*    0    0    */    
    float  unused18 ;        /*    0    0    */    
    float  unused19 ;        /*    0    0    */    
    float  unused20 ;        /*    0    0    */    
    float  unused21 ;        /*    0    0    */    
    float  unused22 ;        /*    0    0    */    
    float  unused23 ;        /*    0    0    */    
    float  unused24 ;        /*    0    0    */    
    float  unused25 ;        /*    0    0    */    
    float  unused26 ;        /*    0    0    */    
}ANALOG_INPUT ;
typedef struct
{
    WORD        EmdpInd            : 1 ;        /*    0    1    */    
    WORD        SecIgnInd        : 1 ;        /*    0    1    */
    WORD        CnpyInd            : 1 ;        /*    0    1    */
    WORD        FireInd            : 1 ;        /*    0    1    */
    WORD        OxygenBlinkerInd    : 1 ;        /*    0    1    */
    WORD        JFSReadyInd        : 1 ;        /*    0    1    */
    WORD        JFSStartInd        : 1 ;        /*    0    1    */
    WORD        JfsOilLowInd        : 1 ;        /*    0    1    */
    WORD        JptHighInd        : 1 ;        /*    0    1    */
    WORD        AbInd            : 1 ;        /*    0    1    */
    WORD        CrInd            : 1 ;        /*    0    1    */
    WORD        AlertSolonoidInd    : 1 ;        /*    0    1    */
    WORD        PitotReadyInd        : 1 ;        /*    0    1    */
    WORD        PitotOnInd        : 1 ;        /*    0    1    */
    WORD        VdrReadyInd        : 1 ;        /*    0    1    */
    WORD        VdrOnInd        : 1 ;        /*    0    1    */
    WORD        FireTestInd        : 1 ;        /*    0    1    */
    WORD        LampTestInd        : 1 ;        /*    0    1    */
    WORD        Alt1ReadyInd        : 1 ;        /*    0    1    */
    WORD        Alt1OnInd        : 1 ;        /*    0    1    */
    WORD        Alt2ReadyInd        : 1 ;        /*    0    1    */
    WORD        Alt2OnInd        : 1 ;        /*    0    1    */
    WORD        GenReadyInd        : 1 ;        /*    0    1    */
    WORD        GenOnInd        : 1 ;        /*    0    1    */
    WORD        Tru1ReadyInd        : 1 ;        /*    0    1    */
    WORD        Tru1OnInd        : 1 ;        /*    0    1    */
    WORD        Tru2ReadyInd        : 1 ;        /*    0    1    */
    WORD        Tru2OnInd        : 1 ;        /*    0    1    */
    WORD        Bp1ReadyInd        : 1 ;        /*    0    1    */
    WORD        Bp1OnInd        : 1 ;        /*    0    1    */
    WORD        DecResetInd        : 1 ;        /*    0    1    */
    WORD        TrendOnInd        : 1 ;        /*    0    1    */
}DO_RHMIP_RHSIDE_GCP_EFCP ;
typedef struct
{
    WORD    EngOilPrLowInd            : 1 ;        /*    0    1    */    
    WORD    FuelLowLevelInd            : 1 ;        /*    0    1    */    
    WORD    FuelLowPressureInd        : 1 ;        /*    0    1    */    
    WORD    DecuInd                : 1 ;        /*    0    1    */    
    WORD    HydEmergencyInd            : 1 ;        /*    0    1    */    
    WORD    OxyFiveMinInd            : 1 ;        /*    0    1    */    
    WORD    ElecEmergencyInd        : 1 ;        /*    0    1    */    
    WORD    BatDisconnectInd        : 1 ;        /*    0    1    */    
    WORD    FccGainFailInd            : 1 ;        /*    0    1    */    
    WORD    T6WarnAckRtnInd            : 1 ;        /*    0    1    */    
    WORD    FcsPitotInd            : 1 ;        /*    0    1    */    
    WORD    FcsHotRtnInd            : 1 ;        /*    0    1    */    
    WORD    YellowWarnRtnInd        : 1 ;        /*    0    1    */    
    WORD    FccWarnRtnInd            : 1 ;        /*    0    1    */    
    WORD    FccCautRtnInd            : 1 ;        /*    0    1    */    
    WORD    RedWarnRtnInd            : 1 ;        /*    0    1    */    
    WORD    FlasherWarnInd            : 1 ;        /*    0    1    */    
    WORD    Sp1RtnInd            : 1 ;        /*    0    1    */    
    WORD    Unused1                : 1 ;        /*    0    1    */    
    WORD    Unused2                : 1 ;        /*    0    1    */    
    WORD    PowerOnInd            : 1 ;        /*    0    1    */    
    WORD    AbortInd            : 1 ;        /*    0    1    */    
    WORD    ReadyInd            : 1 ;        /*    0    1    */    
    WORD    Unused3                : 1 ;        /*    0    1    */    
    WORD    Unused4                : 1 ;        /*    0    1    */    
    WORD    Unused5                : 1 ;        /*    0    1    */    
    WORD    Unused6                : 1 ;        /*    0    1    */    
    WORD    Unused7                : 1 ;        /*    0    1    */    
    WORD    Unused8                : 1 ;        /*    0    1    */    
    WORD    Unused9                : 1 ;        /*    0    1    */    
    WORD    Unused10            : 1 ;        /*    0    1    */    
    WORD    Unused11            : 1 ;        /*    0    1    */    
}DO_CWS_FTP ;

typedef struct
{

    WORD    AltHoldInd        : 1 ;        /*    0    1    */    
    WORD    AttHoldInd        : 1 ;        /*    0    1    */    
    WORD    AltSelHoldInd        : 1 ;        /*    0    1    */    
    WORD    HotInd            : 1 ;        /*    0    1    */    
    WORD    FailInd            : 1 ;        /*    0    1    */    
    WORD    AutoTrimInd        : 1 ;        /*    0    1    */    
    WORD    Sp3Ind            : 1 ;        /*    0    1    */    
    WORD    Unused1            : 1 ;        /*    0    1    */    
    WORD    AskidInd        : 1 ;        /*    0    1    */    
    WORD    BrakeInd        : 1 ;        /*    0    1    */    
    WORD    BrkInd            : 1 ;        /*    0    1    */    
    WORD    AirInd            : 1 ;        /*    0    1    */    
    WORD    ChuteInd        : 1 ;        /*    0    1    */    
    WORD    NwsInd            : 1 ;        /*    0    1    */    
    WORD    BrakeFailInd        : 1 ;        /*    0    1    */    
    WORD    AskidTestInd        : 1 ;        /*    0    1    */    
    WORD    RightUcLowInd            : 1 ;        /*    0    1    */    
    WORD    NoseUcLowInd            : 1 ;        /*    0    1    */    
    WORD    LeftUcLowInd            : 1 ;        /*    0    1    */    
    WORD    MicrodoorOpen        : 1 ;        /*    0    1    */    
    WORD    VruResetInd        : 1 ;        /*    0    1    */    
    WORD    FcsResetInd        : 1 ;        /*    0    1    */    
    WORD    PbitGoInd        : 1 ;        /*    0    1    */    
    WORD    PlbitNogoInd        : 1 ;        /*    0    1    */    
    WORD    Unused2            : 1 ;        /*    0    1    */    
    WORD    Unused3            : 1 ;        /*    0    1    */    
    WORD    Unused4            : 1 ;        /*    0    1    */    
    WORD    Unused5            : 1 ;        /*    0    1    */    
    WORD    Unused6            : 1 ;        /*    0    1    */    
    WORD    Unused7            : 1 ;        /*    0    1    */    
    WORD    Unused8            : 1 ;        /*    0    1    */    
    WORD    Unused9            : 1 ;        /*    0    1    */    
}DO_LHMIP_LHQP_LHFWD_FCP ;

typedef struct
{
    
    WORD    LmfdOn        : 1 ;        /*    0    1    */    
    WORD    RmfdOn        : 1 ;        /*    0    1    */    
    WORD    CmfdOn        : 1 ;        /*    0    1    */    
    WORD    HudOn        : 1 ;        /*    0    1    */    
    WORD    Ufcp        : 1 ;        /*    0    1    */    
    WORD    SsduGuh        : 1 ;        /*    0    1    */    
    WORD    SsduEfi        : 1 ;        /*    0    1    */    
    WORD    Fsp        : 1 ;        /*    0    1    */    
    WORD    Ssp        : 1 ;        /*    0    1    */    
    WORD    Cwp        : 1 ;        /*    0    1    */    
    WORD    Oac1        : 1 ;        /*    0    1    */    
    WORD    Oac2        : 1 ;        /*    0    1    */    
    WORD    Light        : 1 ;        /*    0    1    */    
    WORD    Io        : 1 ;        /*    0    1    */    
    WORD    Hmd        : 1 ;        /*    0    1    */    
    WORD    Sp1        : 1 ;        /*    0    1    */    
    WORD    Amu1        : 1 ;        /*    0    1    */    
    WORD    Amu2        : 1 ;        /*    0    1    */    
    WORD    Vdr        : 1 ;        /*    0    1    */    
    WORD    Sp5        : 1 ;        /*    0    1    */    
    WORD    Unused10    : 1 ;        /*    0    1    */    
    WORD    Unused11    : 1 ;        /*    0    1    */    
    WORD    Unused12    : 1 ;        /*    0    1    */    
    WORD    Unused13    : 1 ;        /*    0    1    */    
    WORD    Unused14    : 1 ;        /*    0    1    */    
    WORD    Unused15    : 1 ;        /*    0    1    */    
    WORD    Unused16    : 1 ;        /*    0    1    */    
    WORD    Unused17    : 1 ;        /*    0    1    */    
    WORD    Unused18    : 1 ;        /*    0    1    */    
    WORD    Unused19    : 1 ;        /*    0    1    */    
    WORD    Unused20    : 1 ;        /*    0    1    */    
    WORD    Unused21    : 1 ;        /*    0    1    */    
}DO_LRUPOWER ;
typedef struct
{
    DO_RHMIP_RHSIDE_GCP_EFCP    Do1WORD1 ;    //    /*    0    0    */    
    DO_RHMIP_RHSIDE_GCP_EFCP    ptr1 ;    //    /*    0    0    */    
    DO_CWS_FTP            Do1WORD2 ;    //    /*    0    0    */    
    DO_CWS_FTP            ptr2 ;    //    /*    0    0    */    
    DO_LHMIP_LHQP_LHFWD_FCP        Do2WORD1 ;    //    /*    0    0    */    
    DO_LHMIP_LHQP_LHFWD_FCP        ptr3 ;    //    /*    0    0    */    
    DO_LRUPOWER            Do2WORD2 ;    //    /*    0    0    */    
    DO_LRUPOWER            ptr4 ;    //    /*    0    0    */    
}DIGITAL_OUTPUT ;
typedef struct
{
    DIGITAL_INPUT    Di ;     //    /*    0    0    */    
    ANALOG_INPUT     Ai ;    //    /*    0    0    */    
    DIGITAL_OUTPUT   Do ;    //    /*    0    0    */    
    double Bx ;     //    /*    0    0    */    
    double By ;     //    /*    0    0    */    
    double Bz ;     //    /*    0    0    */    
    int  count ;     //    /*    0    0    */    
}IO_DATA_PV2 ;
typedef struct
{
    float    fuelFlowRate ; //     /*    0    0    */ 
    float    flowMeterTempSensor ; //     /*    0    0    */ 
    float    engFuelTempSensor ; //     /*    0    0    */ 
    WORD    eFTempSensorStatus ; //     /*    0    0    */ 
    WORD    engineFuelPressure_Sw_Status ; //     /*    0    0    */ 
}FUEL_SYS_DATA ;
typedef struct
{
    float cldt_pressure_value ; //     /*    0    0    */ 
    float lhwt_pressure_value ; //     /*    0    0    */ 
    float rhwt_pressure_value ; //     /*    0    0    */ 
    float f1at_pressure_value ; //     /*    0    0    */ 
    float EngineBayFlowTemp ; //     /*    0    0    */ 
    float EngineBayFlowMass ; //     /*    0    0    */ 
    float EngineBayFlowPres ; //     /*    0    0    */ 
}ECS_SYS_DATA ;
typedef struct
{
float  AmagbSpeed  ;        /*    0    1    */
float  EGBSpeed ;        /*    0    1    */
float Alt1Speed ;        /*    0    1    */
float GenSpeed ;        /*    0    1    */
float BleedFlow ;        /*    0    1    */
float BleedPressure ;        /*    0    1    */
float BleedTemp ;        /*    0    1    */
float FuelDemandRate ;        /*    0    1    */
}ENGINE_SYS_DATA ;

typedef struct
{
    ACMAIN_BUSBAR         AcMainBusBar ; //     /*    0    0    */ 
    ACESSEN_BUSBAR        AcEssenBusBar ; //     /*    0    0    */ 
    ACEMERG_BUSBAR        AcEmergBusBar ; //     /*    0    0    */ 
    ACALERT1_BUSBAR        AcAlert1BusBar ; //     /*    0    0    */ 
    ACALERT2_BUSBAR        AcAlert2BusBar ; //     /*    0    0    */ 
    DCMAIN_BUSBAR         DcMainBusBar ; //     /*    0    0    */ 
    DCMAIN_BUSBAR1         DcMainBusBar1 ; //     /*    0    0    */ 
    DCESSEN_BUSBAR        DcEssenBusBar ; //     /*    0    0    */ 
    DCEMERG_BUSBAR        DcEmergBusBar ; //     /*    0    0    */ 
    DCALERT1_BUSBAR        DcAlert1BusBar ; //     /*    0    0    */ 
    DCALERT2_BUSBAR        DcAlert2BusBar ; //     /*    0    0    */ 
    BATTERY_BUSBAR        BatteryBusBar ; //     /*    0    0    */ 
}ELEC_SYS_DATA ;
typedef struct
{
    float     Pressure ; //     /*    0    0    */ 
}HYD_PRESSURE ;


typedef struct
{
 HYD_PRESSURE    Hmdg ; //     /*    0    0    */ 
 HYD_PRESSURE    Hmdg1 ; //     /*    0    0    */ 
 HYD_PRESSURE    Hmdg2 ; //     /*    0    0    */ 
 HYD_PRESSURE    Hmdfp ; //     /*    0    0    */ 
 HYD_PRESSURE    Fcs1_Pressure ; //     /*    0    0    */ 
 HYD_PRESSURE    Fcs2_Pressure ; //     /*    0    0    */ 
}HYD_SYS_DATA ;


typedef struct
{
 FUEL_SYS_DATA        fuelsys_data ; //     /*    0    0    */ 
 ECS_SYS_DATA            ecssys_data ; //     /*    0    0    */ 
 ENGINE_SYS_DATA         engsys_data ; //     /*    0    0    */ 
 ELEC_SYS_DATA            elecsys_data; //     /*    0    0    */ 
 HYD_SYS_DATA         hydsys_data ; //     /*    0    0    */ 
}UTILITY_SYS_STORES ;
typedef struct
{
WORD  unused_3_15     : 13;        /*    0    1    */
WORD     nws_wow_status  : 1 ;        /*    0    1    */
WORD     lh_wow_status   : 1 ;        /*    0    1    */
WORD     rh_wow_status   : 1 ;        /*    0    1    */
}WT_ON_WHEEL_STATUS ;

typedef struct
{
WT_ON_WHEEL_STATUS  wheel_status ; //     /*    0    0    */ 
float AmbPressure ;                   //     /*    0    280    */ 
float AmbTemp ;                       //     /*    0    280    */ 
float MachNo ;                        //     /*    0    280    */ 
float LHWheelSpeed ;                  //     /*    0    280    */ 
float RHWheelSpeed ;                    //     /*    0    280    */ 
float NWSColumnPosition ;             //     /*    0    280    */ 
}ACMODEL_DATA_TO_USMS ;
typedef struct
{
float LHWheelPressure ;                //     /*    0    0    */ 
float RHWheelPressure ;                //     /*    0    0    */ 
float RHJackPressure ;                  //     /*    0    0    */ 
float LHJackPressure ;                   //     /*    0    0    */ 
float EngineThrust ;                   //     /*    0    0    */ 
float EnginePla;                   //     /*    0    0    */ 
}ACMODEL_DATA_FROM_USMS ;

typedef struct
{
    WORD  unused                             : 7 ;        /*    0    1    */ 
    WORD  angle_of_slideslip_valid       : 1 ;        /*    0    1    */
    WORD  airbrake_position_valid          : 1 ;        /*    0    1    */
    WORD    yaw_rate_valid                  : 1 ;        /*    0    1    */
    WORD    roll_rate_valid                : 1 ;        /*    0    1    */
    WORD    pitch_rate_valid                : 1 ;        /*    0    1    */
    WORD    true_aoa_valid                : 1 ;        /*    0    1    */
    WORD    total_temp_valid                : 1 ;        /*    0    1    */
    WORD  impact_pres_valid             : 1 ;        /*    0    1    */
    WORD    static_pr_valid                 : 1 ;        /*    0    1    */
}PMS_VALIDITY_WORD ;

typedef struct
{
    WORD        unused_6_16    : 11 ;        /*    0    1    */
    WORD        ap_mode            : 4 ;        /*    0    1    */
    WORD       ap_sel_status  : 1 ;        /*    0    1    */
}PMS_AUTO_PILOT_CMD ;

typedef struct
{
    WORD       unused_2_16        : 15 ;        /*    0    1    */
    WORD      air_brk_posn     : 1 ;        /*    0    1    */
}PMS_AB_POSN ;
 
typedef struct
{
    PMS_VALIDITY_WORD     validity_word ;    //     /*    0    0    */ 
    short                     static_pressure ;    //     /*    0    0    */ 
    short                 impact_press ;    //     /*    0    0    */ 
    short                   total_temperature ;    //     /*    0    0    */ 
    short                     true_aoa ;    //     /*    0    0    */ 
    short                     pitch_rate ;    //     /*    0    0    */ 
    short                     roll_rate ;    //     /*    0    0    */ 
    short                     yaw_rate ;    //     /*    0    0    */ 
    PMS_AUTO_PILOT_CMD    auto_pilot_cmd ;    //     /*    0    0    */ 
    PMS_AB_POSN               ab_posn ;    //     /*    0    0    */ 
    short                     ang_of_sideslip ;    //     /*    0    0    */ 
}PMS_FCC_AIR_ATT_AP_AB_DATA ;   

typedef struct
{
    WORD    unused_5_16               : 12 ;        /*    0    1    */
    WORD  aoa_htr_flr_status   : 2 ;        /*    0    3    */
    WORD  aoa_vane_flr_status  : 2 ;        /*    0    3    */
}PMS_AOA_VANE_HTR_FLR_DATA ;

typedef struct
{
    WORD       unused_14_16           : 3 ;        /*    0    1    */
    WORD     aoa_ssa_fail_stat      : 1 ;        /*    0    1    */
    WORD     unused_12              : 1 ;        /*    0    1    */
    WORD     tot_pr_flr_stat        : 1 ;        /*    0    1    */
    WORD     unused_10              : 1 ;        /*    0    1    */
    WORD       static_pres_fail_stat  : 1 ;        /*    0    1    */
    WORD     unused_8               : 1 ;        /*    0    1    */
    WORD       aoa_fail_stat             : 1 ;        /*    0    1    */
    WORD       unused_6                      : 1 ;        /*    0    1    */
    WORD       latrl_accln_fail_stat  : 2 ;        /*    0    1    */
    WORD       unused_3                    : 1 ;        /*    0    1    */
    WORD       vert_accln_fail_stat      : 2 ;        /*    0    1    */
}PMS_AOA_ACCLN_PR_DATA ;


typedef struct
{
    WORD    roll_stk_fail_status      : 2 ;        /*    0    1    */
    WORD    pitch_stk_fail_status  : 2 ;        /*    0    1    */
    WORD    third_fail_ch_no       : 3 ;        /*    0    1    */
    WORD    third_flr                : 1 ;        /*    0    1    */
    WORD  second_fail_ch_no         : 3 ;        /*    0    1    */
    WORD    second_flr                 : 1 ;        /*    0    1    */
    WORD    first_fail_ch_no          : 3 ;        /*    0    1    */
    WORD    first_flr                : 1 ;        /*    0    1    */
}PMS_CH_STK_FAILURE_DATA ;

typedef struct
{
    WORD    right_airbrk_flr   : 2 ;        /*    0    3    */
    WORD     left_airbrk_flr    : 2 ;        /*    0    3    */
    WORD     rob_les_flr          : 2 ;        /*    0    3    */
    WORD     rmb_les_flr          : 2 ;        /*    0    3    */
    WORD     rib_les_flr          : 2 ;        /*    0    3    */
    WORD     lob_les_flr          : 2 ;        /*    0    3    */
    WORD     lmb_les_flr          : 2 ;        /*    0    3    */
    WORD     lib_les_flr          : 2 ;        /*    0    3    */
}SEC_ACT_FLR_DATA ;


typedef struct
{
    WORD    unused_9_16                 : 8 ;        /*    0    3    */
    WORD    rud_cmd_fail_status       : 2 ;        /*    0    3    */
    WORD    unused_6                     : 1 ;        /*    0    3    */
    WORD    roll_cmd_fail_status       : 2 ;        /*    0    3    */
    WORD    unused_3                     : 1 ;        /*    0    3    */
    WORD    pitch_cmd_fail_status    : 2 ;        /*    0    3    */
}PMS_COM_SENSOR_FLR_DATA ;

typedef struct
{
    WORD    unused_9_16                  : 8 ;        /*    0    3    */
    WORD    yaw_rate_fail_status        : 2 ;        /*    0    3    */
    WORD    unused_6                        : 1 ;        /*    0    3    */
    WORD    roll_rate_fail_status     : 2 ;        /*    0    3    */
    WORD    unused_3                      : 1 ;        /*    0    3    */
    WORD    pitch_rate_fail_status     : 2 ;        /*    0    3    */
}PMS_RATE_SENSOR_FLR_DATA ;

typedef struct
{
    WORD    unused_6_16                 : 11 ;        /*    0    3    */
    WORD    latrl_accn_fail_status    : 2 ;        /*    0    3    */
    WORD    unused_3                      : 1 ;        /*    0    3    */
    WORD    vrtcl_accn_fail_status    : 2 ;        /*    0    3    */
}PMS_ACCLN_SENSOR_FLR_DATA ;

typedef struct
{
    WORD    unused_11_16             : 6 ;        /*    0    3    */
    WORD    rudder_fail_status         : 2 ;        /*    0    3    */
    WORD    rob_elevon_fail_status  : 2 ;        /*    0    3    */
    WORD    rib_elevon_fail_status  : 2 ;        /*    0    3    */
    WORD    lob_elevon_fail_status  : 2 ;        /*    0    3    */
    WORD    lib_elevon_fail_status  : 2 ;        /*    0    3    */
}PMS_PRIM_ACT_FLR_DATA ;
typedef struct
{
    WORD    unused_15_16                : 2 ;        /*    0    3    */
    WORD  dfcc_third_fail_ch_no        : 3 ;        /*    0    3    */
    WORD    dfcc_third_flr                 : 1 ;        /*    0    3    */
    WORD  dfcc_second_fail_ch_no        : 3 ;        /*    0    3    */
    WORD    dfcc_second_flr              : 1 ;        /*    0    3    */
    WORD  dfcc_first_fail_ch_no        : 3 ;        /*    0    3    */
    WORD    dfcc_first_flr                 : 1 ;        /*    0    3    */
    WORD  rud_pedal_fail_status       : 2 ;        /*    0    3    */
}PMS_PEDAL_FLR_DFCC_DATA ;


typedef struct
{
    WORD    unused_8_16              : 9 ;        /*    0    3    */
    WORD    ev09_stat               : 1 ;        /*    0    3    */
    WORD    ev16_stat              : 1 ;        /*    0    3    */
    WORD    a_a_config_err           : 1 ;        /*    0    3    */
    WORD  store_config_err      : 1 ;        /*    0    3    */
    WORD    ap_mode_flr              : 1 ;        /*    0    3    */
    WORD    ap_flr                 : 1 ;        /*    0    3    */
    WORD  unused_1              : 1 ;        /*    0    3    */
}PMS_AUTOPILOT_STORES_WORD ;


typedef struct
{
    WORD    unused_5_16               : 12 ;        /*    0    3    */
    WORD    adt_probe_flr          : 2 ;        /*    0    3    */
    WORD    adt_htr_flr            : 2 ;        /*    0    3    */
}PMS_ADP_HTR_FLR_DATA ;



typedef struct
{
     WORD         unused_7_16                   : 10 ;        /*    0    3    */
     WORD         uc_lever_failure              : 2 ;        /*    0    3    */
     WORD         ap_mode_flr                   : 2 ;        /*    0    3    */
     WORD         ap_flr                        : 2 ;        /*    0    3    */
}PMS_AP_FLR_DATA ;

typedef struct
{
    WORD     unused_4_16       :13 ;        /*    0    3    */
    WORD     display_data      : 3 ;        /*    0    8    */
}PMS_FTP_TEST_STATUS_DISPLAY_DATA ;

typedef struct
{

    WORD       unused_8_16                 : 9 ;        /*    0    3    */
    WORD       nogo_config                 : 1 ;        /*    0    3    */
    WORD       nogo_pbit                   : 1 ;        /*    0    3    */
    WORD       nogo_trim                   : 1 ;        /*    0    3    */
    WORD       nogo_slats                  : 1 ;        /*    0    3    */
    WORD       nogo_pitot                  : 1 ;        /*    0    3    */
    WORD       nogo_standby_gain           : 1 ;        /*    0    3    */
    WORD       nogo_emergency_trim         : 1 ;        /*    0    3    */
}PMS_FCS_NOGO_WARNING_DATA ;


typedef struct
{
    WORD      unused_2_16              : 15 ;        /*    0    3    */
    WORD    fcs_hot_status          : 1 ;        /*    0    3    */
}PMS_FCS_HOT_STATUS ;
typedef struct
{
        PMS_FCC_AIR_ATT_AP_AB_DATA        fcc_air_att_ap_ab_dat  ;           //     /*    0    0    */ 
        PMS_AOA_VANE_HTR_FLR_DATA         aoa_vane_htr_flr_data ;           //     /*    0    0    */ 
        PMS_AOA_ACCLN_PR_DATA             aoa_accln_pr_data      ;           //     /*    0    0    */ 
        PMS_CH_STK_FAILURE_DATA           dfcc_ch_stk_flr_data   ;           //     /*    0    0    */ 
        SEC_ACT_FLR_DATA                  sec_act_flr_data ;           //     /*    0    0    */ 
        PMS_COM_SENSOR_FLR_DATA           com_sensor_flr_data    ;           //     /*    0    0    */ 
        PMS_RATE_SENSOR_FLR_DATA          rate_sensor_flr_data   ;           //     /*    0    0    */ 
        PMS_ACCLN_SENSOR_FLR_DATA         accln_sensor_flr_data  ;           //     /*    0    0    */ 
        PMS_PRIM_ACT_FLR_DATA             prim_act_flr_data      ;           //     /*    0    0    */ 
        PMS_PEDAL_FLR_DFCC_DATA           pedal_flr_dfcc_data  ;           //     /*    0    0    */ 
        PMS_AUTOPILOT_STORES_WORD         ap_stores_data ;           //     /*    0    0    */ 
        PMS_AP_FLR_DATA                    ap_flr_data            ;           //     /*    0    0    */ 
        PMS_ADP_HTR_FLR_DATA              adp_htr_flr_data ;           //     /*    0    0    */ 
        PMS_FTP_TEST_STATUS_DISPLAY_DATA  ftp_test_status_display_data ;           //     /*    0    0    */ 
        PMS_FCS_NOGO_WARNING_DATA         fcs_nogo_warning_data ;           //     /*    0    0    */ 
        PMS_FCS_HOT_STATUS                fcs_hot_status ;           //     /*    0    0    */ 
}FCC_FAULT_INFO ;
typedef struct
{
    WORD    PitchSensorExcit     : 1 ;        /*    0    1    */
    WORD    RollSensorExcit     : 1 ;        /*    0    1    */
    WORD    Unused                : 14 ;        /*    0    3    */
}DFCC_PC ;
typedef struct
{
    WORD    Excit         : 1;         /*    0    1    */
    WORD    Unused        : 15 ;        /*    0    1    */
}DFCC_RUDPED ;
typedef struct
{
    WORD     TestSignal        : 12 ;        /*    0    1    */
    WORD    TorqueDir        : 1 ;        /*    0    1    */
    WORD    NormEnbl        : 1 ;        /*    0    1    */
    WORD    LatEnbl            : 1 ;        /*    0    1    */
    WORD    ASARSAStart        : 1 ;        /*    0    1    */
}DFCC_ASA ;
typedef struct
{
    WORD     TestSignal        : 1 ;        /*    0    1    */
    WORD    TorqueDir        : 1 ;        /*    0    1    */
    WORD    PitchEnbl        : 1 ;        /*    0    1    */
    WORD    RollEnbl        : 1 ;        /*    0    1    */
    WORD    YawEnbl            : 1 ;        /*    0    1    */
    WORD    ASARSAStart        : 1 ;        /*    0    1    */    
    WORD    PitchSpinMotor    : 1 ;        /*    0    1    */
    WORD    RollSpinMotor    : 1 ;        /*    0    1    */
    WORD    YawSpinMotor    : 1 ;        /*    0    1    */
    WORD    PitchRateSensor    : 1 ;        /*    0    1    */
    WORD    RollRateSensor    : 1 ;        /*    0    1    */
    WORD    YawRateSensor    : 1 ;        /*    0    1    */
    WORD    RateSensorExcit : 1 ;        /*    0    1    */
    WORD    SpinMotorExcit  : 1 ;        /*    0    1    */
     WORD    Unused            : 2 ;        /*    0    1    */
}DFCC_RSA ;
typedef struct
{
    WORD    Excit        : 1 ;        /*    0    1    */
    WORD    Unused        : 15 ;        /*    0    1    */
}DFCC_AOA ; 
typedef struct
{
    WORD     DCMEngage     : 1 ;        /*    0    1    */
    WORD    Unused        : 15 ;        /*    0    1    */
}DFCC_DCM ;
typedef struct
{
    WORD     AltHldAck    : 1 ;        /*    0    1    */
     WORD     AltSelAck    : 1 ;        /*    0    1    */
    WORD     AttHldAck    : 1 ;        /*    0    1    */
    WORD     Spare1Out    : 1 ;        /*    0    1    */
    WORD     Spare2Out     : 1 ;        /*    0    1    */
    WORD    Spare3Out    : 1 ;        /*    0    1    */
    WORD     Unused         : 10 ;        /*    0    1    */
}DFCC_APP ;    
typedef struct
{
    WORD    Excit        : 1 ;        /*    0    1    */
    WORD    SOVSel        : 1 ;        /*    0    1    */
    WORD  DeployFbk   : 1 ;        /*    0    1    */
    WORD    Unused        : 13 ;        /*    0    1    */
}DFCC_AIRBRAKEACT ;
typedef struct
{
    WORD    TrimPitchUp        : 1 ;        /*    0    1    */
    WORD    TrimPitchDn        : 1 ;        /*    0    1    */
    WORD    TrimRollLft        : 1 ;        /*    0    1    */
    WORD    TrimRollRgt        : 1 ;        /*    0    1    */
    WORD    APEngDisEng        : 1 ;        /*    0    1    */
    WORD  Unused            : 11 ;        /*    0    1    */
}PC_DISCRETE_CH3 ;
typedef struct
{
    WORD    AutoLevel        : 1 ;        /*    0    1    */
    WORD    APDisCon        : 1 ;        /*    0    1    */
    WORD   GunFire            : 1 ;        /*    0    1    */
    WORD    Unused            : 13 ;        /*    0    1    */
}PILOT_DISCRETES ;
typedef struct
{
    PC_DISCRETE_CH3        TrimDiscrete ; //     /*    0    0    */ 
    PILOT_DISCRETES        Pilotdicretes ; //     /*    0    0    */ 
}PC_DISCRETE_CH4 ;
typedef struct
{
    WORD    AltHld                : 1 ;        /*    0    1    */
    WORD    AltSelHld            : 1 ;        /*    0    1    */    
    WORD     AttHld                 : 1 ;        /*    0    1    */    
    WORD     Spare1In             : 1 ;        /*    0    1    */    
    WORD     Spare2In            : 1 ;        /*    0    1    */    
    WORD     Spare3In            : 1 ;        /*    0    1    */    
    WORD     EmergPitchUp        : 1 ;        /*    0    1    */
    WORD     EmergPitchDn        : 1 ;        /*    0    1    */
    WORD    EmergRollLft        : 1 ;        /*    0    1    */
    WORD    EmergRollRgt        : 1 ;        /*    0    1    */
    WORD     NormEmergYawLft        : 1 ;        /*    0    1    */
    WORD     NormEmergYawRgt        : 1 ;        /*    0    1    */
    WORD    Unused                : 4 ;        /*    0    1    */
}FTI_SIGNALS ;
typedef struct
{
    PC_DISCRETE_CH4        PitchStickDiscretes ;     //     /*    0    0    */ 
    FTI_SIGNALS            FtiSignals ;     //     /*    0    0    */ 
}FTI_DISCRETES22 ;
typedef struct    
{
    WORD    DfccHlthStatVmon    : 1 ;        /*    0    1    */
    WORD    DbuEngd                : 1 ;        /*    0    1    */
    WORD    FcsFail                : 1 ;        /*    0    1    */
    WORD    NWow                : 1 ;        /*    0    1    */
    WORD    RWow                : 1 ;        /*    0    1    */
    WORD     Unused                : 11 ;        /*    0    1    */
}FTI_STATUS1 ;
typedef struct
{
    WORD    signal        : 12 ;        /*    0    1    */
    WORD    unused        : 4 ;        /*    0    1    */
}SENSOR ;
typedef struct    
{
    FTI_DISCRETES22                FtiDicretes22 ;       //     /*    0    0    */ 
    FTI_STATUS1                FtiStatus1 ;       //     /*    0    0    */ 
    SENSOR                     StaticPress ;       //     /*    0    0    */ 
    SENSOR                     TotalTemp ;       //     /*    0    0    */ 
    SENSOR                     ImapctPress ;       //     /*    0    0    */ 
}DFCC_FTI_CH1 ;
typedef  struct    
{    
    WORD     FCPBitGo        : 1 ;        /*    0    1    */
    WORD     FCPBitNoGo        : 1  ;        /*    0    1    */
    WORD     Unused             : 14 ;        /*    0    1    */
}DFCC_FCP ;
typedef struct
{
    WORD     FCSCautLVmon         : 1 ;        /*    0    1    */
    WORD     FCSCautLEngage         : 1 ;        /*    0    1    */
     WORD     FCSHotLVmon         : 1 ;        /*    0    1    */
    WORD     FCSHotLEngage         : 1 ;        /*    0    1    */
     WORD     FCSWarnLVmon         : 1 ;        /*    0    1    */
    WORD     FCSWarnLEngage        : 1 ;        /*    0    1    */
     WORD     GainFailureLVmon    : 1 ;        /*    0    1    */
    WORD     GainFailureLEngage    : 1 ;        /*    0    1    */
     WORD     LampVmon             : 1 ;        /*    0    1    */
    WORD     Spare1LengageVmon     : 1 ;        /*    0    1    */
     WORD     SpareLVmon             : 1 ;        /*    0    1    */
    WORD  PITOTLEngage        : 1 ;        /*    0    1    */
     WORD     Unused                  : 4 ;        /*    0    1    */
}DFCC_CWP ; 
typedef struct
{
    WORD    FlutBitEnable    : 1 ;        /*    0    1    */
    WORD    FlutEngage        : 1 ;        /*    0    1    */
    WORD  SaHiEngage      : 1 ;        /*    0    1    */
    WORD  SaLoEngage      : 1 ;        /*    0    1    */
    WORD    EHSVEnbl        : 1 ;        /*    0    1    */
    WORD    RamExcit        : 1 ;        /*    0    1    */
    WORD  Unused          : 10 ;        /*    0    1    */
}LES_CONTROLS ;
typedef struct
{
    LES_CONTROLS    LesContols ;  //     /*    0    0    */ 
    SENSOR            EHSVCur ;      //     /*    0    0    */ 
    SENSOR            RamPositionCmd    ;  //     /*    0    0    */ 
    short            FlutBitSignal ;  //     /*    0    0    */ 
    short            SaGainSelect ;  //     /*    0    0    */ 
}DFCC_SECOND_ACT ;
typedef struct
{
    WORD    RamExcit        : 1 ;        /*    0    1    */
    WORD    MCVExcit        : 1 ;        /*    0    1    */
    WORD    BitEnable        : 1 ;        /*    0    1    */
    WORD    Bitsig            : 1 ;        /*    0    1    */
    WORD    Engage            : 1 ;        /*    0    1    */
    WORD    SAOvrCurTest    : 1 ;        /*    0    1    */
    WORD    SAIntrReset        : 1 ;        /*    0    1    */
    WORD    SAReset            : 1 ;        /*    0    1    */
    WORD    SAGainSelect    : 2 ;        /*    0    1    */
    WORD    SAEnagae        : 1 ;        /*    0    1    */
    WORD    Unused            : 5 ;        /*    0    1    */
}SA_CONTROLS ;

typedef struct
{
    WORD  SOV1Engage        : 1 ;        /*    0    1    */
    WORD  SOV2Engage      : 1 ;        /*    0    1    */
    WORD  SOV1Enable        : 1 ;        /*    0    1    */
    WORD  SOV2Enable        : 1 ;        /*    0    1    */
    WORD  SOVA1LDataStrb  : 1 ;        /*    0    1    */
    WORD  SOVA1LHldInCur  : 1 ;        /*    0    1    */
    WORD  SOVA1RDataStrb  : 1 ;        /*    0    1    */
    WORD  SOVA1RHldInCur  : 1 ;        /*    0    1    */
    WORD  SOVA2DataStrb   : 1 ;        /*    0    1    */
    WORD  SOVA2HldInCur   : 1 ;        /*    0    1    */
    WORD LVDTExcit        : 1 ;        /*    0    1    */
    WORD Unused            : 5 ;        /*    0    1    */
}SOV_COMMANDS ;

typedef struct
{
    SA_CONTROLS            SAControls ;        //     /*    0    0    */ 
    SENSOR                PositionCmd ;        //     /*    0    0    */ 
    SOV_COMMANDS        SOVCommands ;        //     /*    0    0    */ 
}DFCC_PACT ;

typedef struct 
{
    DFCC_PC                StickExec1 ;         //     /*    0    0    */ 
    DFCC_RUDPED            RudPed1 ;          //     /*    0    0    */ 
    DFCC_ASA            AsaExec1 ;          //     /*    0    0    */ 
    DFCC_RSA            RsaExec1 ;          //     /*    0    0    */ 
    DFCC_AOA            LAoaExec1 ;          //     /*    0    0    */ 
    DFCC_AOA            RAoaExec1 ;          //     /*    0    0    */ 
    DFCC_DCM            DcmExec1 ;          //     /*    0    0    */ 
    DFCC_APP            App1 ;          //     /*    0    0    */ 
    DFCC_AIRBRAKEACT    RAbActFbk1 ;          //     /*    0    0    */ 
    DFCC_FTI_CH1        FtiCh1 ;          //     /*    0    0    */ 
    DFCC_FCP            Fcp1 ;          //     /*    0    0    */ 
    DFCC_CWP            CWPch1 ;          //     /*    0    0    */ 
    DFCC_SECOND_ACT        SecondLIS1 ;          //     /*    0    0    */ 
    DFCC_SECOND_ACT        SecondLOS1 ;          //     /*    0    0    */ 
    DFCC_SECOND_ACT        SecondROS1 ;          //     /*    0    0    */ 
    DFCC_PACT            PrimaryLIE1 ;          //     /*    0    0    */ 
    DFCC_PACT            PrimaryRIE1 ;          //     /*    0    0    */ 
    DFCC_PACT            PrimaryROE1 ;          //     /*    0    0    */ 
    DFCC_PACT            PrimaryLOE1 ;          //     /*    0    0    */ 
    DFCC_PACT            PrimaryRUD1 ;          //     /*    0    0    */ 
}DFCC_FCS_CH1 ;  
typedef struct    
{
    WORD    DfccHlthStatVmon    : 1 ;            /*    0    1    */
    WORD    APEngage            : 1 ;            /*    0    1    */
    WORD    LWow                : 1  ;            /*    0    1    */
    WORD     Unused                : 13 ;        /*    0    1    */
}DFCC_FTI_CH2 ;    
typedef struct 
{
    DFCC_PC                StickExec2 ;       //     /*    0    0    */ 
    DFCC_RUDPED            RudPed2 ;       //     /*    0    0    */ 
    DFCC_ASA            AsaExec2 ;       //     /*    0    0    */ 
    DFCC_RSA            RsaExec2 ;       //     /*    0    0    */ 
    DFCC_AOA            LAoaExec2 ;       //     /*    0    0    */ 
    DFCC_AOA            RAoaExec2 ;       //     /*    0    0    */ 
    DFCC_DCM            DcmExec2 ;       //     /*    0    0    */ 
    DFCC_APP            App2 ;       //     /*    0    0    */ 
    DFCC_AIRBRAKEACT    LAbActFbk2 ;       //     /*    0    0    */ 
    DFCC_FTI_CH2        FtiCh2 ;       //     /*    0    0    */ 
    DFCC_FCP            Fcp2 ;       //     /*    0    0    */ 
    DFCC_CWP            CWPch2 ;       //     /*    0    0    */ 
    DFCC_SECOND_ACT        SecondLMS2 ;       //     /*    0    0    */ 
    DFCC_SECOND_ACT        SecondRIS2 ;       //     /*    0    0    */ 
    DFCC_SECOND_ACT        SecondRMS2 ;       //     /*    0    0    */ 
    DFCC_PACT            PrimaryLIE2 ;       //     /*    0    0    */ 
    DFCC_PACT            PrimaryRIE2 ;       //     /*    0    0    */ 
    DFCC_PACT            PrimaryROE2 ;       //     /*    0    0    */ 
    DFCC_PACT            PrimaryLOE2 ;       //     /*    0    0    */ 
    DFCC_PACT            PrimaryRUD2 ;        //     /*    0    0    */ 
}DFCC_FCS_CH2 ;
typedef struct    
{
    WORD    DfccHlthStatVmon    : 1  ;       //     /*    0    0    */ 
     WORD     Unused                : 15 ;       //     /*    0    0    */ 
}DFCC_FTI_CH3_CH4 ;    
typedef struct
{
    short    Unused ;      //     /*    0    0    */ 
}CDR_DISCRETES22 ;
typedef struct
{
    WORD  FCSFail            : 1  ;       //     /*    0    0    */ 
    WORD  NWOW            : 1  ;       //     /*    0    0    */ 
    WORD  RWOW            : 1  ;       //     /*    0    0    */ 
    WORD  SpareEng        : 1  ;       //     /*    0    0    */ 
    WORD  SigGnd            : 1  ;       //     /*    0    0    */ 
    WORD  Unused            : 11  ;       //     /*    0    0    */ 
}CDR_DATA3 ;
typedef struct
{
    CDR_DISCRETES22        CdrDiscretes3 ;       //     /*    0    0    */ 
    SENSOR                DynamicPress ;       //     /*    0    0    */     
    SENSOR                StaticPress ;       //     /*    0    0    */     
    SENSOR                TotalTemp ;       //     /*    0    0    */     
    CDR_DATA3            CdrData3 ;       //     /*    0    0    */     
}DFCC_CDR_CH3 ;
typedef struct 
{
    DFCC_PC                StickExec3 ;        //     /*    0    0    */ 
    DFCC_RUDPED            RudPed3 ;        //     /*    0    0    */ 
    DFCC_ASA            AsaExec3 ;        //     /*    0    0    */ 
    DFCC_RSA            RsaExec3 ;        //     /*    0    0    */ 
    DFCC_AOA            LAoaExec3 ;        //     /*    0    0    */ 
    DFCC_AOA            RAoaExec3 ;        //     /*    0    0    */ 
    DFCC_DCM            DcmExec3 ;        //     /*    0    0    */     
    DFCC_APP            App3 ;        //     /*    0    0    */ 
    DFCC_AIRBRAKEACT    LAbActFbk3 ;        //     /*    0    0    */ 
    DFCC_FTI_CH3_CH4    FtiCh3 ;        //     /*    0    0    */ 
    DFCC_FCP            Fcp3 ;        //     /*    0    0    */ 
    DFCC_CWP            CWPch3 ;        //     /*    0    0    */ 
    DFCC_SECOND_ACT        SecondLIS3 ;        //     /*    0    0    */ 
    DFCC_SECOND_ACT        SecondLMS3 ;        //     /*    0    0    */ 
    DFCC_SECOND_ACT        SecondRMS3 ;        //     /*    0    0    */ 
    DFCC_CDR_CH3        Cdr3 ;        //     /*    0    0    */ 
    DFCC_PACT            PrimaryLIE3 ;        //     /*    0    0    */ 
    DFCC_PACT            PrimaryRIE3 ;        //     /*    0    0    */ 
    DFCC_PACT            PrimaryROE3 ;        //     /*    0    0    */ 
    DFCC_PACT            PrimaryLOE3 ;        //     /*    0    0    */ 
    DFCC_PACT            PrimaryRUD3 ;        //     /*    0    0    */ 
}DFCC_FCS_CH3 ;
typedef struct
{
    WORD  APEngaged        : 1  ;       //     /*    0    0    */ 
    WORD  LWOW            : 1  ;       //     /*    0    0    */ 
    WORD  Unused            : 14  ;       //     /*    0    0    */ 
}CDR_DATA4 ;

typedef struct
{
    CDR_DISCRETES22        CdrDiscretes4 ;   //     /*    0    0    */  
    CDR_DATA4            CdrData4 ;   //     /*    0    0    */  
}DFCC_CDR_CH4 ;
typedef struct 
{
    DFCC_PC                StickExec4 ;        //     /*    0    0    */  
    DFCC_RUDPED            RudPed4 ;        //     /*    0    0    */ 
    DFCC_ASA            AsaExec4 ;        //     /*    0    0    */ 
    DFCC_RSA            RsaExec4 ;        //     /*    0    0    */ 
    DFCC_AOA            LAoaExec4 ;        //     /*    0    0    */ 
    DFCC_AOA            RAoaExec4 ;        //     /*    0    0    */ 
    DFCC_DCM            DcmExec4 ;        //     /*    0    0    */ 
    DFCC_APP            App4 ;        //     /*    0    0    */ 
    DFCC_AIRBRAKEACT    RAbActFbk4 ;        //     /*    0    0    */ 
    DFCC_FTI_CH3_CH4    FtiCh4 ;        //     /*    0    0    */ 
    DFCC_FCP            Fcp4 ;        //     /*    0    0    */ 
    DFCC_CWP            CWPch4 ;        //     /*    0    0    */ 
    DFCC_SECOND_ACT        SecondLOS4 ;        //     /*    0    0    */ 
    DFCC_SECOND_ACT        SecondRIS4 ;        //     /*    0    0    */ 
    DFCC_SECOND_ACT        SecondROS4 ;        //     /*    0    0    */ 
    DFCC_CDR_CH4        Cdr4 ;        //     /*    0    0    */ 
    DFCC_PACT            PrimaryLIE4 ;        //     /*    0    0    */ 
    DFCC_PACT            PrimaryRIE4 ;        //     /*    0    0    */ 
    DFCC_PACT            PrimaryROE4 ;        //     /*    0    0    */ 
    DFCC_PACT            PrimaryLOE4 ;        //     /*    0    0    */ 
    DFCC_PACT            PrimaryRUD4 ;        //     /*    0    0    */ 
}DFCC_FCS_CH4 ; 

typedef struct
{
    DFCC_FCS_CH1    DfccFcsCh1 ; //     /*    0    0    */     
    DFCC_FCS_CH2    DfccFcsCh2 ; //     /*    0    0    */     
    DFCC_FCS_CH3    DfccFcsCh3 ; //     /*    0    0    */     
    DFCC_FCS_CH4    DfccFcsCh4 ; //     /*    0    0    */    
}DFCC2FCS ;
typedef struct
{
    WORD  lh_aoa_vane_deicing_heater : 1  ;       //     /*    0    0    */ 
    WORD  rh_aoa_vane_deicing_heater : 1  ;       //     /*    0    0    */ 
    WORD  lh_probe_deicing_heater    : 1  ;       //     /*    0    0    */ 
    WORD  rh_probe_deicing_heater    : 1  ;       //     /*    0    0    */ 
    WORD  nose_probe_deicing_heater  : 1  ;       //     /*    0    0    */ 
    WORD  rh_aoa_case_deicing_heater : 1  ;       //     /*    0    0    */ 
    WORD  lh_aoa_case_deicing_heater : 1  ;       //     /*    0    0    */ 
    WORD  temp_probe_deicing_heater  : 1  ;       //     /*    0    0    */ 
    WORD  unused                     : 8  ;       //     /*    0    0    */ 
}ADS_HEATER_POWER ; 
typedef struct
{
     WORD   lie_ram_posn_command  : 12 ;            /*    0    1    */
     WORD   lie_sov1_enable       : 1 ;            /*    0    1    */
     WORD   lie_sov2_enable       : 1 ;            /*    0    1    */
      WORD   lielev_act_lvdt_exicit : 1 ;            /*    0    1    */
     WORD   lielev_mcv_lvdt_exicit : 1 ;            /*    0    1    */
}LI_ELEV_DDV_POSN ;
    
typedef struct
{
      WORD  rie_ram_posn_command  : 12 ;            /*    0    1    */
      WORD  rie_sov1_enable       : 1 ;            /*    0    1    */ 
      WORD  rie_sov2_enable       : 1 ;            /*    0    1    */
      WORD  rielev_act_lvdt_exicit : 1 ;            /*    0    1    */
      WORD  rielev_mcv_lvdt_exicit  : 1 ;            /*    0    1    */
}RI_ELEV_DDV_POSN ;
    
typedef struct
{
      WORD loe_ram_posn_command  : 12 ;            /*    0    1    */
      WORD loe_sov1_enable  : 1 ;            /*    0    1    */
      WORD loe_sov2_enable  : 1 ;            /*    0    1    */
        WORD loelev_act_lvdt_exicit : 1 ;            /*    0    1    */
      WORD loelev_mcv_lvdt_exicit : 1 ;            /*    0    1    */
}LO_ELEV_DDV_POSN ;
     
typedef struct
{
      WORD roe_ram_posn_command  : 12 ;            /*    0    1    */
        WORD roe_sov1_enable  : 1 ;            /*    0    1    */
      WORD roe_sov2_enable  : 1 ;            /*    0    1    */
         WORD roelev_act_lvdt_exicit : 1 ;            /*    0    1    */
      WORD roelev_mcv_lvdt_exicit : 1 ;            /*    0    1    */
}RO_ELEV_DDV_POSN ;
    
typedef struct
{
     WORD rud_ram_posn_command  : 12 ;            /*    0    1    */
       WORD  rud_sov1_enable  : 1 ;            /*    0    1    */
     WORD  rud_sov2_enable  : 1 ;            /*    0    1    */
     WORD  rud_act_lvdt_exicit : 1 ;            /*    0    1    */
     WORD  rud_mcv_lvdt_exicit : 1 ;            /*    0    1    */
}RUD_DDV_POSN ;
 
typedef struct
{
  LI_ELEV_DDV_POSN      lie_ddv_posn    ; //     /*    0    0    */     
  RI_ELEV_DDV_POSN      rie_ddv_posn     ; //     /*    0    0    */     
  LO_ELEV_DDV_POSN      loe_ddv_posn     ; //     /*    0    0    */     
  RO_ELEV_DDV_POSN      roe_ddv_posn     ; //     /*    0    0    */     
  RUD_DDV_POSN          rud_ddv_posn    ; //     /*    0    0    */     
}INPUT_TO_PRY_ACT ;

typedef struct
{
    WORD  lis_ram_posn_cmd    : 12 ;            /*    0    1    */
    WORD  lis_act_lvdt_exicit  : 1 ;            /*    0    1    */
    WORD  unused             : 3 ;            /*    0    1    */
}LIS_RAM_POSN_CMD ;


typedef struct
{
    WORD  los_ram_posn_cmd    : 12 ;            /*    0    1    */
    WORD  los_act_lvdt_exicit   : 1 ;            /*    0    1    */
    WORD  unused             : 3 ;            /*    0    1    */
}LOS_RAM_POSN_CMD ;

typedef struct
{
    WORD  lms_ram_posn_cmd    : 12 ;            /*    0    1    */
    WORD  lms_act_lvdt_exicit  : 1 ;            /*    0    1    */
    WORD  unused              : 3 ;            /*    0    1    */
}LMS_RAM_POSN_CMD ;

typedef struct
{
    WORD    ris_ram_posn_cmd    : 12 ;            /*    0    1    */
    WORD    ris_act_lvdt_exicit  : 1 ;            /*    0    1    */
    WORD     unused             : 3 ;            /*    0    1    */
}RIS_RAM_POSN_CMD ;

typedef struct
{
    WORD  ros_ram_posn_cmd    : 12 ;            /*    0    1    */
    WORD  ros_act_lvdt_exicit  : 1 ;            /*    0    1    */
    WORD  unused             : 3 ;            /*    0    1    */
}ROS_RAM_POSN_CMD ;

typedef struct
{
    WORD  rms_ram_posn_cmd    : 12 ;            /*    0    1    */
    WORD  rms_act_lvdt_exicit  : 1 ;            /*    0    1    */
    WORD  unused             : 3 ;            /*    0    1    */
}RMS_RAM_POSN_CMD ;

typedef struct
{
 LIS_RAM_POSN_CMD   lis_ram_posn_cmd    ; //     /*    0    0    */  
 LOS_RAM_POSN_CMD   los_ram_posn_cmd    ; //     /*    0    0    */  
 LMS_RAM_POSN_CMD   lms_ram_posn_cmd    ; //     /*    0    0    */   
 RIS_RAM_POSN_CMD   ris_ram_posn_cmd    ; //     /*    0    0    */  
 ROS_RAM_POSN_CMD   ros_ram_posn_cmd    ; //     /*    0    0    */   
 RMS_RAM_POSN_CMD   rms_ram_posn_cmd    ; //     /*    0    0    */  
}INPUT_TO_SEC_ACT ;
typedef struct
{
     WORD   left_airbrake_status   : 1 ;            /*    0    1    */
     WORD   right_airbrake_status   : 1 ;            /*    0    1    */
     WORD    unused                    : 14 ;            /*    0    1    */
}AIR_BRAKE_STATUS ;  
typedef    struct
{
    WORD    pitch_stick_excit      : 1 ;            /*    0    1    */
    WORD    roll_stick_excit      : 1 ;            /*    0    1    */
    WORD    rudder_pedal_excit    : 1 ;            /*    0    1    */
    WORD    acceleration_sensor_excit   : 1 ;            /*    0    1    */
    WORD    rate_sensor_excit         : 1 ;            /*    0    1    */
    WORD    spin_motor_rotor_excit   : 1 ;            /*    0    1    */
    WORD    left_aoa_probe_excit      : 1 ;            /*    0    1    */
    WORD    right_aoa_probe_excit   : 1 ;            /*    0    1    */
    WORD    tot_temp_prob_excit     : 1 ;            /*    0    1    */
    WORD    unused                : 7 ;            /*    0    1    */
}INPUT_SENSOR_EXCITATION ;
typedef struct
{
    DFCC2FCS                  Dfcc2Fcs    ; //     /*    0    0    */     
    ADS_HEATER_POWER              ads_heater  ;     //     /*    0    0    */     
    INPUT_TO_PRY_ACT               pry_act ; //     /*    0    0    */     
    INPUT_TO_SEC_ACT               sec_act ; //     /*    0    0    */     
    AIR_BRAKE_STATUS         air_brake_status ;  //     /*    0    0    */     
    INPUT_SENSOR_EXCITATION    ip_sensor_excit ; //     /*    0    0    */     
}FCC2FCS ; 
typedef struct
{
    WORD radalt_on               : 1 ;            /*    0    1    */
    WORD radalt_off                : 1 ;            /*    0    1    */
    WORD vuhf_on                : 1 ;            /*    0    1    */
    WORD vuhf_off                : 1 ;            /*    0    1    */
    WORD iff_a_g_on           : 1 ;            /*    0    1    */
    WORD iffa_a_g_off           : 1 ;            /*    0    1    */
    WORD amber_warn_pres   : 1 ;            /*    0    1    */
    WORD red_warn_pres        : 1 ;            /*    0    1    */
    WORD warn_ack              : 1 ;            /*    0    1    */
    WORD jettison_stn_2        : 1 ;            /*    0    1    */
    WORD jettison_stn_3_1     : 1 ;            /*    0    1    */
    WORD jettison_3_2           : 1 ;            /*    0    1    */
    WORD jettison_stn_4        : 1 ;            /*    0    1    */
    WORD jettison_5_1            : 1 ;            /*    0    1    */
    WORD jettison_stn_5_2     : 1 ;            /*    0    1    */
    WORD jettison_stn_6        : 1 ;            /*    0    1    */
}CCU2CCS ;
typedef struct
{
    FCC_FAULT_INFO  dfcc_info ;  //     /*    0    0    */ 
    FCC2FCS         fcc2fcs ;    //     /*    0    0    */  
    CCU2CCS         ccu2ccs ;  //     /*    0    0    */  
}FCSCCU_SYSTEM ;
typedef    struct    
{
    float EngineThrust ;    //  /*  0  0  */
    float VelocityBody[0] ;  //  /*  0  0  */
    float VelocityBody[1] ;  //  /*  0  0  */
    float VelocityBody[2] ;  //  /*  0  0  */
    float VelocityNED[0] ;  //  /*  0  0  */
    float VelocityNED[1] ;  //  /*  0  0  */
    float VelocityNED[2] ;  //  /*  0  0  */
    float AccelBody[0] ;  //  /*  0  0  */
    float AccelBody[1] ;  //  /*  0  0  */
    float AccelBody[2] ;  //  /*  0  0  */
    float AccelNED[0] ;  //  /*  0  0  */
    float AccelNED[1] ;  //  /*  0  0  */
    float AccelNED[2] ;  //  /*  0  0  */
    float Pitch ;  //  /*  0  0  */
    float Roll ;    //  /*  0  0  */
    float Yaw ;  //  /*  0  0  */
    float Roll_rate ;  //  /*  0  0  */
    float Pitch_rate ;  //  /*  0  0  */
    float Yaw_rate ;  //  /*  0  0  */
    float WindVelocity[0] ; //  /*  0  0  */
    float WindVelocity[1] ; //  /*  0  0  */
    float WindVelocity[2] ; //  /*  0  0  */
    float WindDirection ; //  /*  0  0  */
    float Beta ;  //  /*  0  0  */
    float Altitude ;  //  /*  0  0  */
    float Gama ;  //  /*  0  0  */
    float EnginePLA ;  //  /*  0  0  */
    float Aoa ;  //  /*  0  0  */
    float MachNo ; //  /*  0  0  */
    float ps ;  //  /*  0  0  */
    float pd ;  //  /*  0  0  */
    float ti ;  //  /*  0  0  */
    float X ;  //  /*  0  0  */
    float Y ;  //  /*  0  0  */
    float Z ;  //  /*  0  0  */
    WORD LeftWOW ;  //  /*  0  0  */
    WORD RightWOW ;  //  /*  0  0  */
    WORD NoseWOW ;  //  /*  0  0  */
    WORD MainWOW ;  //  /*  0  0  */
    float E1 ;  //  /*  0  0  */
    float E2 ;  //  /*  0  0  */
    float E3 ; //  /*  0  0  */
    float E4 ;  //  /*  0  0  */
    float Bchute_Pitch_Rate ;  //  /*  0  0  */
    float BChute_Yaw_Rate ;  //  /*  0  0  */
    float BChute_Theta ; //  /*  0  0  */
    float BChute_Psi ;  //  /*  0  0  */
    float Rho ; //  /*  0  0  */
    float Gravity ;  //  /*  0  0  */
    float Temp ;  //  /*  0  0  */
    float Pressure_Alti ;  //  /*  0  0  */
    float L1 ;  //  /*  0  0  */
    float L2 ;  //  /*  0  0  */
    float L3 ;  //  /*  0  0  */
    float M1 ;  //  /*  0  0  */
    float M2 ;  //  /*  0  0  */
    float M3 ;  //  /*  0  0  */
    float N1 ;  //  /*  0  0  */
    float N2 ;  //  /*  0  0  */
    float N3 ;  //  /*  0  0  */
    float Elev_Deflection ;  //  /*  0  0  */
    float Aile_Deflection ;  //  /*  0  0  */
    float CX ;  //  /*  0  0  */
    float CY ;  //  /*  0  0  */
    float CZ ;  //  /*  0  0  */
    float CLift ;  //  /*  0  0  */
    float CDrag ;  //  /*  0  0  */
    float Lift ;  //  /*  0  0  */
    float Drag ;  //  /*  0  0  */
    float Fuel_Flow_Rate ;  //  /*  0  0  */
    float Low_Pressure_Spool ;  //  /*  0  0  */
    float High_Pressure_Spool ;  //  /*  0  0  */
    float U_Velocity ;  //  /*  0  0  */
    float V_Velocity ;  //  /*  0  0  */
    float W_Velocity ; //  /*  0  0  */
    float Total_Velocity ; //  /*  0  0  */
    float PitchStick ;  //  /*  0  0  */
    float RollStick ; //  /*  0  0  */
    float RudderPedal ;  //  /*  0  0  */
}ACM_OUT_DATA ;
typedef    struct    
{
    float Elev ;    //  /*  0  0  */
    float Aile ; //  /*  0  0  */
    float Rudd ;    //  /*  0  0  */
    float Throttle ;    //  /*  0  0  */
    float WheelBrakeLeft ;    //  /*  0  0  */
    float WheelBrakeRight ;    //  /*  0  0  */
    WORD PitchTrimUpEmerg ;    //  /*  0  0  */
    WORD PitchTrimDownEmerg ;    //  /*  0  0  */
    WORD RollTrimPosEmerg ;     //  /*  0  0  */
    WORD RollTrimNegEmerg ;    //  /*  0  0  */
    WORD YawTrimPos ;    //  /*  0  0  */
    WORD YawTrimNeg ;    //  /*  0  0  */
    WORD UnderCarriage ;    //  /*  0  0  */
    WORD UnderCarriageEmerg ;     //  /*  0  0  */
    WORD PitchUpTrimNorm ;    //  /*  0  0  */
    WORD PitchDownTrimNorm ;    //  /*  0  0  */
    WORD RollPosTrimNorm ;    //  /*  0  0  */
    WORD RollNegTrimNorm ;    //  /*  0  0  */
    WORD StandbyGain ;    //  /*  0  0  */
    WORD CombatRating ;    //  /*  0  0  */
    WORD AirBrakeON ;    //  /*  0  0  */
    WORD SlatsExtended ;    //  /*  0  0  */
    WORD SecondaryIgnition ;    //  /*  0  0  */
        WORD SlatsRetract ;    //  /*  0  0  */
    WORD AirBrake ;     //  /*  0  0  */
    WORD TrimMode ;     //  /*  0  0  */
    WORD ParkingBrake ;      //  /*  0  0  */
    float UGust ;      //  /*  0  0  */
    float VGust ;      //  /*  0  0  */
    float WGust ;      //  /*  0  0  */
    WORD LGear ;      //  /*  0  0  */
    WORD NSteer ;      //  /*  0  0  */
    WORD Flap ;      //  /*  0  0  */
    float Hyd_Fail ;      //  /*  0  0  */
    float Act_Fail ;     //  /*  0  0  */
    float EV01 ;     //  /*  0  0  */
    float EV02 ;      //  /*  0  0  */
    float EV03 ;      //  /*  0  0  */
    float EV04 ;      //  /*  0  0  */
    float EV05 ;      //  /*  0  0  */
    float EV06 ;      //  /*  0  0  */
    float EV07 ;      //  /*  0  0  */
    float EV08 ;      //  /*  0  0  */
    float EV09 ;      //  /*  0  0  */
    float EV10 ;      //  /*  0  0  */
    float EV11 ;      //  /*  0  0  */
    float EV12 ;      //  /*  0  0  */
    float EV13 ;      //  /*  0  0  */
    float EV14 ;      //  /*  0  0  */
    float EV15 ;      //  /*  0  0  */
    float EV16 ;      //  /*  0  0  */
    float EV17 ;      //  /*  0  0  */
    float EV18 ;    //  /*  0  0  */
    float EV19 ;    //  /*  0  0  */
    float EV20 ;    //  /*  0  0  */
    float EV21 ;    //  /*  0  0  */
    float EV22 ;     //  /*  0  0  */
    float EV23 ;    //  /*  0  0  */
    float EV24 ;    //  /*  0  0  */
    float EV25 ;    //  /*  0  0  */
    float EV26 ;    //  /*  0  0  */
    float EV27 ;    //  /*  0  0  */
    float EV28 ;    //  /*  0  0  */
    float EV29 ;    //  /*  0  0  */
    float EV30 ;    //  /*  0  0  */
    WORD Flameout ;      //  /*  0  0  */
    WORD Relight ;    //  /*  0  0  */
    WORD FxPo1 ;    //  /*  0  0  */
    WORD FxRo1 ;    //  /*  0  0  */
    WORD FxYo1 ;    //  /*  0  0  */
    WORD FxSo1 ;    //  /*  0  0  */
    WORD Fx ;    //  /*  0  0  */
    WORD Fy ;    //  /*  0  0  */
    WORD Fz ;    //  /*  0  0  */
    WORD Mx ;     //  /*  0  0  */
    WORD My ;    //  /*  0  0  */
    WORD Mz ;    //  /*  0  0  */
    WORD Levcon ;    //  /*  0  0  */
    WORD Bleed ;    //  /*  0  0  */
    WORD Hook ;    //  /*  0  0  */
    WORD Forp ;    //  /*  0  0  */
    WORD PThrottle ;    //  /*  0  0  */
    WORD SThrottle ;    //  /*  0  0  */
    WORD SChute ;    //  /*  0  0  */
    WORD BChute ;    //  /*  0  0  */
    float Wind_Signal ; //  /*  0  0  */
}ACM_IN_DATA ;
typedef struct
{
    WORD unused    : 2 ;  /*  0  0  */
    WORD radar_on_off_status    : 1 ;  /*  0  0  */
    WORD ins     : 1 ;  /*  0  0  */
    WORD radalt                            : 1 ;    /*  0  0  */
    WORD cmds_on_off_status                : 1 ;    /*  0  0  */    
    WORD vorils_on                      : 1 ;    /*  0  0  */
    WORD Tacan_on                       : 1 ;    /*  0  0  */
    WORD Sib1_on                        : 1 ;    /*  0  0  */
    WORD Sib2_on                        : 1 ;    /*  0  0  */
    WORD Pib_on                         : 1 ;    /*  0  0  */
    WORD Iffg_on                        : 1 ;    /*  0  0  */
    WORD Incom1_on                      : 1 ;    /*  0  0  */
    WORD Incom2_on                      : 1 ;    /*  0  0  */
    WORD Ldp_on                         : 1 ;    /*  0  0  */
    WORD Rwr_on                         : 1 ;    /*  0  0  */
}POWER_CONFIG_INS_RADALT ;
typedef struct 
{
    WORD        unused                : 13 ;    /*  0  0  */
    WORD        live_n_safe_sw        : 1 ;    /*  0  0  */
    WORD        escape_sw            : 1 ;    /*  0  0  */
    WORD        jettision_sw        : 1 ;    /*  0  0  */
}CMDS_DISCRETE ;
typedef struct
{  
    short                onground ;    //  /*  0  0  */
    int                count ;    //  /*  0  0  */
    float                psi ;    //  /*  0  0  */
    float                theta ;    //  /*  0  0  */
    float                phi ;    //  /*  0  0  */
    float                Accel_wind[0] ;     //  /*  0  0  */
    float                Accel_wind[1] ;    //  /*  0  0  */
    float                Accel_wind[2] ;    //  /*  0  0  */
       double                Acm_position[0] ;    //  /*  0  0  */
    double                Acm_position[1] ;    //  /*  0  0  */
    double                Acm_position[2] ;    //  /*  0  0  */
       float                Acm_velocity[0] ;    //  /*  0  0  */
    float                Acm_velocity[1] ;    //  /*  0  0  */
    float                Acm_velocity[2] ;    //  /*  0  0  */
       float                Alpha ;    //  /*  0  0  */
    float                Beta ;    //  /*  0  0  */
    float                fan_rotor_speed ;    //  /*  0  0  */
       float                Mach ;    //  /*  0  0  */
    float                Height_above_terrain ;    //  /*  0  0  */
    POWER_CONFIG_INS_RADALT    power_config_ins_radalt ;    //  /*  0  0  */
    CMDS_DISCRETE        cmds_discrete ;    //  /*  0  0  */
    float                Accel_Body[0] ;    //  /*  0  0  */
    float                Accel_Body[1] ;    //  /*  0  0  */
    float                Accel_Body[2] ;    //  /*  0  0  */
    float                Vel_Body[0] ;    //  /*  0  0  */
    float                Vel_Body[1] ;    //  /*  0  0  */
    float                Vel_Body[2] ;    //  /*  0  0  */
    float                Wind_Velocity[0] ;    //  /*  0  0  */
    float                Wind_Velocity[1] ;    //  /*  0  0  */
    float                Wind_Velocity[2] ;    //  /*  0  0  */
    double                radarSlantRange ;    //  /*  0  0  */
    double                ldpTargetLat ;    //  /*  0  0  */
    double                ldpTargetLon ;    //  /*  0  0  */
    double                ldpTargetAlt ;    //  /*  0  0  */
    short                ldpFlag ;    //  /*  0  0  */
    double                radar_target_lat ;    //  /*  0  0  */
    double                radar_target_long ;    //  /*  0  0  */
    double                radar_target_alt ;    //  /*  0  0  */
}ACM_TO_INS_DATA ;
typedef struct 
{
float Roll ;  //  /*    0    0    */
float Pitch ;  //  /*    0    0    */
float Heading ;  //  /*    0    0    */
float Roll_Rate ;  //  /*    0    0    */
float Pitch_Rate ;  //  /*    0    0    */
float Yaw_Rate ;  //  /*    0    0    */
float X_Accel ;  //  /*    0    0    */
float Y_Accel ;  //  /*    0    0    */
float Z_Accel ;  //  /*    0    0    */
int count ;  //  /*    0    0    */
}ACM_TO_GRU ;
typedef struct
{
    float    nose_bm_al1 ;    //  /*    0    0    */
    float    nose_bm_al2 ;    //  /*    0    0    */
    float    nose_bm_bt1 ;    //  /*    0    0    */
    float    nose_bm_bt2 ;    //  /*    0    0    */
    float    airef_lp_bk_alpha1 ;    //  /*    0    0    */
    float    airef_lp_bk_alpha2 ;    //  /*    0    0    */
    float    airef_lp_bk_bt1 ;    //  /*    0    0    */
    float    airef_lp_bk_bt2 ;    //  /*    0    0    */
}NOSE_BOOM_SYS ;
typedef struct 
{
    WORD  unused      : 6 ;        /*  0  0  */
    WORD  AcVersion   : 4 ;        /*  0  0  */
    WORD  EngineType  : 2 ;        /*  0  0  */
    WORD  Phase       : 4 ;        /*  0  0  */
}TEJAS_CONFIGURATION ;
typedef struct 
{
    SYS_CONFIG                 sys_config  ; //     /*    0    0    */     
    FUEL_SYSTEM              fuel_sys ; //     /*    0    0    */    
    ECS_SYSTEM               ecs_sys  ; //     /*    0    0    */    
    ELECTRICAL_SYSTEM        elect_sys ;  //     /*    0    0    */   
    ENGINE_SYSTEM            eng_sys  ;  //     /*    0    0    */ 
    HYDRAULIC_SYSTEM         hyd_sys  ;  //     /*    0    0    */ 
    IO_DATA_PV2                  io_data  ;  //     /*    0    0    */ 
    UTILITY_SYS_STORES       util_sys_stores ;  //     /*    0    0    */ 
    ACMODEL_DATA_TO_USMS     acmodel_data_to_usms ;  //     /*    0    0    */ 
    ACMODEL_DATA_FROM_USMS   acmodel_data_from_usms ;  //     /*    0    0    */ 
    FCSCCU_SYSTEM             fcsccu_sys ;  //  /*  0       0 */
    ACM_OUT_DATA            AcmOutData ;    // /*  0  0  */
    ACM_IN_DATA                AcmInData ;        // /*  0  0  */
    ACM_TO_INS_DATA            AcmToInsData ;    // /*  0  0  */
    ACM_TO_GRU                Acm_To_Gru ;    // /*  0  0  */
    NOSE_BOOM_SYS            nose_bm_sys ;    // /*  0  0  */
    TEJAS_CONFIGURATION            Tejas_config ;    // /*  0  0  */
}UTILITY_SYSTEM ;
the entire structure is shown above. The valve will be read from a separate file and it will be in numerical format only. so the first variable in string file will correspond to first value in numerical file.

Last edited by shabbir; 2Feb2009 at 19:30.. Reason: Code block
0
xpi0t0s's Avatar, Join Date: Aug 2004
Mentor
Heh, well, I guess I shouldn't be too harsh because "full detail" and "reasonably short" are slightly contradictory if you're struggling with basic comprehension skills, which is clearly the case here. You'll never make it as a programmer if you can't read a spec and generate appropriate output, so probably your best bet is to work on that first, then come back to programming once you can read and understand.

Anyway, here's an example program that reads a string and assigns values to parts of a structure. Built and tested in Visual Studio 2005 but there's nothing Windows-specific in the code.

Code:
void go4e_15987()
{
	char *ex_str="14,hello,23.7,23/12/1987";
	struct dt { int dd,mm,yy; };
	struct tag_foo { int num; char greet[10]; double f; struct dt bar; } foo;
	int stat=0,offset=0;
	double deci=0.1;
	memset(&foo,0,sizeof(foo));
	for (int i=0; ex_str[i]; i++)
	{
		char c=ex_str[i];
		switch (stat)
		{
		case 0: if (c==',') stat++; else foo.num=foo.num*10+c-'0'; break;
		case 1: if (c==',') { offset=0; stat++; } else foo.greet[offset++]=c; break;
		case 2: if (c=='.') stat++; else foo.f=foo.f*10.0+double(c-'0'); break;
		case 3: if (c==',') stat++; else { foo.f+=deci*double(c-'0'); deci/=10; } break;
		case 4: if (c=='/') stat++; else foo.bar.dd=foo.bar.dd*10+c-'0'; break;
		case 5: if (c=='/') stat++; else foo.bar.mm=foo.bar.mm*10+c-'0'; break;
		case 6: foo.bar.yy=foo.bar.yy*10+c-'0'; break;
		}
	}
	printf("%s\n%d '%s' %e %d/%d/%d\n",ex_str,foo.num,foo.greet,foo.f,foo.bar.dd,foo.bar.mm,foo.bar.yy);
}
And here's what I mean by "full detail" and "reasonably short": The program reads a comma delimited string and assigns variables to the foo struct, which contains an integer, a greeting, and double and a date. The date is broken down into three ints.

The example string is "14,hello,23.7,23/12/1987", and the structure details are as follows:
Code:
struct dt { int dd,mm,yy; };
struct tag_foo { int num; char greet[10]; double f; struct dt bar; } foo;
0
kamaralitarvez's Avatar, Join Date: Jan 2009
Light Poster
Quote:
Originally Posted by xpi0t0s View Post
Heh, well, I guess I shouldn't be too harsh because "full detail" and "reasonably short" are slightly contradictory if you're struggling with basic comprehension skills, which is clearly the case here. You'll never make it as a programmer if you can't read a spec and generate appropriate output, so probably your best bet is to work on that first, then come back to programming once you can read and understand.

Anyway, here's an example program that reads a string and assigns values to parts of a structure. Built and tested in Visual Studio 2005 but there's nothing Windows-specific in the code.

Code:
void go4e_15987()
{
    char *ex_str="14,hello,23.7,23/12/1987";
    struct dt { int dd,mm,yy; };
    struct tag_foo { int num; char greet[10]; double f; struct dt bar; } foo;
    int stat=0,offset=0;
    double deci=0.1;
    memset(&foo,0,sizeof(foo));
    for (int i=0; ex_str[i]; i++)
    {
        char c=ex_str[i];
        switch (stat)
        {
        case 0: if (c==',') stat++; else foo.num=foo.num*10+c-'0'; break;
        case 1: if (c==',') { offset=0; stat++; } else foo.greet[offset++]=c; break;
        case 2: if (c=='.') stat++; else foo.f=foo.f*10.0+double(c-'0'); break;
        case 3: if (c==',') stat++; else { foo.f+=deci*double(c-'0'); deci/=10; } break;
        case 4: if (c=='/') stat++; else foo.bar.dd=foo.bar.dd*10+c-'0'; break;
        case 5: if (c=='/') stat++; else foo.bar.mm=foo.bar.mm*10+c-'0'; break;
        case 6: foo.bar.yy=foo.bar.yy*10+c-'0'; break;
        }
    }
    printf("%s\n%d '%s' %e %d/%d/%d\n",ex_str,foo.num,foo.greet,foo.f,foo.bar.dd,foo.bar.mm,foo.bar.yy);
}
And here's what I mean by "full detail" and "reasonably short": The program reads a comma delimited string and assigns variables to the foo struct, which contains an integer, a greeting, and double and a date. The date is broken down into three ints.

The example string is "14,hello,23.7,23/12/1987", and the structure details are as follows:
Code:
struct dt { int dd,mm,yy; };
struct tag_foo { int num; char greet[10]; double f; struct dt bar; } foo;
Hi,
i don't think u understood my question fully. the details i provided may be short and minimum because i thought it is self explaining.

My question is how to treat a string read from a file as a structure variable ie; in ur example code consider num, i will read from file as "foo.num" and this should correspond to exact "int num" variable of ur structure.

there is no problem in assigning values.

i send u the entire header file to show how the structures are nested and how complex a switch statement will be when treated as a solution to this since u suggested it in ur first reply.

thanx for ur advice but for ur kind notice i can judge myself better than anybody and i know what i am
0
xpi0t0s's Avatar, Join Date: Aug 2004
Mentor
Quote:
Originally Posted by kamaralitarvez View Post
My question is how to treat a string read from a file as a structure variable ie; in ur example code consider num, i will read from file as "foo.num" and this should correspond to exact "int num" variable of ur structure.
Oh I see, so there are actually TWO input files. The only way is to compare strings; "foo.num" isn't kept anywhere in the compiled code and is just a label for the compiler's and linker's benefit. So perhaps I'd do something like:
Code:
getStrFromStringFile(str);
if (!strcmp(str,"foo.num"))
{
  foo.num=getNumFromNumFile();
}
which is tedious and error prone, because you have to make sure that the code and the structure are kept in step with each other. It would be a good idea to make sure the user is aware of any discrepancies between the input files and the data structure (a) any structure variables that haven't been assigned to and (b) any strings in the file that don't correspond to structure members. For example there is in fact no DI1WORD3 in the DIGITAL_INPUT structure.
0
kamaralitarvez's Avatar, Join Date: Jan 2009
Light Poster
Quote:
Originally Posted by kamaralitarvez View Post
Hi,
i don't think u understood my question fully. the details i provided may be short and minimum because i thought it is self explaining.

My question is how to treat a string read from a file as a structure variable ie; in ur example code consider num, i will read from file as "foo.num" and this should correspond to exact "int num" variable of ur structure.

there is no problem in assigning values.

i send u the entire header file to show how the structures are nested and how complex a switch statement will be when treated as a solution to this since u suggested it in ur first reply.

thanx for ur advice but for ur kind notice i can judge myself better than anybody and i know what i am


Is there no other solution to this problem and thanx for ur continuous replies
0
xpi0t0s's Avatar, Join Date: Aug 2004
Mentor
Not unless rewriting the header file is an option.