24 #ifndef MMS_CLIENT_CONNECTION_H_
25 #define MMS_CLIENT_CONNECTION_H_
36 #include "libiec61850_common_api.h"
43 #include "tls_config.h"
48 typedef struct sMmsConnectionParameters {
53 uint8_t servicesSupported[11];
70 char* variableListName,
MmsValue* value,
bool isVariableListName);
180 LIB61850_API uint32_t
213 LIB61850_API IsoConnectionParameters
368 LIB61850_API LinkedList
386 LIB61850_API LinkedList
415 LIB61850_API LinkedList
447 LIB61850_API LinkedList
465 LIB61850_API LinkedList
482 LIB61850_API LinkedList
537 const char* domainId,
const char* itemId,
const char* componentId);
553 const char* domainId,
const char* itemId,
const char* componentId,
572 uint32_t startIndex, uint32_t numberOfElements);
590 uint32_t startIndex, uint32_t numberOfElements,
608 const char* domainId,
const char* itemId, uint32_t index,
const char* componentId);
612 const char* domainId,
const char* itemId,
613 uint32_t index,
const char* componentId,
634 const char* domainId, LinkedList items,
652 const char* domainId,
const char* itemId,
MmsValue* value);
659 const char* domainId,
const char* itemId,
MmsValue* value,
677 const char* domainId,
const char* itemId,
678 const char* componentId,
MmsValue* value);
695 const char* domainId,
const char* itemId,
696 uint32_t arrayIndex,
const char* componentId,
MmsValue* value);
700 const char* domainId,
const char* itemId,
701 uint32_t arrayIndex,
const char* componentId,
MmsValue* value,
706 const char* domainId,
const char* itemId,
const char* componentId,
MmsValue* value,
729 const char* domainId,
const char* itemId,
int index,
int numberOfElements,
734 const char* domainId,
const char* itemId,
int index,
int numberOfElements,
762 LinkedList items, LinkedList values,
763 LinkedList* accessResults);
767 LinkedList items, LinkedList values,
788 const char* domainId,
const char* itemId, LinkedList values,
789 LinkedList* accessResults);
794 const char* domainId,
const char* itemId, LinkedList values,
807 LIB61850_API MmsVariableSpecification*
809 const char* domainId,
const char* itemId);
817 const char* domainId,
const char* itemId,
838 const char* listName,
bool specWithResult);
842 const char* domainId,
const char* listName,
bool specWithResult,
860 const char* listName,
bool specWithResult);
864 const char* listName,
bool specWithResult,
882 const char* listName, LinkedList variableSpecs);
886 const char* listName, LinkedList variableSpecs,
902 const char* listName, LinkedList variableSpecs);
906 const char* listName, LinkedList variableSpecs,
924 LIB61850_API LinkedList
926 const char* domainId,
const char* listName,
bool* deletable);
935 const char* domainId,
const char* listName,
948 LIB61850_API LinkedList
950 const char* listName,
bool* deletable);
954 const char* listName,
989 const char* listName);
1028 char* componentName);
1050 LIB61850_API int32_t
1067 char* vendorName,
char* modelName,
char* revision);
1095 bool extendedDerivation);
1123 (*
MmsFileReadHandler) (
void* parameter, int32_t frsmId, uint8_t* buffer, uint32_t bytesReceived);
1151 LIB61850_API int32_t
1153 uint32_t* fileSize, uint64_t* lastModified);
1298 LIB61850_API LinkedList
1301 LIB61850_API
const char*
1311 LIB61850_API LinkedList
1319 LIB61850_API LinkedList
1321 MmsValue* timeSpecification,
MmsValue* entrySpecification,
bool* moreFollows);
struct sMmsValue MmsValue
Definition: mms_value.h:68
MmsDataAccessError
Definition: mms_value.h:46
MmsError
Definition: mms_common.h:39
LIB61850_API uint32_t MmsConnection_getRequestTimeout(MmsConnection self)
Get the request timeout in ms for this connection.
void(* MmsFileDirectoryHandler)(void *parameter, char *filename, uint32_t size, uint64_t lastModified)
Definition: mms_client_connection.h:1109
LIB61850_API int32_t MmsConnection_fileOpen(MmsConnection self, MmsError *mmsError, const char *filename, uint32_t initialPosition, uint32_t *fileSize, uint64_t *lastModified)
open a file for read
LIB61850_API MmsConnection MmsConnection_createSecure(TLSConfiguration tlsConfig)
Create a new secure (TLS enabled) MmsConnection instance.
LIB61850_API void MmsConnection_setRequestTimeout(MmsConnection self, uint32_t timeoutInMs)
Set the request timeout in ms for this connection.
LIB61850_API void MmsConnection_getVariableAccessAttributesAsync(MmsConnection self, uint32_t *usedInvokeId, MmsError *mmsError, const char *domainId, const char *itemId, MmsConnection_GetVariableAccessAttributesHandler, void *parameter)
LIB61850_API void MmsConnection_fileDelete(MmsConnection self, MmsError *mmsError, const char *fileName)
delete the file with the specified name
LIB61850_API MmsValue * MmsConnection_readMultipleVariables(MmsConnection self, MmsError *mmsError, const char *domainId, LinkedList items)
Read multiple variables of a domain from the server with one request message.
LIB61850_API MmsValue * MmsConnection_readSingleArrayElementWithComponent(MmsConnection self, MmsError *mmsError, const char *domainId, const char *itemId, uint32_t index, const char *componentId)
Read a single element (with optional component specification) from the server.
LIB61850_API void MmsConnection_readVariableAsync(MmsConnection self, uint32_t *usedInvokeId, MmsError *mmsError, const char *domainId, const char *itemId, MmsConnection_ReadVariableHandler handler, void *parameter)
Read a single variable from the server (asynchronous version)
LIB61850_API void MmsConnection_getDomainNamesAsync(MmsConnection self, uint32_t *usedInvokeId, MmsError *mmsError, const char *continueAfter, LinkedList result, MmsConnection_GetNameListHandler handler, void *parameter)
Get the domain names of the server (asynchronous version).
LIB61850_API void MmsServerIdentity_destroy(MmsServerIdentity *self)
Destroy (free) an MmsServerIdentity object.
LIB61850_API void MmsConnection_getDomainVariableListNamesAsync(MmsConnection self, uint32_t *usedInvokeId, MmsError *mmsError, const char *domainId, const char *continueAfter, LinkedList result, MmsConnection_GetNameListHandler handler, void *parameter)
void(* MmsConnection_FileOpenHandler)(uint32_t invokeId, void *parameter, MmsError mmsError, int32_t frsmId, uint32_t fileSize, uint64_t lastModified)
Definition: mms_client_connection.h:1156
LIB61850_API MmsDataAccessError MmsConnection_writeVariableComponent(MmsConnection self, MmsError *mmsError, const char *domainId, const char *itemId, const char *componentId, MmsValue *value)
Write a single variable to the server (using component alternate access)
LIB61850_API void MmsConnection_sendRawData(MmsConnection self, MmsError *mmsError, uint8_t *buffer, int bufSize)
LIB61850_API LinkedList MmsConnection_getDomainVariableListNames(MmsConnection self, MmsError *mmsError, const char *domainId)
Get the names of all named variable lists present in a MMS domain or VMD scope of the server.
LIB61850_API LinkedList MmsConnection_getDomainJournals(MmsConnection self, MmsError *mmsError, const char *domainId)
Get the names of all journals present in a MMS domain of the server.
LIB61850_API void MmsConnection_getVariableListNamesAssociationSpecificAsync(MmsConnection self, uint32_t *usedInvokeId, MmsError *mmsError, const char *continueAfter, MmsConnection_GetNameListHandler handler, void *parameter)
LIB61850_API void MmsConnection_writeMultipleVariables(MmsConnection self, MmsError *mmsError, const char *domainId, LinkedList items, LinkedList values, LinkedList *accessResults)
Write multiple variables to the server.
LIB61850_API void MmsConnection_readNamedVariableListDirectoryAssociationSpecificAsync(MmsConnection self, uint32_t *usedInvokeId, MmsError *mmsError, const char *listName, MmsConnection_ReadNVLDirectoryHandler handler, void *parameter)
LIB61850_API void MmsConnection_deleteNamedVariableListAsync(MmsConnection self, uint32_t *usedInvokeId, MmsError *mmsError, const char *domainId, const char *listName, MmsConnection_GenericServiceHandler handler, void *parameter)
LIB61850_API void MmsConnection_defineNamedVariableListAsync(MmsConnection self, uint32_t *usedInvokeId, MmsError *mmsError, const char *domainId, const char *listName, LinkedList variableSpecs, MmsConnection_GenericServiceHandler handler, void *parameter)
LIB61850_API void MmsConnection_writeVariableAsync(MmsConnection self, uint32_t *usedInvokeId, MmsError *mmsError, const char *domainId, const char *itemId, MmsValue *value, MmsConnection_WriteVariableHandler handler, void *parameter)
LIB61850_API const char * MmsJournalVariable_getTag(MmsJournalVariable self)
LIB61850_API void MmsConnection_fileDeleteAsync(MmsConnection self, uint32_t *usedInvokeId, MmsError *mmsError, const char *fileName, MmsConnection_GenericServiceHandler handler, void *parameter)
LIB61850_API void MmsConnection_setConnectionStateChangedHandler(MmsConnection self, MmsConnectionStateChangedHandler handler, void *parameter)
LIB61850_API bool MmsConnection_connect(MmsConnection self, MmsError *mmsError, const char *serverName, int serverPort)
Connect to an MMS server.
LIB61850_API bool MmsConnection_tick(MmsConnection self)
Call MmsConnection state machine and connection handling code (for non-threaded mode only)
MmsConnectionState
Definition: mms_client_connection.h:62
LIB61850_API MmsVariableAccessSpecification * MmsVariableAccessSpecification_create(char *domainId, char *itemId)
Create a new MmsVariableSpecification that can be used to define named variable lists.
LIB61850_API MmsValue * MmsConnection_readNamedVariableListValues(MmsConnection self, MmsError *mmsError, const char *domainId, const char *listName, bool specWithResult)
Read the values of a domain specific named variable list.
LIB61850_API MmsValue * MmsJournalEntry_getEntryID(MmsJournalEntry self)
LIB61850_API void MmsConnection_obtainFileAsync(MmsConnection self, uint32_t *usedInvokeId, MmsError *mmsError, const char *sourceFile, const char *destinationFile, MmsConnection_GenericServiceHandler handler, void *parameter)
LIB61850_API void MmsConnection_writeNamedVariableListAsync(MmsConnection self, uint32_t *usedInvokeId, MmsError *mmsError, bool isAssociationSpecific, const char *domainId, const char *itemId, LinkedList values, MmsConnection_WriteMultipleVariablesHandler handler, void *parameter)
LIB61850_API void MmsConnection_fileCloseAsync(MmsConnection self, uint32_t *usedInvokeId, MmsError *mmsError, uint32_t frsmId, MmsConnection_GenericServiceHandler handler, void *parameter)
void(* MmsInformationReportHandler)(void *parameter, char *domainName, char *variableListName, MmsValue *value, bool isVariableListName)
Definition: mms_client_connection.h:69
LIB61850_API MmsValue * MmsJournalVariable_getValue(MmsJournalVariable self)
LIB61850_API void MmsConnection_setFilestoreBasepath(MmsConnection self, const char *basepath)
Set the virtual filestore basepath for the MMS obtain file services.
LIB61850_API void MmsConnection_readNamedVariableListValuesAssociationSpecificAsync(MmsConnection self, uint32_t *usedInvokeId, MmsError *mmsError, const char *listName, bool specWithResult, MmsConnection_ReadVariableHandler handler, void *parameter)
LIB61850_API void MmsConnection_fileReadAsync(MmsConnection self, uint32_t *usedInvokeId, MmsError *mmsError, int32_t frsmId, MmsConnection_FileReadHandler handler, void *parameter)
LIB61850_API MmsVariableAccessSpecification * MmsVariableAccessSpecification_createAlternateAccess(char *domainId, char *itemId, int32_t index, char *componentName)
Create a new MmsVariableSpecification that can be used to define named variable lists.
LIB61850_API void MmsConnection_writeVariableComponentAsync(MmsConnection self, uint32_t *usedInvokeId, MmsError *mmsError, const char *domainId, const char *itemId, const char *componentId, MmsValue *value, MmsConnection_WriteVariableHandler handler, void *parameter)
LIB61850_API void MmsConnection_readArrayElementsAsync(MmsConnection self, uint32_t *usedInvokeId, MmsError *mmsError, const char *domainId, const char *itemId, uint32_t startIndex, uint32_t numberOfElements, MmsConnection_ReadVariableHandler handler, void *parameter)
Read one or more elements of a single array variable from the server (asynchronous version)
LIB61850_API void MmsConnection_readJournalTimeRangeAsync(MmsConnection self, uint32_t *usedInvokeId, MmsError *mmsError, const char *domainId, const char *itemId, MmsValue *startTime, MmsValue *endTime, MmsConnection_ReadJournalHandler handler, void *parameter)
LIB61850_API void MmsConnection_conclude(MmsConnection self, MmsError *mmsError)
Uses the MMS conclude service to close the connection to the server.
LIB61850_API void MmsConnection_writeArrayElementsAsync(MmsConnection self, uint32_t *usedInvokeId, MmsError *mmsError, const char *domainId, const char *itemId, int index, int numberOfElements, MmsValue *value, MmsConnection_WriteVariableHandler handler, void *parameter)
LIB61850_API MmsServerIdentity * MmsConnection_identify(MmsConnection self, MmsError *mmsError)
get the identity of the connected server
LIB61850_API MmsValue * MmsConnection_readVariable(MmsConnection self, MmsError *mmsError, const char *domainId, const char *itemId)
Read a single variable from the server.
LIB61850_API MmsConnection MmsConnection_createNonThreaded(TLSConfiguration tlsConfig)
Create a new MmsConnection instance configured for non-threaded mode.
LIB61850_API void MmsConnection_readNamedVariableListValuesAsync(MmsConnection self, uint32_t *usedInvokeId, MmsError *mmsError, const char *domainId, const char *listName, bool specWithResult, MmsConnection_ReadVariableHandler handler, void *parameter)
void(* MmsConnectionLostHandler)(MmsConnection connection, void *parameter)
User provided handler function that will be called if the connection to the server is lost.
Definition: mms_client_connection.h:236
LIB61850_API LinkedList MmsConnection_getVMDVariableNames(MmsConnection self, MmsError *mmsError)
Get the names of all VMD scope variables of the server.
LIB61850_API void MmsConnection_writeSingleArrayElementWithComponentAsync(MmsConnection self, uint32_t *usedInvokeId, MmsError *mmsError, const char *domainId, const char *itemId, uint32_t arrayIndex, const char *componentId, MmsValue *value, MmsConnection_WriteVariableHandler handler, void *parameter)
LIB61850_API void MmsConnection_setInformationReportHandler(MmsConnection self, MmsInformationReportHandler handler, void *parameter)
Install a handler function for MMS information reports (unsolicited messages from the server).
LIB61850_API void MmsJournalEntry_destroy(MmsJournalEntry self)
Destroy a single MmsJournalEntry instance.
LIB61850_API LinkedList MmsConnection_getDomainNames(MmsConnection self, MmsError *mmsError)
Get the domains names for all domains of the server.
LIB61850_API LinkedList MmsConnection_readJournalStartAfter(MmsConnection self, MmsError *mmsError, const char *domainId, const char *itemId, MmsValue *timeSpecification, MmsValue *entrySpecification, bool *moreFollows)
LIB61850_API void MmsConnection_defineNamedVariableList(MmsConnection self, MmsError *mmsError, const char *domainId, const char *listName, LinkedList variableSpecs)
Define a new VMD or domain scoped named variable list at the server.
LIB61850_API void MmsConnection_setIsoConnectionParameters(MmsConnection self, IsoConnectionParameters *params)
Set the ISO connection parameters for a MmsConnection instance.
LIB61850_API void MmsConnection_close(MmsConnection self)
Close the connection - not recommended.
LIB61850_API void MmsConnection_obtainFile(MmsConnection self, MmsError *mmsError, const char *sourceFile, const char *destinationFile)
Send an obtainFile request to the server (used to initiate file download to server)
LIB61850_API LinkedList MmsConnection_getDomainVariableNames(MmsConnection self, MmsError *mmsError, const char *domainId)
Get the names of all variables present in a MMS domain of the server.
LIB61850_API void MmsConnection_fileRenameAsync(MmsConnection self, uint32_t *usedInvokeId, MmsError *mmsError, const char *currentFileName, const char *newFileName, MmsConnection_GenericServiceHandler handler, void *parameter)
LIB61850_API MmsConnection MmsConnection_create(void)
Create a new MmsConnection instance.
LIB61850_API void MmsVariableAccessSpecification_destroy(MmsVariableAccessSpecification *self)
Delete the MmsVariableAccessSpecification data structure.
LIB61850_API void MmsConnection_readVariableComponentAsync(MmsConnection self, uint32_t *usedInvokeId, MmsError *mmsError, const char *domainId, const char *itemId, const char *componentId, MmsConnection_ReadVariableHandler handler, void *parameter)
Read a component of a single variable from the server (asynchronous version)
LIB61850_API bool MmsConnection_deleteAssociationSpecificNamedVariableList(MmsConnection self, MmsError *mmsError, const char *listName)
Delete an association specific named variable list at the server.
LIB61850_API void MmsConnection_fileOpenAsync(MmsConnection self, uint32_t *usedInvokeId, MmsError *mmsError, const char *filename, uint32_t initialPosition, MmsConnection_FileOpenHandler handler, void *parameter)
void(* MmsConnection_GenericServiceHandler)(uint32_t invokeId, void *parameter, MmsError mmsError, bool success)
Definition: mms_client_connection.h:353
LIB61850_API bool MmsConnection_getFileDirectory(MmsConnection self, MmsError *mmsError, const char *fileSpecification, const char *continueAfter, MmsFileDirectoryHandler handler, void *handlerParameter)
get the file directory of the server.
LIB61850_API LinkedList MmsConnection_getVariableListNamesAssociationSpecific(MmsConnection self, MmsError *mmsError)
Get the names of all named variable lists associated with this client connection.
void(* MmsConnection_IdentifyHandler)(uint32_t invokeId, void *parameter, MmsError mmsError, char *vendorName, char *modelName, char *revision)
Definition: mms_client_connection.h:1066
LIB61850_API void MmsConnection_setLocalDetail(MmsConnection self, int32_t localDetail)
Get the MMS local detail parameter (local detail means maximum MMS PDU size).
LIB61850_API MmsDataAccessError MmsConnection_writeArrayElements(MmsConnection self, MmsError *mmsError, const char *domainId, const char *itemId, int index, int numberOfElements, MmsValue *value)
Write a single array element or a sub array to an array type variable.
LIB61850_API void MmsConnection_setRawMessageHandler(MmsConnection self, MmsRawMessageHandler handler, void *parameter)
Set the callback handler to intercept the raw MMS messages of the connection.
LIB61850_API bool MmsConnection_deleteNamedVariableList(MmsConnection self, MmsError *mmsError, const char *domainId, const char *listName)
Delete a named variable list at the server.
void(* MmsConnection_FileDirectoryHandler)(uint32_t invokeId, void *parameter, MmsError mmsError, char *filename, uint32_t size, uint64_t lastModfified, bool moreFollows)
Callback handler for the get file directory service.
Definition: mms_client_connection.h:1119
LIB61850_API void MmsConnection_destroy(MmsConnection self)
Destroy an MmsConnection instance and release all resources.
LIB61850_API bool MmsConnection_fileRead(MmsConnection self, MmsError *mmsError, int32_t frsmId, MmsFileReadHandler handler, void *handlerParameter)
read the next data block from the file
LIB61850_API LinkedList MmsConnection_readNamedVariableListDirectoryAssociationSpecific(MmsConnection self, MmsError *mmsError, const char *listName, bool *deletable)
Read the entry list of an association specific named variable list at the server.
LIB61850_API int32_t MmsConnection_getLocalDetail(MmsConnection self)
LIB61850_API void MmsConnection_writeMultipleVariablesAsync(MmsConnection self, uint32_t *usedInvokeId, MmsError *mmsError, const char *domainId, LinkedList items, LinkedList values, MmsConnection_WriteMultipleVariablesHandler handler, void *parameter)
void(* MmsConnection_WriteVariableHandler)(uint32_t invokeId, void *parameter, MmsError mmsError, MmsDataAccessError accessError)
Definition: mms_client_connection.h:655
LIB61850_API void MmsConnection_readSingleArrayElementWithComponentAsync(MmsConnection self, uint32_t *usedInvokeId, MmsError *mmsError, const char *domainId, const char *itemId, uint32_t index, const char *componentId, MmsConnection_ReadVariableHandler handler, void *parameter)
LIB61850_API LinkedList MmsJournalEntry_getJournalVariables(MmsJournalEntry self)
LIB61850_API void MmsConnection_abortAsync(MmsConnection self, MmsError *mmsError)
LIB61850_API MmsDataAccessError MmsConnection_writeSingleArrayElementWithComponent(MmsConnection self, MmsError *mmsError, const char *domainId, const char *itemId, uint32_t arrayIndex, const char *componentId, MmsValue *value)
Write a single array element with a component to an array type variable.
struct sMmsConnection * MmsConnection
Definition: mms_client_connection.h:75
void(* MmsRawMessageHandler)(void *parameter, uint8_t *message, int messageLength, bool received)
Callback function to intercept raw MMS messages.
Definition: mms_client_connection.h:125
void(* MmsConnection_FileReadHandler)(uint32_t invokeId, void *parameter, MmsError mmsError, int32_t frsmId, uint8_t *buffer, uint32_t byteReceived, bool moreFollows)
Callback handler for the file read service.
Definition: mms_client_connection.h:1139
void(* MmsConnection_ReadNVLDirectoryHandler)(uint32_t invokeId, void *parameter, MmsError mmsError, LinkedList specs, bool deletable)
Definition: mms_client_connection.h:930
LIB61850_API MmsDataAccessError MmsConnection_writeVariable(MmsConnection self, MmsError *mmsError, const char *domainId, const char *itemId, MmsValue *value)
Write a single variable to the server.
LIB61850_API MmsValue * MmsConnection_readNamedVariableListValuesAssociationSpecific(MmsConnection self, MmsError *mmsError, const char *listName, bool specWithResult)
Read the values of a association specific named variable list.
LIB61850_API void MmsConnection_deleteAssociationSpecificNamedVariableListAsync(MmsConnection self, uint32_t *usedInvokeId, MmsError *mmsError, const char *listName, MmsConnection_GenericServiceHandler handler, void *parameter)
LIB61850_API void MmsConnection_readNamedVariableListDirectoryAsync(MmsConnection self, uint32_t *usedInvokeId, MmsError *mmsError, const char *domainId, const char *listName, MmsConnection_ReadNVLDirectoryHandler handler, void *parameter)
LIB61850_API void MmsConnection_getFileDirectoryAsync(MmsConnection self, uint32_t *usedInvokeId, MmsError *mmsError, const char *fileSpecification, const char *continueAfter, MmsConnection_FileDirectoryHandler handler, void *parameter)
void(* MmsConnection_GetVariableAccessAttributesHandler)(uint32_t invokeId, void *parameter, MmsError mmsError, MmsVariableSpecification *spec)
Definition: mms_client_connection.h:812
LIB61850_API void MmsConnection_readMultipleVariablesAsync(MmsConnection self, uint32_t *usedInvokeId, MmsError *mmsError, const char *domainId, LinkedList items, MmsConnection_ReadVariableHandler handler, void *parameter)
LIB61850_API void MmsConnection_setConnectTimeout(MmsConnection self, uint32_t timeoutInMs)
Set the connect timeout in ms for this connection instance.
LIB61850_API void MmsConnection_identifyAsync(MmsConnection self, uint32_t *usedInvokeId, MmsError *mmsError, MmsConnection_IdentifyHandler handler, void *parameter)
LIB61850_API void MmsConnection_setConnectionLostHandler(MmsConnection self, MmsConnectionLostHandler handler, void *handlerParameter)
Install a callback function that will be called by the client stack if the MMS connection to the serv...
void(* MmsFileReadHandler)(void *parameter, int32_t frsmId, uint8_t *buffer, uint32_t bytesReceived)
Definition: mms_client_connection.h:1123
LIB61850_API void MmsConnection_concludeAsync(MmsConnection self, MmsError *mmsError, MmsConnection_ConcludeAbortHandler handler, void *parameter)
LIB61850_API void MmsConnnection_setMaxOutstandingCalls(MmsConnection self, int calling, int called)
Set the maximum number outstanding calls allowed for this connection.
LIB61850_API void MmsConnection_defineNamedVariableListAssociationSpecific(MmsConnection self, MmsError *mmsError, const char *listName, LinkedList variableSpecs)
Define a new association specific named variable list at the server.
void(* MmsConnection_ReadJournalHandler)(uint32_t invokeId, void *parameter, MmsError mmsError, LinkedList journalEntries, bool moreFollows)
Definition: mms_client_connection.h:1308
LIB61850_API LinkedList MmsConnection_readNamedVariableListDirectory(MmsConnection self, MmsError *mmsError, const char *domainId, const char *listName, bool *deletable)
Read the entry list of a named variable list at the server.
void(* MmsConnection_GetNameListHandler)(uint32_t invokeId, void *parameter, MmsError mmsError, LinkedList nameList, bool moreFollows)
Definition: mms_client_connection.h:356
LIB61850_API void MmsConnection_defineNamedVariableListAssociationSpecificAsync(MmsConnection self, uint32_t *usedInvokeId, MmsError *mmsError, const char *listName, LinkedList variableSpecs, MmsConnection_GenericServiceHandler handler, void *parameter)
void(* MmsConnectionStateChangedHandler)(MmsConnection connection, void *parameter, MmsConnectionState newState)
Definition: mms_client_connection.h:225
void(* MmsConnection_WriteMultipleVariablesHandler)(uint32_t invokeId, void *parameter, MmsError mmsError, LinkedList accessResults)
Definition: mms_client_connection.h:740
LIB61850_API void MmsConnection_getVMDVariableNamesAsync(MmsConnection self, uint32_t *usedInvokeId, MmsError *mmsError, const char *continueAfter, MmsConnection_GetNameListHandler handler, void *parameter)
void(* MmsConnection_ReadVariableHandler)(uint32_t invokeId, void *parameter, MmsError mmsError, MmsValue *value)
Definition: mms_client_connection.h:507
void(* MmsConnection_ConcludeAbortHandler)(void *parameter, MmsError mmsError, bool success)
Definition: mms_client_connection.h:316
LIB61850_API void MmsConnection_getDomainJournalsAsync(MmsConnection self, uint32_t *usedInvokeId, MmsError *mmsError, const char *domainId, const char *continueAfter, MmsConnection_GetNameListHandler handler, void *parameter)
LIB61850_API void MmsConnection_getServerStatus(MmsConnection self, MmsError *mmsError, int *vmdLogicalStatus, int *vmdPhysicalStatus, bool extendedDerivation)
get the VMD status of the connected server (is MMS status service)
LIB61850_API MmsValue * MmsConnection_readVariableComponent(MmsConnection self, MmsError *mmsError, const char *domainId, const char *itemId, const char *componentId)
Read a component of a single variable from the server.
void(* MmsConnection_GetServerStatusHandler)(uint32_t invokeId, void *parameter, MmsError mmsError, int vmdLogicalStatus, int vmdPhysicalStatus)
Definition: mms_client_connection.h:1098
LIB61850_API void MmsConnection_abort(MmsConnection self, MmsError *mmsError)
Uses the MMS/ACSE abort service to close the connection to the server.
LIB61850_API MmsVariableSpecification * MmsConnection_getVariableAccessAttributes(MmsConnection self, MmsError *mmsError, const char *domainId, const char *itemId)
Get the variable access attributes of a MMS named variable of the server.
LIB61850_API LinkedList MmsConnection_readJournalTimeRange(MmsConnection self, MmsError *mmsError, const char *domainId, const char *itemId, MmsValue *startTime, MmsValue *endTime, bool *moreFollows)
LIB61850_API void MmsConnection_getDomainVariableNamesAsync(MmsConnection self, uint32_t *usedInvokeId, MmsError *mmsError, const char *domainId, const char *continueAfter, LinkedList result, MmsConnection_GetNameListHandler handler, void *parameter)
Get the names of all variables present in a MMS domain of the server (asynchronous version).
LIB61850_API void MmsConnection_connectAsync(MmsConnection self, MmsError *mmsError, const char *serverName, int serverPort)
LIB61850_API void MmsConnection_writeNamedVariableList(MmsConnection self, MmsError *mmsError, bool isAssociationSpecific, const char *domainId, const char *itemId, LinkedList values, LinkedList *accessResults)
Write named variable list values to the server.
LIB61850_API MmsConnectionParameters MmsConnection_getMmsConnectionParameters(MmsConnection self)
Get the MMS specific connection parameters for an MmsConnection instance.
LIB61850_API void MmsConnection_getServerStatusAsync(MmsConnection self, uint32_t *usedInvokeId, MmsError *mmsError, bool extendedDerivation, MmsConnection_GetServerStatusHandler handler, void *parameter)
LIB61850_API IsoConnectionParameters MmsConnection_getIsoConnectionParameters(MmsConnection self)
Get the ISO connection parameters for an MmsConnection instance.
LIB61850_API MmsValue * MmsJournalEntry_getOccurenceTime(MmsJournalEntry self)
LIB61850_API void MmsConnection_fileClose(MmsConnection self, MmsError *mmsError, int32_t frsmId)
close the file with the specified frsmID
LIB61850_API MmsValue * MmsConnection_readArrayElements(MmsConnection self, MmsError *mmsError, const char *domainId, const char *itemId, uint32_t startIndex, uint32_t numberOfElements)
Read one or more elements of a single array variable from the server.
LIB61850_API void MmsConnection_fileRename(MmsConnection self, MmsError *mmsError, const char *currentFileName, const char *newFileName)
rename the file with the specified name
LIB61850_API void MmsConnection_readJournalStartAfterAsync(MmsConnection self, uint32_t *usedInvokeId, MmsError *mmsError, const char *domainId, const char *itemId, MmsValue *timeSpecification, MmsValue *entrySpecification, MmsConnection_ReadJournalHandler handler, void *parameter)
@ MMS_CONNECTION_STATE_CLOSING
Definition: mms_client_connection.h:66
@ MMS_CONNECTION_STATE_CONNECTING
Definition: mms_client_connection.h:64
@ MMS_CONNECTION_STATE_CLOSED
Definition: mms_client_connection.h:63
@ MMS_CONNECTION_STATE_CONNECTED
Definition: mms_client_connection.h:65
Definition: mms_client_connection.h:48
int maxServOutstandingCalled
Definition: mms_client_connection.h:50
int maxServOutstandingCalling
Definition: mms_client_connection.h:49
int dataStructureNestingLevel
Definition: mms_client_connection.h:51
int maxPduSize
Definition: mms_client_connection.h:52
Definition: mms_client_connection.h:56
char * vendorName
Definition: mms_client_connection.h:57
char * revision
Definition: mms_client_connection.h:59
char * modelName
Definition: mms_client_connection.h:58
Definition: mms_common.h:148
Definition: mms_client_connection.h:1265
LinkedList journalVariables
Definition: mms_client_connection.h:1268
MmsValue * entryID
Definition: mms_client_connection.h:1266
MmsValue * occurenceTime
Definition: mms_client_connection.h:1267
Definition: mms_client_connection.h:1271
MmsValue * value
Definition: mms_client_connection.h:1273
char * tag
Definition: mms_client_connection.h:1272