27 #ifndef IED_SERVER_API_H_
28 #define IED_SERVER_API_H_
38 #include "mms_server.h"
41 #include "hal_filesystem.h"
45 #define IEC61850_REPORTSETTINGS_RPT_ID 1
46 #define IEC61850_REPORTSETTINGS_BUF_TIME 2
47 #define IEC61850_REPORTSETTINGS_DATSET 4
48 #define IEC61850_REPORTSETTINGS_TRG_OPS 8
49 #define IEC61850_REPORTSETTINGS_OPT_FIELDS 16
50 #define IEC61850_REPORTSETTINGS_INTG_PD 32
119 LIB61850_API IedServerConfig
232 LIB61850_API
const char*
610 LIB61850_API IedModel*
643 LIB61850_API MmsServer
768 LIB61850_API
const char*
780 LIB61850_API
const char*
922 LIB61850_API uint32_t
950 LIB61850_API uint64_t
968 LIB61850_API uint32_t
982 LIB61850_API
const char*
1222 LIB61850_API uint8_t
1378 LIB61850_API uint8_t*
1438 LIB61850_API DataObject*
1448 LIB61850_API uint64_t
1677 #define IEC61850_SVCB_EVENT_ENABLE 1
1680 #define IEC61850_SVCB_EVENT_DISABLE 0
1713 #define IEC61850_GOCB_EVENT_ENABLE 1
1716 #define IEC61850_GOCB_EVENT_DISABLE 0
1736 LIB61850_API LogicalNode*
1739 LIB61850_API DataSet*
ControlAddCause
Definition: iec61850_common.h:190
ControlLastApplError
Definition: iec61850_common.h:229
Dbpos
Definition: iec61850_common.h:384
FunctionalConstraint
Definition: iec61850_common.h:264
LIB61850_API const char * ClientConnection_getPeerAddress(ClientConnection self)
get the peer address of this connection as string
LIB61850_API const char * ClientConnection_getLocalAddress(ClientConnection self)
get the local address of this connection as string
void(* IedConnectionIndicationHandler)(IedServer self, ClientConnection connection, bool connected, void *parameter)
User provided callback function that is invoked whenever a new client connects or an existing connect...
Definition: iec61850_server.h:805
LIB61850_API void IedServer_setConnectionIndicationHandler(IedServer self, IedConnectionIndicationHandler handler, void *parameter)
set a callback function that will be called on connection events (open or close).
LIB61850_API void IedServer_setAuthenticator(IedServer self, AcseAuthenticator authenticator, void *authenticatorParameter)
set the authenticator for this server
LIB61850_API void * ClientConnection_getSecurityToken(ClientConnection self)
Get the security token associated with this connection.
LIB61850_API void IedServer_setControlHandler(IedServer self, DataObject *node, ControlHandler handler, void *parameter)
Set control handler for controllable data object.
LIB61850_API void IedServer_setSelectStateChangedHandler(IedServer self, DataObject *node, ControlSelectStateChangedHandler handler, void *parameter)
Set a callback handler for a controllable data object to track select state changes.
ControlHandlerResult(* ControlHandler)(ControlAction action, void *parameter, MmsValue *ctlVal, bool test)
Control model callback to actually perform the control operation.
Definition: iec61850_server.h:1517
ControlHandlerResult
result codes for control handler (ControlWaitForExecutionHandler and ControlHandler)
Definition: iec61850_server.h:1335
LIB61850_API void IedServer_updateCtlModel(IedServer self, DataObject *ctlObject, ControlModel value)
Update the control model for the specified controllable data object with the given value and update "...
ControlHandlerResult(* ControlWaitForExecutionHandler)(ControlAction action, void *parameter, MmsValue *ctlVal, bool test, bool synchroCheck)
Control model callback to perform the dynamic tests (optional).
Definition: iec61850_server.h:1495
LIB61850_API void IedServer_setPerformCheckHandler(IedServer self, DataObject *node, ControlPerformCheckHandler handler, void *parameter)
Set a handler for a controllable data object to perform operative tests.
LIB61850_API DataObject * ControlAction_getControlObject(ControlAction self)
Gets the control object that is subject to this action.
LIB61850_API ClientConnection ControlAction_getClientConnection(ControlAction self)
Gets the client object associated with the client that caused the control action.
LIB61850_API bool ControlAction_getSynchroCheck(ControlAction self)
Gets the synchroCheck bit provided by the client.
void(* ControlSelectStateChangedHandler)(ControlAction action, void *parameter, bool isSelected, SelectStateChangedReason reason)
Control model callback that is called when the select state of a control changes.
Definition: iec61850_server.h:1541
LIB61850_API int ControlAction_getOrCat(ControlAction self)
Gets the originator category provided by the client.
CheckHandlerResult(* ControlPerformCheckHandler)(ControlAction action, void *parameter, MmsValue *ctlVal, bool test, bool interlockCheck)
Control model callback to perform the static tests (optional).
Definition: iec61850_server.h:1471
void * ControlAction
Definition: iec61850_server.h:1341
LIB61850_API bool ControlAction_isSelect(ControlAction self)
Check if the control callback is called by a select or operate command.
LIB61850_API uint8_t * ControlAction_getOrIdent(ControlAction self, int *orIdentSize)
Gets the originator identifier provided by the client.
LIB61850_API void ControlAction_setError(ControlAction self, ControlLastApplError error)
Sets the error code for the next command termination or application error message.
LIB61850_API int ControlAction_getCtlNum(ControlAction self)
Get the ctlNum attribute send by the client.
LIB61850_API uint64_t ControlAction_getControlTime(ControlAction self)
Gets the time of the control, if it's a timeActivatedControl, returns 0, if it's not.
LIB61850_API bool ControlAction_getInterlockCheck(ControlAction self)
Gets the interlockCheck bit provided by the client.
CheckHandlerResult
result code for ControlPerformCheckHandler
Definition: iec61850_server.h:1322
SelectStateChangedReason
Reason why a select state of a control object changed.
Definition: iec61850_server.h:1522
LIB61850_API void IedServer_setWaitForExecutionHandler(IedServer self, DataObject *node, ControlWaitForExecutionHandler handler, void *parameter)
Set a handler for a controllable data object to perform dynamic tests.
LIB61850_API void ControlAction_setAddCause(ControlAction self, ControlAddCause addCause)
Sets the add cause for the next command termination or application error message.
@ CONTROL_RESULT_FAILED
Definition: iec61850_server.h:1336
@ CONTROL_RESULT_OK
Definition: iec61850_server.h:1337
@ CONTROL_RESULT_WAITING
Definition: iec61850_server.h:1338
@ CONTROL_TEMPORARILY_UNAVAILABLE
Definition: iec61850_server.h:1326
@ CONTROL_HARDWARE_FAULT
Definition: iec61850_server.h:1325
@ CONTROL_OBJECT_UNDEFINED
Definition: iec61850_server.h:1328
@ CONTROL_ACCEPTED
Definition: iec61850_server.h:1323
@ CONTROL_VALUE_INVALID
Definition: iec61850_server.h:1329
@ CONTROL_OBJECT_ACCESS_DENIED
Definition: iec61850_server.h:1327
@ CONTROL_WAITING_FOR_SELECT
Definition: iec61850_server.h:1324
@ SELECT_STATE_REASON_DISCONNECTED
Definition: iec61850_server.h:1528
@ SELECT_STATE_REASON_TIMEOUT
Definition: iec61850_server.h:1525
@ SELECT_STATE_REASON_CANCELED
Definition: iec61850_server.h:1524
@ SELECT_STATE_REASON_SELECTED
Definition: iec61850_server.h:1523
@ SELECT_STATE_REASON_OPERATE_FAILED
Definition: iec61850_server.h:1527
@ SELECT_STATE_REASON_OPERATED
Definition: iec61850_server.h:1526
LIB61850_API void IedServer_lockDataModel(IedServer self)
Lock the data model for data update.
LIB61850_API MmsValue * IedServer_getAttributeValue(IedServer self, DataAttribute *dataAttribute)
Get data attribute value.
LIB61850_API void IedServer_updateInt64AttributeValue(IedServer self, DataAttribute *dataAttribute, int64_t value)
Update the value of an IEC 61850 integer64 data attribute (like BCR actVal)
LIB61850_API void IedServer_updateAttributeValue(IedServer self, DataAttribute *dataAttribute, MmsValue *value)
Update the MmsValue object of an IEC 61850 data attribute.
LIB61850_API MmsValue * IedServer_getFunctionalConstrainedData(IedServer self, DataObject *dataObject, FunctionalConstraint fc)
Get the MmsValue object related to a functional constrained data object (FCD)
LIB61850_API void IedServer_updateUnsignedAttributeValue(IedServer self, DataAttribute *dataAttribute, uint32_t value)
Update the value of an IEC 61850 unsigned integer data attribute.
LIB61850_API void IedServer_updateTimestampAttributeValue(IedServer self, DataAttribute *dataAttribute, Timestamp *timestamp)
Update the value of an IEC 61850 UTC time (timestamp) data attribute.
LIB61850_API uint32_t IedServer_getBitStringAttributeValue(IedServer self, const DataAttribute *dataAttribute)
Get data attribute value of a bit string data attribute as integer value.
LIB61850_API void IedServer_updateFloatAttributeValue(IedServer self, DataAttribute *dataAttribute, float value)
Update the value of an IEC 61850 float data attribute.
LIB61850_API void IedServer_updateDbposValue(IedServer self, DataAttribute *dataAttribute, Dbpos value)
Update the value of an IEC 61850 Dbpos (double point/position) data attribute.
LIB61850_API void IedServer_updateBitStringAttributeValue(IedServer self, DataAttribute *dataAttribute, uint32_t value)
Update the value of an IEC 61850 bit string data attribute.
LIB61850_API int32_t IedServer_getInt32AttributeValue(IedServer self, const DataAttribute *dataAttribute)
Get data attribute value of an integer data attribute.
LIB61850_API bool IedServer_getBooleanAttributeValue(IedServer self, const DataAttribute *dataAttribute)
Get data attribute value of a boolean data attribute.
LIB61850_API uint32_t IedServer_getUInt32AttributeValue(IedServer self, const DataAttribute *dataAttribute)
Get data attribute value of an unsigned integer data attribute.
LIB61850_API const char * IedServer_getStringAttributeValue(IedServer self, const DataAttribute *dataAttribute)
Get data attribute value of a string type data attribute.
LIB61850_API int64_t IedServer_getInt64AttributeValue(IedServer self, const DataAttribute *dataAttribute)
Get data attribute value of an integer data attribute.
LIB61850_API float IedServer_getFloatAttributeValue(IedServer self, const DataAttribute *dataAttribute)
Get data attribute value of a floating point data attribute.
LIB61850_API void IedServer_updateBooleanAttributeValue(IedServer self, DataAttribute *dataAttribute, bool value)
Update the value of an IEC 61850 boolean data attribute.
LIB61850_API uint64_t IedServer_getUTCTimeAttributeValue(IedServer self, const DataAttribute *dataAttribute)
Get data attribute value of a UTC time data attribute.
LIB61850_API void IedServer_updateInt32AttributeValue(IedServer self, DataAttribute *dataAttribute, int32_t value)
Update the value of an IEC 61850 integer32 data attribute.
LIB61850_API void IedServer_updateQuality(IedServer self, DataAttribute *dataAttribute, Quality quality)
Update a quality ("q") IEC 61850 data attribute.
LIB61850_API void IedServer_updateUTCTimeAttributeValue(IedServer self, DataAttribute *dataAttribute, uint64_t value)
Update the value of an IEC 61850 UTC time (timestamp) data attribute.
LIB61850_API void IedServer_updateVisibleStringAttributeValue(IedServer self, DataAttribute *dataAttribute, char *value)
Update the value of an IEC 61850 visible string data attribute.
LIB61850_API void IedServer_unlockDataModel(IedServer self)
Unlock the data model and process pending client requests.
LIB61850_API void IedServer_handleWriteAccessForComplexAttribute(IedServer self, DataAttribute *dataAttribute, WriteAccessHandler handler, void *parameter)
Install a WriteAccessHandler for a data attribute and for all sub data attributes.
MmsDataAccessError(* WriteAccessHandler)(DataAttribute *dataAttribute, MmsValue *value, ClientConnection connection, void *parameter)
callback handler to intercept/control client write access to data attributes
Definition: iec61850_server.h:1792
MmsDataAccessError(* ReadAccessHandler)(LogicalDevice *ld, LogicalNode *ln, DataObject *dataObject, FunctionalConstraint fc, ClientConnection connection, void *parameter)
callback handler to control client read access to data attributes
Definition: iec61850_server.h:1873
LIB61850_API void IedServer_handleWriteAccess(IedServer self, DataAttribute *dataAttribute, WriteAccessHandler handler, void *parameter)
Install a WriteAccessHandler for a data attribute.
AccessPolicy
Definition: iec61850_server.h:1840
LIB61850_API void IedServer_setReadAccessHandler(IedServer self, ReadAccessHandler handler, void *parameter)
Install the global read access handler.
LIB61850_API void IedServer_setWriteAccessPolicy(IedServer self, FunctionalConstraint fc, AccessPolicy policy)
Change the default write access policy for functional constraint data with a specific FC.
@ ACCESS_POLICY_ALLOW
Definition: iec61850_server.h:1841
@ ACCESS_POLICY_DENY
Definition: iec61850_server.h:1842
LIB61850_API void IedServer_stop(IedServer self)
Stop handling client connections.
LIB61850_API IedServer IedServer_createWithTlsSupport(IedModel *dataModel, TLSConfiguration tlsConfiguration)
Create a new IedServer with TLS support.
LIB61850_API IedModel * IedServer_getDataModel(IedServer self)
Return the data model of the server.
LIB61850_API void IedServer_start(IedServer self, int tcpPort)
Start handling client connections.
LIB61850_API int IedServer_getNumberOfOpenConnections(IedServer self)
Get number of open MMS connections.
LIB61850_API bool IedServer_addAccessPoint(IedServer self, const char *ipAddr, int tcpPort, TLSConfiguration tlsConfiguration)
Add a new local access point (server will listen to provided IP/port combination)
LIB61850_API void IedServer_setLocalIpAddress(IedServer self, const char *localIpAddress)
Set the local IP address to listen on.
LIB61850_API void IedServer_processIncomingData(IedServer self)
handle incoming TCP data in non-threaded mode
LIB61850_API void IedServer_destroy(IedServer self)
Destroy an IedServer instance and release all resources (memory, TCP sockets)
LIB61850_API void IedServer_setServerIdentity(IedServer self, const char *vendor, const char *model, const char *revision)
Set the identify for the MMS identify service.
LIB61850_API MmsServer IedServer_getMmsServer(IedServer self)
Get access to the underlying MmsServer instance.
LIB61850_API void IedServer_setTimeQuality(IedServer self, bool leapSecondKnown, bool clockFailure, bool clockNotSynchronized, int subsecondPrecision)
Set the time quality for all timestamps internally generated by this IedServer instance.
LIB61850_API void IedServer_stopThreadless(IedServer self)
Stop handling client connections for non-threaded mode.
LIB61850_API bool IedServer_isRunning(IedServer self)
Check if IedServer instance is listening for client connections.
LIB61850_API void IedServer_setGooseInterfaceIdEx(IedServer self, LogicalNode *ln, const char *gcbName, const char *interfaceId)
Set the Ethernet interface to be used by GOOSE publishing.
LIB61850_API IedServer IedServer_create(IedModel *dataModel)
Create a new IedServer instance.
LIB61850_API void IedServer_setGooseInterfaceId(IedServer self, const char *interfaceId)
Set the Ethernet interface to be used by GOOSE publishing.
LIB61850_API void IedServer_disableGoosePublishing(IedServer self)
Disable all GOOSE control blocks.
LIB61850_API void IedServer_enableGoosePublishing(IedServer self)
Enable all GOOSE control blocks.
LIB61850_API void IedServer_performPeriodicTasks(IedServer self)
perform periodic background tasks in non-threaded mode
LIB61850_API int IedServer_waitReady(IedServer self, unsigned int timeoutMs)
Wait until a server connection is ready (with timeout)
LIB61850_API void IedServer_useGooseVlanTag(IedServer self, LogicalNode *ln, const char *gcbName, bool useVlanTag)
Enable/disable the use of VLAN tags in GOOSE messages.
LIB61850_API IedServer IedServer_createWithConfig(IedModel *dataModel, TLSConfiguration tlsConfiguration, IedServerConfig serverConfiguration)
Create new new IedServer with extended configurations parameters.
LIB61850_API void IedServer_setFilestoreBasepath(IedServer self, const char *basepath)
Set the virtual filestore basepath for the MMS file services.
LIB61850_API void IedServer_startThreadless(IedServer self, int tcpPort)
Start handling client connection for non-threaded mode.
LIB61850_API int MmsGooseControlBlock_getMinTime(MmsGooseControlBlock self)
LIB61850_API char * MmsGooseControlBlock_getName(MmsGooseControlBlock self)
LIB61850_API bool MmsGooseControlBlock_getGoEna(MmsGooseControlBlock self)
struct sMmsGooseControlBlock * MmsGooseControlBlock
Definition: iec61850_server.h:1710
LIB61850_API LogicalNode * MmsGooseControlBlock_getLogicalNode(MmsGooseControlBlock self)
LIB61850_API int MmsGooseControlBlock_getMaxTime(MmsGooseControlBlock self)
LIB61850_API void IedServer_setGoCBHandler(IedServer self, GoCBEventHandler handler, void *parameter)
Set a callback handler for GoCB events (enabled/disabled)
LIB61850_API bool MmsGooseControlBlock_getNdsCom(MmsGooseControlBlock self)
void(* GoCBEventHandler)(MmsGooseControlBlock goCb, int event, void *parameter)
Definition: iec61850_server.h:1718
LIB61850_API DataSet * MmsGooseControlBlock_getDataSet(MmsGooseControlBlock self)
LIB61850_API bool MmsGooseControlBlock_getFixedOffs(MmsGooseControlBlock self)
LIB61850_API void IedServer_setRCBEventHandler(IedServer self, IedServer_RCBEventHandler handler, void *parameter)
Set a handler for report control block (RCB) events.
void(* IedServer_RCBEventHandler)(void *parameter, ReportControlBlock *rcb, ClientConnection connection, IedServer_RCBEventType event, const char *parameterName, MmsDataAccessError serviceError)
Callback that is called in case of RCB event.
Definition: iec61850_server.h:1656
IedServer_RCBEventType
Definition: iec61850_server.h:1633
@ RCB_EVENT_SET_PARAMETER
Definition: iec61850_server.h:1635
@ RCB_EVENT_PURGEBUF
Definition: iec61850_server.h:1641
@ RCB_EVENT_GET_PARAMETER
Definition: iec61850_server.h:1634
@ RCB_EVENT_GI
Definition: iec61850_server.h:1640
@ RCB_EVENT_DISABLE
Definition: iec61850_server.h:1639
@ RCB_EVENT_UNRESERVED
Definition: iec61850_server.h:1636
@ RCB_EVENT_RESERVED
Definition: iec61850_server.h:1637
@ RCB_EVENT_REPORT_CREATED
Definition: iec61850_server.h:1643
@ RCB_EVENT_OVERFLOW
Definition: iec61850_server.h:1642
@ RCB_EVENT_ENABLE
Definition: iec61850_server.h:1638
LIB61850_API void IedServer_setEditSettingGroupConfirmationHandler(IedServer self, SettingGroupControlBlock *sgcb, EditSettingGroupConfirmationHandler handler, void *parameter)
Set the callback handler for the COnfEditSG event.
LIB61850_API uint8_t IedServer_getActiveSettingGroup(IedServer self, SettingGroupControlBlock *sgcb)
Get the active setting group number.
LIB61850_API void IedServer_setActiveSettingGroupChangedHandler(IedServer self, SettingGroupControlBlock *sgcb, ActiveSettingGroupChangedHandler handler, void *parameter)
Set the callback handler for the SetActSG event.
LIB61850_API void IedServer_setEditSettingGroupChangedHandler(IedServer self, SettingGroupControlBlock *sgcb, EditSettingGroupChangedHandler handler, void *parameter)
Set the callback handler for the SetEditSG event.
bool(* ActiveSettingGroupChangedHandler)(void *parameter, SettingGroupControlBlock *sgcb, uint8_t newActSg, ClientConnection connection)
Callback handler that is invoked when the active setting group is about to be changed by an external ...
Definition: iec61850_server.h:1240
LIB61850_API void IedServer_changeActiveSettingGroup(IedServer self, SettingGroupControlBlock *sgcb, uint8_t newActiveSg)
Change active setting group.
bool(* EditSettingGroupChangedHandler)(void *parameter, SettingGroupControlBlock *sgcb, uint8_t newEditSg, ClientConnection connection)
Callback handler that is invoked when the edit setting group is about to be changed by an external cl...
Definition: iec61850_server.h:1272
void(* EditSettingGroupConfirmationHandler)(void *parameter, SettingGroupControlBlock *sgcb, uint8_t editSg)
Callback handler that is invoked when the edit setting group has been confirmed by an external client...
Definition: iec61850_server.h:1296
LIB61850_API void IedServer_setSVCBHandler(IedServer self, SVControlBlock *svcb, SVCBEventHandler handler, void *parameter)
Set a handler for SVCB control block events (enable/disable)
void(* SVCBEventHandler)(SVControlBlock *svcb, int event, void *parameter)
callback handler for SVCB events.
Definition: iec61850_server.h:1689
struct sMmsValue MmsValue
Definition: mms_value.h:68
MmsDataAccessError
Definition: mms_value.h:46
uint16_t Quality
Definition: iec61850_common.h:330
ControlModel
Control model (represented by "ctlModel" attribute)
Definition: iec61850_common.h:61
bool(* AcseAuthenticator)(void *parameter, AcseAuthenticationParameter authParameter, void **securityToken, IsoApplicationReference *appReference)
Callback function to authenticate a client.
Definition: iso_connection_parameters.h:105
LIB61850_API int IedServerConfig_getMaxMmsConnections(IedServerConfig self)
Get the maximum number of MMS (TCP) connections the server accepts.
struct sClientConnection * ClientConnection
Definition: iec61850_server.h:430
LIB61850_API void IedServerConfig_enableEditSG(IedServerConfig self, bool enable)
Enable/disable the EditSG service to allow clients to change setting groups (default is enabled)
LIB61850_API bool IedServerConfig_isOwnerForRCBEnabled(IedServerConfig self)
Owner for RCBs enabled (visible)
LIB61850_API void IedServerConfig_enableResvTmsForBRCB(IedServerConfig self, bool enable)
Enable/disable the presence of BRCB.ResvTms (default value is true)
LIB61850_API void IedServerConfig_setMaxDomainSpecificDataSets(IedServerConfig self, int maxDataSets)
Set the maximum allowed number of domain specific (permanent) data sets.
LIB61850_API void IedServerConfig_setReportBufferSize(IedServerConfig self, int reportBufferSize)
Set the report buffer size for buffered reporting.
LIB61850_API bool IedServerConfig_getReportSetting(IedServerConfig self, uint8_t setting)
Check if a configurable report setting is writable or read-only.
LIB61850_API void IedServerConfig_destroy(IedServerConfig self)
Destroy the configuration object.
LIB61850_API int IedServerConfig_getReportBufferSize(IedServerConfig self)
Gets the report buffer size for buffered reporting.
LIB61850_API void IedServer_setLogStorage(IedServer self, const char *logRef, LogStorage logStorage)
LIB61850_API int IedServerConfig_getMaxAssociationSpecificDataSets(IedServerConfig self)
Get the maximum allowed number of association specific (non-permanent) data sets.
LIB61850_API IedServerConfig IedServerConfig_create(void)
Create a new configuration object.
LIB61850_API const char * IedServerConfig_getFileServiceBasePath(IedServerConfig self)
Get the basepath of the file services.
LIB61850_API void IedServerConfig_useIntegratedGoosePublisher(IedServerConfig self, bool enable)
Enable/disable using the integrated GOOSE publisher for configured GoCBs.
LIB61850_API int IedServerConfig_getReportBufferSizeForURCBs(IedServerConfig self)
Gets the report buffer size for unbuffered reporting.
LIB61850_API bool IedServerConfig_getSyncIntegrityReportTimes(IedServerConfig self)
Check if synchronized integrity report times are enabled.
LIB61850_API int IedServerConfig_getMaxDomainSpecificDataSets(IedServerConfig self)
Get the maximum allowed number of domain specific (permanent) data sets.
LIB61850_API void IedServerConfig_setEdition(IedServerConfig self, uint8_t edition)
Set the IEC 61850 standard edition to use (default is edition 2)
LIB61850_API bool IedServerConfig_isResvTmsForBRCBEnabled(IedServerConfig self)
ResvTms for BRCB enabled (visible)
LIB61850_API void IedServerConfig_setMaxMmsConnections(IedServerConfig self, int maxConnections)
Set the maximum number of MMS (TCP) connections the server accepts.
LIB61850_API bool IedServerConfig_isDynamicDataSetServiceEnabled(IedServerConfig self)
Is the dynamic data set service for MMS enabled or disabled.
LIB61850_API void IedServerConfig_enableOwnerForRCB(IedServerConfig self, bool enable)
Enable/disable the presence of owner in report control blocks (default value is false);.
LIB61850_API void IedServerConfig_setReportBufferSizeForURCBs(IedServerConfig self, int reportBufferSize)
Set the report buffer size for unbuffered reporting.
LIB61850_API void IedServerConfig_setSyncIntegrityReportTimes(IedServerConfig self, bool enable)
Enable synchronized integrity report times.
LIB61850_API bool IedServerConfig_isFileServiceEnabled(IedServerConfig self)
Is the MMS file service enabled or disabled.
LIB61850_API uint8_t IedServerConfig_getEdition(IedServerConfig self)
Get the configued IEC 61850 standard edition.
LIB61850_API void IedServerConfig_enableLogService(IedServerConfig self, bool enable)
Enable/disable the log service for MMS.
LIB61850_API void IedServerConfig_enableFileService(IedServerConfig self, bool enable)
Enable/disable the MMS file service support.
LIB61850_API bool IedServerConfig_isLogServiceEnabled(IedServerConfig self)
Is the log service for MMS enabled or disabled.
LIB61850_API int IedServerConfig_getMaxDatasSetEntries(IedServerConfig self)
Get the maximum number of entries in dynamic data sets.
LIB61850_API void IedServerConfig_setFileServiceBasePath(IedServerConfig self, const char *basepath)
Set the basepath of the file services.
LIB61850_API void IedServerConfig_enableResvTmsForSGCB(IedServerConfig self, bool enable)
Enable/disable the SGCB.ResvTms when EditSG is enabled.
LIB61850_API void IedServerConfig_setMaxDataSetEntries(IedServerConfig self, int maxDataSetEntries)
Set the maximum number of entries in dynamic data sets.
LIB61850_API void IedServerConfig_setMaxAssociationSpecificDataSets(IedServerConfig self, int maxDataSets)
Set the maximum allowed number of association specific (non-permanent) data sets.
LIB61850_API void IedServerConfig_setReportSetting(IedServerConfig self, uint8_t setting, bool isDyn)
Make a configurable report setting writeable or read-only.
LIB61850_API void IedServerConfig_enableDynamicDataSetService(IedServerConfig self, bool enable)
Enable/disable the dynamic data set service for MMS.
struct sIedServer * IedServer
Definition: iec61850_server.h:425
Configuration object to configure IEC 61850 stack features.
Definition: iec61850_server.h:58
int maxMmsConnections
Definition: iec61850_server.h:93
bool useIntegratedGoosePublisher
Definition: iec61850_server.h:87
bool enableFileService
Definition: iec61850_server.h:69
uint8_t edition
Definition: iec61850_server.h:90
bool enableOwnerForRCB
Definition: iec61850_server.h:105
int maxDomainSpecificDataSets
Definition: iec61850_server.h:78
uint8_t reportSettingsWritable
Definition: iec61850_server.h:111
char * fileServiceBasepath
Definition: iec61850_server.h:66
int reportBufferSize
Definition: iec61850_server.h:60
int maxDataSetEntries
Definition: iec61850_server.h:81
int reportBufferSizeURCBs
Definition: iec61850_server.h:63
int maxAssociationSpecificDataSets
Definition: iec61850_server.h:75
bool enableDynamicDataSetService
Definition: iec61850_server.h:72
bool syncIntegrityReportTimes
Definition: iec61850_server.h:108
bool enableResvTmsForBRCB
Definition: iec61850_server.h:102
bool enableLogService
Definition: iec61850_server.h:84
bool enableResvTmsForSGCB
Definition: iec61850_server.h:99
bool enableEditSG
Definition: iec61850_server.h:96
Definition: iec61850_common.h:421