/*  File pwr_siemensclasses.hpp.
 *
 *  Generated by co_convert V6.1.4 18-MAR-2025 18:52:23.06.
 *  Do not edit this file.
 *
 *  Contains type and struct declarations for the types and classes
 *  in volume Siemens.
 */
#ifndef pwr_siemensclasses_hpp
#define pwr_siemensclasses_hpp
#ifndef pwr_class_h
#include "pwr_class.h"
#endif
#ifndef pwr_systemclasses_hpp
#include "pwr_systemclasses.hpp"
#endif
#include "pwr_basecomponentclasses.hpp"
#include "pwr_profibusclasses.hpp"

SiemDR_ErrCause


typedef pwr_tMask pwr_tSiemDR_ErrCause;
typedef enum {
  pwr_mSiemDR_ErrCause_A0              = 1UL,
  pwr_mSiemDR_ErrCause_A1              = 2UL,
  pwr_mSiemDR_ErrCause_A2              = 4UL,
  pwr_mSiemDR_ErrCause_A3              = 8UL,
  pwr_mSiemDR_ErrCause_A4              = 16UL,
  pwr_mSiemDR_ErrCause_A5              = 32UL,
  pwr_mSiemDR_ErrCause_A6              = 64UL,
  pwr_mSiemDR_ErrCause_A7              = 128UL,
  pwr_mSiemDR_ErrCause_B0              = 256UL,
  pwr_mSiemDR_ErrCause_B1              = 512UL,
  pwr_mSiemDR_ErrCause_B2              = 1024UL,
  pwr_mSiemDR_ErrCause_B3              = 2048UL,
  pwr_mSiemDR_ErrCause_B4              = 4096UL,
  pwr_mSiemDR_ErrCause_B5              = 8192UL,
  pwr_mSiemDR_ErrCause_B6              = 16384UL,
  pwr_mSiemDR_ErrCause_B7              = 32768UL,
  pwr_mSiemDR_ErrCause_C0              = 65536UL,
  pwr_mSiemDR_ErrCause_C1              = 131072UL,
  pwr_mSiemDR_ErrCause_C2              = 262144UL,
  pwr_mSiemDR_ErrCause_C3              = 524288UL,
  pwr_mSiemDR_ErrCause_C4              = 1048576UL,
  pwr_mSiemDR_ErrCause_C5              = 2097152UL,
  pwr_mSiemDR_ErrCause_C6              = 4194304UL,
  pwr_mSiemDR_ErrCause_C7              = 8388608UL,
} pwr_mSiemDR_ErrCause;
#ifndef pwr_cClass_Siemens_Motor_1LA
#define pwr_cClass_Siemens_Motor_1LA 4194500616UL
#endif

pwr_Class_Siemens_Motor_1LA


class pwr_Class_Siemens_Motor_1LA : public pwr_Class_BaseMotor {
 public:
};
#ifndef pwr_cClass_Siemens_Di4_IoModule
#define pwr_cClass_Siemens_Di4_IoModule 4194500928UL
#endif

pwr_Class_Siemens_Di4_IoModule


class pwr_Class_Siemens_Di4_IoModule  {
 public:
  pwr_Class_ChanDi                    Ch[4] pwr_dAlignLW;
};
#ifndef pwr_cClass_Siemens_Di2_IoModule
#define pwr_cClass_Siemens_Di2_IoModule 4194500936UL
#endif

pwr_Class_Siemens_Di2_IoModule


class pwr_Class_Siemens_Di2_IoModule  {
 public:
  pwr_Class_ChanDi                    Ch[2] pwr_dAlignLW;
};
#ifndef pwr_cClass_Siemens_Do4_IoModule
#define pwr_cClass_Siemens_Do4_IoModule 4194500944UL
#endif

pwr_Class_Siemens_Do4_IoModule


class pwr_Class_Siemens_Do4_IoModule  {
 public:
  pwr_Class_ChanDo                    Ch[4] pwr_dAlignLW;
};
#ifndef pwr_cClass_Siemens_Do2_IoModule
#define pwr_cClass_Siemens_Do2_IoModule 4194500952UL
#endif

pwr_Class_Siemens_Do2_IoModule


class pwr_Class_Siemens_Do2_IoModule  {
 public:
  pwr_Class_ChanDo                    Ch[2] pwr_dAlignLW;
};
#ifndef pwr_cClass_Siemens_Di32_IoModule
#define pwr_cClass_Siemens_Di32_IoModule 4194500816UL
#endif

pwr_Class_Siemens_Di32_IoModule


class pwr_Class_Siemens_Di32_IoModule  {
 public:
  pwr_Class_ChanDi                    Ch00 pwr_dAlignLW;
  pwr_Class_ChanDi                    Ch01 pwr_dAlignLW;
  pwr_Class_ChanDi                    Ch02 pwr_dAlignLW;
  pwr_Class_ChanDi                    Ch03 pwr_dAlignLW;
  pwr_Class_ChanDi                    Ch04 pwr_dAlignLW;
  pwr_Class_ChanDi                    Ch05 pwr_dAlignLW;
  pwr_Class_ChanDi                    Ch06 pwr_dAlignLW;
  pwr_Class_ChanDi                    Ch07 pwr_dAlignLW;
  pwr_Class_ChanDi                    Ch10 pwr_dAlignLW;
  pwr_Class_ChanDi                    Ch11 pwr_dAlignLW;
  pwr_Class_ChanDi                    Ch12 pwr_dAlignLW;
  pwr_Class_ChanDi                    Ch13 pwr_dAlignLW;
  pwr_Class_ChanDi                    Ch14 pwr_dAlignLW;
  pwr_Class_ChanDi                    Ch15 pwr_dAlignLW;
  pwr_Class_ChanDi                    Ch16 pwr_dAlignLW;
  pwr_Class_ChanDi                    Ch17 pwr_dAlignLW;
  pwr_Class_ChanDi                    Ch20 pwr_dAlignLW;
  pwr_Class_ChanDi                    Ch21 pwr_dAlignLW;
  pwr_Class_ChanDi                    Ch22 pwr_dAlignLW;
  pwr_Class_ChanDi                    Ch23 pwr_dAlignLW;
  pwr_Class_ChanDi                    Ch24 pwr_dAlignLW;
  pwr_Class_ChanDi                    Ch25 pwr_dAlignLW;
  pwr_Class_ChanDi                    Ch26 pwr_dAlignLW;
  pwr_Class_ChanDi                    Ch27 pwr_dAlignLW;
  pwr_Class_ChanDi                    Ch30 pwr_dAlignLW;
  pwr_Class_ChanDi                    Ch31 pwr_dAlignLW;
  pwr_Class_ChanDi                    Ch32 pwr_dAlignLW;
  pwr_Class_ChanDi                    Ch33 pwr_dAlignLW;
  pwr_Class_ChanDi                    Ch34 pwr_dAlignLW;
  pwr_Class_ChanDi                    Ch35 pwr_dAlignLW;
  pwr_Class_ChanDi                    Ch36 pwr_dAlignLW;
  pwr_Class_ChanDi                    Ch37 pwr_dAlignLW;
};
#ifndef pwr_cClass_Siemens_Di16_IoModule
#define pwr_cClass_Siemens_Di16_IoModule 4194500824UL
#endif

