libiec61850  1.5.3
mms_client_connection.h
Go to the documentation of this file.
1 /*
2  * mms_client_connection.h
3  *
4  * Copyright 2013-2018 Michael Zillgith
5  *
6  * This file is part of libIEC61850.
7  *
8  * libIEC61850 is free software: you can redistribute it and/or modify
9  * it under the terms of the GNU General Public License as published by
10  * the Free Software Foundation, either version 3 of the License, or
11  * (at your option) any later version.
12  *
13  * libIEC61850 is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16  * GNU General Public License for more details.
17  *
18  * You should have received a copy of the GNU General Public License
19  * along with libIEC61850. If not, see <http://www.gnu.org/licenses/>.
20  *
21  * See COPYING file for the complete license text.
22  */
23 
24 #ifndef MMS_CLIENT_CONNECTION_H_
25 #define MMS_CLIENT_CONNECTION_H_
26 
27 #ifdef __cplusplus
28 extern "C" {
29 #endif
30 
36 #include "libiec61850_common_api.h"
37 
38 #include "mms_common.h"
39 #include "mms_type_spec.h"
40 #include "mms_value.h"
42 #include "linked_list.h"
43 #include "tls_config.h"
44 
48 typedef struct sMmsConnectionParameters {
52  int maxPduSize; /* local detail */
53  uint8_t servicesSupported[11];
55 
56 typedef struct {
57  char* vendorName;
58  char* modelName;
59  char* revision;
61 
62 typedef enum {
68 
69 typedef void (*MmsInformationReportHandler) (void* parameter, char* domainName,
70  char* variableListName, MmsValue* value, bool isVariableListName);
71 
75 typedef struct sMmsConnection* MmsConnection;
76 
77 
78 /*******************************************************************************
79  * Connection management functions
80  *******************************************************************************/
81 
87 LIB61850_API MmsConnection
89 
97 LIB61850_API MmsConnection
98 MmsConnection_createSecure(TLSConfiguration tlsConfig);
99 
111 LIB61850_API MmsConnection
112 MmsConnection_createNonThreaded(TLSConfiguration tlsConfig);
113 
125 typedef void (*MmsRawMessageHandler) (void* parameter, uint8_t* message, int messageLength, bool received);
126 
138 LIB61850_API void
140 
151 LIB61850_API void
153 
160 LIB61850_API void
161 MmsConnection_setRequestTimeout(MmsConnection self, uint32_t timeoutInMs);
162 
170 LIB61850_API uint32_t
172 
179 LIB61850_API void
180 MmsConnection_setConnectTimeout(MmsConnection self, uint32_t timeoutInMs);
181 
193 LIB61850_API void
195  void* parameter);
196 
203 LIB61850_API IsoConnectionParameters
205 
212 LIB61850_API MmsConnectionParameters
214 
215 typedef void (*MmsConnectionStateChangedHandler) (MmsConnection connection, void* parameter, MmsConnectionState newState);
216 
217 LIB61850_API void
219 
226 typedef void (*MmsConnectionLostHandler) (MmsConnection connection, void* parameter);
227 
234 LIB61850_API void
236 
243 LIB61850_API void
244 MmsConnection_setIsoConnectionParameters(MmsConnection self, IsoConnectionParameters* params);
245 
251 LIB61850_API void
253 
254 /*******************************************************************************
255  * Blocking functions for connection establishment and data access
256  *******************************************************************************/
257 
258 
271 LIB61850_API bool
272 MmsConnection_connect(MmsConnection self, MmsError* mmsError, const char* serverName, int serverPort);
273 
274 LIB61850_API void
275 MmsConnection_connectAsync(MmsConnection self, MmsError* mmsError, const char* serverName, int serverPort);
276 
285 LIB61850_API bool
287 
288 /* NOTE: This function is for test purposes! */
289 LIB61850_API void
290 MmsConnection_sendRawData(MmsConnection self, MmsError* mmsError, uint8_t* buffer, int bufSize);
291 
300 LIB61850_API void
302 
303 typedef void
304 (*MmsConnection_ConcludeAbortHandler) (void* parameter, MmsError mmsError, bool success);
305 
317 LIB61850_API void
319 
320 LIB61850_API void
322 
334 LIB61850_API void
336 
337 LIB61850_API void
339 
340 typedef void
341 (*MmsConnection_GenericServiceHandler) (uint32_t invokeId, void* parameter, MmsError mmsError, bool success);
342 
343 typedef void
344 (*MmsConnection_GetNameListHandler) (uint32_t invokeId, void* parameter, MmsError mmsError, LinkedList nameList, bool moreFollows);
345 
356 LIB61850_API LinkedList /* <char*> */
358 
359 LIB61850_API void
360 MmsConnection_getVMDVariableNamesAsync(MmsConnection self, uint32_t* usedInvokeId, MmsError* mmsError, const char* continueAfter,
361  MmsConnection_GetNameListHandler handler, void* parameter);
362 
374 LIB61850_API LinkedList /* <char*> */
376 
388 LIB61850_API void
389 MmsConnection_getDomainNamesAsync(MmsConnection self, uint32_t* usedInvokeId, MmsError* mmsError, const char* continueAfter, LinkedList result,
390  MmsConnection_GetNameListHandler handler, void* parameter);
391 
403 LIB61850_API LinkedList /* <char*> */
404 MmsConnection_getDomainVariableNames(MmsConnection self, MmsError* mmsError, const char* domainId);
405 
420 LIB61850_API void
421 MmsConnection_getDomainVariableNamesAsync(MmsConnection self, uint32_t* usedInvokeId, MmsError* mmsError, const char* domainId,
422  const char* continueAfter, LinkedList result, MmsConnection_GetNameListHandler handler, void* parameter);
423 
435 LIB61850_API LinkedList /* <char*> */
436 MmsConnection_getDomainVariableListNames(MmsConnection self, MmsError* mmsError, const char* domainId);
437 
438 LIB61850_API void
439 MmsConnection_getDomainVariableListNamesAsync(MmsConnection self, uint32_t* usedInvokeId, MmsError* mmsError, const char* domainId,
440  const char* continueAfter, LinkedList result, MmsConnection_GetNameListHandler handler, void* parameter);
441 
453 LIB61850_API LinkedList /* <char*> */
454 MmsConnection_getDomainJournals(MmsConnection self, MmsError* mmsError, const char* domainId);
455 
456 LIB61850_API void
457 MmsConnection_getDomainJournalsAsync(MmsConnection self, uint32_t* usedInvokeId, MmsError* mmsError, const char* domainId,
458  const char* continueAfter, MmsConnection_GetNameListHandler handler, void* parameter);
459 
470 LIB61850_API LinkedList /* <char*> */
472 
473 LIB61850_API void
475  const char* continueAfter, MmsConnection_GetNameListHandler handler, void* parameter);
476 
477 
490 LIB61850_API MmsValue*
491 MmsConnection_readVariable(MmsConnection self, MmsError* mmsError, const char* domainId, const char* itemId);
492 
493 
494 typedef void
495 (*MmsConnection_ReadVariableHandler) (uint32_t invokeId, void* parameter, MmsError mmsError, MmsValue* value);
496 
506 LIB61850_API void
507 MmsConnection_readVariableAsync(MmsConnection self, uint32_t* usedInvokeId, MmsError* mmsError, const char* domainId, const char* itemId,
508  MmsConnection_ReadVariableHandler handler, void* parameter);
509 
523 LIB61850_API MmsValue*
525  const char* domainId, const char* itemId, const char* componentId);
526 
539 LIB61850_API void
540 MmsConnection_readVariableComponentAsync(MmsConnection self, uint32_t* usedInvokeId, MmsError* mmsError,
541  const char* domainId, const char* itemId, const char* componentId,
542  MmsConnection_ReadVariableHandler handler, void* parameter);
543 
558 LIB61850_API MmsValue*
559 MmsConnection_readArrayElements(MmsConnection self, MmsError* mmsError, const char* domainId, const char* itemId,
560  uint32_t startIndex, uint32_t numberOfElements);
561 
576 LIB61850_API void
577 MmsConnection_readArrayElementsAsync(MmsConnection self, uint32_t* usedInvokeId, MmsError* mmsError, const char* domainId, const char* itemId,
578  uint32_t startIndex, uint32_t numberOfElements,
579  MmsConnection_ReadVariableHandler handler, void* parameter);
580 
581 
594 LIB61850_API MmsValue*
596  const char* domainId, const char* itemId, uint32_t index, const char* componentId);
597 
598 LIB61850_API void
600  const char* domainId, const char* itemId,
601  uint32_t index, const char* componentId,
602  MmsConnection_ReadVariableHandler handler, void* parameter);
603 
616 LIB61850_API MmsValue*
617 MmsConnection_readMultipleVariables(MmsConnection self, MmsError* mmsError, const char* domainId,
618  LinkedList /*<char*>*/ items);
619 
620 LIB61850_API void
621 MmsConnection_readMultipleVariablesAsync(MmsConnection self, uint32_t* usedInvokeId, MmsError* mmsError,
622  const char* domainId, LinkedList /*<char*>*/items,
623  MmsConnection_ReadVariableHandler handler, void* parameter);
624 
638 LIB61850_API MmsDataAccessError
640  const char* domainId, const char* itemId, MmsValue* value);
641 
642 typedef void
643 (*MmsConnection_WriteVariableHandler) (uint32_t invokeId, void* parameter, MmsError mmsError, MmsDataAccessError accessError);
644 
645 LIB61850_API void
646 MmsConnection_writeVariableAsync(MmsConnection self, uint32_t* usedInvokeId, MmsError* mmsError,
647  const char* domainId, const char* itemId, MmsValue* value,
648  MmsConnection_WriteVariableHandler handler, void* parameter);
649 
650 
663 LIB61850_API MmsDataAccessError
665  const char* domainId, const char* itemId,
666  const char* componentId, MmsValue* value);
667 
681 LIB61850_API MmsDataAccessError
683  const char* domainId, const char* itemId,
684  uint32_t arrayIndex, const char* componentId, MmsValue* value);
685 
686 LIB61850_API void
688  const char* domainId, const char* itemId,
689  uint32_t arrayIndex, const char* componentId, MmsValue* value,
690  MmsConnection_WriteVariableHandler handler, void* parameter);
691 
692 LIB61850_API void
693 MmsConnection_writeVariableComponentAsync(MmsConnection self, uint32_t* usedInvokeId, MmsError* mmsError,
694  const char* domainId, const char* itemId, const char* componentId, MmsValue* value,
695  MmsConnection_WriteVariableHandler handler, void* parameter);
696 
715 LIB61850_API MmsDataAccessError
717  const char* domainId, const char* itemId, int index, int numberOfElements,
718  MmsValue* value);
719 
720 LIB61850_API void
721 MmsConnection_writeArrayElementsAsync(MmsConnection self, uint32_t* usedInvokeId, MmsError* mmsError,
722  const char* domainId, const char* itemId, int index, int numberOfElements,
723  MmsValue* value,
724  MmsConnection_WriteVariableHandler handler, void* parameter);
725 
726 
727 typedef void
728 (*MmsConnection_WriteMultipleVariablesHandler) (uint32_t invokeId, void* parameter, MmsError mmsError, LinkedList /* <MmsValue*> */ accessResults);
729 
730 
748 LIB61850_API void
749 MmsConnection_writeMultipleVariables(MmsConnection self, MmsError* mmsError, const char* domainId,
750  LinkedList /*<char*>*/ items, LinkedList /* <MmsValue*> */ values,
751  LinkedList* /* <MmsValue*> */ accessResults);
752 
753 LIB61850_API void
754 MmsConnection_writeMultipleVariablesAsync(MmsConnection self, uint32_t* usedInvokeId, MmsError* mmsError, const char* domainId,
755  LinkedList /*<char*>*/ items, LinkedList /* <MmsValue*> */ values,
756  MmsConnection_WriteMultipleVariablesHandler handler, void* parameter);
757 
774 LIB61850_API void
775 MmsConnection_writeNamedVariableList(MmsConnection self, MmsError* mmsError, bool isAssociationSpecific,
776  const char* domainId, const char* itemId, LinkedList /* <MmsValue*> */values,
777  LinkedList* /* <MmsValue*> */accessResults);
778 
779 
780 LIB61850_API void
781 MmsConnection_writeNamedVariableListAsync(MmsConnection self, uint32_t* usedInvokeId, MmsError* mmsError, bool isAssociationSpecific,
782  const char* domainId, const char* itemId, LinkedList /* <MmsValue*> */values,
783  MmsConnection_WriteMultipleVariablesHandler handler, void* parameter);
784 
795 LIB61850_API MmsVariableSpecification*
797  const char* domainId, const char* itemId);
798 
799 typedef void
800 (*MmsConnection_GetVariableAccessAttributesHandler) (uint32_t invokeId, void* parameter, MmsError mmsError, MmsVariableSpecification* spec);
801 
802 
803 LIB61850_API void
805  const char* domainId, const char* itemId,
807 
824 LIB61850_API MmsValue*
826  const char* listName, bool specWithResult);
827 
828 LIB61850_API void
830  const char* domainId, const char* listName, bool specWithResult,
831  MmsConnection_ReadVariableHandler handler, void* parameter);
832 
833 
846 LIB61850_API MmsValue*
848  const char* listName, bool specWithResult);
849 
850 LIB61850_API void
852  const char* listName, bool specWithResult,
853  MmsConnection_ReadVariableHandler handler, void* parameter);
854 
868 LIB61850_API void
869 MmsConnection_defineNamedVariableList(MmsConnection self, MmsError* mmsError, const char* domainId,
870  const char* listName, LinkedList variableSpecs);
871 
872 LIB61850_API void
873 MmsConnection_defineNamedVariableListAsync(MmsConnection self, uint32_t* usedInvokeId, MmsError* mmsError, const char* domainId,
874  const char* listName, LinkedList variableSpecs,
875  MmsConnection_GenericServiceHandler handler, void* parameter);
876 
877 
878 
888 LIB61850_API void
890  const char* listName, LinkedList variableSpecs);
891 
892 LIB61850_API void
894  const char* listName, LinkedList variableSpecs,
895  MmsConnection_GenericServiceHandler handler, void* parameter);
896 
912 LIB61850_API LinkedList /* <MmsVariableAccessSpecification*> */
914  const char* domainId, const char* listName, bool* deletable);
915 
916 
917 typedef void
918 (*MmsConnection_ReadNVLDirectoryHandler) (uint32_t invokeId, void* parameter, MmsError mmsError, LinkedList /* <MmsVariableAccessSpecification*> */ specs, bool deletable);
919 
920 
921 LIB61850_API void
923  const char* domainId, const char* listName,
924  MmsConnection_ReadNVLDirectoryHandler handler, void* parameter);
925 
926 
936 LIB61850_API LinkedList /* <MmsVariableAccessSpecification*> */
938  const char* listName, bool* deletable);
939 
940 LIB61850_API void
942  const char* listName,
943  MmsConnection_ReadNVLDirectoryHandler handler, void* parameter);
944 
958 LIB61850_API bool
959 MmsConnection_deleteNamedVariableList(MmsConnection self, MmsError* mmsError, const char* domainId, const char* listName);
960 
961 
962 LIB61850_API void
963 MmsConnection_deleteNamedVariableListAsync(MmsConnection self, uint32_t* usedInvokeId, MmsError* mmsError, const char* domainId, const char* listName,
964  MmsConnection_GenericServiceHandler handler, void* parameter);
965 
975 LIB61850_API bool
977  const char* listName);
978 
979 
980 LIB61850_API void
981 MmsConnection_deleteAssociationSpecificNamedVariableListAsync(MmsConnection self, uint32_t* usedInvokeId, MmsError* mmsError, const char* listName,
982  MmsConnection_GenericServiceHandler handler, void* parameter);
983 
995 LIB61850_API MmsVariableAccessSpecification*
996 MmsVariableAccessSpecification_create(char* domainId, char* itemId);
997 
1014 LIB61850_API MmsVariableAccessSpecification*
1015 MmsVariableAccessSpecification_createAlternateAccess(char* domainId, char* itemId, int32_t index,
1016  char* componentName);
1017 
1023 LIB61850_API void
1025 
1035 LIB61850_API void
1036 MmsConnection_setLocalDetail(MmsConnection self, int32_t localDetail);
1037 
1038 LIB61850_API int32_t
1040 
1050 LIB61850_API MmsServerIdentity*
1052 
1053 typedef void
1054 (*MmsConnection_IdentifyHandler) (uint32_t invokeId, void* parameter, MmsError mmsError,
1055  char* vendorName, char* modelName, char* revision);
1056 
1057 LIB61850_API void
1058 MmsConnection_identifyAsync(MmsConnection self, uint32_t* usedInvokeId, MmsError* mmsError,
1059  MmsConnection_IdentifyHandler handler, void* parameter);
1060 
1066 LIB61850_API void
1068 
1081 LIB61850_API void
1082 MmsConnection_getServerStatus(MmsConnection self, MmsError* mmsError, int* vmdLogicalStatus, int* vmdPhysicalStatus,
1083  bool extendedDerivation);
1084 
1085 typedef void
1086 (*MmsConnection_GetServerStatusHandler) (uint32_t invokeId, void* parameter, MmsError mmsError, int vmdLogicalStatus, int vmdPhysicalStatus);
1087 
1088 LIB61850_API void
1089 MmsConnection_getServerStatusAsync(MmsConnection self, uint32_t* usedInvokeId, MmsError* mmsError, bool extendedDerivation,
1090  MmsConnection_GetServerStatusHandler handler, void* parameter);
1091 
1092 /*******************************************************************************
1093  * functions for MMS file services
1094  *******************************************************************************/
1095 
1096 typedef void
1097 (*MmsFileDirectoryHandler) (void* parameter, char* filename, uint32_t size, uint64_t lastModified);
1098 
1106 typedef void
1107 (*MmsConnection_FileDirectoryHandler) (uint32_t invokeId, void* parameter, MmsError mmsError, char* filename, uint32_t size, uint64_t lastModfified,
1108  bool moreFollows);
1109 
1110 typedef void
1111 (*MmsFileReadHandler) (void* parameter, int32_t frsmId, uint8_t* buffer, uint32_t bytesReceived);
1112 
1126 typedef void
1127 (*MmsConnection_FileReadHandler) (uint32_t invokeId, void* parameter, MmsError mmsError, int32_t frsmId, uint8_t* buffer, uint32_t byteReceived,
1128  bool moreFollows);
1129 
1130 
1139 LIB61850_API int32_t
1140 MmsConnection_fileOpen(MmsConnection self, MmsError* mmsError, const char* filename, uint32_t initialPosition,
1141  uint32_t* fileSize, uint64_t* lastModified);
1142 
1143 typedef void
1144 (*MmsConnection_FileOpenHandler) (uint32_t invokeId, void* parameter, MmsError mmsError, int32_t frsmId, uint32_t fileSize, uint64_t lastModified);
1145 
1146 LIB61850_API void
1147 MmsConnection_fileOpenAsync(MmsConnection self, uint32_t* usedInvokeId, MmsError* mmsError, const char* filename, uint32_t initialPosition, MmsConnection_FileOpenHandler handler,
1148  void* parameter);
1149 
1150 
1162 LIB61850_API bool
1163 MmsConnection_fileRead(MmsConnection self, MmsError* mmsError, int32_t frsmId, MmsFileReadHandler handler, void* handlerParameter);
1164 
1165 LIB61850_API void
1166 MmsConnection_fileReadAsync(MmsConnection self, uint32_t* usedInvokeId, MmsError* mmsError, int32_t frsmId, MmsConnection_FileReadHandler handler, void* parameter);
1167 
1175 LIB61850_API void
1176 MmsConnection_fileClose(MmsConnection self, MmsError* mmsError, int32_t frsmId);
1177 
1178 LIB61850_API void
1179 MmsConnection_fileCloseAsync(MmsConnection self, uint32_t* usedInvokeId, MmsError* mmsError, uint32_t frsmId, MmsConnection_GenericServiceHandler handler, void* parameter);
1180 
1188 LIB61850_API void
1189 MmsConnection_fileDelete(MmsConnection self, MmsError* mmsError, const char* fileName);
1190 
1191 LIB61850_API void
1192 MmsConnection_fileDeleteAsync(MmsConnection self, uint32_t* usedInvokeId, MmsError* mmsError, const char* fileName,
1193  MmsConnection_GenericServiceHandler handler, void* parameter);
1194 
1203 LIB61850_API void
1204 MmsConnection_fileRename(MmsConnection self, MmsError* mmsError, const char* currentFileName, const char* newFileName);
1205 
1206 LIB61850_API void
1207 MmsConnection_fileRenameAsync(MmsConnection self, uint32_t* usedInvokeId, MmsError* mmsError, const char* currentFileName, const char* newFileName,
1208  MmsConnection_GenericServiceHandler handler, void* parameter);
1209 
1218 LIB61850_API void
1219 MmsConnection_obtainFile(MmsConnection self, MmsError* mmsError, const char* sourceFile, const char* destinationFile);
1220 
1221 LIB61850_API void
1222 MmsConnection_obtainFileAsync(MmsConnection self, uint32_t* usedInvokeId, MmsError* mmsError, const char* sourceFile, const char* destinationFile,
1223  MmsConnection_GenericServiceHandler handler, void* parameter);
1224 
1241 LIB61850_API bool
1242 MmsConnection_getFileDirectory(MmsConnection self, MmsError* mmsError, const char* fileSpecification, const char* continueAfter,
1243  MmsFileDirectoryHandler handler, void* handlerParameter);
1244 
1245 LIB61850_API void
1246 MmsConnection_getFileDirectoryAsync(MmsConnection self, uint32_t* usedInvokeId, MmsError* mmsError, const char* fileSpecification, const char* continueAfter,
1247  MmsConnection_FileDirectoryHandler handler, void* parameter);
1248 
1249 typedef struct sMmsJournalEntry* MmsJournalEntry;
1250 
1251 typedef struct sMmsJournalVariable* MmsJournalVariable;
1252 
1254  MmsValue* entryID; /* type MMS_OCTET_STRING */
1255  MmsValue* occurenceTime; /* type MMS_BINARY_TIME */
1256  LinkedList journalVariables;
1257 };
1258 
1260  char* tag;
1262 };
1263 
1277 LIB61850_API void
1278 MmsJournalEntry_destroy(MmsJournalEntry self);
1279 
1280 LIB61850_API MmsValue*
1281 MmsJournalEntry_getEntryID(MmsJournalEntry self);
1282 
1283 LIB61850_API MmsValue*
1284 MmsJournalEntry_getOccurenceTime(MmsJournalEntry self);
1285 
1286 LIB61850_API LinkedList /* <MmsJournalVariable> */
1288 
1289 LIB61850_API const char*
1290 MmsJournalVariable_getTag(MmsJournalVariable self);
1291 
1292 LIB61850_API MmsValue*
1293 MmsJournalVariable_getValue(MmsJournalVariable self);
1294 
1295 typedef void
1296 (*MmsConnection_ReadJournalHandler) (uint32_t invokeId, void* parameter, MmsError mmsError, LinkedList /* <MmsJournalEntry> */ journalEntries, bool moreFollows);
1297 
1298 
1299 LIB61850_API LinkedList /* <MmsJournalEntry> */
1300 MmsConnection_readJournalTimeRange(MmsConnection self, MmsError* mmsError, const char* domainId, const char* itemId,
1301  MmsValue* startTime, MmsValue* endTime, bool* moreFollows);
1302 
1303 LIB61850_API void
1304 MmsConnection_readJournalTimeRangeAsync(MmsConnection self, uint32_t* usedInvokeId, MmsError* mmsError, const char* domainId, const char* itemId,
1305  MmsValue* startTime, MmsValue* endTime, MmsConnection_ReadJournalHandler handler, void* parameter);
1306 
1307 LIB61850_API LinkedList /* <MmsJournalEntry> */
1308 MmsConnection_readJournalStartAfter(MmsConnection self, MmsError* mmsError, const char* domainId, const char* itemId,
1309  MmsValue* timeSpecification, MmsValue* entrySpecification, bool* moreFollows);
1310 
1311 LIB61850_API void
1312 MmsConnection_readJournalStartAfterAsync(MmsConnection self, uint32_t* usedInvokeId, MmsError* mmsError, const char* domainId, const char* itemId,
1313  MmsValue* timeSpecification, MmsValue* entrySpecification, MmsConnection_ReadJournalHandler handler, void* parameter);
1314 
1317 #ifdef __cplusplus
1318 }
1319 #endif
1320 
1321 #endif /* MMS_CLIENT_CONNECTION_H_ */
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:1097
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:1144
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:226
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:341
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:1054
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:1107
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:643
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:1127
void(* MmsConnection_ReadNVLDirectoryHandler)(uint32_t invokeId, void *parameter, MmsError mmsError, LinkedList specs, bool deletable)
Definition: mms_client_connection.h:918
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:800
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:1111
LIB61850_API void MmsConnection_concludeAsync(MmsConnection self, MmsError *mmsError, MmsConnection_ConcludeAbortHandler 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.
void(* MmsConnection_ReadJournalHandler)(uint32_t invokeId, void *parameter, MmsError mmsError, LinkedList journalEntries, bool moreFollows)
Definition: mms_client_connection.h:1296
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:344
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:215
void(* MmsConnection_WriteMultipleVariablesHandler)(uint32_t invokeId, void *parameter, MmsError mmsError, LinkedList accessResults)
Definition: mms_client_connection.h:728
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:495
void(* MmsConnection_ConcludeAbortHandler)(void *parameter, MmsError mmsError, bool success)
Definition: mms_client_connection.h:304
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:1086
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:1253
LinkedList journalVariables
Definition: mms_client_connection.h:1256
MmsValue * entryID
Definition: mms_client_connection.h:1254
MmsValue * occurenceTime
Definition: mms_client_connection.h:1255
Definition: mms_client_connection.h:1259
MmsValue * value
Definition: mms_client_connection.h:1261
char * tag
Definition: mms_client_connection.h:1260