/*  File pwr_opcclasses.h.
 *
 *  Generated by co_convert V6.1.4 18-MAR-2025 18:17:54.43.
 *  Do not edit this file.
 *
 *  Contains type and struct declarations for the types and classes
 *  in volume Opc.
 */
#ifndef pwr_opcclasses_h
#define pwr_opcclasses_h
#ifndef pwr_class_h
#include "pwr_class.h"
#endif
#ifndef pwr_systemclasses_h
#include "pwr_systemclasses.h"
#endif

Opc_ServerStateEnum


typedef pwr_tEnum pwr_tOpc_ServerStateEnum;
typedef enum {
  pwr_eOpc_ServerStateEnum_Running     = 0,
  pwr_eOpc_ServerStateEnum_Failed      = 1,
  pwr_eOpc_ServerStateEnum_NoConfig    = 2,
  pwr_eOpc_ServerStateEnum_Suspended   = 3,
  pwr_eOpc_ServerStateEnum_Test        = 4,
  pwr_eOpc_ServerStateEnum_CommFault   = 5,
} pwr_eOpc_ServerStateEnum;

Opc_AccessEnum


typedef pwr_tEnum pwr_tOpc_AccessEnum;
typedef enum {
  pwr_eOpc_AccessEnum_None             = 0,
  pwr_eOpc_AccessEnum_ReadOnly         = 1,
  pwr_eOpc_AccessEnum_ReadWrite        = 2,
} pwr_eOpc_AccessEnum;

Opc_ResultCodeEnum


typedef pwr_tEnum pwr_tOpc_ResultCodeEnum;
typedef enum {
  pwr_eOpc_ResultCodeEnum_None         = 0,
  pwr_eOpc_ResultCodeEnum_Clamp        = 1,
  pwr_eOpc_ResultCodeEnum_DataQueueOverflow = 2,
  pwr_eOpc_ResultCodeEnum_UnsupportedRate = 3,
  pwr_eOpc_ResultCodeEnum_Access_Denied = 4,
  pwr_eOpc_ResultCodeEnum_Busy         = 5,
  pwr_eOpc_ResultCodeEnum_Fail         = 6,
  pwr_eOpc_ResultCodeEnum_InvalidContinuationPoint = 7,
  pwr_eOpc_ResultCodeEnum_InvalidFilter = 8,
  pwr_eOpc_ResultCodeEnum_InvalidHoldTime = 9,
  pwr_eOpc_ResultCodeEnum_InvalidItemName = 10,
  pwr_eOpc_ResultCodeEnum_InvalidItemPath = 11,
  pwr_eOpc_ResultCodeEnum_InvalidPid   = 12,
  pwr_eOpc_ResultCodeEnum_NoSubscription = 13,
  pwr_eOpc_ResultCodeEnum_NotSupported = 14,
  pwr_eOpc_ResultCodeEnum_OutOfMemory  = 15,
  pwr_eOpc_ResultCodeEnum_Range        = 16,
  pwr_eOpc_ResultCodeEnum_ReadOnly     = 17,
  pwr_eOpc_ResultCodeEnum_ServerState  = 18,
  pwr_eOpc_ResultCodeEnum_TimedOut     = 19,
  pwr_eOpc_ResultCodeEnum_UnknownItemName = 20,
  pwr_eOpc_ResultCodeEnum_UnknownItemPath = 21,
  pwr_eOpc_ResultCodeEnum_WriteOnly    = 22,
  pwr_eOpc_ResultCodeEnum_BadType      = 23,
  pwr_eOpc_ResultCodeEnum_Unknown      = 10000,
} pwr_eOpc_ResultCodeEnum;

Opc_MultiThreadedEnum


typedef pwr_tEnum pwr_tOpc_MultiThreadedEnum;
typedef enum {
  pwr_eOpc_MultiThreadedEnum_IfNeeded  = 0,
  pwr_eOpc_MultiThreadedEnum_No        = 1,
  pwr_eOpc_MultiThreadedEnum_Yes       = 2,
} pwr_eOpc_MultiThreadedEnum;
#ifndef pwr_cClass_Opc_ClientAccess
#define pwr_cClass_Opc_ClientAccess 4194894008UL
#endif

pwr_sClass_Opc_ClientAccess


typedef struct {
  pwr_tString16                       Address pwr_dAlignLW;
  pwr_tOpc_AccessEnum                 Access pwr_dAlignW;
} pwr_sClass_Opc_ClientAccess;
#ifndef pwr_cClass_Opc_Hier
#define pwr_cClass_Opc_Hier 4194893832UL
#endif