pwr_Class_Siemens_Di16_IoModule


class pwr_Class_Siemens_Di16_IoModule  {
 public:
  pwr_Class_ChanDi                    Ch00 pwr_dAlignLW;
  pwr_Class_ChanDi                    Ch01 pwr_dAlignLW;
  pwr_Class_ChanDi                    Ch02 pwr_dAlignLW;
  pwr_Class_ChanDi                    Ch03 pwr_dAlignLW;
  pwr_Class_ChanDi                    Ch04 pwr_dAlignLW;
  pwr_Class_ChanDi                    Ch05 pwr_dAlignLW;
  pwr_Class_ChanDi                    Ch06 pwr_dAlignLW;
  pwr_Class_ChanDi                    Ch07 pwr_dAlignLW;
  pwr_Class_ChanDi                    Ch10 pwr_dAlignLW;
  pwr_Class_ChanDi                    Ch11 pwr_dAlignLW;
  pwr_Class_ChanDi                    Ch12 pwr_dAlignLW;
  pwr_Class_ChanDi                    Ch13 pwr_dAlignLW;
  pwr_Class_ChanDi                    Ch14 pwr_dAlignLW;
  pwr_Class_ChanDi                    Ch15 pwr_dAlignLW;
  pwr_Class_ChanDi                    Ch16 pwr_dAlignLW;
  pwr_Class_ChanDi                    Ch17 pwr_dAlignLW;
};
#ifndef pwr_cClass_Siemens_Dx16_IoModule
#define pwr_cClass_Siemens_Dx16_IoModule 4194500832UL
#endif

pwr_Class_Siemens_Dx16_IoModule


class pwr_Class_Siemens_Dx16_IoModule  {
 public:
  pwr_Class_ChanDi                    ChDi00 pwr_dAlignLW;
  pwr_Class_ChanDi                    ChDi01 pwr_dAlignLW;
  pwr_Class_ChanDi                    ChDi02 pwr_dAlignLW;
  pwr_Class_ChanDi                    ChDi03 pwr_dAlignLW;
  pwr_Class_ChanDi                    ChDi04 pwr_dAlignLW;
  pwr_Class_ChanDi                    ChDi05 pwr_dAlignLW;
  pwr_Class_ChanDi                    ChDi06 pwr_dAlignLW;
  pwr_Class_ChanDi                    ChDi07 pwr_dAlignLW;
  pwr_Class_ChanDi                    ChDi10 pwr_dAlignLW;
  pwr_Class_ChanDi                    ChDi11 pwr_dAlignLW;
  pwr_Class_ChanDi                    ChDi12 pwr_dAlignLW;
  pwr_Class_ChanDi                    ChDi13 pwr_dAlignLW;
  pwr_Class_ChanDi                    ChDi14 pwr_dAlignLW;
  pwr_Class_ChanDi                    ChDi15 pwr_dAlignLW;
  pwr_Class_ChanDi                    ChDi16 pwr_dAlignLW;
  pwr_Class_ChanDi                    ChDi17 pwr_dAlignLW;
  pwr_Class_ChanDo                    ChDo00 pwr_dAlignLW;
  pwr_Class_ChanDo                    ChDo01 pwr_dAlignLW;
  pwr_Class_ChanDo                    ChDo02 pwr_dAlignLW;
  pwr_Class_ChanDo                    ChDo03 pwr_dAlignLW;
  pwr_Class_ChanDo                    ChDo04 pwr_dAlignLW;
  pwr_Class_ChanDo                    ChDo05 pwr_dAlignLW;
  pwr_Class_ChanDo                    ChDo06 pwr_dAlignLW;
  pwr_Class_ChanDo                    ChDo07 pwr_dAlignLW;
  pwr_Class_ChanDo                    ChDo10 pwr_dAlignLW;
  pwr_Class_ChanDo                    ChDo11 pwr_dAlignLW;
  pwr_Class_ChanDo                    ChDo12 pwr_dAlignLW;
  pwr_Class_ChanDo                    ChDo13 pwr_dAlignLW;
  pwr_Class_ChanDo                    ChDo14 pwr_dAlignLW;
  pwr_Class_ChanDo                    ChDo15 pwr_dAlignLW;
  pwr_Class_ChanDo                    ChDo16 pwr_dAlignLW;
  pwr_Class_ChanDo                    ChDo17 pwr_dAlignLW;
};
#ifndef pwr_cClass_Siemens_Di8_IoModule
#define pwr_cClass_Siemens_Di8_IoModule 4194500840UL
#endif

pwr_Class_Siemens_Di8_IoModule


class pwr_Class_Siemens_Di8_IoModule  {
 public:
  pwr_Class_ChanDi                    Ch[8] pwr_dAlignLW;
};
#ifndef pwr_cClass_Siemens_Do32_IoModule
#define pwr_cClass_Siemens_Do32_IoModule 4194500848UL
#endif

pwr_Class_Siemens_Do32_IoModule


