libiec61850  1.2.0
Data Structures | Macros | Typedefs | Enumerations | Functions
iec61850_common.h File Reference
#include "libiec61850_common_api.h"
#include "logging_api.h"

Go to the source code of this file.

Data Structures

struct  PhyComAddress
 
union  Timestamp
 

Macros

#define TRG_OPT_DATA_CHANGED   1
 
#define TRG_OPT_QUALITY_CHANGED   2
 
#define TRG_OPT_DATA_UPDATE   4
 
#define TRG_OPT_INTEGRITY   8
 
#define TRG_OPT_GI   16
 
#define RPT_OPT_SEQ_NUM   1
 
#define RPT_OPT_TIME_STAMP   2
 
#define RPT_OPT_REASON_FOR_INCLUSION   4
 
#define RPT_OPT_DATA_SET   8
 
#define RPT_OPT_DATA_REFERENCE   16
 
#define RPT_OPT_BUFFER_OVERFLOW   32
 
#define RPT_OPT_ENTRY_ID   64
 
#define RPT_OPT_CONF_REV   128
 
#define CONTROL_ORCAT_NOT_SUPPORTED   0
 
#define CONTROL_ORCAT_BAY_CONTROL   1
 
#define CONTROL_ORCAT_STATION_CONTROL   2
 
#define CONTROL_ORCAT_REMOTE_CONTROL   3
 
#define CONTROL_ORCAT_AUTOMATIC_BAY   4
 
#define CONTROL_ORCAT_AUTOMATIC_STATION   5
 
#define CONTROL_ORCAT_AUTOMATIC_REMOTE   6
 
#define CONTROL_ORCAT_MAINTENANCE   7
 
#define CONTROL_ORCAT_PROCESS   8
 
#define QUALITY_VALIDITY_GOOD   0
 
#define QUALITY_VALIDITY_INVALID   2
 
#define QUALITY_VALIDITY_RESERVED   1
 
#define QUALITY_VALIDITY_QUESTIONABLE   3
 
#define QUALITY_DETAIL_OVERFLOW   4
 
#define QUALITY_DETAIL_OUT_OF_RANGE   8
 
#define QUALITY_DETAIL_BAD_REFERENCE   16
 
#define QUALITY_DETAIL_OSCILLATORY   32
 
#define QUALITY_DETAIL_FAILURE   64
 
#define QUALITY_DETAIL_OLD_DATA   128
 
#define QUALITY_DETAIL_INCONSISTENT   256
 
#define QUALITY_DETAIL_INACCURATE   512
 
#define QUALITY_SOURCE_SUBSTITUTED   1024
 
#define QUALITY_TEST   2048
 
#define QUALITY_OPERATOR_BLOCKED   4096
 

Typedefs

typedef uint16_t Quality
 
typedef uint16_t Validity
 

Enumerations

enum  ControlAddCause {
  ADD_CAUSE_UNKNOWN = 0, ADD_CAUSE_NOT_SUPPORTED = 1, ADD_CAUSE_BLOCKED_BY_SWITCHING_HIERARCHY = 2, ADD_CAUSE_SELECT_FAILED = 3,
  ADD_CAUSE_INVALID_POSITION = 4, ADD_CAUSE_POSITION_REACHED = 5, ADD_CAUSE_PARAMETER_CHANGE_IN_EXECUTION = 6, ADD_CAUSE_STEP_LIMIT = 7,
  ADD_CAUSE_BLOCKED_BY_MODE = 8, ADD_CAUSE_BLOCKED_BY_PROCESS = 9, ADD_CAUSE_BLOCKED_BY_INTERLOCKING = 10, ADD_CAUSE_BLOCKED_BY_SYNCHROCHECK = 11,
  ADD_CAUSE_COMMAND_ALREADY_IN_EXECUTION = 12, ADD_CAUSE_BLOCKED_BY_HEALTH = 13, ADD_CAUSE_1_OF_N_CONTROL = 14, ADD_CAUSE_ABORTION_BY_CANCEL = 15,
  ADD_CAUSE_TIME_LIMIT_OVER = 16, ADD_CAUSE_ABORTION_BY_TRIP = 17, ADD_CAUSE_OBJECT_NOT_SELECTED = 18, ADD_CAUSE_OBJECT_ALREADY_SELECTED = 19,
  ADD_CAUSE_NO_ACCESS_AUTHORITY = 20, ADD_CAUSE_ENDED_WITH_OVERSHOOT = 21, ADD_CAUSE_ABORTION_DUE_TO_DEVIATION = 22, ADD_CAUSE_ABORTION_BY_COMMUNICATION_LOSS = 23,
  ADD_CAUSE_ABORTION_BY_COMMAND = 24, ADD_CAUSE_NONE = 25, ADD_CAUSE_INCONSISTENT_PARAMETERS = 26, ADD_CAUSE_LOCKED_BY_OTHER_CLIENT = 27
}
 