pwr_sClass_Opc_Hier


typedef struct {
  pwr_tString80                       Description pwr_dAlignLW;
} pwr_sClass_Opc_Hier;
#ifndef pwr_cClass_Opc_String
#define pwr_cClass_Opc_String 4194893840UL
#endif

pwr_sClass_Opc_String


typedef struct {
  pwr_tString80                       Description pwr_dAlignLW;
  pwr_tString80                       Value pwr_dAlignW;
} pwr_sClass_Opc_String;
#ifndef pwr_cClass_Opc_Boolean
#define pwr_cClass_Opc_Boolean 4194893976UL
#endif

pwr_sClass_Opc_Boolean


typedef struct {
  pwr_tString80                       Description pwr_dAlignLW;
  pwr_tBoolean                        Value pwr_dAlignW;
} pwr_sClass_Opc_Boolean;
#ifndef pwr_cClass_Opc_Float
#define pwr_cClass_Opc_Float 4194893968UL
#endif

pwr_sClass_Opc_Float


typedef struct {
  pwr_tString80                       Description pwr_dAlignLW;
  pwr_tFloat32                        Value pwr_dAlignW;
  pwr_tFloat32                        HighEU pwr_dAlignW;
  pwr_tFloat32                        LowEU pwr_dAlignW;
  pwr_tFloat32                        HighIR pwr_dAlignW;
  pwr_tFloat32                        LowIR pwr_dAlignW;
  pwr_tString16                       EngineeringUnits pwr_dAlignW;
  pwr_tBoolean                        EnableSlider pwr_dAlignW;
} pwr_sClass_Opc_Float;
#ifndef pwr_cClass_Opc_Double
#define pwr_cClass_Opc_Double 4194893960UL
#endif

pwr_sClass_Opc_Double


typedef struct {
  pwr_tString80                       Description pwr_dAlignLW;
  pwr_tFloat64                        Value pwr_dAlignLW;
  pwr_tFloat32                        HighEU pwr_dAlignW;
  pwr_tFloat32                        LowEU pwr_dAlignW;
  pwr_tFloat32                        HighIR pwr_dAlignW;
  pwr_tFloat32                        LowIR pwr_dAlignW;
  pwr_tString16                       EngineeringUnits pwr_dAlignW;
  pwr_tBoolean                        EnableSlider pwr_dAlignW;
} pwr_sClass_Opc_Double;
#ifndef pwr_cClass_Opc_Decimal
#define pwr_cClass_Opc_Decimal 4194893952UL
#endif

pwr_sClass_Opc_Decimal


typedef struct {
  pwr_tString80                       Description pwr_dAlignLW;
  pwr_tFloat32                        Value pwr_dAlignW;
  pwr_tFloat32                        HighEU pwr_dAlignW;
  pwr_tFloat32                        LowEU pwr_dAlignW;
  pwr_tFloat32                        HighIR pwr_dAlignW;
  pwr_tFloat32                        LowIR pwr_dAlignW;
  pwr_tString16                       EngineeringUnits pwr_dAlignW;
  pwr_tBoolean                        EnableSlider pwr_dAlignW;
} pwr_sClass_Opc_Decimal;
#ifndef pwr_cClass_Opc_Long
#define pwr_cClass_Opc_Long 4194893944UL
#endif

pwr_sClass_Opc_Long


typedef struct {
  pwr_tString80                       Description pwr_dAlignLW;
  pwr_tInt64                          Value pwr_dAlignLW;
  pwr_tFloat32                        HighEU pwr_dAlignW;
  pwr_tFloat32                        LowEU pwr_dAlignW;
  pwr_tFloat32                        HighIR pwr_dAlignW;
  pwr_tFloat32                        LowIR pwr_dAlignW;
  pwr_tString16                       EngineeringUnits pwr_dAlignW;
  pwr_tBoolean                        EnableSlider pwr_dAlignW;
} pwr_sClass_Opc_Long;
#ifndef pwr_cClass_Opc_Int
#define pwr_cClass_Opc_Int 4194893936UL
#endif

pwr_sClass_Opc_Int