class pwr_Class_Siemens_Do32_IoModule  {
 public:
  pwr_Class_ChanDo                    Ch00 pwr_dAlignLW;
  pwr_Class_ChanDo                    Ch01 pwr_dAlignLW;
  pwr_Class_ChanDo                    Ch02 pwr_dAlignLW;
  pwr_Class_ChanDo                    Ch03 pwr_dAlignLW;
  pwr_Class_ChanDo                    Ch04 pwr_dAlignLW;
  pwr_Class_ChanDo                    Ch05 pwr_dAlignLW;
  pwr_Class_ChanDo                    Ch06 pwr_dAlignLW;
  pwr_Class_ChanDo                    Ch07 pwr_dAlignLW;
  pwr_Class_ChanDo                    Ch10 pwr_dAlignLW;
  pwr_Class_ChanDo                    Ch11 pwr_dAlignLW;
  pwr_Class_ChanDo                    Ch12 pwr_dAlignLW;
  pwr_Class_ChanDo                    Ch13 pwr_dAlignLW;
  pwr_Class_ChanDo                    Ch14 pwr_dAlignLW;
  pwr_Class_ChanDo                    Ch15 pwr_dAlignLW;
  pwr_Class_ChanDo                    Ch16 pwr_dAlignLW;
  pwr_Class_ChanDo                    Ch17 pwr_dAlignLW;
  pwr_Class_ChanDo                    Ch20 pwr_dAlignLW;
  pwr_Class_ChanDo                    Ch21 pwr_dAlignLW;
  pwr_Class_ChanDo                    Ch22 pwr_dAlignLW;
  pwr_Class_ChanDo                    Ch23 pwr_dAlignLW;
  pwr_Class_ChanDo                    Ch24 pwr_dAlignLW;
  pwr_Class_ChanDo                    Ch25 pwr_dAlignLW;
  pwr_Class_ChanDo                    Ch26 pwr_dAlignLW;
  pwr_Class_ChanDo                    Ch27 pwr_dAlignLW;
  pwr_Class_ChanDo                    Ch30 pwr_dAlignLW;
  pwr_Class_ChanDo                    Ch31 pwr_dAlignLW;
  pwr_Class_ChanDo                    Ch32 pwr_dAlignLW;
  pwr_Class_ChanDo                    Ch33 pwr_dAlignLW;
  pwr_Class_ChanDo                    Ch34 pwr_dAlignLW;
  pwr_Class_ChanDo                    Ch35 pwr_dAlignLW;
  pwr_Class_ChanDo                    Ch36 pwr_dAlignLW;
  pwr_Class_ChanDo                    Ch37 pwr_dAlignLW;
};
#ifndef pwr_cClass_Siemens_Do16_IoModule
#define pwr_cClass_Siemens_Do16_IoModule 4194500856UL
#endif

pwr_Class_Siemens_Do16_IoModule


class pwr_Class_Siemens_Do16_IoModule  {
 public:
  pwr_Class_ChanDo                    Ch00 pwr_dAlignLW;
  pwr_Class_ChanDo                    Ch01 pwr_dAlignLW;
  pwr_Class_ChanDo                    Ch02 pwr_dAlignLW;
  pwr_Class_ChanDo                    Ch03 pwr_dAlignLW;
  pwr_Class_ChanDo                    Ch04 pwr_dAlignLW;
  pwr_Class_ChanDo                    Ch05 pwr_dAlignLW;
  pwr_Class_ChanDo                    Ch06 pwr_dAlignLW;
  pwr_Class_ChanDo                    Ch07 pwr_dAlignLW;
  pwr_Class_ChanDo                    Ch10 pwr_dAlignLW;
  pwr_Class_ChanDo                    Ch11 pwr_dAlignLW;
  pwr_Class_ChanDo                    Ch12 pwr_dAlignLW;
  pwr_Class_ChanDo                    Ch13 pwr_dAlignLW;
  pwr_Class_ChanDo                    Ch14 pwr_dAlignLW;
  pwr_Class_ChanDo                    Ch15 pwr_dAlignLW;
  pwr_Class_ChanDo                    Ch16 pwr_dAlignLW;
  pwr_Class_ChanDo                    Ch17 pwr_dAlignLW;
};
#ifndef pwr_cClass_Siemens_Do8_IoModule
#define pwr_cClass_Siemens_Do8_IoModule 4194500864UL
#endif

pwr_Class_Siemens_Do8_IoModule


class pwr_Class_Siemens_Do8_IoModule  {
 public:
  pwr_Class_ChanDo                    Ch[8] pwr_dAlignLW;
};
#ifndef pwr_cClass_Siemens_Ai8_IoModule
#define pwr_cClass_Siemens_Ai8_IoModule 4194500872UL
#endif

pwr_Class_Siemens_Ai8_IoModule


class pwr_Class_Siemens_Ai8_IoModule  {
 public:
  pwr_Class_ChanAi                    Ch[8] pwr_dAlignLW;
};
#ifndef pwr_cClass_Siemens_Ai4_IoModule
#define pwr_cClass_Siemens_Ai4_IoModule 4194500880UL
#endif

pwr_Class_Siemens_Ai4_IoModule


class pwr_Class_Siemens_Ai4_IoModule  {
 public:
  pwr_Class_ChanAi                    Ch[4] pwr_dAlignLW;
};
#ifndef pwr_cClass_Siemens_Ai2_IoModule
#define pwr_cClass_Siemens_Ai2_IoModule 4194500888UL
#endif

pwr_Class_Siemens_Ai2_IoModule


class pwr_Class_Siemens_Ai2_IoModule  {
 public:
  pwr_Class_ChanAi                    Ch[2] pwr_dAlignLW;
};
#ifndef pwr_cClass_Siemens_Ao8_IoModule
#define pwr_cClass_Siemens_Ao8_IoModule 4194500896UL
#endif

pwr_Class_Siemens_Ao8_IoModule


class pwr_Class_Siemens_Ao8_IoModule  {
 public:
  pwr_Class_ChanAo                    Ch[8] pwr_dAlignLW;
};
#ifndef pwr_cClass_Siemens_Ao4_IoModule
#define pwr_cClass_Siemens_Ao4_IoModule 4194500904UL
#endif

pwr_Class_Siemens_Ao4_IoModule


class pwr_Class_Siemens_Ao4_IoModule  {
 public:
  pwr_Class_ChanAo                    Ch[4] pwr_dAlignLW;
};
#ifndef pwr_cClass_Siemens_Ao2_IoModule
#define pwr_cClass_Siemens_Ao2_IoModule 4194500912UL
#endif

pwr_Class_Siemens_Ao2_IoModule


class pwr_Class_Siemens_Ao2_IoModule  {
 public:
  pwr_Class_ChanAo                    Ch[2] pwr_dAlignLW;
};
#ifndef pwr_cClass_Siemens_Di4_PnModule
#define pwr_cClass_Siemens_Di4_PnModule 4194500960UL
#endif

pwr_Class_Siemens_Di4_PnModule


