// // Created by cfif on 03.12.2025. // #include "StatusData.h" #include "DataNonVolatile.h" #include "StorageOnFlash.h" tStatusData statusData; const eUds_ReadDataByIdentifier_22_com uds_ReadDataByIdentifier_22_com_CF[256] = { {&statusData.Status_CCU_Configuration, sizeof(statusData.Status_CCU_Configuration), "0xCF00 : Status_CCU_Configuration"}, {&statusData.Status_Sensor, sizeof(statusData.Status_Sensor), "0xCF01 : Status_Sensor"}, {&statusData.Status_Actuator_DoorsActuator_FB, sizeof(statusData.Status_Actuator_DoorsActuator_FB), "0xCF02 : Status_Actuator_DoorsActuator_FB"}, {&statusData.Status_Duct_Tgt, sizeof(statusData.Status_Duct_Tgt), "0xCF03 : Status_Duct_Tgt"}, {&statusData.Status_Eva_Tgt, sizeof(statusData.Status_Eva_Tgt), "0xCF04 : Status_Eva_Tgt"}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {&statusData.Status_Actuator_DoorsActuator, sizeof(statusData.Status_Actuator_DoorsActuator), "0xCF50 : Status_Actuator_DoorsActuator"}, {&statusData.Status_IO, sizeof(statusData.Status_IO), "0xCF51 : Status_IO"}, {&statusData.Status_Pwm, sizeof(statusData.Status_Pwm), "0xCF52 : Status_Pwm"}, {&statusData.Status_eComp, sizeof(statusData.Status_eComp), "0xCF53 : Status_eComp"}, {&statusData.Status_External, sizeof(statusData.Status_External), "0xCF54 : Status_External"}, {&statusData.Status_EMS, sizeof(statusData.Status_EMS), "0xCF55 : Status_EMS"}, {&statusData.Status_Ionizer_Aroma, sizeof(statusData.Status_Ionizer_Aroma), "0xCF56 : Status_Ionizer_Aroma"}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {&statusData.Status_Actuator_DoorsActuator, sizeof(statusData.Status_Actuator_DoorsActuator.Motor_Def), "0xCF60 : Status_Actuator_DoorsActuator.Motor_Def"}, {(uint8_t *)&statusData.Status_Actuator_DoorsActuator + 2, sizeof(statusData.Status_Actuator_DoorsActuator.Motor_Vent_SFL), "0xCF61 : Status_Actuator_DoorsActuator.Motor_Vent_SFL"}, {(uint8_t *)&statusData.Status_Actuator_DoorsActuator + 4, sizeof(statusData.Status_Actuator_DoorsActuator.Motor_Vent_CFL), "0xCF62 : Status_Actuator_DoorsActuator.Motor_Vent_CFL"}, {(uint8_t *)&statusData.Status_Actuator_DoorsActuator + 6, sizeof(statusData.Status_Actuator_DoorsActuator.Motor_Foot_1FL), "0xCF63 : Status_Actuator_DoorsActuator.Motor_Foot_1FL"}, {(uint8_t *)&statusData.Status_Actuator_DoorsActuator + 8, sizeof(statusData.Status_Actuator_DoorsActuator.Motor_Foot_2FL), "0xCF64 : Status_Actuator_DoorsActuator.Motor_Foot_2FL"}, {(uint8_t *)&statusData.Status_Actuator_DoorsActuator + 10, sizeof(statusData.Status_Actuator_DoorsActuator.Motor_Vent_CFR), "0xCF65 : Status_Actuator_DoorsActuator.Motor_Vent_CFR"}, {(uint8_t *)&statusData.Status_Actuator_DoorsActuator + 12, sizeof(statusData.Status_Actuator_DoorsActuator.Motor_Vent_SFR), "0xCF66 : Status_Actuator_DoorsActuator.Motor_Vent_SFR"}, {(uint8_t *)&statusData.Status_Actuator_DoorsActuator + 14, sizeof(statusData.Status_Actuator_DoorsActuator.Motor_Foot_1FR), "0xCF67 : Status_Actuator_DoorsActuator.Motor_Foot_1FR"}, {(uint8_t *)&statusData.Status_Actuator_DoorsActuator + 16, sizeof(statusData.Status_Actuator_DoorsActuator.Motor_Foot_2FR), "0xCF68 : Status_Actuator_DoorsActuator.Motor_Foot_2FR"}, {(uint8_t *)&statusData.Status_Actuator_DoorsActuator + 18, sizeof(statusData.Status_Actuator_DoorsActuator.Motor_Vent_SRL), "0xCF69 : Status_Actuator_DoorsActuator.Motor_Vent_SRL"}, {(uint8_t *)&statusData.Status_Actuator_DoorsActuator + 20, sizeof(statusData.Status_Actuator_DoorsActuator.Motor_Vent_CRL), "0xCF6A : Status_Actuator_DoorsActuator.Motor_Vent_CRL"}, {(uint8_t *)&statusData.Status_Actuator_DoorsActuator + 22, sizeof(statusData.Status_Actuator_DoorsActuator.Motor_Foot_RL), "0xCF6B : Status_Actuator_DoorsActuator.Motor_Foot_RL"}, {(uint8_t *)&statusData.Status_Actuator_DoorsActuator + 24, sizeof(statusData.Status_Actuator_DoorsActuator.Motor_Vent_CRR), "0xCF6C : Status_Actuator_DoorsActuator.Motor_Vent_CRR"}, {(uint8_t *)&statusData.Status_Actuator_DoorsActuator + 26, sizeof(statusData.Status_Actuator_DoorsActuator.Motor_Vent_SRR), "0xCF6D : Status_Actuator_DoorsActuator.Motor_Vent_SRR"}, {(uint8_t *)&statusData.Status_Actuator_DoorsActuator + 28, sizeof(statusData.Status_Actuator_DoorsActuator.Motor_Foot_RR), "0xCF6E : Status_Actuator_DoorsActuator.Motor_Foot_RR"}, {NULL, 0, ""}, {(uint8_t *)&statusData.Status_Actuator_DoorsActuator + 30, sizeof(statusData.Status_Actuator_DoorsActuator.Motor_Temp1_FL), "0xCF70 : Status_Actuator_DoorsActuator.Motor_Temp1_FL"}, {(uint8_t *)&statusData.Status_Actuator_DoorsActuator + 32, sizeof(statusData.Status_Actuator_DoorsActuator.Motor_Temp2_FL), "0xCF71 : Status_Actuator_DoorsActuator.Motor_Temp2_FL"}, {(uint8_t *)&statusData.Status_Actuator_DoorsActuator + 34, sizeof(statusData.Status_Actuator_DoorsActuator.Motor_Temp1_FR), "0xCF72 : Status_Actuator_DoorsActuator.Motor_Temp1_FR"}, {(uint8_t *)&statusData.Status_Actuator_DoorsActuator + 36, sizeof(statusData.Status_Actuator_DoorsActuator.Motor_Temp2_FR), "0xCF73 : Status_Actuator_DoorsActuator.Motor_Temp2_FR"}, {(uint8_t *)&statusData.Status_Actuator_DoorsActuator + 38, sizeof(statusData.Status_Actuator_DoorsActuator.Motor_Temp_RL), "0xCF74 : Status_Actuator_DoorsActuator.Motor_Temp_RL"}, {(uint8_t *)&statusData.Status_Actuator_DoorsActuator + 40, sizeof(statusData.Status_Actuator_DoorsActuator.Motor_Temp_RR), "0xCF75 : Status_Actuator_DoorsActuator.Motor_Temp_RR"}, {(uint8_t *)&statusData.Status_Actuator_DoorsActuator + 42, sizeof(statusData.Status_Actuator_DoorsActuator.Motor_REC), "0xCF76 : Status_Actuator_DoorsActuator.Motor_REC"}, {(uint8_t *)&statusData.Status_Actuator_DoorsActuator + 44, sizeof(statusData.Status_Actuator_DoorsActuator.Motor_OSA), "0xCF77 : Status_Actuator_DoorsActuator.Motor_OSA"}, {(uint8_t *)&statusData.Status_Actuator_DoorsActuator + 46, sizeof(statusData.Status_Actuator_DoorsActuator.Motor_SealingValve), "0xCF78 : Status_Actuator_DoorsActuator.Motor_SealingValve"}, {&statusData.Status_Duct_Select, sizeof(statusData.Status_Duct_Select), "0xCF79 : Status_Duct_Select"}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {&statusData.Status_Activated_Cal_Num, sizeof(statusData.Status_Activated_Cal_Num), "0xCFFE : Status_Activated_Cal_Num"}, {&statusData.Internal_SW_Version, sizeof(statusData.Internal_SW_Version), "Internal_SW_Version"} }; const eUds_ReadDataByIdentifier_22_com uds_ReadDataByIdentifier_22_com_F1[256] = { {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {statusData.Software_classification_identification, sizeof(statusData.Software_classification_identification), "0xF151 : Software classification identification"}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {&statusData.Tester_Fingerprint, sizeof(statusData.Tester_Fingerprint), "0xF15A : Tester_Fingerprint"}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {&statusData.Boot_SW_Fingerprint, sizeof(statusData.Boot_SW_Fingerprint), "0xF183 : Boot SW Fingerprint"}, {&statusData.Application_SW_Fingerprint, sizeof(statusData.Application_SW_Fingerprint), "0xF184 : Application SW Fingerprint"}, {NULL, 0, ""}, {&statusData.Status_Active_Diagnostic_Session, sizeof(statusData.Status_Active_Diagnostic_Session), "0xF186 : Active Diagnostic Session"}, {NULL, 0, "0xF187 : Spare Part Number"}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {statusData.Serial_Number, sizeof(statusData.Serial_Number), "0xF18C : Serial Number"}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {statusData.Vehicle_Identification, sizeof(statusData.Vehicle_Identification), "0xF190 : Vehicle Identification"}, {statusData.ECU_hardware_number_NAMI, sizeof(statusData.ECU_hardware_number_NAMI), "0xF191 : ECU hardware number (NAMI)"}, {statusData.ECU_hardware_number_ECU_supplier, sizeof(statusData.ECU_hardware_number_ECU_supplier), "0xF192 : ECU hardware number (ECU supplier)"}, {NULL, 0, ""}, {statusData.ECU_software_number_ECU_supplier, sizeof(statusData.ECU_software_number_ECU_supplier), "0xF194 : ECU software number (ECU supplier)"}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {statusData.ECU_boot_software_identification_ECU_supplier, sizeof(statusData.ECU_boot_software_identification_ECU_supplier), "0xF1F4 : ECU boot software identification (ECU supplier)"}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""} }; //------------------------------------------------------------WRITE-------------------------------------------------------------------------------------------- //------------------------------------------------------------WRITE-------------------------------------------------------------------------------------------- //------------------------------------------------------------WRITE-------------------------------------------------------------------------------------------- //------------------------------------------------------------WRITE-------------------------------------------------------------------------------------------- //------------------------------------------------------------WRITE-------------------------------------------------------------------------------------------- //------------------------------------------------------------WRITE-------------------------------------------------------------------------------------------- //------------------------------------------------------------WRITE-------------------------------------------------------------------------------------------- //------------------------------------------------------------WRITE-------------------------------------------------------------------------------------------- //------------------------------------------------------------WRITE-------------------------------------------------------------------------------------------- //------------------------------------------------------------WRITE-------------------------------------------------------------------------------------------- //------------------------------------------------------------WRITE-------------------------------------------------------------------------------------------- //------------------------------------------------------------WRITE-------------------------------------------------------------------------------------------- //------------------------------------------------------------WRITE-------------------------------------------------------------------------------------------- //------------------------------------------------------------WRITE-------------------------------------------------------------------------------------------- //------------------------------------------------------------WRITE-------------------------------------------------------------------------------------------- //------------------------------------------------------------WRITE-------------------------------------------------------------------------------------------- //------------------------------------------------------------WRITE-------------------------------------------------------------------------------------------- //------------------------------------------------------------WRITE-------------------------------------------------------------------------------------------- //------------------------------------------------------------WRITE-------------------------------------------------------------------------------------------- //------------------------------------------------------------WRITE-------------------------------------------------------------------------------------------- //------------------------------------------------------------WRITE-------------------------------------------------------------------------------------------- //------------------------------------------------------------WRITE-------------------------------------------------------------------------------------------- //------------------------------------------------------------WRITE-------------------------------------------------------------------------------------------- //------------------------------------------------------------WRITE-------------------------------------------------------------------------------------------- //------------------------------------------------------------WRITE-------------------------------------------------------------------------------------------- //------------------------------------------------------------WRITE-------------------------------------------------------------------------------------------- //------------------------------------------------------------WRITE-------------------------------------------------------------------------------------------- //------------------------------------------------------------WRITE-------------------------------------------------------------------------------------------- //------------------------------------------------------------WRITE-------------------------------------------------------------------------------------------- //------------------------------------------------------------WRITE-------------------------------------------------------------------------------------------- //------------------------------------------------------------WRITE-------------------------------------------------------------------------------------------- //------------------------------------------------------------WRITE-------------------------------------------------------------------------------------------- //------------------------------------------------------------WRITE-------------------------------------------------------------------------------------------- const eUds_WriteDataByIdentifier_2E_com uds_WriteDataByIdentifier_2E_com_CF[256] = { {&statusData.Status_CCU_Configuration, sizeof(statusData.Status_CCU_Configuration), "0xCF00 : Status_CCU_Configuration"}, {&statusData.Status_Sensor, sizeof(statusData.Status_Sensor), "0xCF01 : Status_Sensor"}, {&statusData.Status_Actuator_DoorsActuator_FB, sizeof(statusData.Status_Actuator_DoorsActuator_FB), "0xCF02 : Status_Actuator_DoorsActuator_FB"}, {&statusData.Status_Duct_Tgt, sizeof(statusData.Status_Duct_Tgt), "0xCF03 : Status_Duct_Tgt"}, {&statusData.Status_Eva_Tgt, sizeof(statusData.Status_Eva_Tgt), "0xCF04 : Status_Eva_Tgt"}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {&statusData.Status_Actuator_DoorsActuator, sizeof(statusData.Status_Actuator_DoorsActuator), "0xCF50 : Status_Actuator_DoorsActuator"}, {&statusData.Status_IO, sizeof(statusData.Status_IO), "0xCF51 : Status_IO"}, {&statusData.Status_Pwm, sizeof(statusData.Status_Pwm), "0xCF52 : Status_Pwm"}, {&statusData.Status_eComp, sizeof(statusData.Status_eComp), "0xCF53 : Status_eComp"}, {&statusData.Status_External, sizeof(statusData.Status_External), "0xCF54 : Status_External"}, {&statusData.Status_EMS, sizeof(statusData.Status_EMS), "0xCF55 : Status_EMS"}, {&statusData.Status_Ionizer_Aroma, sizeof(statusData.Status_Ionizer_Aroma), "0xCF56 : Status_Ionizer_Aroma"}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {&statusData.Status_Actuator_DoorsActuator, sizeof(statusData.Status_Actuator_DoorsActuator.Motor_Def), "0xCF60 : Status_Actuator_DoorsActuator.Motor_Def"}, {(uint8_t *)&statusData.Status_Actuator_DoorsActuator + 2, sizeof(statusData.Status_Actuator_DoorsActuator.Motor_Vent_SFL), "0xCF61 : Status_Actuator_DoorsActuator.Motor_Vent_SFL"}, {(uint8_t *)&statusData.Status_Actuator_DoorsActuator + 4, sizeof(statusData.Status_Actuator_DoorsActuator.Motor_Vent_CFL), "0xCF62 : Status_Actuator_DoorsActuator.Motor_Vent_CFL"}, {(uint8_t *)&statusData.Status_Actuator_DoorsActuator + 6, sizeof(statusData.Status_Actuator_DoorsActuator.Motor_Foot_1FL), "0xCF63 : Status_Actuator_DoorsActuator.Motor_Foot_1FL"}, {(uint8_t *)&statusData.Status_Actuator_DoorsActuator + 8, sizeof(statusData.Status_Actuator_DoorsActuator.Motor_Foot_2FL), "0xCF64 : Status_Actuator_DoorsActuator.Motor_Foot_2FL"}, {(uint8_t *)&statusData.Status_Actuator_DoorsActuator + 10, sizeof(statusData.Status_Actuator_DoorsActuator.Motor_Vent_CFR), "0xCF65 : Status_Actuator_DoorsActuator.Motor_Vent_CFR"}, {(uint8_t *)&statusData.Status_Actuator_DoorsActuator + 12, sizeof(statusData.Status_Actuator_DoorsActuator.Motor_Vent_SFR), "0xCF66 : Status_Actuator_DoorsActuator.Motor_Vent_SFR"}, {(uint8_t *)&statusData.Status_Actuator_DoorsActuator + 14, sizeof(statusData.Status_Actuator_DoorsActuator.Motor_Foot_1FR), "0xCF67 : Status_Actuator_DoorsActuator.Motor_Foot_1FR"}, {(uint8_t *)&statusData.Status_Actuator_DoorsActuator + 16, sizeof(statusData.Status_Actuator_DoorsActuator.Motor_Foot_2FR), "0xCF68 : Status_Actuator_DoorsActuator.Motor_Foot_2FR"}, {(uint8_t *)&statusData.Status_Actuator_DoorsActuator + 18, sizeof(statusData.Status_Actuator_DoorsActuator.Motor_Vent_SRL), "0xCF69 : Status_Actuator_DoorsActuator.Motor_Vent_SRL"}, {(uint8_t *)&statusData.Status_Actuator_DoorsActuator + 20, sizeof(statusData.Status_Actuator_DoorsActuator.Motor_Vent_CRL), "0xCF6A : Status_Actuator_DoorsActuator.Motor_Vent_CRL"}, {(uint8_t *)&statusData.Status_Actuator_DoorsActuator + 22, sizeof(statusData.Status_Actuator_DoorsActuator.Motor_Foot_RL), "0xCF6B : Status_Actuator_DoorsActuator.Motor_Foot_RL"}, {(uint8_t *)&statusData.Status_Actuator_DoorsActuator + 24, sizeof(statusData.Status_Actuator_DoorsActuator.Motor_Vent_CRR), "0xCF6C : Status_Actuator_DoorsActuator.Motor_Vent_CRR"}, {(uint8_t *)&statusData.Status_Actuator_DoorsActuator + 26, sizeof(statusData.Status_Actuator_DoorsActuator.Motor_Vent_SRR), "0xCF6D : Status_Actuator_DoorsActuator.Motor_Vent_SRR"}, {(uint8_t *)&statusData.Status_Actuator_DoorsActuator + 28, sizeof(statusData.Status_Actuator_DoorsActuator.Motor_Foot_RR), "0xCF6E : Status_Actuator_DoorsActuator.Motor_Foot_RR"}, {NULL, 0, ""}, {(uint8_t *)&statusData.Status_Actuator_DoorsActuator + 30, sizeof(statusData.Status_Actuator_DoorsActuator.Motor_Temp1_FL), "0xCF70 : Status_Actuator_DoorsActuator.Motor_Temp1_FL"}, {(uint8_t *)&statusData.Status_Actuator_DoorsActuator + 32, sizeof(statusData.Status_Actuator_DoorsActuator.Motor_Temp2_FL), "0xCF71 : Status_Actuator_DoorsActuator.Motor_Temp2_FL"}, {(uint8_t *)&statusData.Status_Actuator_DoorsActuator + 34, sizeof(statusData.Status_Actuator_DoorsActuator.Motor_Temp1_FR), "0xCF72 : Status_Actuator_DoorsActuator.Motor_Temp1_FR"}, {(uint8_t *)&statusData.Status_Actuator_DoorsActuator + 36, sizeof(statusData.Status_Actuator_DoorsActuator.Motor_Temp2_FR), "0xCF73 : Status_Actuator_DoorsActuator.Motor_Temp2_FR"}, {(uint8_t *)&statusData.Status_Actuator_DoorsActuator + 38, sizeof(statusData.Status_Actuator_DoorsActuator.Motor_Temp_RL), "0xCF74 : Status_Actuator_DoorsActuator.Motor_Temp_RL"}, {(uint8_t *)&statusData.Status_Actuator_DoorsActuator + 40, sizeof(statusData.Status_Actuator_DoorsActuator.Motor_Temp_RR), "0xCF75 : Status_Actuator_DoorsActuator.Motor_Temp_RR"}, {(uint8_t *)&statusData.Status_Actuator_DoorsActuator + 42, sizeof(statusData.Status_Actuator_DoorsActuator.Motor_REC), "0xCF76 : Status_Actuator_DoorsActuator.Motor_REC"}, {(uint8_t *)&statusData.Status_Actuator_DoorsActuator + 44, sizeof(statusData.Status_Actuator_DoorsActuator.Motor_OSA), "0xCF77 : Status_Actuator_DoorsActuator.Motor_OSA"}, {(uint8_t *)&statusData.Status_Actuator_DoorsActuator + 46, sizeof(statusData.Status_Actuator_DoorsActuator.Motor_SealingValve), "0xCF78 : Status_Actuator_DoorsActuator.Motor_SealingValve"}, {&statusData.Status_Duct_Select, sizeof(statusData.Status_Duct_Select), "0xCF79 : Status_Duct_Select"}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {&statusData.Status_Activated_Cal_Num, sizeof(statusData.Status_Activated_Cal_Num), "0xCFFE : Status_Activated_Cal_Num"}, {&statusData.Internal_SW_Version, sizeof(statusData.Internal_SW_Version), "Internal_SW_Version"} }; const eUds_WriteDataByIdentifier_2E_com uds_WriteDataByIdentifier_2E_com_F1[256] = { {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {statusData.Software_classification_identification, sizeof(statusData.Software_classification_identification), "0xF151 : Software classification identification"}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {&statusData.Tester_Fingerprint, sizeof(statusData.Tester_Fingerprint), "0xF15A : Tester_Fingerprint"}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {&statusData.Boot_SW_Fingerprint, sizeof(statusData.Boot_SW_Fingerprint), "0xF183 : Boot SW Fingerprint"}, {&statusData.Application_SW_Fingerprint, sizeof(statusData.Application_SW_Fingerprint), "0xF184 : Application SW Fingerprint"}, {NULL, 0, ""}, {&statusData.Status_Active_Diagnostic_Session, sizeof(statusData.Status_Active_Diagnostic_Session), "0xF186 : Active Diagnostic Session"}, {NULL, 0, "0xF187 : Spare Part Number"}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {statusData.Serial_Number, sizeof(statusData.Serial_Number), "0xF18C : Serial Number"}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {statusData.Vehicle_Identification, sizeof(statusData.Vehicle_Identification), "0xF190 : Vehicle Identification"}, {statusData.ECU_hardware_number_NAMI, sizeof(statusData.ECU_hardware_number_NAMI), "0xF191 : ECU hardware number (NAMI)"}, {statusData.ECU_hardware_number_ECU_supplier, sizeof(statusData.ECU_hardware_number_ECU_supplier), "0xF192 : ECU hardware number (ECU supplier)"}, {NULL, 0, ""}, {statusData.ECU_software_number_ECU_supplier, sizeof(statusData.ECU_software_number_ECU_supplier), "0xF194 : ECU software number (ECU supplier)"}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {statusData.ECU_boot_software_identification_ECU_supplier, sizeof(statusData.ECU_boot_software_identification_ECU_supplier), "0xF1F4 : ECU boot software identification (ECU supplier)"}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""}, {NULL, 0, ""} };