typedef struct {
  pwr_tString80                       Description pwr_dAlignLW;
  pwr_tInt32                          Value pwr_dAlignW;
  pwr_tFloat32                        HighEU pwr_dAlignW;
  pwr_tFloat32                        LowEU pwr_dAlignW;
  pwr_tFloat32                        HighIR pwr_dAlignW;
  pwr_tFloat32                        LowIR pwr_dAlignW;
  pwr_tString16                       EngineeringUnits pwr_dAlignW;
  pwr_tBoolean                        EnableSlider pwr_dAlignW;
} pwr_sClass_Opc_Int;
#ifndef pwr_cClass_Opc_Short
#define pwr_cClass_Opc_Short 4194893928UL
#endif

pwr_sClass_Opc_Short


typedef struct {
  pwr_tString80                       Description pwr_dAlignLW;
  pwr_tInt16                          Value pwr_dAlignW;
  pwr_tFloat32                        HighEU pwr_dAlignW;
  pwr_tFloat32                        LowEU pwr_dAlignW;
  pwr_tFloat32                        HighIR pwr_dAlignW;
  pwr_tFloat32                        LowIR pwr_dAlignW;
  pwr_tString16                       EngineeringUnits pwr_dAlignW;
  pwr_tBoolean                        EnableSlider pwr_dAlignW;
} pwr_sClass_Opc_Short;
#ifndef pwr_cClass_Opc_Byte
#define pwr_cClass_Opc_Byte 4194893920UL
#endif

pwr_sClass_Opc_Byte


typedef struct {
  pwr_tString80                       Description pwr_dAlignLW;
  pwr_tInt8                           Value pwr_dAlignW;
  pwr_tFloat32                        HighEU pwr_dAlignW;
  pwr_tFloat32                        LowEU pwr_dAlignW;
  pwr_tFloat32                        HighIR pwr_dAlignW;
  pwr_tFloat32                        LowIR pwr_dAlignW;
  pwr_tString16                       EngineeringUnits pwr_dAlignW;
  pwr_tBoolean                        EnableSlider pwr_dAlignW;
} pwr_sClass_Opc_Byte;
#ifndef pwr_cClass_Opc_UnsignedLong
#define pwr_cClass_Opc_UnsignedLong 4194893912UL
#endif

pwr_sClass_Opc_UnsignedLong


typedef struct {
  pwr_tString80                       Description pwr_dAlignLW;
  pwr_tUInt64                         Value pwr_dAlignLW;
  pwr_tFloat32                        HighEU pwr_dAlignW;
  pwr_tFloat32                        LowEU pwr_dAlignW;
  pwr_tFloat32                        HighIR pwr_dAlignW;
  pwr_tFloat32                        LowIR pwr_dAlignW;
  pwr_tString16                       EngineeringUnits pwr_dAlignW;
  pwr_tBoolean                        EnableSlider pwr_dAlignW;
} pwr_sClass_Opc_UnsignedLong;
#ifndef pwr_cClass_Opc_UnsignedInt
#define pwr_cClass_Opc_UnsignedInt 4194893904UL
#endif

pwr_sClass_Opc_UnsignedInt


typedef struct {
  pwr_tString80                       Description pwr_dAlignLW;
  pwr_tUInt32                         Value pwr_dAlignW;
  pwr_tFloat32                        HighEU pwr_dAlignW;
  pwr_tFloat32                        LowEU pwr_dAlignW;
  pwr_tFloat32                        HighIR pwr_dAlignW;
  pwr_tFloat32                        LowIR pwr_dAlignW;
  pwr_tString16                       EngineeringUnits pwr_dAlignW;
  pwr_tBoolean                        EnableSlider pwr_dAlignW;
} pwr_sClass_Opc_UnsignedInt;
#ifndef pwr_cClass_Opc_UnsignedShort
#define pwr_cClass_Opc_UnsignedShort 4194893896UL
#endif

pwr_sClass_Opc_UnsignedShort


typedef struct {
  pwr_tString80                       Description pwr_dAlignLW;
  pwr_tUInt16                         Value pwr_dAlignW;
  pwr_tFloat32                        HighEU pwr_dAlignW;
  pwr_tFloat32                        LowEU pwr_dAlignW;
  pwr_tFloat32                        HighIR pwr_dAlignW;
  pwr_tFloat32                        LowIR pwr_dAlignW;
  pwr_tString16                       EngineeringUnits pwr_dAlignW;
  pwr_tBoolean                        EnableSlider pwr_dAlignW;
} pwr_sClass_Opc_UnsignedShort;
#ifndef pwr_cClass_Opc_UnsignedByte
#define pwr_cClass_Opc_UnsignedByte 4194893888UL
#endif