class pwr_Class_Siemens_Di4_PnModule : public pwr_Class_PnModule {
 public:
  pwr_Class_Siemens_Di4_IoModule      Io pwr_dAlignLW;
};
#ifndef pwr_cClass_Siemens_Di2_PnModule
#define pwr_cClass_Siemens_Di2_PnModule 4194500968UL
#endif

pwr_Class_Siemens_Di2_PnModule


class pwr_Class_Siemens_Di2_PnModule : public pwr_Class_PnModule {
 public:
  pwr_Class_Siemens_Di2_IoModule      Io pwr_dAlignLW;
};
#ifndef pwr_cClass_Siemens_Do4_PnModule
#define pwr_cClass_Siemens_Do4_PnModule 4194500976UL
#endif

pwr_Class_Siemens_Do4_PnModule


class pwr_Class_Siemens_Do4_PnModule : public pwr_Class_PnModule {
 public:
  pwr_Class_Siemens_Do4_IoModule      Io pwr_dAlignLW;
};
#ifndef pwr_cClass_Siemens_Do2_PnModule
#define pwr_cClass_Siemens_Do2_PnModule 4194500984UL
#endif

pwr_Class_Siemens_Do2_PnModule


class pwr_Class_Siemens_Do2_PnModule : public pwr_Class_PnModule {
 public:
  pwr_Class_Siemens_Do2_IoModule      Io pwr_dAlignLW;
};
#ifndef pwr_cClass_Siemens_Di32_PnModule
#define pwr_cClass_Siemens_Di32_PnModule 4194500992UL
#endif

pwr_Class_Siemens_Di32_PnModule


class pwr_Class_Siemens_Di32_PnModule : public pwr_Class_PnModule {
 public:
  pwr_Class_Siemens_Di32_IoModule     Io pwr_dAlignLW;
};
#ifndef pwr_cClass_Siemens_Di16_PnModule
#define pwr_cClass_Siemens_Di16_PnModule 4194501000UL
#endif

pwr_Class_Siemens_Di16_PnModule


class pwr_Class_Siemens_Di16_PnModule : public pwr_Class_PnModule {
 public:
  pwr_Class_Siemens_Di16_IoModule     Io pwr_dAlignLW;
};
#ifndef pwr_cClass_Siemens_Dx16_PnModule
#define pwr_cClass_Siemens_Dx16_PnModule 4194501008UL
#endif

pwr_Class_Siemens_Dx16_PnModule


class pwr_Class_Siemens_Dx16_PnModule : public pwr_Class_PnModule {
 public:
  pwr_Class_Siemens_Dx16_IoModule     Io pwr_dAlignLW;
};
#ifndef pwr_cClass_Siemens_Di8_PnModule
#define pwr_cClass_Siemens_Di8_PnModule 4194501016UL
#endif

pwr_Class_Siemens_Di8_PnModule


class pwr_Class_Siemens_Di8_PnModule : public pwr_Class_PnModule {
 public:
  pwr_Class_Siemens_Di8_IoModule      Io pwr_dAlignLW;
};
#ifndef pwr_cClass_Siemens_Do32_PnModule
#define pwr_cClass_Siemens_Do32_PnModule 4194501024UL
#endif

pwr_Class_Siemens_Do32_PnModule


class pwr_Class_Siemens_Do32_PnModule : public pwr_Class_PnModule {
 public:
  pwr_Class_Siemens_Do32_IoModule     Io pwr_dAlignLW;
};
#ifndef pwr_cClass_Siemens_Do16_PnModule
#define pwr_cClass_Siemens_Do16_PnModule 4194501032UL
#endif

pwr_Class_Siemens_Do16_PnModule


class pwr_Class_Siemens_Do16_PnModule : public pwr_Class_PnModule {
 public:
  pwr_Class_Siemens_Do16_IoModule     Io pwr_dAlignLW;
};
#ifndef pwr_cClass_Siemens_Do8_PnModule
#define pwr_cClass_Siemens_Do8_PnModule 4194501040UL
#endif

pwr_Class_Siemens_Do8_PnModule


class pwr_Class_Siemens_Do8_PnModule : public pwr_Class_PnModule {
 public:
  pwr_Class_Siemens_Do8_IoModule      Io pwr_dAlignLW;
};
#ifndef pwr_cClass_Siemens_Ai8_PnModule
#define pwr_cClass_Siemens_Ai8_PnModule 4194501048UL
#endif

pwr_Class_Siemens_Ai8_PnModule


class pwr_Class_Siemens_Ai8_PnModule : public pwr_Class_PnModule {
 public:
  pwr_Class_Siemens_Ai8_IoModule      Io pwr_dAlignLW;
};
#ifndef pwr_cClass_Siemens_Ai4_PnModule
#define pwr_cClass_Siemens_Ai4_PnModule 4194501056UL
#endif

pwr_Class_Siemens_Ai4_PnModule


class pwr_Class_Siemens_Ai4_PnModule : public pwr_Class_PnModule {
 public:
  pwr_Class_Siemens_Ai4_IoModule      Io pwr_dAlignLW;
};
#ifndef pwr_cClass_Siemens_Ai2_PnModule
#define pwr_cClass_Siemens_Ai2_PnModule 4194501064UL
#endif

pwr_Class_Siemens_Ai2_PnModule


class pwr_Class_Siemens_Ai2_PnModule : public pwr_Class_PnModule {
 public:
  pwr_Class_Siemens_Ai2_IoModule      Io pwr_dAlignLW;
};
#ifndef pwr_cClass_Siemens_Ao8_PnModule
#define pwr_cClass_Siemens_Ao8_PnModule 4194501072UL
#endif

pwr_Class_Siemens_Ao8_PnModule


class pwr_Class_Siemens_Ao8_PnModule : public pwr_Class_PnModule {
 public:
  pwr_Class_Siemens_Ao8_IoModule      Io pwr_dAlignLW;
};
#ifndef pwr_cClass_Siemens_Ao4_PnModule
#define pwr_cClass_Siemens_Ao4_PnModule 4194501080UL
#endif

pwr_Class_Siemens_Ao4_PnModule


class pwr_Class_Siemens_Ao4_PnModule : public pwr_Class_PnModule {
 public:
  pwr_Class_Siemens_Ao4_IoModule      Io pwr_dAlignLW;
};
#ifndef pwr_cClass_Siemens_Ao2_PnModule
#define pwr_cClass_Siemens_Ao2_PnModule 4194501088UL
#endif

