libiec61850
1.6.0
|
Data Structures | |
struct | MmsConnectionParameters |
struct | MmsServerIdentity |
struct | MmsJournalEntry |
struct | MmsJournalVariable |
struct | AcseAuthenticationParameter |
struct | TSelector |
COTP T selector. More... | |
struct | SSelector |
OSI session selector. More... | |
struct | PSelector |
OSI presentation (P) selector. More... | |
struct | IsoConnectionParameters |
Typedefs | |
typedef void(* | MmsInformationReportHandler) (void *parameter, char *domainName, char *variableListName, MmsValue *value, bool isVariableListName) |
typedef struct sMmsConnection * | MmsConnection |
typedef void(* | MmsRawMessageHandler) (void *parameter, uint8_t *message, int messageLength, bool received) |
Callback function to intercept raw MMS messages. More... | |
typedef void(* | MmsConnectionStateChangedHandler) (MmsConnection connection, void *parameter, MmsConnectionState newState) |
typedef void(* | MmsConnectionLostHandler) (MmsConnection connection, void *parameter) |
User provided handler function that will be called if the connection to the server is lost. More... | |
typedef void(* | MmsConnection_ConcludeAbortHandler) (void *parameter, MmsError mmsError, bool success) |
typedef void(* | MmsConnection_GenericServiceHandler) (uint32_t invokeId, void *parameter, MmsError mmsError, bool success) |
typedef void(* | MmsConnection_GetNameListHandler) (uint32_t invokeId, void *parameter, MmsError mmsError, LinkedList nameList, bool moreFollows) |
typedef void(* | MmsConnection_ReadVariableHandler) (uint32_t invokeId, void *parameter, MmsError mmsError, MmsValue *value) |
typedef void(* | MmsConnection_WriteVariableHandler) (uint32_t invokeId, void *parameter, MmsError mmsError, MmsDataAccessError accessError) |
typedef void(* | MmsConnection_WriteMultipleVariablesHandler) (uint32_t invokeId, void *parameter, MmsError mmsError, LinkedList accessResults) |
typedef void(* | MmsConnection_GetVariableAccessAttributesHandler) (uint32_t invokeId, void *parameter, MmsError mmsError, MmsVariableSpecification *spec) |
typedef void(* | MmsConnection_ReadNVLDirectoryHandler) (uint32_t invokeId, void *parameter, MmsError mmsError, LinkedList specs, bool deletable) |
typedef void(* | MmsConnection_IdentifyHandler) (uint32_t invokeId, void *parameter, MmsError mmsError, char *vendorName, char *modelName, char *revision) |
typedef void(* | MmsConnection_GetServerStatusHandler) (uint32_t invokeId, void *parameter, MmsError mmsError, int vmdLogicalStatus, int vmdPhysicalStatus) |
typedef void(* | MmsFileDirectoryHandler) (void *parameter, char *filename, uint32_t size, uint64_t lastModified) |
typedef 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. More... | |
typedef void(* | MmsFileReadHandler) (void *parameter, int32_t frsmId, uint8_t *buffer, uint32_t bytesReceived) |
typedef 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. More... | |
typedef void(* | MmsConnection_FileOpenHandler) (uint32_t invokeId, void *parameter, MmsError mmsError, int32_t frsmId, uint32_t fileSize, uint64_t lastModified) |
typedef void(* | MmsConnection_ReadJournalHandler) (uint32_t invokeId, void *parameter, MmsError mmsError, LinkedList journalEntries, bool moreFollows) |
typedef bool(* | AcseAuthenticator) (void *parameter, AcseAuthenticationParameter authParameter, void **securityToken, IsoApplicationReference *appReference) |
Callback function to authenticate a client. More... | |
Enumerations | |
enum | MmsConnectionState { MMS_CONNECTION_STATE_CLOSED , MMS_CONNECTION_STATE_CONNECTING , MMS_CONNECTION_STATE_CONNECTED , MMS_CONNECTION_STATE_CLOSING } |
enum | AcseAuthenticationMechanism { ACSE_AUTH_NONE = 0 , ACSE_AUTH_PASSWORD = 1 , ACSE_AUTH_CERTIFICATE = 2 , ACSE_AUTH_TLS = 3 } |
authentication mechanism used by AcseAuthenticator More... | |
Functions | |
LIB61850_API MmsConnection | MmsConnection_create (void) |
Create a new MmsConnection instance. More... | |
LIB61850_API MmsConnection | MmsConnection_createSecure (TLSConfiguration tlsConfig) |
Create a new secure (TLS enabled) MmsConnection instance. More... | |
LIB61850_API MmsConnection | MmsConnection_createNonThreaded (TLSConfiguration tlsConfig) |
Create a new MmsConnection instance configured for non-threaded mode. More... | |
LIB61850_API void | MmsConnection_setRawMessageHandler (MmsConnection self, MmsRawMessageHandler handler, void *parameter) |
Set the callback handler to intercept the raw MMS messages of the connection. More... | |
LIB61850_API void | MmsConnection_setFilestoreBasepath (MmsConnection self, const char *basepath) |
Set the virtual filestore basepath for the MMS obtain file services. More... | |
LIB61850_API void | MmsConnection_setRequestTimeout (MmsConnection self, uint32_t timeoutInMs) |
Set the request timeout in ms for this connection. More... | |
LIB61850_API void | MmsConnnection_setMaxOutstandingCalls (MmsConnection self, int calling, int called) |
Set the maximum number outstanding calls allowed for this connection. More... | |
LIB61850_API uint32_t | MmsConnection_getRequestTimeout (MmsConnection self) |
Get the request timeout in ms for this connection. More... | |
LIB61850_API void | MmsConnection_setConnectTimeout (MmsConnection self, uint32_t timeoutInMs) |
Set the connect timeout in ms for this connection instance. More... | |
LIB61850_API void | MmsConnection_setInformationReportHandler (MmsConnection self, MmsInformationReportHandler handler, void *parameter) |
Install a handler function for MMS information reports (unsolicited messages from the server). More... | |
LIB61850_API IsoConnectionParameters | MmsConnection_getIsoConnectionParameters (MmsConnection self) |
Get the ISO connection parameters for an MmsConnection instance. More... | |
LIB61850_API MmsConnectionParameters | MmsConnection_getMmsConnectionParameters (MmsConnection self) |
Get the MMS specific connection parameters for an MmsConnection instance. More... | |
LIB61850_API void | MmsConnection_setConnectionStateChangedHandler (MmsConnection self, MmsConnectionStateChangedHandler 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 server is lost. More... | |
LIB61850_API void | MmsConnection_setIsoConnectionParameters (MmsConnection self, IsoConnectionParameters *params) |
Set the ISO connection parameters for a MmsConnection instance. More... | |
LIB61850_API void | MmsConnection_destroy (MmsConnection self) |
Destroy an MmsConnection instance and release all resources. More... | |
LIB61850_API bool | MmsConnection_connect (MmsConnection self, MmsError *mmsError, const char *serverName, int serverPort) |
Connect to an MMS server. More... | |
LIB61850_API void | MmsConnection_connectAsync (MmsConnection self, MmsError *mmsError, const char *serverName, int serverPort) |
LIB61850_API bool | MmsConnection_tick (MmsConnection self) |
Call MmsConnection state machine and connection handling code (for non-threaded mode only) More... | |
LIB61850_API void | MmsConnection_sendRawData (MmsConnection self, MmsError *mmsError, uint8_t *buffer, int bufSize) |
LIB61850_API void | MmsConnection_close (MmsConnection self) |
Close the connection - not recommended. More... | |
LIB61850_API void | MmsConnection_abort (MmsConnection self, MmsError *mmsError) |
Uses the MMS/ACSE abort service to close the connection to the server. More... | |
LIB61850_API void | MmsConnection_abortAsync (MmsConnection self, MmsError *mmsError) |
LIB61850_API void | MmsConnection_conclude (MmsConnection self, MmsError *mmsError) |
Uses the MMS conclude service to close the connection to the server. More... | |
LIB61850_API void | MmsConnection_concludeAsync (MmsConnection self, MmsError *mmsError, MmsConnection_ConcludeAbortHandler handler, void *parameter) |
LIB61850_API LinkedList | MmsConnection_getVMDVariableNames (MmsConnection self, MmsError *mmsError) |
Get the names of all VMD scope variables of the server. More... | |
LIB61850_API void | MmsConnection_getVMDVariableNamesAsync (MmsConnection self, uint32_t *usedInvokeId, MmsError *mmsError, const char *continueAfter, MmsConnection_GetNameListHandler handler, void *parameter) |
LIB61850_API LinkedList | MmsConnection_getDomainNames (MmsConnection self, MmsError *mmsError) |
Get the domains names for all domains of the server. More... | |
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). More... | |
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. More... | |
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). More... | |
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. More... | |
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) |
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. More... | |
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 LinkedList | MmsConnection_getVariableListNamesAssociationSpecific (MmsConnection self, MmsError *mmsError) |
Get the names of all named variable lists associated with this client connection. More... | |
LIB61850_API void | MmsConnection_getVariableListNamesAssociationSpecificAsync (MmsConnection self, uint32_t *usedInvokeId, MmsError *mmsError, const char *continueAfter, MmsConnection_GetNameListHandler handler, void *parameter) |
LIB61850_API MmsValue * | MmsConnection_readVariable (MmsConnection self, MmsError *mmsError, const char *domainId, const char *itemId) |
Read a single variable from the server. More... | |
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) More... | |
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. More... | |
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) More... | |
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. More... | |
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) More... | |
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. More... | |
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 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. More... | |
LIB61850_API void | MmsConnection_readMultipleVariablesAsync (MmsConnection self, uint32_t *usedInvokeId, MmsError *mmsError, const char *domainId, LinkedList items, MmsConnection_ReadVariableHandler handler, void *parameter) |
LIB61850_API MmsDataAccessError | MmsConnection_writeVariable (MmsConnection self, MmsError *mmsError, const char *domainId, const char *itemId, MmsValue *value) |
Write a single variable to the server. More... | |
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 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) More... | |
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. More... | |
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_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 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. More... | |
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 void | MmsConnection_writeMultipleVariables (MmsConnection self, MmsError *mmsError, const char *domainId, LinkedList items, LinkedList values, LinkedList *accessResults) |
Write multiple variables to the server. More... | |
LIB61850_API void | MmsConnection_writeMultipleVariablesAsync (MmsConnection self, uint32_t *usedInvokeId, MmsError *mmsError, const char *domainId, LinkedList items, LinkedList values, MmsConnection_WriteMultipleVariablesHandler handler, void *parameter) |
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. More... | |
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 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. More... | |
LIB61850_API void | MmsConnection_getVariableAccessAttributesAsync (MmsConnection self, uint32_t *usedInvokeId, MmsError *mmsError, const char *domainId, const char *itemId, MmsConnection_GetVariableAccessAttributesHandler, void *parameter) |
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. More... | |
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) |
LIB61850_API MmsValue * | MmsConnection_readNamedVariableListValuesAssociationSpecific (MmsConnection self, MmsError *mmsError, const char *listName, bool specWithResult) |
Read the values of a association specific named variable list. More... | |
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_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. More... | |
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_defineNamedVariableListAssociationSpecific (MmsConnection self, MmsError *mmsError, const char *listName, LinkedList variableSpecs) |
Define a new association specific named variable list at the server. More... | |
LIB61850_API void | MmsConnection_defineNamedVariableListAssociationSpecificAsync (MmsConnection self, uint32_t *usedInvokeId, MmsError *mmsError, const char *listName, LinkedList variableSpecs, MmsConnection_GenericServiceHandler handler, void *parameter) |
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. More... | |
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 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. More... | |
LIB61850_API void | MmsConnection_readNamedVariableListDirectoryAssociationSpecificAsync (MmsConnection self, uint32_t *usedInvokeId, MmsError *mmsError, const char *listName, MmsConnection_ReadNVLDirectoryHandler handler, void *parameter) |
LIB61850_API bool | MmsConnection_deleteNamedVariableList (MmsConnection self, MmsError *mmsError, const char *domainId, const char *listName) |
Delete a named variable list at the server. More... | |
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 bool | MmsConnection_deleteAssociationSpecificNamedVariableList (MmsConnection self, MmsError *mmsError, const char *listName) |
Delete an association specific named variable list at the server. More... | |
LIB61850_API void | MmsConnection_deleteAssociationSpecificNamedVariableListAsync (MmsConnection self, uint32_t *usedInvokeId, MmsError *mmsError, const char *listName, MmsConnection_GenericServiceHandler handler, void *parameter) |
LIB61850_API MmsVariableAccessSpecification * | MmsVariableAccessSpecification_create (char *domainId, char *itemId) |
Create a new MmsVariableSpecification that can be used to define named variable lists. More... | |
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. More... | |
LIB61850_API void | MmsVariableAccessSpecification_destroy (MmsVariableAccessSpecification *self) |
Delete the MmsVariableAccessSpecification data structure. More... | |
LIB61850_API void | MmsConnection_setLocalDetail (MmsConnection self, int32_t localDetail) |
Get the MMS local detail parameter (local detail means maximum MMS PDU size). More... | |
LIB61850_API int32_t | MmsConnection_getLocalDetail (MmsConnection self) |
LIB61850_API MmsServerIdentity * | MmsConnection_identify (MmsConnection self, MmsError *mmsError) |
get the identity of the connected server More... | |
LIB61850_API void | MmsConnection_identifyAsync (MmsConnection self, uint32_t *usedInvokeId, MmsError *mmsError, MmsConnection_IdentifyHandler handler, void *parameter) |
LIB61850_API void | MmsServerIdentity_destroy (MmsServerIdentity *self) |
Destroy (free) an MmsServerIdentity object. More... | |
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) More... | |
LIB61850_API void | MmsConnection_getServerStatusAsync (MmsConnection self, uint32_t *usedInvokeId, MmsError *mmsError, bool extendedDerivation, MmsConnection_GetServerStatusHandler handler, void *parameter) |
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 More... | |
LIB61850_API void | MmsConnection_fileOpenAsync (MmsConnection self, uint32_t *usedInvokeId, MmsError *mmsError, const char *filename, uint32_t initialPosition, MmsConnection_FileOpenHandler handler, void *parameter) |
LIB61850_API bool | MmsConnection_fileRead (MmsConnection self, MmsError *mmsError, int32_t frsmId, MmsFileReadHandler handler, void *handlerParameter) |
read the next data block from the file More... | |
LIB61850_API void | MmsConnection_fileReadAsync (MmsConnection self, uint32_t *usedInvokeId, MmsError *mmsError, int32_t frsmId, MmsConnection_FileReadHandler handler, void *parameter) |
LIB61850_API void | MmsConnection_fileClose (MmsConnection self, MmsError *mmsError, int32_t frsmId) |
close the file with the specified frsmID More... | |
LIB61850_API void | MmsConnection_fileCloseAsync (MmsConnection self, uint32_t *usedInvokeId, MmsError *mmsError, uint32_t frsmId, MmsConnection_GenericServiceHandler handler, void *parameter) |
LIB61850_API void | MmsConnection_fileDelete (MmsConnection self, MmsError *mmsError, const char *fileName) |
delete the file with the specified name More... | |
LIB61850_API void | MmsConnection_fileDeleteAsync (MmsConnection self, uint32_t *usedInvokeId, MmsError *mmsError, const char *fileName, MmsConnection_GenericServiceHandler handler, void *parameter) |
LIB61850_API void | MmsConnection_fileRename (MmsConnection self, MmsError *mmsError, const char *currentFileName, const char *newFileName) |
rename the file with the specified name More... | |
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 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) More... | |
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 bool | MmsConnection_getFileDirectory (MmsConnection self, MmsError *mmsError, const char *fileSpecification, const char *continueAfter, MmsFileDirectoryHandler handler, void *handlerParameter) |
get the file directory of the server. More... | |
LIB61850_API void | MmsConnection_getFileDirectoryAsync (MmsConnection self, uint32_t *usedInvokeId, MmsError *mmsError, const char *fileSpecification, const char *continueAfter, MmsConnection_FileDirectoryHandler handler, void *parameter) |
LIB61850_API void | MmsJournalEntry_destroy (MmsJournalEntry self) |
Destroy a single MmsJournalEntry instance. More... | |
LIB61850_API MmsValue * | MmsJournalEntry_getEntryID (MmsJournalEntry self) |
LIB61850_API MmsValue * | MmsJournalEntry_getOccurenceTime (MmsJournalEntry self) |
LIB61850_API LinkedList | MmsJournalEntry_getJournalVariables (MmsJournalEntry self) |
LIB61850_API const char * | MmsJournalVariable_getTag (MmsJournalVariable self) |
LIB61850_API MmsValue * | MmsJournalVariable_getValue (MmsJournalVariable self) |
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_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 LinkedList | MmsConnection_readJournalStartAfter (MmsConnection self, MmsError *mmsError, const char *domainId, const char *itemId, MmsValue *timeSpecification, MmsValue *entrySpecification, bool *moreFollows) |
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) |
LIB61850_API AcseAuthenticationParameter | AcseAuthenticationParameter_create (void) |
LIB61850_API void | AcseAuthenticationParameter_destroy (AcseAuthenticationParameter self) |
LIB61850_API void | AcseAuthenticationParameter_setAuthMechanism (AcseAuthenticationParameter self, AcseAuthenticationMechanism mechanism) |
LIB61850_API void | AcseAuthenticationParameter_setPassword (AcseAuthenticationParameter self, char *password) |
LIB61850_API IsoConnectionParameters | IsoConnectionParameters_create (void) |
create a new IsoConnectionParameters instance (FOR LIBRARY INTERNAL USE) More... | |
LIB61850_API void | IsoConnectionParameters_destroy (IsoConnectionParameters self) |
Destroy an IsoConnectionParameters instance (FOR LIBRARY INTERNAL USE) More... | |
LIB61850_API void | IsoConnectionParameters_setTlsConfiguration (IsoConnectionParameters self, TLSConfiguration tlsConfig) |
LIB61850_API void | IsoConnectionParameters_setAcseAuthenticationParameter (IsoConnectionParameters self, AcseAuthenticationParameter acseAuthParameter) |
set the authentication parameter More... | |
LIB61850_API void | IsoConnectionParameters_setTcpParameters (IsoConnectionParameters self, const char *hostname, int tcpPort) |
Set TCP parameters (FOR LIBRARY INTERNAL USE) More... | |
LIB61850_API void | IsoConnectionParameters_setLocalTcpParameters (IsoConnectionParameters self, const char *localIpAddress, int localTcpPort) |
Set Local TCP parameters (FOR LIBRARY INTERNAL USE) More... | |
LIB61850_API void | IsoConnectionParameters_setRemoteApTitle (IsoConnectionParameters self, const char *apTitle, int aeQualifier) |
set the remote AP-Title and AE-Qualifier More... | |
LIB61850_API void | IsoConnectionParameters_setRemoteAddresses (IsoConnectionParameters self, PSelector pSelector, SSelector sSelector, TSelector tSelector) |
set remote addresses for the lower layers More... | |
LIB61850_API void | IsoConnectionParameters_setLocalApTitle (IsoConnectionParameters self, const char *apTitle, int aeQualifier) |
set the local AP-Title and AE-Qualifier More... | |
LIB61850_API void | IsoConnectionParameters_setLocalAddresses (IsoConnectionParameters self, PSelector pSelector, SSelector sSelector, TSelector tSelector) |
set local addresses for the lower layers More... | |
typedef bool(* AcseAuthenticator) (void *parameter, AcseAuthenticationParameter authParameter, void **securityToken, IsoApplicationReference *appReference) |
Callback function to authenticate a client.
parameter | user provided parameter - set when user registers the authenticator |
authParameter | the authentication parameters provided by the client |
securityToken | pointer where to store an application specific security token - can be ignored if not used. |
appReference | ISO application reference (ap-title + ae-qualifier) |
typedef struct sMmsConnection* MmsConnection |
Opaque handle for MMS client connection instance.
typedef void(* MmsConnection_ConcludeAbortHandler) (void *parameter, MmsError mmsError, bool success) |
typedef 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.
Will be called once for each file directory entry and after the last entry with filename = NULL to indicate with moreFollows set to true when more data is available server side. In case of an error the callback will be called with mmsError != MMS_ERROR_NONE and moreFollows = false.
typedef void(* MmsConnection_FileOpenHandler) (uint32_t invokeId, void *parameter, MmsError mmsError, int32_t frsmId, uint32_t fileSize, uint64_t lastModified) |
typedef 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.
Will be called for every received part of the file and when there is an error during reading the file.
invokeId | invokeID of the response |
parameter | user provided context parameter |
mmsError | error code |
frsmId | ID of the file |
buffer | buffer where the received bytes are stored |
bytesReceived | number of bytes received with this response |
moreFollows | more messages with parts of the file are following |
typedef void(* MmsConnection_GenericServiceHandler) (uint32_t invokeId, void *parameter, MmsError mmsError, bool success) |
typedef void(* MmsConnection_GetNameListHandler) (uint32_t invokeId, void *parameter, MmsError mmsError, LinkedList nameList, bool moreFollows) |
typedef void(* MmsConnection_GetServerStatusHandler) (uint32_t invokeId, void *parameter, MmsError mmsError, int vmdLogicalStatus, int vmdPhysicalStatus) |
typedef void(* MmsConnection_GetVariableAccessAttributesHandler) (uint32_t invokeId, void *parameter, MmsError mmsError, MmsVariableSpecification *spec) |
typedef void(* MmsConnection_IdentifyHandler) (uint32_t invokeId, void *parameter, MmsError mmsError, char *vendorName, char *modelName, char *revision) |
typedef void(* MmsConnection_ReadJournalHandler) (uint32_t invokeId, void *parameter, MmsError mmsError, LinkedList journalEntries, bool moreFollows) |
typedef void(* MmsConnection_ReadNVLDirectoryHandler) (uint32_t invokeId, void *parameter, MmsError mmsError, LinkedList specs, bool deletable) |
typedef void(* MmsConnection_ReadVariableHandler) (uint32_t invokeId, void *parameter, MmsError mmsError, MmsValue *value) |
typedef void(* MmsConnection_WriteMultipleVariablesHandler) (uint32_t invokeId, void *parameter, MmsError mmsError, LinkedList accessResults) |
typedef void(* MmsConnection_WriteVariableHandler) (uint32_t invokeId, void *parameter, MmsError mmsError, MmsDataAccessError accessError) |
typedef void(* MmsConnectionLostHandler) (MmsConnection connection, void *parameter) |
User provided handler function that will be called if the connection to the server is lost.
connection | MmsConnection object of the lost connection |
parameter | user provided parameter. |
typedef void(* MmsConnectionStateChangedHandler) (MmsConnection connection, void *parameter, MmsConnectionState newState) |
typedef void(* MmsFileDirectoryHandler) (void *parameter, char *filename, uint32_t size, uint64_t lastModified) |
typedef void(* MmsFileReadHandler) (void *parameter, int32_t frsmId, uint8_t *buffer, uint32_t bytesReceived) |
typedef void(* MmsInformationReportHandler) (void *parameter, char *domainName, char *variableListName, MmsValue *value, bool isVariableListName) |
typedef void(* MmsRawMessageHandler) (void *parameter, uint8_t *message, int messageLength, bool received) |
Callback function to intercept raw MMS messages.
IMPORTANT: the message buffer is only valid in the context of the the callback function. If the message data is required elsewhere it has to be copied here!
parameter | user provided parameter that is passed to the callback function |
message | buffer of the message. |
messageLength | length of the message in bytes |
received | if true message has been received, false when message has been sent. |
authentication mechanism used by AcseAuthenticator
enum MmsConnectionState |
LIB61850_API AcseAuthenticationParameter AcseAuthenticationParameter_create | ( | void | ) |
LIB61850_API void AcseAuthenticationParameter_destroy | ( | AcseAuthenticationParameter | self | ) |
LIB61850_API void AcseAuthenticationParameter_setAuthMechanism | ( | AcseAuthenticationParameter | self, |
AcseAuthenticationMechanism | mechanism | ||
) |
LIB61850_API void AcseAuthenticationParameter_setPassword | ( | AcseAuthenticationParameter | self, |
char * | password | ||
) |
LIB61850_API IsoConnectionParameters IsoConnectionParameters_create | ( | void | ) |
create a new IsoConnectionParameters instance (FOR LIBRARY INTERNAL USE)
NOTE: This function used internally by the MMS client library. When using the MMS or IEC 61850 API there should be no reason for the user to call this function.
LIB61850_API void IsoConnectionParameters_destroy | ( | IsoConnectionParameters | self | ) |
Destroy an IsoConnectionParameters instance (FOR LIBRARY INTERNAL USE)
NOTE: This function used internally by the MMS client library. When using the MMS or IEC 61850 API there should be no reason for the user to call this function.
self | the IsoConnectionParameters instance |
LIB61850_API void IsoConnectionParameters_setAcseAuthenticationParameter | ( | IsoConnectionParameters | self, |
AcseAuthenticationParameter | acseAuthParameter | ||
) |
set the authentication parameter
This will set the authentication parameter and activates authentication.
self | the IsoConnectionParameters instance |
acseAuthParameter |
LIB61850_API void IsoConnectionParameters_setLocalAddresses | ( | IsoConnectionParameters | self, |
PSelector | pSelector, | ||
SSelector | sSelector, | ||
TSelector | tSelector | ||
) |
set local addresses for the lower layers
This function can be used to set the addresses for the lower layer protocols (presentation, session, and transport layer). Calling this function is optional and not recommended. If not called the default parameters are used.
self | the IsoConnectionParameters instance |
pSelector | the P-Selector (presentation layer address) |
sSelector | the S-Selector (session layer address) |
tSelector | the T-Selector (ISO transport layer address) |
LIB61850_API void IsoConnectionParameters_setLocalApTitle | ( | IsoConnectionParameters | self, |
const char * | apTitle, | ||
int | aeQualifier | ||
) |
set the local AP-Title and AE-Qualifier
Calling this function is optional and not recommended. If not called the default parameters are used. If apTitle is NULL the parameter the AP-Title and AE-Qualifier will not be transmitted. This seems to be required by some server devices.
self | the IsoConnectionParameters instance |
apTitle | the AP-Title OID as string. |
aeQualifier | the AP-qualifier |
LIB61850_API void IsoConnectionParameters_setLocalTcpParameters | ( | IsoConnectionParameters | self, |
const char * | localIpAddress, | ||
int | localTcpPort | ||
) |
Set Local TCP parameters (FOR LIBRARY INTERNAL USE)
NOTE: This function used internally by the MMS Client library. When using the MMS or IEC 61850 API there should be no reason for the user to call this function
self | the IsoConnectionParameters instance |
localIpAddress | the hostname of local IP address of the server |
localTcpPort | the local TCP port number of the server |
LIB61850_API void IsoConnectionParameters_setRemoteAddresses | ( | IsoConnectionParameters | self, |
PSelector | pSelector, | ||
SSelector | sSelector, | ||
TSelector | tSelector | ||
) |
set remote addresses for the lower layers
This function can be used to set the addresses for the lower layer protocols (presentation, session, and transport layer). Calling this function is optional and not recommended. If not called the default parameters are used.
self | the IsoConnectionParameters instance |
pSelector | the P-Selector (presentation layer address) |
sSelector | the S-Selector (session layer address) |
tSelector | the T-Selector (ISO transport layer address) |
LIB61850_API void IsoConnectionParameters_setRemoteApTitle | ( | IsoConnectionParameters | self, |
const char * | apTitle, | ||
int | aeQualifier | ||
) |
set the remote AP-Title and AE-Qualifier
Calling this function is optional and not recommended. If not called the default parameters are used. If apTitle is NULL the parameter the AP-Title and AE-Qualifier will not be transmitted. This seems to be required by some server devices.
self | the IsoConnectionParameters instance |
apTitle | the AP-Title OID as string. |
aeQualifier | the AP-qualifier |
LIB61850_API void IsoConnectionParameters_setTcpParameters | ( | IsoConnectionParameters | self, |
const char * | hostname, | ||
int | tcpPort | ||
) |
Set TCP parameters (FOR LIBRARY INTERNAL USE)
NOTE: This function used internally by the MMS client library. When using the MMS or IEC 61850 API there should be no reason for the user to call this function
self | the IsoConnectionParameters instance |
hostname | the hostname of IP address if the server |
tcpPort | the TCP port number of the server |
LIB61850_API void IsoConnectionParameters_setTlsConfiguration | ( | IsoConnectionParameters | self, |
TLSConfiguration | tlsConfig | ||
) |
LIB61850_API void MmsConnection_abort | ( | MmsConnection | self, |
MmsError * | mmsError | ||
) |
Uses the MMS/ACSE abort service to close the connection to the server.
This service should be used to abruptly interrupt the connection to the server. It is not quite clear what the benefit of this service is (simply closing the TCP connection should do the same). Though it is required by conformance tests. In case the server doesn't close the connection after the internal timeout interval the client will close the TCP connection and set mmsError to MMS_ERROR_SERVICE_TIMEOUT.
self | MmsConnection instance to operate on |
mmsError | user provided variable to store error code |
LIB61850_API void MmsConnection_abortAsync | ( | MmsConnection | self, |
MmsError * | mmsError | ||
) |
LIB61850_API void MmsConnection_close | ( | MmsConnection | self | ) |
Close the connection - not recommended.
This service simply closes the TCP socket without any hand-shaking with the server. This behavior is not specified. Use with care!
self | MmsConnection instance to operate on |
LIB61850_API void MmsConnection_conclude | ( | MmsConnection | self, |
MmsError * | mmsError | ||
) |
Uses the MMS conclude service to close the connection to the server.
This should be used to orderly release the connection to the server. If the server denies the conclude request (by sending a concludeError PDU) this service fails with an error (mmsError set accordingly) and the connection remains open. In this case the close or abort methods have to be used to close the connection. It is not quite clear if this service is really useful but it is required by conformance tests.
self | MmsConnection instance to operate on |
mmsError | user provided variable to store error code |
LIB61850_API void MmsConnection_concludeAsync | ( | MmsConnection | self, |
MmsError * | mmsError, | ||
MmsConnection_ConcludeAbortHandler | handler, | ||
void * | parameter | ||
) |
LIB61850_API bool MmsConnection_connect | ( | MmsConnection | self, |
MmsError * | mmsError, | ||
const char * | serverName, | ||
int | serverPort | ||
) |
Connect to an MMS server.
This will open a new TCP connection and send a MMS initiate request.
self | MmsConnection instance to operate on |
mmsError | user provided variable to store error code |
serverName | hostname or IP address of the server to connect |
serverPort | TCP port number of the server to connect or -1 to use default port (102 for MMS or 3872 for MMS over TLS) |
LIB61850_API void MmsConnection_connectAsync | ( | MmsConnection | self, |
MmsError * | mmsError, | ||
const char * | serverName, | ||
int | serverPort | ||
) |
LIB61850_API MmsConnection MmsConnection_create | ( | void | ) |
Create a new MmsConnection instance.
LIB61850_API MmsConnection MmsConnection_createNonThreaded | ( | TLSConfiguration | tlsConfig | ) |
Create a new MmsConnection instance configured for non-threaded mode.
NOTE: This constructor doesn't create a background thread for connection handling. The user has to call the MmsConnection_tick function periodically to ensure that the MMS connection can be handled properly.
tlsConfig | TLS configuration parameters and certificates or NULL for non-TLS mode. |
LIB61850_API MmsConnection MmsConnection_createSecure | ( | TLSConfiguration | tlsConfig | ) |
Create a new secure (TLS enabled) MmsConnection instance.
tlsConfig | TLS configuration parameters and certificates |
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.
The resulting named variable list will either be of domain scope (when the domainId argument is present) or VMD scope when the domainId argument is NULL.
self | MmsConnection instance to operate on |
mmsError | user provided variable to store error code |
domainId | the domain name of the domain for the new variable list |
listName | the name of the named variable list |
variableSpecs | a list of variable specifications for the new variable list. The list elements have to be of type MmsVariableAccessSpecification*. |
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.
self | MmsConnection instance to operate on |
mmsError | user provided variable to store error code |
listName | the name of the named variable list |
variableSpecs | list of variable specifications for the new variable list.The list elements have to be of type MmsVariableAccessSpecification*. |
LIB61850_API void MmsConnection_defineNamedVariableListAssociationSpecificAsync | ( | MmsConnection | self, |
uint32_t * | usedInvokeId, | ||
MmsError * | mmsError, | ||
const char * | listName, | ||
LinkedList | variableSpecs, | ||
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 bool MmsConnection_deleteAssociationSpecificNamedVariableList | ( | MmsConnection | self, |
MmsError * | mmsError, | ||
const char * | listName | ||
) |
Delete an association specific named variable list at the server.
self | MmsConnection instance to operate on |
mmsError | user provided variable to store error code |
listName | the name of the 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 bool MmsConnection_deleteNamedVariableList | ( | MmsConnection | self, |
MmsError * | mmsError, | ||
const char * | domainId, | ||
const char * | listName | ||
) |
Delete a named variable list at the server.
The resulting named variable list will either be of domain scope (when the domainId argument is present) or VMD scope when the domainId argument is NULL.
self | MmsConnection instance to operate on |
mmsError | user provided variable to store error code |
domainId | the domain name of the domain of the variable list |
listName | the name of the named variable list |
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_destroy | ( | MmsConnection | self | ) |
Destroy an MmsConnection instance and release all resources.
self | MmsConnection instance to operate on |
LIB61850_API void MmsConnection_fileClose | ( | MmsConnection | self, |
MmsError * | mmsError, | ||
int32_t | frsmId | ||
) |
close the file with the specified frsmID
self | MmsConnection instance to operate on |
mmsError | user provided variable to store error code |
frsmId | id of the file to close |
LIB61850_API void MmsConnection_fileCloseAsync | ( | MmsConnection | self, |
uint32_t * | usedInvokeId, | ||
MmsError * | mmsError, | ||
uint32_t | frsmId, | ||
MmsConnection_GenericServiceHandler | handler, | ||
void * | parameter | ||
) |
LIB61850_API void MmsConnection_fileDelete | ( | MmsConnection | self, |
MmsError * | mmsError, | ||
const char * | fileName | ||
) |
delete the file with the specified name
self | MmsConnection instance to operate on |
mmsError | user provided variable to store error code |
fileName | name of the file to delete |
LIB61850_API void MmsConnection_fileDeleteAsync | ( | MmsConnection | self, |
uint32_t * | usedInvokeId, | ||
MmsError * | mmsError, | ||
const char * | fileName, | ||
MmsConnection_GenericServiceHandler | handler, | ||
void * | parameter | ||
) |
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
self | MmsConnection instance to operate on |
mmsError | user provided variable to store error code |
LIB61850_API void MmsConnection_fileOpenAsync | ( | MmsConnection | self, |
uint32_t * | usedInvokeId, | ||
MmsError * | mmsError, | ||
const char * | filename, | ||
uint32_t | initialPosition, | ||
MmsConnection_FileOpenHandler | handler, | ||
void * | parameter | ||
) |
LIB61850_API bool MmsConnection_fileRead | ( | MmsConnection | self, |
MmsError * | mmsError, | ||
int32_t | frsmId, | ||
MmsFileReadHandler | handler, | ||
void * | handlerParameter | ||
) |
read the next data block from the file
self | MmsConnection instance to operate on |
mmsError | user provided variable to store error code |
frsmId | the FRSM ID (file read state machine) handle of the file |
handler | callback that is invoked to deliver the received data |
handlerParameter | user provided paramter that is passed to the callback function |
LIB61850_API void MmsConnection_fileReadAsync | ( | MmsConnection | self, |
uint32_t * | usedInvokeId, | ||
MmsError * | mmsError, | ||
int32_t | frsmId, | ||
MmsConnection_FileReadHandler | handler, | ||
void * | parameter | ||
) |
LIB61850_API void MmsConnection_fileRename | ( | MmsConnection | self, |
MmsError * | mmsError, | ||
const char * | currentFileName, | ||
const char * | newFileName | ||
) |
rename the file with the specified name
self | MmsConnection instance to operate on |
mmsError | user provided variable to store error code |
currentFileName | name of the file to rename |
newFileName | new name of the file |
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 LinkedList MmsConnection_getDomainJournals | ( | MmsConnection | self, |
MmsError * | mmsError, | ||
const char * | domainId | ||
) |
Get the names of all journals present in a MMS domain of the server.
This will result in a domain specific GetNameList request.
self | MmsConnection instance to operate on |
mmsError | user provided variable to store error code |
domainId | the domain name for the domain specific request |
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 LinkedList MmsConnection_getDomainNames | ( | MmsConnection | self, |
MmsError * | mmsError | ||
) |
Get the domains names for all domains of the server.
This will result in a VMD specific GetNameList request.
self | MmsConnection instance to operate on |
mmsError | user provided variaextern "C" {ble to store error code |
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).
[in] | self | MmsConnection instance to operate on |
[out] | usedInvokeId | the invoke ID of the request |
[out] | mmsError | user provided variable to store error code |
[in] | continueAfter | the name of the last received element when the call is a continuation, or NULL for the first call |
[in] | result | list to store (append) the response names, or NULL to create a new list for the response names |
[in] | handler | will be called when response is received or timed out. |
[in] | parameter |
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.
This will result in a domain specific GetNameList request.
self | MmsConnection instance to operate on |
mmsError | user provided variable to store error code |
domainId | the domain name for the domain specific request or NULL for a VMD scope request |
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 | ||
) |
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.
This will result in a domain specific GetNameList request.
[in] | self | MmsConnection instance to operate on |
[out] | mmsError | user provided variable to store error code |
[in] | domainId | the domain name for the domain specific request |
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).
This will result in a domain specific GetNameList request.
[in] | self | MmsConnection instance to operate on |
[out] | usedInvokeId | the invoke ID of the request |
[out] | mmsError | user provided variable to store error code |
[in] | domainId | the domain name for the domain specific request |
[in] | continueAfter | the name of the last received element when the call is a continuation, or NULL for the first call |
[in] | result | list to store (append) the response names, or NULL to create a new list for the response names |
[in] | handler | will be called when response is received or timed out. |
[in] | parameter |
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.
This function will return the directory entries of the given server directory. For each directory entry the provided callback handler is called. If the
self | MmsConnection instance to operate on |
mmsError | user provided variable to store error code |
fileSpecification | the file specification of the directory to browse or NULL to browse the root directory |
continueAfter | continuation point or NULL for the first request. The continuation point is the first entry after the provided continuation file name. |
handler | user provided callback handler |
handlerParameter | user provided parameter that is passed to the handler |
LIB61850_API void MmsConnection_getFileDirectoryAsync | ( | MmsConnection | self, |
uint32_t * | usedInvokeId, | ||
MmsError * | mmsError, | ||
const char * | fileSpecification, | ||
const char * | continueAfter, | ||
MmsConnection_FileDirectoryHandler | handler, | ||
void * | parameter | ||
) |
LIB61850_API IsoConnectionParameters MmsConnection_getIsoConnectionParameters | ( | MmsConnection | self | ) |
Get the ISO connection parameters for an MmsConnection instance.
self | MmsConnection instance to operate on |
LIB61850_API int32_t MmsConnection_getLocalDetail | ( | MmsConnection | self | ) |
LIB61850_API MmsConnectionParameters MmsConnection_getMmsConnectionParameters | ( | MmsConnection | self | ) |
Get the MMS specific connection parameters for an MmsConnection instance.
self | MmsConnection instance to operate on |
LIB61850_API uint32_t MmsConnection_getRequestTimeout | ( | MmsConnection | self | ) |
Get the request timeout in ms for this connection.
self | MmsConnection instance to operate on |
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)
This function will return the status of the connected server by invoking the MMS status service. The services returns the logical and physical states of the server.
[in] | self | MmsConnection instance to operate on |
[out] | mmsError | user provided variable to store error code |
[out] | vmdLogicalStatus | user provided variable to store the logical state of the VMD |
[out] | vmdPhysicalStatus | user provided variable to store the physical state of the VMD |
[in] | extendedDerivation | instructs the server to invoke self-diagnosis routines to determine server status |
LIB61850_API void MmsConnection_getServerStatusAsync | ( | MmsConnection | self, |
uint32_t * | usedInvokeId, | ||
MmsError * | mmsError, | ||
bool | extendedDerivation, | ||
MmsConnection_GetServerStatusHandler | handler, | ||
void * | parameter | ||
) |
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.
self | MmsConnection instance to operate on |
mmsError | user provided variable to store error code |
domainId | the domain name of the variable or NULL for a VMD specific request |
itemId | name of the variable |
LIB61850_API void MmsConnection_getVariableAccessAttributesAsync | ( | MmsConnection | self, |
uint32_t * | usedInvokeId, | ||
MmsError * | mmsError, | ||
const char * | domainId, | ||
const char * | itemId, | ||
MmsConnection_GetVariableAccessAttributesHandler | , | ||
void * | parameter | ||
) |
LIB61850_API LinkedList MmsConnection_getVariableListNamesAssociationSpecific | ( | MmsConnection | self, |
MmsError * | mmsError | ||
) |
Get the names of all named variable lists associated with this client connection.
This will result in an association specific GetNameList request.
self | MmsConnection instance to operate on |
mmsError | user provided variable to store error code |
LIB61850_API void MmsConnection_getVariableListNamesAssociationSpecificAsync | ( | MmsConnection | self, |
uint32_t * | usedInvokeId, | ||
MmsError * | mmsError, | ||
const char * | continueAfter, | ||
MmsConnection_GetNameListHandler | handler, | ||
void * | parameter | ||
) |
LIB61850_API LinkedList MmsConnection_getVMDVariableNames | ( | MmsConnection | self, |
MmsError * | mmsError | ||
) |
Get the names of all VMD scope variables of the server.
This will result in a VMD specific GetNameList request.
self | MmsConnection instance to operate on |
mmsError | user provided variable to store error code |
LIB61850_API void MmsConnection_getVMDVariableNamesAsync | ( | MmsConnection | self, |
uint32_t * | usedInvokeId, | ||
MmsError * | mmsError, | ||
const char * | continueAfter, | ||
MmsConnection_GetNameListHandler | handler, | ||
void * | parameter | ||
) |
LIB61850_API MmsServerIdentity* MmsConnection_identify | ( | MmsConnection | self, |
MmsError * | mmsError | ||
) |
get the identity of the connected server
This function will return the identity of the server if the server supports the MMS identify service. The server identity consists of a vendor name, model name, and a revision.
self | MmsConnection instance to operate on |
mmsError | user provided variable to store error code |
LIB61850_API void MmsConnection_identifyAsync | ( | MmsConnection | self, |
uint32_t * | usedInvokeId, | ||
MmsError * | mmsError, | ||
MmsConnection_IdentifyHandler | handler, | ||
void * | parameter | ||
) |
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)
self | MmsConnection instance to operate on |
mmsError | user provided variable to store error code |
sourceFile | the name of the source file (client side name) |
destinationFile | the name of the destination file (server side name) |
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 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.
self | MmsConnection instance to operate on |
mmsError | user provided variable to store error code |
domainId | the domain name of the variable to be read |
itemId | name of the variable to be read |
startIndex | index of element to read or start index if a element range is to be read |
numberOfElements | Number of elements to read or 0 if a single element is to be read |
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)
NOTE: The MmsValue object received by the callback function is either a simple or complex type if numberOfElements is 0, or an array containing the selected array elements of numberOfElements > 0.
[in] | self | MmsConnection instance to operate on |
[out] | usedInvokeId | the invoke ID of the request |
[out] | mmsError | user provided variable to store error code |
[in] | domainId | the domain name of the variable to be read |
[in] | itemId | name of the variable to be read |
[in] | startIndex | index of element to read or start index if a element range is to be read |
[in] | numberOfElements | Number of elements to read or 0 if a single element is to be read |
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_readJournalStartAfterAsync | ( | MmsConnection | self, |
uint32_t * | usedInvokeId, | ||
MmsError * | mmsError, | ||
const char * | domainId, | ||
const char * | itemId, | ||
MmsValue * | timeSpecification, | ||
MmsValue * | entrySpecification, | ||
MmsConnection_ReadJournalHandler | handler, | ||
void * | parameter | ||
) |
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_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 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.
self | MmsConnection instance to operate on |
mmsError | user provided variable to store error code |
domainId | the domain name of the requested variables. |
items | LinkedList<char*> is the list of item IDs of the requested variables. |
LIB61850_API void MmsConnection_readMultipleVariablesAsync | ( | MmsConnection | self, |
uint32_t * | usedInvokeId, | ||
MmsError * | mmsError, | ||
const char * | domainId, | ||
LinkedList | items, | ||
MmsConnection_ReadVariableHandler | handler, | ||
void * | parameter | ||
) |
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.
The resulting named variable list will either be of domain scope (when the domainId argument is present) or VMD scope when the domainId argument is NULL.
self | MmsConnection instance to operate on |
mmsError | user provided variable to store error code |
domainId | the domain name of the domain of the variable list |
listName | the name of the named variable list |
deletable | THIS IS A OUTPUT PARAMETER - indicates if the variable list is deletable by the client. The user may provide a NULL pointer if the value doesn't matter. |
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.
self | MmsConnection instance to operate on |
mmsError | user provided variable to store error code |
listName | the name of the named variable list |
LIB61850_API void MmsConnection_readNamedVariableListDirectoryAssociationSpecificAsync | ( | MmsConnection | self, |
uint32_t * | usedInvokeId, | ||
MmsError * | mmsError, | ||
const char * | listName, | ||
MmsConnection_ReadNVLDirectoryHandler | 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 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.
The resulting named variable list will either be of domain scope (when the domainId argument is present) or VMD scope when the domainId argument is NULL.
self | MmsConnection instance to operate on |
mmsError | user provided variable to store error code |
domainId | the domain name of the requested variables. |
listName | the name of the named variable list |
specWithResult | if specWithResult is set to true, a IEC 61850 compliant request will be sent. |
LIB61850_API MmsValue* MmsConnection_readNamedVariableListValuesAssociationSpecific | ( | MmsConnection | self, |
MmsError * | mmsError, | ||
const char * | listName, | ||
bool | specWithResult | ||
) |
Read the values of a association specific named variable list.
self | MmsConnection instance to operate on |
mmsError | user provided variable to store error code |
listName | the name of the named variable list |
specWithResult | if specWithResult is set to true, a IEC 61850 compliant request will be sent. |
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_readNamedVariableListValuesAsync | ( | MmsConnection | self, |
uint32_t * | usedInvokeId, | ||
MmsError * | mmsError, | ||
const char * | domainId, | ||
const char * | listName, | ||
bool | specWithResult, | ||
MmsConnection_ReadVariableHandler | handler, | ||
void * | parameter | ||
) |
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.
self | MmsConnection instance to operate on |
mmsError | user provided variable to store error code |
domainId | the domain name of the variable to be read |
itemId | name of the variable to be read |
index | array element index |
componentId | array element component name |
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 MmsValue* MmsConnection_readVariable | ( | MmsConnection | self, |
MmsError * | mmsError, | ||
const char * | domainId, | ||
const char * | itemId | ||
) |
Read a single variable from the server.
self | MmsConnection instance to operate on |
mmsError | user provided variable to store error code |
domainId | the domain name of the variable to be read or NULL to read a VMD specific named variable |
itemId | name of the variable to be read |
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)
{in] | self MmsConnection instance to operate on | |
[out] | usedInvokeId | the invoke ID of the request |
[out] | mmsError | user provided variable to store error code |
[in] | domainId | the domain name of the variable to be read or NULL to read a VMD specific named variable |
[in] | itemId | name of the variable to be read |
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.
self | MmsConnection instance to operate on |
mmsError | user provided variable to store error code |
domainId | the domain name of the variable to be read or NULL to read a VMD specific named variable |
itemId | name of the variable to be read |
componentId | the component name |
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)
[in] | self | MmsConnection instance to operate on |
[out] | usedInvokeId | the invoke ID of the request |
[out] | mmsError | user provided variable to store error code |
[in] | domainId | the domain name of the variable to be read or NULL to read a VMD specific named variable |
[in] | itemId | name of the variable to be read |
[in] | componentId | the component name |
[in] | handler | |
[in] | parameter |
LIB61850_API void MmsConnection_sendRawData | ( | MmsConnection | self, |
MmsError * | mmsError, | ||
uint8_t * | buffer, | ||
int | bufSize | ||
) |
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 server is lost.
handler | the user provided callback function |
handlerParameter | a parameter that will be passed to the callback function. Can be set to NULL if not required. |
LIB61850_API void MmsConnection_setConnectionStateChangedHandler | ( | MmsConnection | self, |
MmsConnectionStateChangedHandler | handler, | ||
void * | parameter | ||
) |
LIB61850_API void MmsConnection_setConnectTimeout | ( | MmsConnection | self, |
uint32_t | timeoutInMs | ||
) |
Set the connect timeout in ms for this connection instance.
self | MmsConnection instance to operate on |
timeoutInMs | connect timeout in milliseconds |
LIB61850_API void MmsConnection_setFilestoreBasepath | ( | MmsConnection | self, |
const char * | basepath | ||
) |
Set the virtual filestore basepath for the MMS obtain file services.
All external file service accesses will be mapped to paths relative to the base directory. NOTE: This function is only available when the CONFIG_SET_FILESTORE_BASEPATH_AT_RUNTIME option in stack_config.h is set.
self | the MmsServer instance |
basepath | the new virtual filestore basepath |
LIB61850_API void MmsConnection_setInformationReportHandler | ( | MmsConnection | self, |
MmsInformationReportHandler | handler, | ||
void * | parameter | ||
) |
Install a handler function for MMS information reports (unsolicited messages from the server).
The handler function will be called whenever the client receives an MMS information report message. Note that the API user is responsible to properly free the passed MmsValue object.
self | MmsConnection instance to operate on |
handler | the handler function to install for this client connection |
parameter | a user specified parameter that will be passed to the handler function on each invocation. |
LIB61850_API void MmsConnection_setIsoConnectionParameters | ( | MmsConnection | self, |
IsoConnectionParameters * | params | ||
) |
Set the ISO connection parameters for a MmsConnection instance.
self | MmsConnection instance to operate on |
params | the ISO client parameters to use |
LIB61850_API void MmsConnection_setLocalDetail | ( | MmsConnection | self, |
int32_t | localDetail | ||
) |
Get the MMS local detail parameter (local detail means maximum MMS PDU size).
This defaults to 65000 (or the value specified in the stack_config.h file. This function should not be called after a successful connection attempt.
self | MmsConnection instance to operate on |
localDetail | the maximum size of the MMS PDU that will be accepted. |
LIB61850_API void MmsConnection_setRawMessageHandler | ( | MmsConnection | self, |
MmsRawMessageHandler | handler, | ||
void * | parameter | ||
) |
Set the callback handler to intercept the raw MMS messages of the connection.
This function can be used to log raw MMS messages. It may be useful for debugging purposes or advanced test tools. This function will only work when the flag CONFIG_MMS_RAW_MESSAGE_LOGGING it set in stack_config.h
self | MmsConnection instance to operate on |
handler | the connection specific callback function |
a | user provided parameter passed to the callback function (use NULL if not required). |
LIB61850_API void MmsConnection_setRequestTimeout | ( | MmsConnection | self, |
uint32_t | timeoutInMs | ||
) |
Set the request timeout in ms for this connection.
self | MmsConnection instance to operate on |
timeoutInMs | request timeout in milliseconds |
LIB61850_API bool MmsConnection_tick | ( | MmsConnection | self | ) |
Call MmsConnection state machine and connection handling code (for non-threaded mode only)
This function has to be called periodically by the user application in non-threaded mode.
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.
When a single array element is addressed the MmsValue object value has to be of the type of the array elements. When multiple array elements have to be written (index range) the MmsValue object value has to be of type MMS_ARRAY containing "numberOfElements" elements.
self | MmsConnection instance to operate on |
mmsError | user provided variable to store error code |
domainId | the domain name of the variable to be written |
index | the index of the array element or the start index of a index range |
numberOfElements | the number of array elements to write starting with index. If 0 only one array element is written. |
itemId | name of the variable to be written |
value | value of the array element(s) to be written. Has to be of the type of the array elements or of type MMS_ARRAY when it is a sub array (index range) |
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 void MmsConnection_writeMultipleVariables | ( | MmsConnection | self, |
MmsError * | mmsError, | ||
const char * | domainId, | ||
LinkedList | items, | ||
LinkedList | values, | ||
LinkedList * | accessResults | ||
) |
Write multiple variables to the server.
This function will write multiple variables to the server.
The parameter accessResults is a pointer to a LinkedList reference. The methods will create a new LinkedList object that contains the AccessResults of the single variable write attempts. It is up to the user to free this objects properly (e.g. with LinkedList_destroyDeep(accessResults, MmsValue_delete)).
[in] | self | MmsConnection instance to operate on |
[out] | mmsError | user provided variable to store error code |
[in] | domainId | the common domain name of all variables to be written |
[in] | items | a linked list containing the names of the variables to be written. The names are C strings. |
[out] | values | values of the variables to be written |
[out] | the | MmsValue objects of type MMS_DATA_ACCESS_ERROR representing the write success of a single variable write. |
LIB61850_API void MmsConnection_writeMultipleVariablesAsync | ( | MmsConnection | self, |
uint32_t * | usedInvokeId, | ||
MmsError * | mmsError, | ||
const char * | domainId, | ||
LinkedList | items, | ||
LinkedList | values, | ||
MmsConnection_WriteMultipleVariablesHandler | handler, | ||
void * | parameter | ||
) |
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.
The parameter accessResults is a pointer to a LinkedList reference. The methods will create a new LinkedList object that contains the AccessResults of the single variable write attempts. It is in the responsibility of the user to free this objects properly (e.g. with LinkedList_destroyDeep(accessResults, MmsValue_delete)). If accessResult is the to NULL the result will not be stored.
[in] | self | MmsConnection instance to operate on |
[out] | mmsError | user provided variable to store error code |
[in] | isAssociationSpecifc | true if the named variable list is an association specific named variable list |
[in] | domainId | the common domain name of all variables to be written |
[out] | values | values of the variables to be written |
[out] | the | MmsValue objects of type MMS_DATA_ACCESS_ERROR representing the write success of a single variable write. |
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 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.
self | MmsConnection instance to operate on |
mmsError | user provided variable to store error code |
domainId | the domain name of the variable to be written |
itemId | name of the variable to be written |
arrayIndex | the index of the array element. |
componentId | the name of the component of the array element |
value | value of the array element component to be written. |
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 MmsDataAccessError MmsConnection_writeVariable | ( | MmsConnection | self, |
MmsError * | mmsError, | ||
const char * | domainId, | ||
const char * | itemId, | ||
MmsValue * | value | ||
) |
Write a single variable to the server.
NOTE: added return value in version 1.1
self | MmsConnection instance to operate on |
mmsError | user provided variable to store error code |
domainId | the domain name of the variable to be written |
itemId | name of the variable to be written |
value | value of the variable to be written |
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 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)
self | MmsConnection instance to operate on |
mmsError | user provided variable to store error code |
domainId | the domain name of the variable to be written |
itemId | name of the variable to be written |
componentId | the name of the variable component |
value | value of the variable to be written |
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 MmsConnnection_setMaxOutstandingCalls | ( | MmsConnection | self, |
int | calling, | ||
int | called | ||
) |
Set the maximum number outstanding calls allowed for this connection.
self | MmsConnection instance to operate on |
calling | the maximum outstanding calls allowed by the caller (client) |
called | the maximum outstanding calls allowed by the called endpoint (server) |
LIB61850_API void MmsJournalEntry_destroy | ( | MmsJournalEntry | self | ) |
Destroy a single MmsJournalEntry instance.
This function will destroy the whole MmsJournalEntry object including the attached list of MmsJournalVariable objects. It is intended to be used in conjunction with the LinkedList_destroyDeep function in order to free the result of MmsConnection_readJournalTimeRange or MmsConnection_readJournalStartAfter
LinkedList_destroyDeep(journalEntries, (LinkedListValueDeleteFunction) MmsJournalEntry_destroy);
self | the MmsJournalEntry instance to destroy |
LIB61850_API MmsValue* MmsJournalEntry_getEntryID | ( | MmsJournalEntry | self | ) |
LIB61850_API LinkedList MmsJournalEntry_getJournalVariables | ( | MmsJournalEntry | self | ) |
LIB61850_API MmsValue* MmsJournalEntry_getOccurenceTime | ( | MmsJournalEntry | self | ) |
LIB61850_API const char* MmsJournalVariable_getTag | ( | MmsJournalVariable | self | ) |
LIB61850_API MmsValue* MmsJournalVariable_getValue | ( | MmsJournalVariable | self | ) |
LIB61850_API void MmsServerIdentity_destroy | ( | MmsServerIdentity * | self | ) |
Destroy (free) an MmsServerIdentity object.
self | the object to destroy |
LIB61850_API MmsVariableAccessSpecification* MmsVariableAccessSpecification_create | ( | char * | domainId, |
char * | itemId | ||
) |
Create a new MmsVariableSpecification that can be used to define named variable lists.
The created object can be deleted with free(). If the parameter strings were dynamically allocated the deallocation is in the responsibility of the user.
domainId | the MMS domain name of the variable |
itemId | the name for the MMS variable |
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.
The created object can be deleted with free(). If the parameter strings were dynamically allocated the deallocation is in the responsibility of the user. This function should be used for named variable list entries that are array elements or components of array elements in the case when the array element is of complex (structured) type.
domainId | the MMS domain name of the variable |
itemId | the name for the MMS variable |
index | the array index to describe an array element |
componentName | the name of the component of the array element. Should be set to NULL if the array element is of simple type or the whole array element is required. |
LIB61850_API void MmsVariableAccessSpecification_destroy | ( | MmsVariableAccessSpecification * | self | ) |
Delete the MmsVariableAccessSpecification data structure.
self | the instance to delete |