24 #ifndef IEC61850_CLIENT_H_ 25 #define IEC61850_CLIENT_H_ 31 #include "libiec61850_common_api.h" 318 #define IEC61850_SV_OPT_REFRESH_TIME 1 321 #define IEC61850_SV_OPT_SAMPLE_SYNC 2 324 #define IEC61850_SV_OPT_SAMPLE_RATE 4 327 #define IEC61850_SV_OPT_DATA_SET 8 330 #define IEC61850_SV_OPT_SECURITY 16 454 #define GOCB_ELEMENT_GO_ENA 1 457 #define GOCB_ELEMENT_GO_ID 2 460 #define GOCB_ELEMENT_DATSET 4 463 #define GOCB_ELEMENT_CONF_REV 8 466 #define GOCB_ELEMENT_NDS_COMM 16 469 #define GOCB_ELEMENT_DST_ADDRESS 32 472 #define GOCB_ELEMENT_MIN_TIME 64 475 #define GOCB_ELEMENT_MAX_TIME 128 478 #define GOCB_ELEMENT_FIXED_OFFS 256 481 #define GOCB_ELEMENT_ALL 511 488 ClientGooseControlBlock
583 ClientGooseControlBlock
609 uint32_t parametersMask,
bool singleRequest);
656 ClientReportControlBlock
658 ClientReportControlBlock updateRcb);
684 #define REASON_NOT_INCLUDED IEC61850_REASON_NOT_INCLUDED 685 #define REASON_DATA_CHANGE IEC61850_REASON_DATA_CHANGE 686 #define REASON_QUALITY_CHANGE IEC61850_REASON_QUALITY_CHANGE 687 #define REASON_DATA_UPDATE IEC61850_REASON_DATA_UPDATE 688 #define REASON_INTEGRITY IEC61850_REASON_INTEGRITY 689 #define REASON_GI IEC61850_REASON_GI 690 #define REASON_UNKNOWN IEC61850_REASON_UNKNOWN 696 #define RCB_ELEMENT_RPT_ID 1 699 #define RCB_ELEMENT_RPT_ENA 2 702 #define RCB_ELEMENT_RESV 4 705 #define RCB_ELEMENT_DATSET 8 708 #define RCB_ELEMENT_CONF_REV 16 711 #define RCB_ELEMENT_OPT_FLDS 32 714 #define RCB_ELEMENT_BUF_TM 64 717 #define RCB_ELEMENT_SQ_NUM 128 720 #define RCB_ELEMENT_TRG_OPS 256 723 #define RCB_ELEMENT_INTG_PD 512 726 #define RCB_ELEMENT_GI 1024 729 #define RCB_ELEMENT_PURGE_BUF 2048 732 #define RCB_ELEMENT_ENTRY_ID 4096 735 #define RCB_ELEMENT_TIME_OF_ENTRY 8192 738 #define RCB_ELEMENT_RESV_TMS 16384 741 #define RCB_ELEMENT_OWNER 32768 766 uint32_t parametersMask,
bool singleRequest);
797 void* handlerParameter);
987 ClientReportControlBlock
1582 void* handlerParameter);
1682 const char* logicalNodeReference);
1702 const char* logicalNodeReference, ACSIClass acsiClass);
1769 MmsVariableSpecification*
1800 uint64_t startTime, uint64_t endTime,
bool* moreFollows);
1821 MmsValue* entryID, uint64_t timeStamp,
bool* moreFollows);
1902 void* handlerParameter);
ClientReportControlBlock ClientReportControlBlock_create(const char *rcbReference)
uint32_t FileDirectoryEntry_getFileSize(FileDirectoryEntry self)
LinkedList IedConnection_queryLogAfter(IedConnection self, IedClientError *error, const char *logReference, MmsValue *entryID, uint64_t timeStamp, bool *moreFollows)
Implementation of the QueryLogAfter ACSI service.
void ClientGooseControlBlock_setDstAddress_vid(ClientGooseControlBlock self, uint16_t vidValue)
Timestamp * IedConnection_readTimestampValue(IedConnection self, IedClientError *error, const char *objectReference, FunctionalConstraint fc, Timestamp *timeStamp)
read a functional constrained data attribute (FCDA) of type Timestamp (UTC Time)
bool(* IedClientGetFileHandler)(void *parameter, uint8_t *buffer, uint32_t bytesRead)
user provided handler to receive the data of the GetFile request
Definition: iec61850_client.h:1887
bool IedConnection_readBooleanValue(IedConnection self, IedClientError *error, const char *objectReference, FunctionalConstraint fc)
read a functional constrained data attribute (FCDA) of type boolean
void ControlObjectClient_useConstantT(ControlObjectClient self, bool useConstantT)
Use a constant T parameter for all command (select, operate, cancel) of a single control sequence...
int32_t IedConnection_readInt32Value(IedConnection self, IedClientError *error, const char *objectReference, FunctionalConstraint fc)
read a functional constrained data attribute (FCDA) of type Integer or Unsigned and return the result...
void IedConnection_triggerGIReport(IedConnection self, IedClientError *error, const char *rcbReference)
Trigger a general interrogation (GI) report for the specified report control block (RCB) ...
int error
Definition: iec61850_client.h:67
uint32_t ClientGooseControlBlock_getConfRev(ClientGooseControlBlock self)
void ClientGooseControlBlock_destroy(ClientGooseControlBlock self)
bool ControlObjectClient_selectWithValue(ControlObjectClient self, MmsValue *ctlVal)
Send an select with value command to the server.
bool ClientReport_hasReasonForInclusion(ClientReport self)
void IedConnection_writeVisibleStringValue(IedConnection self, IedClientError *error, const char *objectReference, FunctionalConstraint fc, char *value)
void IedConnection_release(IedConnection self, IedClientError *error)
Release the connection.
uint64_t ClientReportControlBlock_getEntryTime(ClientReportControlBlock self)
void IedConnection_installReportHandler(IedConnection self, const char *rcbReference, const char *rptId, ReportCallbackFunction handler, void *handlerParameter)
Install a report handler function for the specified report control block (RCB)
ControlModel
Definition: iec61850_client.h:1452
void IedConnection_deleteFile(IedConnection self, IedClientError *error, const char *fileName)
Implementation of the DeleteFile ACSI service.
void ControlObjectClient_setSynchroCheck(ControlObjectClient self, bool value)
Set the value of the synchro check flag when a control command is sent.
struct sClientSVControlBlock * ClientSVControlBlock
Definition: iec61850_client.h:334
void ClientReportControlBlock_setGI(ClientReportControlBlock self, bool gi)
struct sFileDirectoryEntry * FileDirectoryEntry
Definition: iec61850_client.h:1833
uint32_t IedConnection_readUnsigned32Value(IedConnection self, IedClientError *error, const char *objectReference, FunctionalConstraint fc)
read a functional constrained data attribute (FCDA) of type Integer or Unsigned and return the result...
LinkedList IedConnection_getLogicalNodeDirectory(IedConnection self, IedClientError *error, const char *logicalNodeReference, ACSIClass acsiClass)
returns the directory of the given logical node (LN) containing elements of the specified ACSI class ...
const char * ClientReportControlBlock_getRptId(ClientReportControlBlock self)
struct sMmsConnection * MmsConnection
Definition: mms_client_connection.h:67
LinkedList IedConnection_getLogicalNodeVariables(IedConnection self, IedClientError *error, const char *logicalNodeReference)
returns a list of all MMS variables that are children of the given logical node
Definition: iec61850_client.h:1658
Definition: iec61850_client.h:126
void IedConnection_writeOctetString(IedConnection self, IedClientError *error, const char *objectReference, FunctionalConstraint fc, uint8_t *value, int valueLength)
LinkedList IedConnection_getFileDirectory(IedConnection self, IedClientError *error, const char *directoryName)
returns the directory entries of the specified file directory.
uint32_t ClientSVControlBlock_getConfRev(ClientSVControlBlock self)
bool ControlObjectClient_select(ControlObjectClient self)
Definition: iec61850_common.h:41
bool ClientGooseControlBlock_getNdsComm(ClientGooseControlBlock self)
uint16_t Quality
Definition: iec61850_common.h:266
char * ClientSVControlBlock_getDatSet(ClientSVControlBlock self)
Get the (MMS) reference to the data set.
void IedConnection_abort(IedConnection self, IedClientError *error)
Abort the connection.
Definition: iec61850_client.h:106
Definition: iec61850_client.h:1654
const char * ClientReport_getDataReference(ClientReport self, int elementIndex)
get the data-reference of the element of the report data set
Definition: iec61850_client.h:99
Definition: iec61850_client.h:74
LinkedList IedConnection_getDataDirectoryByFC(IedConnection self, IedClientError *error, const char *dataReference, FunctionalConstraint fc)
returns the directory of the given data object/data attribute with the given FC
void ClientReportControlBlock_setResv(ClientReportControlBlock self, bool resv)
LinkedList IedConnection_getServerDirectory(IedConnection self, IedClientError *error, bool getFileNames)
Get the list of logical devices or files available at the server.
LinkedList IedConnection_getDataSetDirectory(IedConnection self, IedClientError *error, const char *dataSetReference, bool *isDeletable)
returns the object references of the elements of a data set
Definition: iec61850_client.h:129
ReasonForInclusion
Definition: iec61850_client.h:661
Definition: iec61850_client.h:84
MmsValue * ClientReport_getEntryId(ClientReport self)
get the entry ID of the report
bool ControlObjectClient_operate(ControlObjectClient self, MmsValue *ctlVal, uint64_t operTime)
Send an operate command to the server.
void ClientSVControlBlock_destroy(ClientSVControlBlock self)
Free all resources related to the ClientSVControlBlock instance.
void ClientDataSet_destroy(ClientDataSet self)
destroy an ClientDataSet instance. Has to be called by the application.
Definition: iec61850_client.h:144
uint8_t ClientGooseControlBlock_getDstAddress_priority(ClientGooseControlBlock self)
uint16_t ClientReport_getSeqNum(ClientReport self)
ReasonForInclusion ClientReport_getReasonForInclusion(ClientReport self, int elementIndex)
get the reason code (reason for inclusion) for a specific report data set element ...
int ClientSVControlBlock_getNoASDU(ClientSVControlBlock self)
returns number of ASDUs included in the SV message
void ControlObjectClient_setLastApplError(ControlObjectClient self, LastApplError lastAppIError)
char * IedConnection_readStringValue(IedConnection self, IedClientError *error, const char *objectReference, FunctionalConstraint fc)
read a functional constrained data attribute (FCDA) of type VisibleString or MmsString ...
uint32_t ClientReportControlBlock_getIntgPd(ClientReportControlBlock self)
int64_t IedConnection_readInt64Value(IedConnection self, IedClientError *error, const char *objectReference, FunctionalConstraint fc)
read a functional constrained data attribute (FCDA) of type Integer or Unsigned and return the result...
void ControlObjectClient_setTestMode(ControlObjectClient self, bool value)
Definition: iec61850_client.h:138
void ClientReportControlBlock_setEntryId(ClientReportControlBlock self, MmsValue *entryId)
const char * ClientGooseControlBlock_getGoID(ClientGooseControlBlock self)
bool ClientSVControlBlock_setResv(ClientSVControlBlock self, bool svEna)
LinkedList IedConnection_getLogicalDeviceDirectory(IedConnection self, IedClientError *error, const char *logicalDeviceName)
Get the list of logical nodes (LN) of a logical device.
void FileDirectoryEntry_destroy(FileDirectoryEntry self)
void IedConnection_connect(IedConnection self, IedClientError *error, const char *hostname, int tcpPort)
Connect to a server.
Definition: iec61850_client.h:120
bool ClientReportControlBlock_getRptEna(ClientReportControlBlock self)
bool ClientReport_hasBufOvfl(ClientReport self)
Indicates if the report contains the bufOvfl (buffer overflow) flag.
uint64_t FileDirectoryEntry_getLastModified(FileDirectoryEntry self)
IedConnectionState IedConnection_getState(IedConnection self)
return the state of the connection.
void ClientReportControlBlock_setResvTms(ClientReportControlBlock self, int16_t resvTms)
Definition: iec61850_client.h:1662
const char * ClientReport_getDataSetName(ClientReport self)
Get the name of the report data set.
Definition: iec61850_client.h:669
uint32_t ClientReportControlBlock_getConfRev(ClientReportControlBlock self)
Definition: iec61850_client.h:1657
struct sControlObjectClient * ControlObjectClient
Definition: iec61850_client.h:1450
struct sClientReportControlBlock * ClientReportControlBlock
Definition: iec61850_client.h:49
Definition: iec61850_client.h:1454
Definition: iec61850_client.h:1457
bool ClientReport_getBufOvfl(ClientReport self)
Get the value of the bufOvfl flag.
IedConnectionState
Definition: iec61850_client.h:72
int ClientDataSet_getDataSetSize(ClientDataSet self)
get the size of the data set (number of members)
LinkedList IedConnection_getDataDirectory(IedConnection self, IedClientError *error, const char *dataReference)
returns the directory of the given data object (DO)
ControlAddCause
Definition: iec61850_common.h:143
void IedConnection_writeObject(IedConnection self, IedClientError *error, const char *dataAttributeReference, FunctionalConstraint fc, MmsValue *value)
write a functional constrained data attribute (FCDA) or functional constrained data (FCD)...
Definition: iec61850_client.h:93
ControlModel ControlObjectClient_getControlModel(ControlObjectClient self)
void IedConnection_uninstallReportHandler(IedConnection self, const char *rcbReference)
uninstall a report handler function for the specified report control block (RCB)
void IedConnection_setGoCBValues(IedConnection self, IedClientError *error, ClientGooseControlBlock goCB, uint32_t parametersMask, bool singleRequest)
Write access to attributes of a GOOSE control block (GoCB) at the connected server.
float IedConnection_readFloatValue(IedConnection self, IedClientError *error, const char *objectReference, FunctionalConstraint fc)
read a functional constrained data attribute (FCDA) of type float
uint16_t ClientGooseControlBlock_getDstAddress_appid(ClientGooseControlBlock self)
ControlAddCause addCause
Definition: iec61850_client.h:68
void ClientGooseControlBlock_setDstAddress_addr(ClientGooseControlBlock self, MmsValue *macAddr)
Definition: iec61850_client.h:159
Definition: iec61850_common.h:352
uint32_t ClientReportControlBlock_getBufTm(ClientReportControlBlock self)
uint8_t ClientSVControlBlock_getSmpMod(ClientSVControlBlock self)
returns number of sample mode of the SV publisher
struct sClientReport * ClientReport
Definition: iec61850_client.h:46
void ClientReportControlBlock_setRptId(ClientReportControlBlock self, const char *rptId)
uint64_t ClientReport_getTimestamp(ClientReport self)
get the timestamp of the report
int ClientReportControlBlock_getOptFlds(ClientReportControlBlock self)
MmsValue * ClientReportControlBlock_getEntryId(ClientReportControlBlock self)
ACSIClass
Definition: iec61850_client.h:1653
Definition: iec61850_client.h:1661
char * ClientReportControlBlock_getObjectReference(ClientReportControlBlock self)
int ctlNum
Definition: iec61850_client.h:66
Definition: iec61850_client.h:75
Definition: iec61850_client.h:156
MmsValue * ClientGooseControlBlock_getDstAddress_addr(ClientGooseControlBlock self)
Definition: iec61850_client.h:153
Definition: iec61850_client.h:1455
bool ClientReportControlBlock_getPurgeBuf(ClientReportControlBlock self)
Definition: iec61850_client.h:87
bool ClientSVControlBlock_setSvEna(ClientSVControlBlock self, bool svEna)
Definition: iec61850_client.h:112
bool ClientReportControlBlock_isBuffered(ClientReportControlBlock self)
int ClientReportControlBlock_getTrgOps(ClientReportControlBlock self)
uint32_t ClientReport_getConfRev(ClientReport self)
uint16_t ClientReportControlBlock_getSqNum(ClientReportControlBlock self)
uint16_t ClientGooseControlBlock_getDstAddress_vid(ClientGooseControlBlock self)
uint32_t IedConnection_getFile(IedConnection self, IedClientError *error, const char *fileName, IedClientGetFileHandler handler, void *handlerParameter)
Implementation of the GetFile ACSI service.
LastApplError ControlObjectClient_getLastApplError(ControlObjectClient self)
Definition: iec61850_client.h:1656
void IedConnection_createDataSet(IedConnection self, IedClientError *error, const char *dataSetReference, LinkedListdataSetElements)
create a new data set at the connected server device
LastApplError IedConnection_getLastApplError(IedConnection self)
Access to last application error received by the client connection.
MmsValue * ClientReport_getDataSetValues(ClientReport self)
return the received data set values of the report
void IedConnection_setFile(IedConnection self, IedClientError *error, const char *sourceFilename, const char *destinationFilename)
Implementation of the SetFile ACSI service.
Definition: iec61850_client.h:132
struct sClientGooseControlBlock * ClientGooseControlBlock
Definition: iec61850_client.h:52
Definition: iec61850_client.h:117
Definition: iec61850_client.h:76
FileDirectoryEntry FileDirectoryEntry_create(const char *fileName, uint32_t fileSize, uint64_t lastModified)
bool IedConnection_deleteDataSet(IedConnection self, IedClientError *error, const char *dataSetReference)
delete a deletable data set at the connected server device
void IedConnection_writeInt32Value(IedConnection self, IedClientError *error, const char *objectReference, FunctionalConstraint fc, int32_t value)
write a functional constrained data attribute (FCDA) of type integer
Definition: iec61850_client.h:147
bool ClientReport_hasConfRev(ClientReport self)
bool ClientReport_hasDataSetName(ClientReport self)
char * ClientSVControlBlock_getMsvID(ClientSVControlBlock self)
void IedConnection_destroy(IedConnection self)
destroy an IedConnection instance.
void ClientReportControlBlock_setTrgOps(ClientReportControlBlock self, int trgOps)
Definition: iec61850_client.h:663
bool ClientReport_hasTimestamp(ClientReport self)
determine if the last received report contains a timestamp
ClientGooseControlBlock ClientGooseControlBlock_create(const char *dataAttributeReference)
bool ClientSVControlBlock_getResv(ClientSVControlBlock self)
char * ControlObjectClient_getObjectReference(ControlObjectClient self)
Definition: iec61850_client.h:109
ClientSVControlBlock ClientSVControlBlock_create(IedConnection connection, const char *reference)
Create a new ClientSVControlBlock instance.
Definition: iec61850_client.h:96
void ClientReportControlBlock_setBufTm(ClientReportControlBlock self, uint32_t bufTm)
Definition: iec61850_client.h:162
LinkedList IedConnection_getDataDirectoryFC(IedConnection self, IedClientError *error, const char *dataReference)
returns the directory of the given data object (DO)
bool ClientReportControlBlock_getResv(ClientReportControlBlock self)
bool ClientGooseControlBlock_getFixedOffs(ClientGooseControlBlock self)
MmsConnection IedConnection_getMmsConnection(IedConnection self)
get a handle to the underlying MmsConnection
Definition: iec61850_client.h:1456
bool ClientGooseControlBlock_getGoEna(ClientGooseControlBlock self)
void ClientReportControlBlock_setOptFlds(ClientReportControlBlock self, int optFlds)
Definition: iec61850_client.h:681
void ClientReportControlBlock_destroy(ClientReportControlBlock self)
bool ClientSVControlBlock_isMulticast(ClientSVControlBlock self)
Definition: iec61850_client.h:123
void(* ReportCallbackFunction)(void *parameter, ClientReport report)
Callback function for receiving reports.
Definition: iec61850_client.h:774
void ClientGooseControlBlock_setDstAddress_priority(ClientGooseControlBlock self, uint8_t priorityValue)
void ClientGooseControlBlock_setDstAddress_appid(ClientGooseControlBlock self, uint16_t appidValue)
void ControlObjectClient_setOrigin(ControlObjectClient self, const char *orIdent, int orCat)
const char * ClientReportControlBlock_getDataSetReference(ClientReportControlBlock self)
bool ClientSVControlBlock_getSvEna(ClientSVControlBlock self)
Definition: iec61850_client.h:1663
Definition: iec61850_client.h:1659
Definition: iec61850_client.h:1660
void ClientReportControlBlock_setIntgPd(ClientReportControlBlock self, uint32_t intgPd)
void ControlObjectClient_enableInterlockCheck(ControlObjectClient self)
Definition: iec61850_client.h:672
void ClientGooseControlBlock_setDatSet(ClientGooseControlBlock self, const char *datSet)
const char * ClientGooseControlBlock_getDatSet(ClientGooseControlBlock self)
void ClientReportControlBlock_setPurgeBuf(ClientReportControlBlock self, bool purgeBuf)
void IedConnection_close(IedConnection self)
Close the connection.
ClientGooseControlBlock IedConnection_getGoCBValues(IedConnection self, IedClientError *error, const char *goCBReference, ClientGooseControlBlock updateGoCB)
Read access to attributes of a GOOSE control block (GoCB) at the connected server. A GoCB contains the configuration values for a single GOOSE publisher.
bool ClientReport_hasSeqNum(ClientReport self)
void ControlObjectClient_enableSynchroCheck(ControlObjectClient self)
void ControlObjectClient_setCommandTerminationHandler(ControlObjectClient self, CommandTerminationHandler handler, void *handlerParameter)
void ClientGooseControlBlock_setGoID(ClientGooseControlBlock self, const char *goID)
uint32_t ClientGooseControlBlock_getMaxTime(ClientGooseControlBlock self)
Definition: iec61850_client.h:678
void ClientReportControlBlock_setRptEna(ClientReportControlBlock self, bool rptEna)
char * ReasonForInclusion_getValueAsString(ReasonForInclusion reasonCode)
get the reason for inclusion of as a human readable string
void IedConnection_getDeviceModelFromServer(IedConnection self, IedClientError *error)
Retrieve the device model from the server.
Quality IedConnection_readQualityValue(IedConnection self, IedClientError *error, const char *objectReference, FunctionalConstraint fc)
read a functional constrained data attribute (FCDA) of type Quality
void(* IedConnectionClosedHandler)(void *parameter, IedConnection connection)
Definition: iec61850_client.h:283
Definition: iec61850_client.h:141
void ClientGooseControlBlock_setGoEna(ClientGooseControlBlock self, bool goEna)
uint32_t ClientGooseControlBlock_getMinTime(ClientGooseControlBlock self)
Definition: iec61850_client.h:666
char * ClientReport_getRptId(ClientReport self)
return RptId of the server RCB associated with this ClientReport object
Definition: iec61850_client.h:1664
Definition: iec61850_client.h:1453
void ControlObjectClient_destroy(ControlObjectClient self)
ClientReportControlBlock IedConnection_getRCBValues(IedConnection self, IedClientError *error, const char *rcbReference, ClientReportControlBlock updateRcb)
Read access to attributes of a report control block (RCB) at the connected server.
LinkedList IedConnection_getLogicalDeviceList(IedConnection self, IedClientError *error)
Get the list of logical devices available at the server (DEPRECATED)
void IedConnection_setConnectTimeout(IedConnection self, uint32_t timeoutInMs)
set the connect timeout in ms
void(* CommandTerminationHandler)(void *parameter, ControlObjectClient controlClient)
Private a callback handler that is invoked when a command termination message is received.
Definition: iec61850_client.h:1578
FunctionalConstraint
Definition: iec61850_common.h:202
Definition: iec61850_client.h:675
int ClientSVControlBlock_getOptFlds(ClientSVControlBlock self)
returns the OptFlds bit string as integer
struct sClientDataSet * ClientDataSet
Definition: iec61850_client.h:43
int16_t ClientReportControlBlock_getResvTms(ClientReportControlBlock self)
void ClientReportControlBlock_setDataSetReference(ClientReportControlBlock self, const char *dataSetReference)
set the data set to be observed by the RCB
bool ControlObjectClient_cancel(ControlObjectClient self)
char * ClientReport_getRcbReference(ClientReport self)
return reference (name) of the server RCB associated with this ClientReport object ...
bool ClientReportControlBlock_getGI(ClientReportControlBlock self)
PhyComAddress ClientSVControlBlock_getDstAddress(ClientSVControlBlock self)
returns the destination address of the SV publisher
Definition: iec61850_client.h:1655
IedClientError ClientSVControlBlock_getLastComError(ClientSVControlBlock self)
Return the error code of the last write or write acccess to the SVCB.
struct sIedConnection * IedConnection
Definition: iec61850_client.h:61
Definition: iec61850_client.h:150
Definition: iec61850_client.h:104
void IedConnection_writeBooleanValue(IedConnection self, IedClientError *error, const char *objectReference, FunctionalConstraint fc, bool value)
write a functional constrained data attribute (FCDA) of type boolean
uint16_t ClientSVControlBlock_getSmpRate(ClientSVControlBlock self)
bool ClientReport_hasDataReference(ClientReport self)
Indicates if the report contains data references for the reported data set members.
ClientDataSet IedConnection_readDataSetValues(IedConnection self, IedClientError *error, const char *dataSetReference, ClientDataSet dataSet)
get data set values from a server device
void IedConnection_setRCBValues(IedConnection self, IedClientError *error, ClientReportControlBlock rcb, uint32_t parametersMask, bool singleRequest)
Write access to attributes of a report control block (RCB) at the connected server.
IedConnection IedConnection_create(void)
create a new IedConnection instance
Definition: iec61850_client.h:64
char * ClientDataSet_getReference(ClientDataSet self)
Get the object reference of the data set.
MmsValue * ClientReportControlBlock_getOwner(ClientReportControlBlock self)
void IedConnection_installConnectionClosedHandler(IedConnection self, IedConnectionClosedHandler handler, void *parameter)
Install a handler function that will be called when the connection is lost.
char * FileDirectoryEntry_getFileName(FileDirectoryEntry self)
void IedConnection_writeUnsigned32Value(IedConnection self, IedClientError *error, const char *objectReference, FunctionalConstraint fc, uint32_t value)
write a functional constrained data attribute (FCDA) of type unsigned (integer)
MmsValue * IedConnection_readObject(IedConnection self, IedClientError *error, const char *dataAttributeReference, FunctionalConstraint fc)
read a functional constrained data attribute (FCDA) or functional constrained data (FCD)...
Definition: iec61850_client.h:135
MmsVariableSpecification * IedConnection_getVariableSpecification(IedConnection self, IedClientError *error, const char *dataAttributeReference, FunctionalConstraint fc)
return the MMS variable type specification of the data attribute referenced by dataAttributeReference...
ControlObjectClient ControlObjectClient_create(const char *objectReference, IedConnection connection)
Create a new client control object.
void IedConnection_writeFloatValue(IedConnection self, IedClientError *error, const char *objectReference, FunctionalConstraint fc, float value)
write a functional constrained data attribute (FCDA) of type float
MmsValue * ClientDataSet_getValues(ClientDataSet self)
get the data set values locally stored in the ClientDataSet instance.
void ControlObjectClient_setInterlockCheck(ControlObjectClient self, bool value)
Set the value of the interlock check flag when a control command is sent.
struct sMmsValue MmsValue
Definition: mms_value.h:68
Definition: iec61850_client.h:90
LinkedList IedConnection_queryLogByTime(IedConnection self, IedClientError *error, const char *logReference, uint64_t startTime, uint64_t endTime, bool *moreFollows)
Implementation of the QueryLogByTime ACSI service.
IedClientError
Definition: iec61850_client.h:80