pwr_Class_Siemens_Ao2_PnModule


class pwr_Class_Siemens_Ao2_PnModule : public pwr_Class_PnModule {
 public:
  pwr_Class_Siemens_Ao2_IoModule      Io pwr_dAlignLW;
};
#ifndef pwr_cClass_Siemens_ET200_Ai2
#define pwr_cClass_Siemens_ET200_Ai2 4194500624UL
#endif

pwr_Class_Siemens_ET200_Ai2


class pwr_Class_Siemens_ET200_Ai2 : public pwr_Class_Pb_Module {
 public:
  pwr_Class_ChanAi                    Ch[2] pwr_dAlignLW;
};
#ifndef pwr_cClass_Siemens_ET200S_Ao2
#define pwr_cClass_Siemens_ET200S_Ao2 4194500632UL
#endif

pwr_Class_Siemens_ET200S_Ao2


class pwr_Class_Siemens_ET200S_Ao2 : public pwr_Class_Pb_Module {
 public:
  pwr_Class_ChanAo                    Ch[2] pwr_dAlignLW;
};
#ifndef pwr_cClass_Siemens_ET200S_Di8
#define pwr_cClass_Siemens_ET200S_Di8 4194501160UL
#endif

pwr_Class_Siemens_ET200S_Di8


class pwr_Class_Siemens_ET200S_Di8 : public pwr_Class_Pb_Module {
 public:
  pwr_Class_ChanDi                    Ch[8] pwr_dAlignLW;
};
#ifndef pwr_cClass_Siemens_ET200S_Di4
#define pwr_cClass_Siemens_ET200S_Di4 4194500640UL
#endif

pwr_Class_Siemens_ET200S_Di4


class pwr_Class_Siemens_ET200S_Di4 : public pwr_Class_Pb_Module {
 public:
  pwr_Class_ChanDi                    Ch[4] pwr_dAlignLW;
};
#ifndef pwr_cClass_Siemens_ET200S_Di2
#define pwr_cClass_Siemens_ET200S_Di2 4194500768UL
#endif

pwr_Class_Siemens_ET200S_Di2


class pwr_Class_Siemens_ET200S_Di2 : public pwr_Class_Pb_Module {
 public:
  pwr_Class_ChanDi                    Ch[2] pwr_dAlignLW;
};
#ifndef pwr_cClass_Siemens_ET200S_Do8
#define pwr_cClass_Siemens_ET200S_Do8 4194501168UL
#endif

pwr_Class_Siemens_ET200S_Do8


class pwr_Class_Siemens_ET200S_Do8 : public pwr_Class_Pb_Module {
 public:
  pwr_Class_ChanDo                    Ch[8] pwr_dAlignLW;
};
#ifndef pwr_cClass_Siemens_ET200S_Do4
#define pwr_cClass_Siemens_ET200S_Do4 4194500648UL
#endif

pwr_Class_Siemens_ET200S_Do4


class pwr_Class_Siemens_ET200S_Do4 : public pwr_Class_Pb_Module {
 public:
  pwr_Class_ChanDo                    Ch[4] pwr_dAlignLW;
};
#ifndef pwr_cClass_Siemens_ET200S_Do2
#define pwr_cClass_Siemens_ET200S_Do2 4194500776UL
#endif

pwr_Class_Siemens_ET200S_Do2


class pwr_Class_Siemens_ET200S_Do2 : public pwr_Class_Pb_Module {
 public:
  pwr_Class_ChanDo                    Ch[2] pwr_dAlignLW;
};
#ifndef pwr_cClass_Siemens_ET200M_Di32
#define pwr_cClass_Siemens_ET200M_Di32 4194500672UL
#endif

pwr_Class_Siemens_ET200M_Di32


class pwr_Class_Siemens_ET200M_Di32 : public pwr_Class_Pb_Module {
 public:
  pwr_Class_ChanDi                    Ch00 pwr_dAlignLW;
  pwr_Class_ChanDi                    Ch01 pwr_dAlignLW;
  pwr_Class_ChanDi                    Ch02 pwr_dAlignLW;
  pwr_Class_ChanDi                    Ch03 pwr_dAlignLW;
  pwr_Class_ChanDi                    Ch04 pwr_dAlignLW;
  pwr_Class_ChanDi                    Ch05 pwr_dAlignLW;
  pwr_Class_ChanDi                    Ch06 pwr_dAlignLW;
  pwr_Class_ChanDi                    Ch07 pwr_dAlignLW;
  pwr_Class_ChanDi                    Ch10 pwr_dAlignLW;
  pwr_Class_ChanDi                    Ch11 pwr_dAlignLW;
  pwr_Class_ChanDi                    Ch12 pwr_dAlignLW;
  pwr_Class_ChanDi                    Ch13 pwr_dAlignLW;
  pwr_Class_ChanDi                    Ch14 pwr_dAlignLW;
  pwr_Class_ChanDi                    Ch15 pwr_dAlignLW;
  pwr_Class_ChanDi                    Ch16 pwr_dAlignLW;
  pwr_Class_ChanDi                    Ch17 pwr_dAlignLW;
  pwr_Class_ChanDi                    Ch20 pwr_dAlignLW;
  pwr_Class_ChanDi                    Ch21 pwr_dAlignLW;
  pwr_Class_ChanDi                    Ch22 pwr_dAlignLW;
  pwr_Class_ChanDi                    Ch23 pwr_dAlignLW;
  pwr_Class_ChanDi                    Ch24 pwr_dAlignLW;
  pwr_Class_ChanDi                    Ch25 pwr_dAlignLW;
  pwr_Class_ChanDi                    Ch26 pwr_dAlignLW;
  pwr_Class_ChanDi                    Ch27 pwr_dAlignLW;
  pwr_Class_ChanDi                    Ch30 pwr_dAlignLW;
  pwr_Class_ChanDi                    Ch31 pwr_dAlignLW;
  pwr_Class_ChanDi                    Ch32 pwr_dAlignLW;
  pwr_Class_ChanDi                    Ch33 pwr_dAlignLW;
  pwr_Class_ChanDi                    Ch34 pwr_dAlignLW;
  pwr_Class_ChanDi                    Ch35 pwr_dAlignLW;
  pwr_Class_ChanDi                    Ch36 pwr_dAlignLW;
  pwr_Class_ChanDi                    Ch37 pwr_dAlignLW;
};
#ifndef pwr_cClass_Siemens_ET200M_Di16
#define pwr_cClass_Siemens_ET200M_Di16 4194500688UL
#endif