enum  FunctionalConstraint {
  IEC61850_FC_ST = 0, IEC61850_FC_MX = 1, IEC61850_FC_SP = 2, IEC61850_FC_SV = 3,
  IEC61850_FC_CF = 4, IEC61850_FC_DC = 5, IEC61850_FC_SG = 6, IEC61850_FC_SE = 7,
  IEC61850_FC_SR = 8, IEC61850_FC_OR = 9, IEC61850_FC_BL = 10, IEC61850_FC_EX = 11,
  IEC61850_FC_CO = 12, IEC61850_FC_US = 13, IEC61850_FC_MS = 14, IEC61850_FC_RP = 15,
  IEC61850_FC_BR = 16, IEC61850_FC_LG = 17, IEC61850_FC_ALL = 99, IEC61850_FC_NONE = -1
}
 
enum  Dbpos { DBPOS_INTERMEDIATE_STATE = 0, DBPOS_OFF = 1, DBPOS_ON = 2, DBPOS_BAD_STATE = 3 }
 

Functions

char * FunctionalConstraint_toString (FunctionalConstraint fc)
 convert a function constraint to a static string More...
 
FunctionalConstraint FunctionalConstraint_fromString (const char *fcString)
 parse a string treated as a functional constraint representation More...
 
Validity Quality_getValidity (Quality *self)
 
void Quality_setValidity (Quality *self, Validity validity)
 
void Quality_setFlag (Quality *self, int flag)
 
void Quality_unsetFlag (Quality *self, int flag)
 
bool Quality_isFlagSet (Quality *self, int flag)
 
Quality Quality_fromMmsValue (const MmsValue *mmsValue)
 
Dbpos Dbpos_fromMmsValue (const MmsValue *mmsValue)
 convert MMS bit string to Dbpos enumeration type More...
 
MmsValueDbpos_toMmsValue (MmsValue *mmsValue, Dbpos dbpos)
 conver Dbpos to MMS bit string More...
 
TimestampTimestamp_create (void)
 
TimestampTimestamp_createFromByteArray (uint8_t *byteArray)
 
void Timestamp_destroy (Timestamp *self)
 
void Timestamp_clearFlags (Timestamp *self)
 
uint32_t Timestamp_getTimeInSeconds (Timestamp *self)
 
uint64_t Timestamp_getTimeInMs (Timestamp *self)
 
bool Timestamp_isLeapSecondKnown (Timestamp *self)
 
void Timestamp_setLeapSecondKnown (Timestamp *self, bool value)
 
bool Timestamp_hasClockFailure (Timestamp *self)
 
void Timestamp_setClockFailure (Timestamp *self, bool value)
 
bool Timestamp_isClockNotSynchronized (Timestamp *self)
 
void Timestamp_setClockNotSynchronized (Timestamp *self, bool value)
 
int Timestamp_getSubsecondPrecision (Timestamp *self)
 
void Timestamp_setSubsecondPrecision (Timestamp *self, int subsecondPrecision)
 Set the subsecond precision value of the time stamp. More...
 
void Timestamp_setTimeInSeconds (Timestamp *self, uint32_t secondsSinceEpoch)
 
void Timestamp_setTimeInMilliseconds (Timestamp *self, uint64_t millisSinceEpoch)
 
void Timestamp_setByMmsUtcTime (Timestamp *self, MmsValue *mmsValue)
 
MmsValueTimestamp_toMmsValue (Timestamp *self, MmsValue *mmsValue)
 Set an MmsValue instance of type UTCTime to the timestamp value. More...
 
char * LibIEC61850_getVersionString (void)
 Get the version of the library as string. More...