pwr_sClass_Opc_UnsignedByte


typedef struct {
  pwr_tString80                       Description pwr_dAlignLW;
  pwr_tUInt8                          Value pwr_dAlignW;
  pwr_tFloat32                        HighEU pwr_dAlignW;
  pwr_tFloat32                        LowEU pwr_dAlignW;
  pwr_tFloat32                        HighIR pwr_dAlignW;
  pwr_tFloat32                        LowIR pwr_dAlignW;
  pwr_tString16                       EngineeringUnits pwr_dAlignW;
  pwr_tBoolean                        EnableSlider pwr_dAlignW;
} pwr_sClass_Opc_UnsignedByte;
#ifndef pwr_cClass_Opc_Base64Binary
#define pwr_cClass_Opc_Base64Binary 4194893984UL
#endif

pwr_sClass_Opc_Base64Binary


typedef struct {
  pwr_tString80                       Description pwr_dAlignLW;
  pwr_tUInt16                         Value[4] pwr_dAlignW;
} pwr_sClass_Opc_Base64Binary;
#ifndef pwr_cClass_Opc_DateTime
#define pwr_cClass_Opc_DateTime 4194893880UL
#endif

pwr_sClass_Opc_DateTime


typedef struct {
  pwr_tString80                       Description pwr_dAlignLW;
  pwr_tTime                           Value pwr_dAlignLW;
} pwr_sClass_Opc_DateTime;
#ifndef pwr_cClass_Opc_Time
#define pwr_cClass_Opc_Time 4194893872UL
#endif

pwr_sClass_Opc_Time


typedef struct {
  pwr_tString80                       Description pwr_dAlignLW;
  pwr_tTime                           Value pwr_dAlignLW;
} pwr_sClass_Opc_Time;
#ifndef pwr_cClass_Opc_Date
#define pwr_cClass_Opc_Date 4194893864UL
#endif

pwr_sClass_Opc_Date


typedef struct {
  pwr_tString80                       Description pwr_dAlignLW;
  pwr_tTime                           Value pwr_dAlignLW;
} pwr_sClass_Opc_Date;
#ifndef pwr_cClass_Opc_Duration
#define pwr_cClass_Opc_Duration 4194893856UL
#endif

pwr_sClass_Opc_Duration


typedef struct {
  pwr_tString80                       Description pwr_dAlignLW;
  pwr_tDeltaTime                      Value pwr_dAlignLW;
} pwr_sClass_Opc_Duration;
#ifndef pwr_cClass_Opc_QName
#define pwr_cClass_Opc_QName 4194893848UL
#endif

pwr_sClass_Opc_QName


typedef struct {
  pwr_tString80                       Description pwr_dAlignLW;
  pwr_tString256                      Value pwr_dAlignW;
} pwr_sClass_Opc_QName;
#ifndef pwr_cClass_Opc_ServerConfig
#define pwr_cClass_Opc_ServerConfig 4194893992UL
#endif

pwr_sClass_Opc_ServerConfig


typedef struct {
  pwr_tString80                       Description pwr_dAlignLW;
  pwr_tUInt32                         Port pwr_dAlignW;
  pwr_sClass_Opc_ClientAccess         ClientAccess[20] pwr_dAlignLW;
  pwr_tOpc_MultiThreadedEnum          MultiThreaded pwr_dAlignLW;
  pwr_tInt32                          ClientCnt pwr_dAlignW;
  pwr_tInt32                          RequestCnt pwr_dAlignW;
} pwr_sClass_Opc_ServerConfig;
#ifndef pwr_cClass_Opc_ServerState
#define pwr_cClass_Opc_ServerState 4194894000UL
#endif

pwr_sClass_Opc_ServerState


typedef struct {
  pwr_tURL                            Server pwr_dAlignLW;
  pwr_tString80                       VendorInfo pwr_dAlignW;
  pwr_tString80                       ProductVersion pwr_dAlignW;
  pwr_tTime                           StartTime pwr_dAlignLW;
  pwr_tOpc_ServerStateEnum            ServerState pwr_dAlignW;
  pwr_tUInt32                         RequestCnt pwr_dAlignW;
  pwr_tUInt32                         ErrorRequestCnt pwr_dAlignW;
  pwr_tOpc_ResultCodeEnum             LastError pwr_dAlignW;
} pwr_sClass_Opc_ServerState;
#endif