pwr_Class_Siemens_ET200M_Di16


class pwr_Class_Siemens_ET200M_Di16 : public pwr_Class_Pb_Module {
 public:
  pwr_Class_ChanDi                    Ch00 pwr_dAlignLW;
  pwr_Class_ChanDi                    Ch01 pwr_dAlignLW;
  pwr_Class_ChanDi                    Ch02 pwr_dAlignLW;
  pwr_Class_ChanDi                    Ch03 pwr_dAlignLW;
  pwr_Class_ChanDi                    Ch04 pwr_dAlignLW;
  pwr_Class_ChanDi                    Ch05 pwr_dAlignLW;
  pwr_Class_ChanDi                    Ch06 pwr_dAlignLW;
  pwr_Class_ChanDi                    Ch07 pwr_dAlignLW;
  pwr_Class_ChanDi                    Ch10 pwr_dAlignLW;
  pwr_Class_ChanDi                    Ch11 pwr_dAlignLW;
  pwr_Class_ChanDi                    Ch12 pwr_dAlignLW;
  pwr_Class_ChanDi                    Ch13 pwr_dAlignLW;
  pwr_Class_ChanDi                    Ch14 pwr_dAlignLW;
  pwr_Class_ChanDi                    Ch15 pwr_dAlignLW;
  pwr_Class_ChanDi                    Ch16 pwr_dAlignLW;
  pwr_Class_ChanDi                    Ch17 pwr_dAlignLW;
};
#ifndef pwr_cClass_Siemens_ET200M_Dx16
#define pwr_cClass_Siemens_ET200M_Dx16 4194500800UL
#endif

pwr_Class_Siemens_ET200M_Dx16


class pwr_Class_Siemens_ET200M_Dx16 : public pwr_Class_Pb_Module {
 public:
  pwr_Class_ChanDi                    ChDi00 pwr_dAlignLW;
  pwr_Class_ChanDi                    ChDi01 pwr_dAlignLW;
  pwr_Class_ChanDi                    ChDi02 pwr_dAlignLW;
  pwr_Class_ChanDi                    ChDi03 pwr_dAlignLW;
  pwr_Class_ChanDi                    ChDi04 pwr_dAlignLW;
  pwr_Class_ChanDi                    ChDi05 pwr_dAlignLW;
  pwr_Class_ChanDi                    ChDi06 pwr_dAlignLW;
  pwr_Class_ChanDi                    ChDi07 pwr_dAlignLW;
  pwr_Class_ChanDi                    ChDi10 pwr_dAlignLW;
  pwr_Class_ChanDi                    ChDi11 pwr_dAlignLW;
  pwr_Class_ChanDi                    ChDi12 pwr_dAlignLW;
  pwr_Class_ChanDi                    ChDi13 pwr_dAlignLW;
  pwr_Class_ChanDi                    ChDi14 pwr_dAlignLW;
  pwr_Class_ChanDi                    ChDi15 pwr_dAlignLW;
  pwr_Class_ChanDi                    ChDi16 pwr_dAlignLW;
  pwr_Class_ChanDi                    ChDi17 pwr_dAlignLW;
  pwr_Class_ChanDo                    ChDo00 pwr_dAlignLW;
  pwr_Class_ChanDo                    ChDo01 pwr_dAlignLW;
  pwr_Class_ChanDo                    ChDo02 pwr_dAlignLW;
  pwr_Class_ChanDo                    ChDo03 pwr_dAlignLW;
  pwr_Class_ChanDo                    ChDo04 pwr_dAlignLW;
  pwr_Class_ChanDo                    ChDo05 pwr_dAlignLW;
  pwr_Class_ChanDo                    ChDo06 pwr_dAlignLW;
  pwr_Class_ChanDo                    ChDo07 pwr_dAlignLW;
  pwr_Class_ChanDo                    ChDo10 pwr_dAlignLW;
  pwr_Class_ChanDo                    ChDo11 pwr_dAlignLW;
  pwr_Class_ChanDo                    ChDo12 pwr_dAlignLW;
  pwr_Class_ChanDo                    ChDo13 pwr_dAlignLW;
  pwr_Class_ChanDo                    ChDo14 pwr_dAlignLW;
  pwr_Class_ChanDo                    ChDo15 pwr_dAlignLW;
  pwr_Class_ChanDo                    ChDo16 pwr_dAlignLW;
  pwr_Class_ChanDo                    ChDo17 pwr_dAlignLW;
};
#ifndef pwr_cClass_Siemens_ET200M_Di8
#define pwr_cClass_Siemens_ET200M_Di8 4194500680UL
#endif

pwr_Class_Siemens_ET200M_Di8


class pwr_Class_Siemens_ET200M_Di8 : public pwr_Class_Pb_Module {
 public:
  pwr_Class_ChanDi                    Ch[8] pwr_dAlignLW;
};
#ifndef pwr_cClass_Siemens_ET200M_Do32
#define pwr_cClass_Siemens_ET200M_Do32 4194500696UL
#endif

pwr_Class_Siemens_ET200M_Do32


