libIEC61850  0.8.0
Open-source IEC 61850 MMS/GOOSE server and client library
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
Classes | Enumerations | Functions
model.h File Reference
#include "iec61850_common.h"

Go to the source code of this file.

Classes

struct  IedModel
 Root node of the IEC 61850 data model. This is usually created by the model generator tool (genmodel.jar) More...
 
struct  LogicalDevice
 IEC 61850 data model element of type logical device. More...
 
struct  ModelNode
 abstract base type for IEC 61850 data model nodes More...
 
struct  LogicalNode
 IEC 61850 data model element of type logical node. More...
 
struct  DataObject
 IEC 61850 data model element of type data object. More...
 
struct  DataAttribute
 IEC 61850 data model element of type data attribute. More...
 
struct  DataSetEntry
 
struct  DataSet
 
struct  ReportControlBlock
 
struct  PhyComAddress
 
struct  GSEControlBlock
 

Enumerations

enum  DataAttributeType {
  BOOLEAN = 0, INT8 = 1, INT16 = 2, INT32 = 3,
  INT64 = 4, INT128 = 5, INT8U = 6, INT16U = 7,
  INT24U = 8, INT32U = 9, FLOAT32 = 10, FLOAT64 = 11,
  ENUMERATED = 12, OCTET_STRING_64 = 13, OCTET_STRING_6 = 14, OCTET_STRING_8 = 15,
  VISIBLE_STRING_32 = 16, VISIBLE_STRING_64 = 17, VISIBLE_STRING_65 = 18, VISIBLE_STRING_129 = 19,
  VISIBLE_STRING_255 = 20, UNICODE_STRING_255 = 21, TIMESTAMP = 22, QUALITY = 23,
  CHECK = 24, CODEDENUM = 25, GENERIC_BITSTRING = 26, CONSTRUCTED = 27,
  ENTRY_TIME = 28, PHYCOMADDR = 29
}
 
enum  ModelNodeType { LogicalDeviceModelType, LogicalNodeModelType, DataObjectModelType, DataAttributeModelType }
 

Functions

int ModelNode_getChildCount (ModelNode *modelNode)
 get the number of direct children of a model node More...
 
ModelNode * ModelNode_getChild (ModelNode *modelNode, const char *name)
 return a child model node More...
 
char * ModelNode_getObjectReference (ModelNode *node, char *objectReference)
 Return the IEC 61850 object reference of a model node. More...
 
ModelNode * IedModel_getModelNodeByObjectReference (IedModel *model, const char *objectReference)
 Lookup a model node by its object reference. More...
 
ModelNode * IedModel_getModelNodeByShortObjectReference (IedModel *model, const char *objectReference)
 Lookup a model node by its short (normalized) reference. More...
 
ModelNode * IedModel_getModelNodeByShortAddress (IedModel *model, uint32_t shortAddress)
 Lookup a model node by its short address. More...
 
LogicalNode * LogicalDevice_getLogicalNode (LogicalDevice *device, const char *nodeName)
 
void IedModel_setAttributeValuesToNull (IedModel *iedModel)
 unset all MmsValue references in the data model More...
 
LogicalDevice * IedModel_getDevice (IedModel *model, const char *deviceName)
 
DataSet * IedModel_lookupDataSet (IedModel *model, const char *dataSetReference)
 
int IedModel_getLogicalDeviceCount (IedModel *iedModel)
 
int LogicalDevice_getLogicalNodeCount (LogicalDevice *logicalDevice)
 
bool LogicalNode_hasFCData (LogicalNode *node, FunctionalConstraint fc)
 
bool LogicalNode_hasBufferedReports (LogicalNode *node)
 
bool LogicalNode_hasUnbufferedReports (LogicalNode *node)
 
bool DataObject_hasFCData (DataObject *dataObject, FunctionalConstraint fc)
 
DataAttribute * IedModel_lookupDataAttributeByMmsValue (IedModel *model, MmsValue *value)
 

Function Documentation

bool DataObject_hasFCData ( DataObject *  dataObject,
FunctionalConstraint  fc 
)
LogicalDevice* IedModel_getDevice ( IedModel *  model,
const char *  deviceName 
)
int IedModel_getLogicalDeviceCount ( IedModel *  iedModel)
DataAttribute* IedModel_lookupDataAttributeByMmsValue ( IedModel *  model,
MmsValue value 
)
DataSet* IedModel_lookupDataSet ( IedModel *  model,
const char *  dataSetReference 
)
void IedModel_setAttributeValuesToNull ( IedModel *  iedModel)

unset all MmsValue references in the data model

Parameters
modelthe IedModel instance that holds the model node
int LogicalDevice_getLogicalNodeCount ( LogicalDevice *  logicalDevice)
bool LogicalNode_hasBufferedReports ( LogicalNode *  node)
bool LogicalNode_hasFCData ( LogicalNode *  node,
FunctionalConstraint  fc 
)
bool LogicalNode_hasUnbufferedReports ( LogicalNode *  node)