class pwr_Class_Siemens_ET200M_Do32 : public pwr_Class_Pb_Module {
 public:
  pwr_Class_ChanDo                    Ch00 pwr_dAlignLW;
  pwr_Class_ChanDo                    Ch01 pwr_dAlignLW;
  pwr_Class_ChanDo                    Ch02 pwr_dAlignLW;
  pwr_Class_ChanDo                    Ch03 pwr_dAlignLW;
  pwr_Class_ChanDo                    Ch04 pwr_dAlignLW;
  pwr_Class_ChanDo                    Ch05 pwr_dAlignLW;
  pwr_Class_ChanDo                    Ch06 pwr_dAlignLW;
  pwr_Class_ChanDo                    Ch07 pwr_dAlignLW;
  pwr_Class_ChanDo                    Ch10 pwr_dAlignLW;
  pwr_Class_ChanDo                    Ch11 pwr_dAlignLW;
  pwr_Class_ChanDo                    Ch12 pwr_dAlignLW;
  pwr_Class_ChanDo                    Ch13 pwr_dAlignLW;
  pwr_Class_ChanDo                    Ch14 pwr_dAlignLW;
  pwr_Class_ChanDo                    Ch15 pwr_dAlignLW;
  pwr_Class_ChanDo                    Ch16 pwr_dAlignLW;
  pwr_Class_ChanDo                    Ch17 pwr_dAlignLW;
  pwr_Class_ChanDo                    Ch20 pwr_dAlignLW;
  pwr_Class_ChanDo                    Ch21 pwr_dAlignLW;
  pwr_Class_ChanDo                    Ch22 pwr_dAlignLW;
  pwr_Class_ChanDo                    Ch23 pwr_dAlignLW;
  pwr_Class_ChanDo                    Ch24 pwr_dAlignLW;
  pwr_Class_ChanDo                    Ch25 pwr_dAlignLW;
  pwr_Class_ChanDo                    Ch26 pwr_dAlignLW;
  pwr_Class_ChanDo                    Ch27 pwr_dAlignLW;
  pwr_Class_ChanDo                    Ch30 pwr_dAlignLW;
  pwr_Class_ChanDo                    Ch31 pwr_dAlignLW;
  pwr_Class_ChanDo                    Ch32 pwr_dAlignLW;
  pwr_Class_ChanDo                    Ch33 pwr_dAlignLW;
  pwr_Class_ChanDo                    Ch34 pwr_dAlignLW;
  pwr_Class_ChanDo                    Ch35 pwr_dAlignLW;
  pwr_Class_ChanDo                    Ch36 pwr_dAlignLW;
  pwr_Class_ChanDo                    Ch37 pwr_dAlignLW;
};
#ifndef pwr_cClass_Siemens_ET200M_Do16
#define pwr_cClass_Siemens_ET200M_Do16 4194500712UL
#endif

pwr_Class_Siemens_ET200M_Do16


class pwr_Class_Siemens_ET200M_Do16 : public pwr_Class_Pb_Module {
 public:
  pwr_Class_ChanDo                    Ch00 pwr_dAlignLW;
  pwr_Class_ChanDo                    Ch01 pwr_dAlignLW;
  pwr_Class_ChanDo                    Ch02 pwr_dAlignLW;
  pwr_Class_ChanDo                    Ch03 pwr_dAlignLW;
  pwr_Class_ChanDo                    Ch04 pwr_dAlignLW;
  pwr_Class_ChanDo                    Ch05 pwr_dAlignLW;
  pwr_Class_ChanDo                    Ch06 pwr_dAlignLW;
  pwr_Class_ChanDo                    Ch07 pwr_dAlignLW;
  pwr_Class_ChanDo                    Ch10 pwr_dAlignLW;
  pwr_Class_ChanDo                    Ch11 pwr_dAlignLW;
  pwr_Class_ChanDo                    Ch12 pwr_dAlignLW;
  pwr_Class_ChanDo                    Ch13 pwr_dAlignLW;
  pwr_Class_ChanDo                    Ch14 pwr_dAlignLW;
  pwr_Class_ChanDo                    Ch15 pwr_dAlignLW;
  pwr_Class_ChanDo                    Ch16 pwr_dAlignLW;
  pwr_Class_ChanDo                    Ch17 pwr_dAlignLW;
};
#ifndef pwr_cClass_Siemens_ET200M_Do8
#define pwr_cClass_Siemens_ET200M_Do8 4194500704UL
#endif

pwr_Class_Siemens_ET200M_Do8


class pwr_Class_Siemens_ET200M_Do8 : public pwr_Class_Pb_Module {
 public:
  pwr_Class_ChanDo                    Ch[8] pwr_dAlignLW;
};
#ifndef pwr_cClass_Siemens_ET200M_Ai8
#define pwr_cClass_Siemens_ET200M_Ai8 4194500720UL
#endif

pwr_Class_Siemens_ET200M_Ai8


class pwr_Class_Siemens_ET200M_Ai8 : public pwr_Class_Pb_Module {
 public:
  pwr_Class_ChanAi                    Ch[8] pwr_dAlignLW;
};
#ifndef pwr_cClass_Siemens_ET200M_Ai4
#define pwr_cClass_Siemens_ET200M_Ai4 4194500736UL
#endif

pwr_Class_Siemens_ET200M_Ai4


class pwr_Class_Siemens_ET200M_Ai4 : public pwr_Class_Pb_Module {
 public:
  pwr_Class_ChanAi                    Ch[4] pwr_dAlignLW;
};
#ifndef pwr_cClass_Siemens_ET200M_Ai2
#define pwr_cClass_Siemens_ET200M_Ai2 4194500728UL
#endif

pwr_Class_Siemens_ET200M_Ai2


class pwr_Class_Siemens_ET200M_Ai2 : public pwr_Class_Pb_Module {
 public:
  pwr_Class_ChanAi                    Ch[2] pwr_dAlignLW;
};
#ifndef pwr_cClass_Siemens_ET200M_Ao8
#define pwr_cClass_Siemens_ET200M_Ao8 4194500760UL
#endif

pwr_Class_Siemens_ET200M_Ao8


class pwr_Class_Siemens_ET200M_Ao8 : public pwr_Class_Pb_Module {
 public:
  pwr_Class_ChanAo                    Ch[8] pwr_dAlignLW;
};
#ifndef pwr_cClass_Siemens_ET200M_Ao4
#define pwr_cClass_Siemens_ET200M_Ao4 4194500752UL
#endif

pwr_Class_Siemens_ET200M_Ao4


class pwr_Class_Siemens_ET200M_Ao4 : public pwr_Class_Pb_Module {
 public:
  pwr_Class_ChanAo                    Ch[4] pwr_dAlignLW;
};
#ifndef pwr_cClass_Siemens_ET200M_Ao2
#define pwr_cClass_Siemens_ET200M_Ao2 4194500744UL
#endif

pwr_Class_Siemens_ET200M_Ao2


class pwr_Class_Siemens_ET200M_Ao2 : public pwr_Class_Pb_Module {
 public:
  pwr_Class_ChanAo                    Ch[2] pwr_dAlignLW;
};
#ifndef pwr_cClass_Siemens_ET200S_IM151
#define pwr_cClass_Siemens_ET200S_IM151 4194500656UL
#endif

pwr_Class_Siemens_ET200S_IM151


class pwr_Class_Siemens_ET200S_IM151 : public pwr_Class_Pb_DP_Slave {
 public:
};
#ifndef pwr_cClass_Siemens_ET200M_IM153
#define pwr_cClass_Siemens_ET200M_IM153 4194500664UL
#endif

pwr_Class_Siemens_ET200M_IM153


class pwr_Class_Siemens_ET200M_IM153 : public pwr_Class_Pb_DP_Slave {
 public:
};
#ifndef pwr_cClass_Sinamics_G120_PbSlave
#define pwr_cClass_Sinamics_G120_PbSlave 4194501120UL
#endif

pwr_Class_Sinamics_G120_PbSlave


class pwr_Class_Sinamics_G120_PbSlave : public pwr_Class_Pb_DP_Slave {
 public:
};
#ifndef pwr_cClass_Sinamics_G120_PnDevice
#define pwr_cClass_Sinamics_G120_PnDevice 4194500808UL
#endif

pwr_Class_Sinamics_G120_PnDevice


class pwr_Class_Sinamics_G120_PnDevice : public pwr_Class_PnDevice {
 public:
};
#ifndef pwr_cClass_Siemens_ET200M_PnDevice
#define pwr_cClass_Siemens_ET200M_PnDevice 4194501144UL
#endif

pwr_Class_Siemens_ET200M_PnDevice


class pwr_Class_Siemens_ET200M_PnDevice : public pwr_Class_PnDevice {
 public:
};
#ifndef pwr_cClass_Siemens_ET200S_PnDevice
#define pwr_cClass_Siemens_ET200S_PnDevice 4194501152UL
#endif

pwr_Class_Siemens_ET200S_PnDevice


class pwr_Class_Siemens_ET200S_PnDevice : public pwr_Class_PnDevice {
 public:
};
#ifndef pwr_cClass_Sinamics_Tgm1_PnModule
#define pwr_cClass_Sinamics_Tgm1_PnModule 4194501104UL
#endif

pwr_Class_Sinamics_Tgm1_PnModule


class pwr_Class_Sinamics_Tgm1_PnModule : public pwr_Class_PnModule {
 public:
  pwr_Class_BaseFcPPO3IoModule        Io pwr_dAlignLW;
};
#ifndef pwr_cClass_Sinamics_Tgm1_PbModule
#define pwr_cClass_Sinamics_Tgm1_PbModule 4194501112UL
#endif

pwr_Class_Sinamics_Tgm1_PbModule


class pwr_Class_Sinamics_Tgm1_PbModule : public pwr_Class_Pb_Module {
 public:
  pwr_Class_BaseFcPPO3IoModule        Io pwr_dAlignLW;
};
#ifndef pwr_cClass_Sinamics_G120_Tgm1
#define pwr_cClass_Sinamics_G120_Tgm1 4194501128UL
#endif

pwr_Class_Sinamics_G120_Tgm1


class pwr_Class_Sinamics_G120_Tgm1 : public pwr_Class_BaseFcPPO3 {
 public:
};
#ifndef pwr_cClass_Sinamics_G120_Tgm1Fo
#define pwr_cClass_Sinamics_G120_Tgm1Fo 4194501136UL
#endif

pwr_Class_Sinamics_G120_Tgm1Fo


class pwr_Class_Sinamics_G120_Tgm1Fo  {
 public:
  pwr_tBoolean                        *PowerOnP pwr_dAlignLW;
  pwr_tBoolean                        PowerOn pwr_dAlignLW;
  pwr_tBoolean                        *StartP pwr_dAlignLW;
  pwr_tBoolean                        Start pwr_dAlignLW;
  pwr_tFloat32                        *RefSpeedP pwr_dAlignLW;
  pwr_tFloat32                        RefSpeed pwr_dAlignLW;
  pwr_tBoolean                        *NoOff2P pwr_dAlignLW;
  pwr_tBoolean                        NoOff2 pwr_dAlignLW;
  pwr_tBoolean                        *NoOff3P pwr_dAlignLW;
  pwr_tBoolean                        NoOff3 pwr_dAlignLW;
  pwr_tBoolean                        *EnableOperationP pwr_dAlignLW;
  pwr_tBoolean                        EnableOperation pwr_dAlignLW;
  pwr_tBoolean                        *SupDisabledP pwr_dAlignLW;
  pwr_tBoolean                        SupDisabled pwr_dAlignLW;
  pwr_sAttrRef                        PlcConnect pwr_dAlignW;
  pwr_tBoolean                        ReadyRemote pwr_dAlignW;
  pwr_tBoolean                        Run pwr_dAlignW;
};

pwr_dClass_Sinamics_G120_Tgm1Fo


class pwr_dClass_Sinamics_G120_Tgm1Fo  {
 public:
  pwr_sPlcNode                        PlcNode pwr_dAlignLW;
};
#ifndef pwr_cClass_Siemens_DR_SegmStatus
#define pwr_cClass_Siemens_DR_SegmStatus 4194500792UL
#endif

pwr_Class_Siemens_DR_SegmStatus


class pwr_Class_Siemens_DR_SegmStatus  {
 public:
  pwr_tUInt16                         SlotNr pwr_dAlignLW;
  pwr_tBoolean                        LineDiag pwr_dAlignW;
  pwr_tBoolean                        TopologyON pwr_dAlignW;
  pwr_tBoolean                        SegmentON pwr_dAlignW;
  pwr_tUInt16                         FaultRate pwr_dAlignW;
  pwr_tUInt16                         SlaveX pwr_dAlignW;
  pwr_tUInt16                         SlaveY pwr_dAlignW;
  pwr_tUInt16                         X_Dist pwr_dAlignW;
  pwr_tUInt16                         Y_Dist pwr_dAlignW;
  pwr_tUInt16                         DR_Dist pwr_dAlignW;
  pwr_tSiemDR_ErrCause                ErrCause pwr_dAlignW;
};
#ifndef pwr_cClass_Siemens_DiagRepeater
#define pwr_cClass_Siemens_DiagRepeater 4194500784UL
#endif

pwr_Class_Siemens_DiagRepeater


class pwr_Class_Siemens_DiagRepeater : public pwr_Class_Pb_DP_Slave {
 public:
  pwr_Class_Siemens_DR_SegmStatus     DP1 pwr_dAlignLW;
  pwr_Class_Siemens_DR_SegmStatus     DP2 pwr_dAlignLW;
  pwr_Class_Siemens_DR_SegmStatus     DP3 pwr_dAlignLW;
  pwr_Class_Siemens_DR_SegmStatus     PG pwr_dAlignLW;
};
#endif